-
Notifications
You must be signed in to change notification settings - Fork 195
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
Negative prop packs #527
Comments
I of course support that suggestion 😉 Apart from the size-related stuff I don't really see a good use-case for negative/inverted props. Maybe I'm missing something. 🤔 |
all the sizes yeah, fluid, relative and static (can skip the content ones) 👍🏻 there's one complication: props like |
Yes I agree. It wouldn't stir the pot too much and it makes sense. It blurs the lines though between what should go into the core lib and the prop pack, but it's not a big thing to iron out. IF we want to stir the pot - replace 0, 00 and 000 with minus equivalents. It's probably a more flexible nomenclature but very much a breaking change 🤓🍯 |
I've thrown together a PR to get the ball rolling. Converted just relative, size and fluid (the other ones don't really make sense, correct me if I'm wrong). Also, had trouble understanding why you would want negative fluid sizes so I threw together a demo here. NEAT! |
I don't mind the verbose; calc(-1 * var(--size-3) |
It's a nice trick and I'm kind of ok with it too. I would however expect something like this to exist in OP if I knew nothing about it and opened it up for the first time. Idk but there doesn't seem like much of a penalty to add it, especially if you don't as it to the core library, but as a prop pack. I'm a bit too eager about stuff generally though so I might be missing an angle 🙃😄 |
lovely demo, ty for it! speaks 1000 words. in general, i'm not opposed, but i'm also not in a rush 😅 the naming kinda blends in yeah? where it was obvious before it was being negated, seeing /* snippet from demo */
margin-block: var(--font-size-fluid-1);
margin-inline: var(--size-fluid-3-);
padding: var(--font-size-fluid-1); but it's also like, super easy to negate one, you just add that trailing there's also scenarios where like, you need to double a prop, like i think what we really want are custom css functions, so we could just write |
Yeah, fair! It will also be easier to find and replace the calc(-1 * ...) in your code when the CSS functions lands, as opposed to the minus props. Can't wait for the functions to land! I don't have much else to add then, we can close this and the corresponding PR 👍 |
also, CSS @function --negative (--value) {
result: calc(-1 * var(--value));
}
section {
padding-inline: var(--size-5);
margin-inline: --negative(var(--size-5));
} maybe we should hold out? |
Yeah, that is so clean 🧼👌 Yep, let's do that! Additionally, it'll be nice to showcase a feature like CSS functions with a pragmatic example like this. I wonder what else in OP that would work well with functions? 🤓 |
calc(-1 * var(--size-3))
is annoying to write and unintuitive to read. @felix-bohlin suggested in Discord to usevar(--size-3-)
with a trailing-
to signify a negative value.thoughts on this naming?
have alt naming suggestions?
These negative/inverted value props would be individual imports (aka not part of the main bundle) but would be included in the JS bundle for use with jit-props.
The text was updated successfully, but these errors were encountered: