Comments (4)
@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.
@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.
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.
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)
- Container query sizes converted to em units HOT 3
- Potential `lightningcss` regression in v0.31.0 HOT 1
- `WebkitBoxOrient` is not a valid key in `SystemStyleObject` HOT 5
- Opacity modifier typing error for strictTokens HOT 1
- [TOKENS] SVG asset is not closed properly HOT 2
- Nuxt: Segmentation Falt
- Jest error with `styled-system` directory HOT 4
- SVG Assets not correctly escaped HOT 1
- _dark nested in _backdrop will output wrong class name, and caused trivial problem HOT 2
- Error After upgrading to `v0.32.0` or `v0.32.1` from `v0.31.0` HOT 2
- Hooks `tokens:created` dont work when extending a preset HOT 1
- Broken "include src files" link in "Using Panda in a Component Library" guide
- need panda mangle to avoid copy paster HOT 1
- Utilities generate wrong CSS when usage with presets HOT 2
- _after property not working as intended. HOT 2
- support px to rem? HOT 1
- Support Style Props for Svelte HOT 1
- Wrong "missing token" warning when using nested tokens
- Semantic tokens break tokens completely HOT 4
- Jest encountered an unexpected token
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from panda.