Comments (3)
I don't think it's an unreasonable expectation that class
be exposed and implemented on root elements. We're making building blocks, and keeping them to the regular HTML spec makes them predictable. We can always remove the class
attribute via Omit<HTMLAttributes<HTMLDivElement>>, 'class'>
to keep people using the classes
convention if we decide to go all in on that, though.
Regarding duplicating the props, the last one wins- so just make sure that our spread operator is at the top of the element, and it'll be overridden properly.
from skeleton.
Yeah we're pretty committed to the classes
attribute because it allows for more than just the parent. Any children can follow the same pattern. So the mix of the standard class
attribute + classes
can and would cause some confusion I'm sure.
https://next.skeleton.dev/docs/resources/contribute/components#props
Though thinking it out, I don't think it would cause any real harm, but again, that's what I'll need to test to verify.
from skeleton.
I agree with @ryceg. Using class
instead of classes
will probably be less confusing. I've already used the techniques decribe above for the Listbox
PR: #2754 without realizing this issue was open. I did exactly what was described, spread the attributes and override the one's we use internally. Especially with the zag discussion coming up (#2777) it would be nice if we can resolve this before going all in into porting again.
from skeleton.
Related Issues (20)
- Refactor React components to fall more inline with existing React libraries HOT 4
- RFC: Remove return types from React components
- A little bit of white peeking out on the progress bars (styling issue) HOT 4
- InputChips does not have restProps HOT 2
- Table of Contents: support setting scrollTarget, scrollOffset HOT 1
- AppRailTile on:click not working (v2.10.1) HOT 5
- Revert missing on:click event for App Rail Anchor Tile component
- NEXT: component consistency pass
- Missing import of popup HOT 3
- Carousels example HOT 2
- v3 Component API Revisions HOT 1
- NEXT: Revisit Tab Component and API HOT 1
- NEXT: Accordion missing a11y HOT 1
- NEXT: Dependency updates
- NEXT: Introduce the skeleton-a11y package
- Hover state on buttons in mobile stays after click in incoherent ways HOT 5
- AppRail HTML markup is invalid and not accessible HOT 1
- ListBoxItem HTML markup is invalid and not accessible HOT 2
- Disabled State for AppRailTiles
- NEXT resolve Astro doc site project dependency error HOT 2
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 skeleton.