- From: Matthew Ström via GitHub <sysbot+gh@w3.org>
- Date: Tue, 19 Dec 2023 15:10:09 +0000
- To: public-design-tokens-log@w3.org
Ok, returning to this after having some experience with trying to parse larger token files, I think some kind of explicit key is necessary. The main reason is that groups can have properties that are named the same as tokens. For example: ```json { "color": { "$type": "color", "$description": "lorem ipsum", "$value": "blue", "primary": { "$value": "red" } } } ``` In this example, it's unclear if the "$type" at the root applies to the root token, "color" (blue) or is intended to cascade down to child tokens like "color.primary". Same with description; is it a description for the group? or a description of the root token? So, I'd like to recommend the following change to the group format: ``` "groupName": { "$type": "..." // optional type that can be inherited by children "$description": "..." // optional description of the group "$rootToken": {} // optional root token "$extensions": {} // optional extensions as usual "childName": {} // required, can be a group or a token. } ``` I'm open to other names, but I chose "rootToken" to be very explicit that this should be a token that is associated with the root of the group. I also considered "root" and "base". I deliberately avoided "default", as this doesn't quite make sense grammatically — a default implies options, which isn't how groups work. -- GitHub Notification of comment by ilikescience Please view or discuss this issue at https://github.com/design-tokens/community-group/issues/97#issuecomment-1862951404 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Tuesday, 19 December 2023 15:10:11 UTC