@amsterdam/design-system-tokens 3.3.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/CHANGELOG.md +61 -3
  2. package/README.md +131 -22
  3. package/build.js +11 -1
  4. package/dist/compact.css +9 -2
  5. package/dist/compact.d.ts +21 -6
  6. package/dist/compact.json +33 -18
  7. package/dist/compact.mjs +21 -13
  8. package/dist/compact.scss +9 -2
  9. package/dist/compact.theme.css +9 -2
  10. package/dist/index.css +177 -165
  11. package/dist/index.d.ts +250 -226
  12. package/dist/index.json +345 -321
  13. package/dist/index.mjs +285 -267
  14. package/dist/index.scss +177 -165
  15. package/dist/index.theme.css +177 -165
  16. package/package.json +2 -2
  17. package/src/brand/ams/aspect-ratio.tokens.json +24 -6
  18. package/src/brand/ams/border.compact.tokens.json +20 -0
  19. package/src/brand/ams/border.tokens.json +25 -0
  20. package/src/brand/ams/color.compact.tokens.json +15 -0
  21. package/src/brand/ams/color.tokens.json +37 -49
  22. package/src/brand/ams/cursor.tokens.json +9 -2
  23. package/src/brand/ams/focus.tokens.json +1 -0
  24. package/src/brand/ams/space.compact.tokens.json +16 -4
  25. package/src/brand/ams/space.tokens.json +31 -6
  26. package/src/brand/ams/typography.compact.tokens.json +36 -27
  27. package/src/brand/ams/typography.tokens.json +60 -32
  28. package/src/common/ams/inputs.tokens.json +41 -19
  29. package/src/common/ams/links.tokens.json +35 -10
  30. package/src/components/ams/accordion.tokens.json +18 -11
  31. package/src/components/ams/action-group.tokens.json +2 -2
  32. package/src/components/ams/alert.tokens.json +38 -20
  33. package/src/components/ams/avatar.tokens.json +79 -29
  34. package/src/components/ams/badge.tokens.json +60 -23
  35. package/src/components/ams/blockquote.tokens.json +14 -5
  36. package/src/components/ams/body.compact.tokens.json +12 -0
  37. package/src/components/ams/body.tokens.json +12 -0
  38. package/src/components/ams/breadcrumb.tokens.json +36 -15
  39. package/src/components/ams/button.tokens.json +74 -33
  40. package/src/components/ams/call-to-action-link.tokens.json +29 -16
  41. package/src/components/ams/card.tokens.json +30 -17
  42. package/src/components/ams/character-count.tokens.json +14 -5
  43. package/src/components/ams/checkbox.tokens.json +106 -39
  44. package/src/components/ams/column.tokens.json +10 -10
  45. package/src/components/ams/date-input.tokens.json +56 -23
  46. package/src/components/ams/description-list.tokens.json +101 -23
  47. package/src/components/ams/dialog.tokens.json +104 -28
  48. package/src/components/ams/error-message.tokens.json +13 -6
  49. package/src/components/ams/field-set.tokens.json +40 -17
  50. package/src/components/ams/field.tokens.json +18 -7
  51. package/src/components/ams/figure.tokens.json +16 -7
  52. package/src/components/ams/file-input.tokens.json +69 -30
  53. package/src/components/ams/file-list.tokens.json +20 -11
  54. package/src/components/ams/grid.compact.tokens.json +24 -2
  55. package/src/components/ams/grid.tokens.json +77 -24
  56. package/src/components/ams/heading.tokens.json +38 -36
  57. package/src/components/ams/hint.tokens.json +6 -2
  58. package/src/components/ams/icon-button.tokens.json +46 -16
  59. package/src/components/ams/icon.tokens.json +19 -23
  60. package/src/components/ams/image-slider.tokens.json +28 -16
  61. package/src/components/ams/image.tokens.json +4 -1
  62. package/src/components/ams/invalid-form-alert.tokens.json +2 -2
  63. package/src/components/ams/label.tokens.json +18 -6
  64. package/src/components/ams/link-list.tokens.json +50 -22
  65. package/src/components/ams/link.tokens.json +38 -25
  66. package/src/components/ams/logo.tokens.json +6 -2
  67. package/src/components/ams/mark.tokens.json +3 -1
  68. package/src/components/ams/menu.tokens.json +81 -28
  69. package/src/components/ams/ordered-list.tokens.json +39 -25
  70. package/src/components/ams/page-footer.tokens.json +70 -26
  71. package/src/components/ams/page-header.compact.tokens.json +2 -1
  72. package/src/components/ams/page-header.tokens.json +128 -59
  73. package/src/components/ams/page.compact.tokens.json +12 -0
  74. package/src/components/ams/page.tokens.json +5 -3
  75. package/src/components/ams/pagination.tokens.json +37 -17
  76. package/src/components/ams/paragraph.tokens.json +22 -8
  77. package/src/components/ams/password-input.tokens.json +47 -21
  78. package/src/components/ams/progress-list.tokens.json +194 -52
  79. package/src/components/ams/radio.tokens.json +97 -36
  80. package/src/components/ams/row.tokens.json +10 -10
  81. package/src/components/ams/search-field.tokens.json +57 -24
  82. package/src/components/ams/select.tokens.json +63 -23
  83. package/src/components/ams/skip-link.tokens.json +23 -12
  84. package/src/components/ams/spotlight.tokens.json +21 -7
  85. package/src/components/ams/standalone-link.tokens.json +44 -18
  86. package/src/components/ams/switch.tokens.json +40 -10
  87. package/src/components/ams/tab-navigation.tokens.json +205 -0
  88. package/src/components/ams/table-of-contents.tokens.json +38 -20
  89. package/src/components/ams/table.tokens.json +29 -10
  90. package/src/components/ams/tabs.tokens.json +39 -20
  91. package/src/components/ams/text-area.tokens.json +49 -23
  92. package/src/components/ams/text-input.tokens.json +47 -19
  93. package/src/components/ams/time-input.tokens.json +56 -21
  94. package/src/components/ams/unordered-list.tokens.json +37 -25
  95. package/style-dictionary/transforms/dtcg-font-family.js +32 -0
  96. package/src/brand/ams/color.deprecated.tokens.json +0 -13
  97. package/src/brand/ams/typography.deprecated.compact.tokens.json +0 -26
  98. package/src/brand/ams/typography.deprecated.tokens.json +0 -40
  99. package/src/components/ams/accordion.deprecated.tokens.json +0 -39
  100. package/src/components/ams/checkbox.deprecated.tokens.json +0 -59
  101. package/src/components/ams/date-input.deprecated.tokens.json +0 -38
  102. package/src/components/ams/field-set.deprecated.tokens.json +0 -16
  103. package/src/components/ams/field.deprecated.tokens.json +0 -14
  104. package/src/components/ams/icon.deprecated.tokens.json +0 -22
  105. package/src/components/ams/menu.deprecated.tokens.json +0 -36
  106. package/src/components/ams/page-heading.deprecated.tokens.json +0 -46
  107. package/src/components/ams/standalone-link.deprecated.tokens.json +0 -38
  108. package/src/components/ams/table-of-contents.deprecated.tokens.json +0 -24
  109. package/src/components/ams/time-input.deprecated.tokens.json +0 -38
