Git Product home page Git Product logo

Comments (4)

omarkhatibco avatar omarkhatibco commented on May 18, 2024 1

@adbutterfield let me share with you what I have done to avoid this problem.

so for things like li, ul and ol, I used patterns to generate the css function and the component.

for example, if you want to use image component, either you import it as Image or if you want to use next-image you can do so <NextImage className={image()} /> and the image function is imported from patterns

for h* and p and the rest, you don't need a component for them, I use styled.h1 or styled.p and then textStyle props for defining the styles that need to be applied such as headline.md.

check here
https://fusion-you.netlify.app/?path=/story/patterns-typography-heading--default
and here
https://fusion-you.netlify.app/?path=/story/patterns-typography-text--with-all-element-type

from panda.

omarkhatibco avatar omarkhatibco commented on May 18, 2024 1

@adbutterfield another alternative is to use Slot component from Radix-Ui with asChild pattern

https://www.radix-ui.com/primitives/docs/utilities/slot

from panda.

segunadebayo avatar segunadebayo commented on May 18, 2024

Hi @omarkhatibco,

We're trying hard not to bring back the as prop. The typescript work required to get it typed correctly is enormous; we don't want to add this for now.

Please use the styled.X syntax or the pattern function with className instead.

Thanks for understanding.

from panda.

adbutterfield avatar adbutterfield commented on May 18, 2024

I usually try not to comment on closed issues. But there's one really good use case for as. But maybe I just need to find another pattern?

Use case is a flexible text component, that can be either h* | p | span | li. I guess I can just make several text components that re-use the same recipe.

from panda.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.