Re: [csswg-drafts] [css-values-5] Add `spread()` to CSS (#8391)

Okay, awesome. I dig that, and it'll basically remove the need for any separate `list()` function down the road.

I'd love to move forward with the model from `spread2()`.

Would it possibly be worth also introducing a second function like `unspread()` specifically to be able to pass an entire spread list as a single object, which would also then immediately remove itself?

Like this, for example:

```css
.foo {
  --colors-rgb: spread(red; green; blue);
  --colors-cmy: spread(cyan; magenta; yellow);
  --random-item: random-item(color-single; random-item(color-group; unspread(--colors-rgb); unspread(--colors-cmy));
}
```

In this example, the innermost nested `random-item()` usage randomly selects either variable `var(--colors-rgb)` or `var(--colors-cmy)`, and then the outer wrapping `random-item()` chooses an item from the inner-selected group of colors.

I'm wondering if this holds any value— being able to pass a spread group as a group rather than its individual pieces in certain contexts, but if you think this would complicate things too much, I can understand and appreciate that viewpoint as well. Thanks.

-- 
GitHub Notification of comment by brandonmcconnell
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/8391#issuecomment-1421426401 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 7 February 2023 20:49:02 UTC