@@ -3,34 +3,42 @@
3
3
  "description-list": {
4
4
  "color": {
5
5
  "$value": "{ams.color.text.default}",
6
- "$type": "color"
6
+ "$extensions": {
7
+ "nl.amsterdam.type": "color"
8
+ }
7
9
  },
8
10
  "column-gap": {
9
- "$value": "{ams.space.l}",
10
- "$type": "dimension",
11
+ "$deprecated": "Use `ams.description-list.vi-medium.column-gap` instead. Will be removed on or after 2026-10-20.",
12
+ "$value": "initial",
11
13
  "$extensions": {
12
- "nl.amsterdam.subtype": "space"
14
+ "nl.amsterdam.subtype": "space",
15
+ "nl.amsterdam.type": "dimension"
13
16
  }
14
17
  },
15
18
  "font-family": {
16
19
  "$value": "{ams.typography.font-family}",
17
- "$type": "fontFamily"
20
+ "$extensions": {
21
+ "nl.amsterdam.type": "fontFamily"
22
+ }
18
23
  },
19
24
  "font-size": {
20
25
  "$value": "{ams.typography.body-text.font-size}",
21
26
  "$extensions": {
27
+ "nl.amsterdam.hint": "Applies to descriptions only; terms set their own font size.",
22
28
  "nl.amsterdam.type": "fontSize"
23
29
  }
24
30
  },
25
31
  "line-height": {
26
32
  "$value": "{ams.typography.body-text.line-height}",
27
33
  "$extensions": {
28
- "nl.amsterdam.type": "lineHeight"
34
+ "nl.amsterdam.hint": "Applies to descriptions only; terms set their own line height.",
35
+ "nl.amsterdam.subtype": "lineHeight",
36
+ "nl.amsterdam.type": "number"
29
37
  }
30
38
  },
31
39
  "row-gap": {
32
- "$deprecated": "This token will be removed in release 6.0.0",
33
- "$value": "{ams.space.s}",
40
+ "$deprecated": "Whitespace is now applied through the `ams.description-list.*.margin-block-end` tokens. Will be removed on or after 2026-10-20.",
41
+ "$value": "0",
34
42
  "$type": "dimension",
35
43
  "$extensions": {
36
44
  "nl.amsterdam.subtype": "space"
@@ -39,28 +47,51 @@
39
47
  "inverse": {
40
48
  "color": {
41
49
  "$value": "{ams.color.text.inverse}",
42
- "$type": "color"
50
+ "$extensions": {
51
+ "nl.amsterdam.type": "color"
52
+ }
43
53
  }
44
54
  },
45
55
  "term": {
56
+ "font-size": {
57
+ "$value": "{ams.typography.heading.4.font-size}",
58
+ "$extensions": {
59
+ "nl.amsterdam.type": "fontSize"
60
+ }
61
+ },
46
62
  "font-weight": {
47
- "$value": "{ams.typography.body-text.bold.font-weight}",
48
- "$type": "fontWeight"
63
+ "$value": "{ams.typography.heading.font-weight}",
64
+ "$extensions": {
65
+ "nl.amsterdam.type": "fontWeight"
66
+ }
67
+ },
68
+ "line-height": {
69
+ "$value": "{ams.typography.heading.4.line-height}",
70
+ "$extensions": {
71
+ "nl.amsterdam.subtype": "lineHeight",
72
+ "nl.amsterdam.type": "number"
73
+ }
49
74
  },
50
75
  "margin-block-end": {
51
76
  "$value": "{ams.space.xs}",
52
- "$type": "dimension",
53
77
  "$extensions": {
54
- "nl.amsterdam.subtype": "space"
78
+ "nl.amsterdam.subtype": "space",
79
+ "nl.amsterdam.type": "dimension"
80
+ }
81
+ },
82
+ "text-wrap": {
83
+ "$value": "balance",
84
+ "$extensions": {
85
+ "nl.amsterdam.type": "textWrap"
55
86
  }
56
87
  },
57
88
  "vi-medium": {
58
89
  "margin-block-end": {
59
90
  "$value": "{ams.description-list.description.margin-block-end}",
60
- "$type": "dimension",
61
91
  "$extensions": {
62
92
  "nl.amsterdam.hint": "Should equal the bottom margin of descriptions.",
63
- "nl.amsterdam.subtype": "space"
93
+ "nl.amsterdam.subtype": "space",
94
+ "nl.amsterdam.type": "dimension"
64
95
  }
65
96
  }
66
97
  }
@@ -68,13 +99,15 @@
68
99
  "description": {
69
100
  "font-weight": {
70
101
  "$value": "{ams.typography.body-text.font-weight}",
71
- "$type": "fontWeight"
102
+ "$extensions": {
103
+ "nl.amsterdam.type": "fontWeight"
104
+ }
72
105
  },
73
106
  "margin-block-end": {
74
107
  "$value": "{ams.space.m}",
75
- "$type": "dimension",
76
108
  "$extensions": {
77
- "nl.amsterdam.subtype": "space"
109
+ "nl.amsterdam.subtype": "space",
110
+ "nl.amsterdam.type": "dimension"
78
111
  }
79
112
  },
80
113
  "padding-inline-start": {
@@ -88,25 +121,70 @@
88
121
  "section": {
89
122
  "margin-block-end": {
90
123
  "$value": "{ams.space.m}",
91
- "$type": "dimension",
92
124
  "$extensions": {
93
- "nl.amsterdam.subtype": "space"
125
+ "nl.amsterdam.subtype": "space",
126
+ "nl.amsterdam.type": "dimension"
94
127
  }
95
128
  }
96
129
  },
97
130
  "narrow": {
98
131
  "grid-template-columns": {
99
- "$value": "1fr 4fr"
132
+ "$deprecated": "Use `ams.description-list.vi-medium.narrow.grid-template-columns` instead. Will be removed on or after 2026-10-20.",
133
+ "$value": "initial",
134
+ "$extensions": {
135
+ "nl.amsterdam.type": "gridTemplateColumns"
136
+ }
100
137
  }
101
138
  },
102
139
  "medium": {
103
140
  "grid-template-columns": {
104
- "$value": "1fr 2fr"
141
+ "$deprecated": "Use `ams.description-list.vi-medium.medium.grid-template-columns` instead. Will be removed on or after 2026-10-20.",
142
+ "$value": "initial",
143
+ "$extensions": {
144
+ "nl.amsterdam.type": "gridTemplateColumns"
145
+ }
105
146
  }
106
147
  },
107
148
  "wide": {
108
149
  "grid-template-columns": {
109
- "$value": "1fr 1fr"
150
+ "$deprecated": "Use `ams.description-list.vi-medium.wide.grid-template-columns` instead. Will be removed on or after 2026-10-20.",
151
+ "$value": "initial",
152
+ "$extensions": {
153
+ "nl.amsterdam.type": "gridTemplateColumns"
154
+ }
155
+ }
156
+ },
157
+ "vi-medium": {
158
+ "column-gap": {
159
+ "$value": "{ams.space.l}",
160
+ "$extensions": {
161
+ "nl.amsterdam.subtype": "space",
162
+ "nl.amsterdam.type": "dimension"
163
+ }
164
+ },
165
+ "narrow": {
166
+ "grid-template-columns": {
167
+ "$value": "1fr 4fr",
168
+ "$extensions": {
169
+ "nl.amsterdam.type": "gridTemplateColumns"
170
+ }
171
+ }
172
+ },
173
+ "medium": {
174
+ "grid-template-columns": {
175
+ "$value": "1fr 2fr",
176
+ "$extensions": {
177
+ "nl.amsterdam.type": "gridTemplateColumns"
178
+ }
179
+ }
180
+ },
181
+ "wide": {
182
+ "grid-template-columns": {
183
+ "$value": "1fr 1fr",
184
+ "$extensions": {
185
+ "nl.amsterdam.type": "gridTemplateColumns"
186
+ }
187
+ }
110
188
  }
111
189
  }
112
190
  }
@@ -2,15 +2,22 @@
2
2
  "ams": {
3
3
  "dialog": {
4
4
  "background-color": {
5
- "$value": "{ams.color.background}",
6
- "$type": "color"
5
+ "$value": "{ams.color.background.default}",
6
+ "$extensions": {
7
+ "nl.amsterdam.type": "color"
8
+ }
7
9
  },
8
10
  "border-color": {
9
11
  "$value": "{ams.dialog.background-color}",
10
- "$type": "color"
12
+ "$extensions": {
13
+ "nl.amsterdam.type": "color"
14
+ }
11
15
  },
12
16
  "border-radius": {
13
- "$value": "initial"
17
+ "$value": "initial",
18
+ "$extensions": {
19
+ "nl.amsterdam.type": "borderRadius"
20
+ }
14
21
  },
15
22
  "border-style": {
16
23
  "$value": "solid",
@@ -25,22 +32,29 @@
25
32
  }
26
33
  },
27
34
  "box-shadow": {
28
- "$value": "initial"
35
+ "$value": "initial",
36
+ "$extensions": {
37
+ "nl.amsterdam.type": "shadow"
38
+ }
29
39
  },
30
40
  "gap": {
31
41
  "$value": "{ams.space.m}",
32
- "$type": "dimension",
33
42
  "$extensions": {
34
- "nl.amsterdam.subtype": "space"
43
+ "nl.amsterdam.subtype": "space",
44
+ "nl.amsterdam.type": "dimension"
35
45
  }
36
46
  },
37
47
  "inline-size": {
38
48
  "$value": "calc(100% - 2 * {ams.space.l})",
39
- "$type": "dimension"
49
+ "$extensions": {
50
+ "nl.amsterdam.type": "dimension"
51
+ }
40
52
  },
41
53
  "max-block-size": {
42
54
  "$value": "calc(100dvh - 2 * {ams.space.l})",
43
- "$type": "dimension"
55
+ "$extensions": {
56
+ "nl.amsterdam.type": "dimension"
57
+ }
44
58
  },
45
59
  "max-inline-size": {
46
60
  "$value": {
@@ -51,14 +65,30 @@
51
65
  },
52
66
  "medium": {
53
67
  "inline-size": {
54
- "$value": "calc(100% - 2 * {ams.space.xl})",
68
+ "$deprecated": "Use `ams.dialog.vi-medium.inline-size` instead. Will be removed on or after 2026-10-20.",
69
+ "$value": "initial",
55
70
  "$type": "dimension"
56
71
  },
57
72
  "max-block-size": {
58
- "$value": "calc(100dvh - 2 * {ams.space.xl})",
73
+ "$deprecated": "Use `ams.dialog.vi-medium.max-block-size` instead. Will be removed on or after 2026-10-20.",
74
+ "$value": "initial",
59
75
  "$type": "dimension"
60
76
  }
61
77
  },
78
+ "vi-medium": {
79
+ "inline-size": {
80
+ "$value": "calc(100% - 2 * {ams.space.xl})",
81
+ "$extensions": {
82
+ "nl.amsterdam.type": "dimension"
83
+ }
84
+ },
85
+ "max-block-size": {
86
+ "$value": "calc(100dvh - 2 * {ams.space.xl})",
87
+ "$extensions": {
88
+ "nl.amsterdam.type": "dimension"
89
+ }
90
+ }
91
+ },
62
92
  "backdrop": {
63
93
  "background-color": {
64
94
  "$value": "rgb(24 24 24 / 62.5%)",
@@ -68,40 +98,58 @@
68
98
  "header": {
69
99
  "gap": {
70
100
  "$value": "{ams.space.m}",
71
- "$type": "dimension",
72
101
  "$extensions": {
73
- "nl.amsterdam.subtype": "space"
102
+ "nl.amsterdam.subtype": "space",
103
+ "nl.amsterdam.type": "dimension"
74
104
  }
75
105
  },
76
106
  "padding-block": {
77
107
  "$value": "{ams.space.l} 0",
78
- "$type": "dimension",
79
108
  "$extensions": {
80
- "nl.amsterdam.subtype": "space"
109
+ "nl.amsterdam.subtype": "space",
110
+ "nl.amsterdam.type": "dimension"
81
111
  }
82
112
  },
83
113
  "padding-inline": {
84
114
  "$value": "{ams.space.l}",
85
- "$type": "dimension",
86
115
  "$extensions": {
87
- "nl.amsterdam.subtype": "space"
116
+ "nl.amsterdam.subtype": "space",
117
+ "nl.amsterdam.type": "dimension"
88
118
  }
89
119
  },
90
120
  "medium": {
91
121
  "padding-block": {
92
- "$value": "{ams.space.xl} 0",
122
+ "$deprecated": "Use `ams.dialog.header.vi-medium.padding-block` instead. Will be removed on or after 2026-10-20.",
123
+ "$value": "initial",
93
124
  "$type": "dimension",
94
125
  "$extensions": {
95
126
  "nl.amsterdam.subtype": "space"
96
127
  }
97
128
  },
98
129
  "padding-inline": {
99
- "$value": "{ams.space.xl}",
130
+ "$deprecated": "Use `ams.dialog.header.vi-medium.padding-inline` instead. Will be removed on or after 2026-10-20.",
131
+ "$value": "initial",
100
132
  "$type": "dimension",
101
133
  "$extensions": {
102
134
  "nl.amsterdam.subtype": "space"
103
135
  }
104
136
  }
137
+ },
138
+ "vi-medium": {
139
+ "padding-block": {
140
+ "$value": "{ams.space.xl} 0",
141
+ "$extensions": {
142
+ "nl.amsterdam.subtype": "space",
143
+ "nl.amsterdam.type": "dimension"
144
+ }
145
+ },
146
+ "padding-inline": {
147
+ "$value": "{ams.space.xl}",
148
+ "$extensions": {
149
+ "nl.amsterdam.subtype": "space",
150
+ "nl.amsterdam.type": "dimension"
151
+ }
152
+ }
105
153
  }
106
154
  },
107
155
  "body": {
@@ -114,51 +162,79 @@
114
162
  },
115
163
  "padding-inline": {
116
164
  "$value": "{ams.space.l}",
117
- "$type": "dimension",
118
165
  "$extensions": {
119
- "nl.amsterdam.subtype": "space"
166
+ "nl.amsterdam.subtype": "space",
167
+ "nl.amsterdam.type": "dimension"
120
168
  }
121
169
  },
122
170
  "medium": {
123
171
  "padding-inline": {
124
- "$value": "{ams.space.xl}",
172
+ "$deprecated": "Use `ams.dialog.body.vi-medium.padding-inline` instead. Will be removed on or after 2026-10-20.",
173
+ "$value": "initial",
125
174
  "$type": "dimension",
126
175
  "$extensions": {
127
176
  "nl.amsterdam.subtype": "space"
128
177
  }
129
178
  }
179
+ },
180
+ "vi-medium": {
181
+ "padding-inline": {
182
+ "$value": "{ams.space.xl}",
183
+ "$extensions": {
184
+ "nl.amsterdam.subtype": "space",
185
+ "nl.amsterdam.type": "dimension"
186
+ }
187
+ }
130
188
  }
131
189
  },
132
190
  "footer": {
133
191
  "padding-block": {
134
192
  "$value": "0 {ams.space.l}",
135
- "$type": "dimension",
136
193
  "$extensions": {
137
- "nl.amsterdam.subtype": "space"
194
+ "nl.amsterdam.subtype": "space",
195
+ "nl.amsterdam.type": "dimension"
138
196
  }
139
197
  },
140
198
  "padding-inline": {
141
199
  "$value": "{ams.space.l}",
142
- "$type": "dimension",
143
200
  "$extensions": {
144
- "nl.amsterdam.subtype": "space"
201
+ "nl.amsterdam.subtype": "space",
202
+ "nl.amsterdam.type": "dimension"
145
203
  }
146
204
  },
147
205
  "medium": {
148
206
  "padding-block": {
149
- "$value": "0 {ams.space.xl}",
207
+ "$deprecated": "Use `ams.dialog.footer.vi-medium.padding-block` instead. Will be removed on or after 2026-10-20.",
208
+ "$value": "initial",
150
209
  "$type": "dimension",
151
210
  "$extensions": {
152
211
  "nl.amsterdam.subtype": "space"
153
212
  }
154
213
  },
155
214
  "padding-inline": {
156
- "$value": "{ams.space.xl}",
215
+ "$deprecated": "Use `ams.dialog.footer.vi-medium.padding-inline` instead. Will be removed on or after 2026-10-20.",
216
+ "$value": "initial",
157
217
  "$type": "dimension",
158
218
  "$extensions": {
159
219
  "nl.amsterdam.subtype": "space"
160
220
  }
161
221
  }
222
+ },
223
+ "vi-medium": {
224
+ "padding-block": {
225
+ "$value": "0 {ams.space.xl}",
226
+ "$extensions": {
227
+ "nl.amsterdam.subtype": "space",
228
+ "nl.amsterdam.type": "dimension"
229
+ }
230
+ },
231
+ "padding-inline": {
232
+ "$value": "{ams.space.xl}",
233
+ "$extensions": {
234
+ "nl.amsterdam.subtype": "space",
235
+ "nl.amsterdam.type": "dimension"
236
+ }
237
+ }
162
238
  }
163
239
  }
164
240
  }
@@ -3,11 +3,15 @@
3
3
  "error-message": {
4
4
  "color": {
5
5
  "$value": "{ams.color.feedback.error}",
6
- "$type": "color"
6
+ "$extensions": {
7
+ "nl.amsterdam.type": "color"
8
+ }
7
9
  },
8
10
  "font-family": {
9
11
  "$value": "{ams.typography.font-family}",
10
- "$type": "fontFamily"
12
+ "$extensions": {
13
+ "nl.amsterdam.type": "fontFamily"
14
+ }
11
15
  },
12
16
  "font-size": {
13
17
  "$value": "{ams.typography.body-text.font-size}",
@@ -17,19 +21,22 @@
17
21
  },
18
22
  "font-weight": {
19
23
  "$value": "{ams.typography.body-text.font-weight}",
20
- "$type": "fontWeight"
24
+ "$extensions": {
25
+ "nl.amsterdam.type": "fontWeight"
26
+ }
21
27
  },
22
28
  "gap": {
23
29
  "$value": "{ams.space.xs}",
24
- "$type": "dimension",
25
30
  "$extensions": {
26
- "nl.amsterdam.subtype": "space"
31
+ "nl.amsterdam.subtype": "space",
32
+ "nl.amsterdam.type": "dimension"
27
33
  }
28
34
  },
29
35
  "line-height": {
30
36
  "$value": "{ams.typography.body-text.line-height}",
31
37
  "$extensions": {
32
- "nl.amsterdam.type": "lineHeight"
38
+ "nl.amsterdam.subtype": "lineHeight",
39
+ "nl.amsterdam.type": "number"
33
40
  }
34
41
  }
35
42
  }
@@ -4,59 +4,74 @@
4
4
  "child": {
5
5
  "margin-block-end": {
6
6
  "$value": "{ams.space.xs}",
7
- "$type": "dimension",
8
7
  "$extensions": {
9
- "nl.amsterdam.subtype": "space"
8
+ "nl.amsterdam.subtype": "space",
9
+ "nl.amsterdam.type": "dimension"
10
10
  }
11
11
  },
12
12
  "before-error-message": {
13
13
  "margin-block-end": {
14
14
  "$value": "{ams.space.s}",
15
- "$type": "dimension",
16
15
  "$extensions": {
17
- "nl.amsterdam.subtype": "space"
16
+ "nl.amsterdam.subtype": "space",
17
+ "nl.amsterdam.type": "dimension"
18
18
  }
19
19
  }
20
20
  },
21
21
  "before-field-or-field-set": {
22
22
  "margin-block-end": {
23
23
  "$value": "{ams.space.m}",
24
- "$type": "dimension",
25
24
  "$extensions": {
26
- "nl.amsterdam.subtype": "space"
25
+ "nl.amsterdam.subtype": "space",
26
+ "nl.amsterdam.type": "dimension"
27
27
  }
28
28
  }
29
29
  },
30
30
  "between-fields-and-field-sets": {
31
31
  "margin-block-end": {
32
32
  "$value": "{ams.space.l}",
33
- "$type": "dimension",
34
33
  "$extensions": {
35
- "nl.amsterdam.subtype": "space"
34
+ "nl.amsterdam.subtype": "space",
35
+ "nl.amsterdam.type": "dimension"
36
36
  }
37
37
  }
38
38
  }
39
39
  },
40
40
  "invalid": {
41
41
  "border-inline-start": {
42
- "$value": "{ams.border.width.l} solid {ams.color.feedback.error}"
42
+ "$value": "{ams.border.width.l} solid {ams.color.feedback.error}",
43
+ "$extensions": {
44
+ "nl.amsterdam.type": "border"
45
+ }
43
46
  },
44
47
  "padding-inline-start": {
45
48
  "$value": "{ams.space.m}",
46
- "$type": "dimension",
47
49
  "$extensions": {
48
- "nl.amsterdam.subtype": "space"
50
+ "nl.amsterdam.subtype": "space",
51
+ "nl.amsterdam.type": "dimension"
49
52
  }
50
53
  }
51
54
  },
52
55
  "legend": {
56
+ "margin-block-end": {
57
+ "$deprecated": "Whitespace is now applied through the `ams.field-set.child.*` tokens. Will be removed on or after 2026-07-09.",
58
+ "$value": "{ams.space.s}",
59
+ "$extensions": {
60
+ "nl.amsterdam.subtype": "space",
61
+ "nl.amsterdam.type": "dimension"
62
+ }
63
+ },
53
64
  "color": {
54
65
  "$value": "{ams.color.text.default}",
55
- "$type": "color"
66
+ "$extensions": {
67
+ "nl.amsterdam.type": "color"
68
+ }
56
69
  },
57
70
  "font-family": {
58
71
  "$value": "{ams.typography.font-family}",
59
- "$type": "fontFamily"
72
+ "$extensions": {
73
+ "nl.amsterdam.type": "fontFamily"
74
+ }
60
75
  },
61
76
  "font-size": {
62
77
  "$value": "{ams.typography.heading.3.font-size}",
@@ -66,21 +81,29 @@
66
81
  },
67
82
  "font-weight": {
68
83
  "$value": "{ams.typography.heading.font-weight}",
69
- "$type": "fontWeight"
84
+ "$extensions": {
85
+ "nl.amsterdam.type": "fontWeight"
86
+ }
70
87
  },
71
88
  "line-height": {
72
89
  "$value": "{ams.typography.heading.3.line-height}",
73
90
  "$extensions": {
74
- "nl.amsterdam.type": "lineHeight"
91
+ "nl.amsterdam.subtype": "lineHeight",
92
+ "nl.amsterdam.type": "number"
75
93
  }
76
94
  },
77
95
  "text-wrap": {
78
- "$value": "{ams.typography.heading.text-wrap}"
96
+ "$value": "{ams.typography.heading.text-wrap}",
97
+ "$extensions": {
98
+ "nl.amsterdam.type": "textWrap"
99
+ }
79
100
  },
80
101
  "in-fieldset": {
81
102
  "font-weight": {
82
103
  "$value": "{ams.typography.body-text.font-weight}",
83
- "$type": "fontWeight"
104
+ "$extensions": {
105
+ "nl.amsterdam.type": "fontWeight"
106
+ }
84
107
  }
85
108
  }
86
109
  }
@@ -1,33 +1,44 @@
1
1
  {
2
2
  "ams": {
3
3
  "field": {
4
+ "gap": {
5
+ "$deprecated": "Whitespace is now applied through the `ams.field-set.child.*` tokens. Will be removed on or after 2026-07-09.",
6
+ "$value": "{ams.space.s}",
7
+ "$extensions": {
8
+ "nl.amsterdam.subtype": "space",
9
+ "nl.amsterdam.type": "dimension"
10
+ }
11
+ },
4
12
  "child": {
5
13
  "margin-block-end": {
6
14
  "$value": "{ams.space.xs}",
7
- "$type": "dimension",
8
15
  "$extensions": {
9
- "nl.amsterdam.subtype": "space"
16
+ "nl.amsterdam.subtype": "space",
17
+ "nl.amsterdam.type": "dimension"
10
18
  }
11
19
  },
12
20
  "before-error-message": {
13
21
  "margin-block-end": {
14
22
  "$value": "{ams.space.s}",
15
- "$type": "dimension",
16
23
  "$extensions": {
17
- "nl.amsterdam.subtype": "space"
24
+ "nl.amsterdam.subtype": "space",
25
+ "nl.amsterdam.type": "dimension"
18
26
  }
19
27
  }
20
28
  }
21
29
  },
22
30
  "invalid": {
23
31
  "border-inline-start": {
24
- "$value": "{ams.border.width.l} solid {ams.color.feedback.error}"
32
+ "$value": "{ams.border.width.l} solid {ams.color.feedback.error}",
33
+ "$extensions": {
34
+ "nl.amsterdam.type": "border"
35
+ }
25
36
  },
26
37
  "padding-inline-start": {
27
38
  "$value": "{ams.space.m}",
28
- "$type": "dimension",
29
39
  "$extensions": {
30
- "nl.amsterdam.subtype": "space"
40
+ "nl.amsterdam.subtype": "space",
41
+ "nl.amsterdam.type": "dimension"
31
42
  }
32
43
  }
33
44
  }