Skip to content

Commit

Permalink
feat: remove reliance on CTI, add token type
Browse files Browse the repository at this point in the history
  • Loading branch information
jorenbroekema committed Mar 14, 2024
1 parent 7d0423d commit cf26ff4
Show file tree
Hide file tree
Showing 88 changed files with 1,208 additions and 1,519 deletions.
38 changes: 38 additions & 0 deletions .changeset/wise-phones-eat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
'style-dictionary': major
---

Remove reliance on CTI token structure across transforms, actions and formats.

Breaking changes:

- Token type will now be determined by "type" (or "$type") property on the token, rather than by checking its CTI attributes.
- Types are mostly aligned with [DTCG spec types](https://design-tokens.github.io/community-group/format/#types), although a few additional ones have been added for compatibility reasons:
- asset -> string type tokens where the value is a filepath to an asset
- icon -> content type string tokens where the content resembles an icon, e.g. for icon fonts like [Microsoft codicons](https://github.com/microsoft/vscode-codicons)
- html -> HTML entity strings for unicode characters

Before:

```json
{
"color": {
"red": {
"value": "#FF0000"
}
}
}
```

After:

```json
{
"color": { // <-- this no longer needs to be "color" in order for the tokens inside this group to be considered of type "color"
"red": {
"value": "#FF0000",
"type": "color"
}
}
}
```
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,7 @@ StyleDictionary.registerTransform({
name: 'time/seconds',
type: 'value',
matcher: function (token) {
return token.attributes.category === 'time';
return token.type === 'time';
},
transformer: function (token) {
return (parseInt(token.original.value) / 1000).toString() + 's';
Expand Down
Loading

0 comments on commit cf26ff4

Please sign in to comment.