-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
feat: allow objects/arrays for style attribute #15311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🦋 Changeset detectedLatest commit: e6717ca The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
pnpm add https://pkg.pr.new/svelte@15311
Thiagolino8
commented
Feb 16, 2025
I think allowing multiple casings is actually a mistake, as it would remove what would probably be the biggest value added by this feature, which would be intellisense
I like this, but I'm not sure why arrays would be allowed in the style
attribute, aren't objects sufficient for most scenarios?
@Thiagolino8 : personally I like the idea of having the choice between snake_case or camelCase.
But if multiple casings will cause problems with intellisense, we can restrict to one (but whitch one ?)
@Ocean-OS : like for classes, arrays allow to simply extends a value received from props, who can be a string or an object...
JonathonRP
commented
Feb 27, 2025
I cast a vote for camelCase, react has a similar pattern already using camelCase for style object arg
Thiagolino8
commented
Feb 27, 2025
I cast a vote for camelCase, react has a similar pattern already using camelCase for style object arg
React uses camelCase for everything, it's not exactly a model to be followed
CSS properties already have a standard, kebab-case, and it is already used in the style prop in string form
It makes more sense to maintain the existing standard than to create yet another parallel one
Not being able to use the shorthand form is a small price to pay
JonathonRP
commented
Feb 27, 2025
@Thiagolino8, I meant more looking at many frameworks that already have capability for object style, react/solidjs and I'm not sure about vue. But I'd love kabob-case if that was allowed for objects shorthand.
Personally, I would go for all 3 syntaxes, in order to be compatible with any other external API
There no conflicts between them, and the style attributes can accept multiples values, so no duplication problem.
style
attribute to accept objects/arrays, in a way similar to feat: allow objects/arrays for class attribute #14714 (I based this PR on this work)style
can receive strings/arrays/objects to build the style CSS text :All these lines are equivalent :
Notes :
Will fix it according to the decision of this issue...
For
class
there a call tomark_subtree_dynamic(context.path)
but I don't know if this is required here.Before submitting the PR, please make sure you do the following
feat:
,fix:
,chore:
, ordocs:
.packages/svelte/src
, add a changeset (npx changeset
).Tests and linting
pnpm test
and lint the project withpnpm lint