- From: James Nash via GitHub <sysbot+gh@w3.org>
- Date: Mon, 21 Mar 2022 00:12:13 +0000
- To: public-design-tokens-log@w3.org
I like this proposal. @TravisSpomer [described something similar that his team were doing](https://github.com/design-tokens/community-group/issues/97#issuecomment-1012458947) in the discussion in #97. That was essentially allowing references to groups as a shorthand for creating aliases to all its nested tokens in another group. However, there was no way to then selectively override or add to the reference group. I think your `$extends` proposal can cover that use-case as well. For example: ```jsonc { "original-group": { "token-1": { "$value": "#123456", "$type": "color" }, "token-2": { "$value": "2rem", "$type": "dimension" } }, "copied-group": { "$extends": "{original-group}" // makes this group behave as though it contained 2 tokens // called "token-1" and "token-2" which are aliases of // "{original-group.token-1}" and "{original-group.token-2}" // respectively }, "overriding-group": { "$extends": "{original-group}", "token-2": { "$value": "5rem", "$type": "dimension" }, // behaves as though there was another token // in this group called "token-1", which was a reference // to "{original-group.token-1}" } } ``` There are some details that need to worked out though: * Presumably `$extends` can only be used on groups and must be a reference to another group, right? Extending tokens doesn't make sense to me (how would that be different to an alias token?) * If group B extends group A, should B also inherit properties from A like `$description`, `$type`, etc.? Thoughts? -- GitHub Notification of comment by c1rrus Please view or discuss this issue at https://github.com/design-tokens/community-group/issues/116#issuecomment-1073380402 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Monday, 21 March 2022 00:12:15 UTC