- From: Jane Ori via GitHub <sysbot+gh@w3.org>
- Date: Wed, 13 Nov 2024 06:22:32 +0000
- To: public-css-archive@w3.org
JaneOri has just created a new issue for https://github.com/w3c/csswg-drafts: == [css-functions-mixins] Custom CSS Function Parameter Implications/Questions == Copying from the main thread https://github.com/w3c/csswg-drafts/issues/9350#issuecomment-2458466997 > Two quick questions... > > 1) vars containing values with commas would spread across params on a call to a function, right? > > ```css > --args: 1, 2, 3; > --val: --custom-fn(var(--args)); /* called with 3 arguments? */ > ``` > > 2) If my custom function only takes 1 param, is it okay to call it and still pass in 10 values where the last 9 are ignored? > > if yes on q 1, (and helped along with a 'yes' on q 2) this opens the door to arrays which means CSS libraries (with minor restrictions) can begin providing shorthand properties in their API! That's gonna be sick! > > ```css > @function --at-0 (--p0) { result: var(--p0); } > @function --at-1 (--p0, --p1) { result: var(--p1); } > @function --at-2 (--p0, --p1, --p2) { result: var(--p2); } > ... > > .library-border { > --size: --at-0(var(--api-shorthand)); > --style: --at-1(var(--api-shorthand)); > --color: --at-2(var(--api-shorthand)); > border: var(--size, var(--api-size, 1px)) > var(--style, var(--api-style, solid)) > var(--color, var(--api-color, black)); > } > ``` > > ```html > <div class="library-border" style="--api-shorthand: 2px, solid, hotpink;"> > I have a 2px solid border that's hotpink! > </div> > ``` > . @mirisuzanne [replied](https://github.com/w3c/csswg-drafts/issues/9350#issuecomment-2468849977): > Those are interesting questions. I think it would be good to open separate issues for them at this point. I don't have an immediate answer, but would be interested in the discussions/implications. . @tabatkins [replied]() > > vars containing values with commas would spread across params on a call to a function, right? > > Per current specs, yes. (And I think that's good.) If you want to make sure that a variable only expands into one argument, you can call the function like --custom-fn({var(--args)}). > > > If my custom function only takes 1 param, is it okay to call it and still pass in 10 values where the last 9 are ignored? > > Yeah, we should raise this as a separate issue, as there are multiple possible answers and none of them are "obvious". . I LOVE the _option_ to not expand the args using the curly braces. Awesome The [current functions spec](https://drafts.csswg.org/css-mixins-1/#function-rule) does not appear to mention this yet The 2nd question though appears to be the main discussion point for now! Thank you! Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/11190 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 13 November 2024 06:22:33 UTC