- From: alexgagnon via GitHub <sysbot+gh@w3.org>
- Date: Sat, 08 Feb 2025 14:34:45 +0000
- To: public-css-archive@w3.org
I'm starting to use @property in a design system I'm working on and basically immediately ran into what I think is related to this issue. It's probably a me not understanding the spec more than anything but here's an example: ```css @property --spacing-override { syntax: "<length>"; inherits: false; initial-value: ???; } @property --spacing { syntax: "<length>"; inherits: true; initial-value: 20px; } button { padding: var(--spacing-override, var(--spacing)); } ``` When `--spacing-override` has anything other than a `<length>`, the property isn't registered at all, so it isn't set and the fallback is used. I appear to be able to give a custom-ident in syntax like "<length> | null", and then use "null" as the initial-value, which does register the property, but then `--spacing-override` is set and the fallback isn't used, even though the "null" value is invalid for `padding`. A "guaranteed invalid" value seems like it would address this by saying: "register this property with a given syntax, but mark it as IACT unless it's explicitly set"? I think this might have been suggested already [here](https://github.com/w3c/css-houdini-drafts/issues/1076#issuecomment-1272382719) or might be loosely related to the ["space toggle hack"](https://lea.verou.me/blog/2020/10/the-var-space-hack-to-toggle-multiple-values-with-one-custom-property/)? -- GitHub Notification of comment by alexgagnon Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/11676#issuecomment-2645743423 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Saturday, 8 February 2025 14:34:46 UTC