@aitrien/motifspec 1.13.0 → 1.13.3

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 (83) hide show
  1. package/CHANGELOG.md +275 -257
  2. package/LICENSE +21 -21
  3. package/README.md +128 -150
  4. package/dist/backdrop.html +1 -1
  5. package/dist/chroma.css +36 -36
  6. package/dist/codex.css +1145 -1145
  7. package/dist/codex.js +126 -126
  8. package/dist/contrast.md +101 -101
  9. package/dist/fonts.css +3 -3
  10. package/dist/icons.svg +18 -18
  11. package/dist/plate.html +1 -1
  12. package/dist/plate.js +292 -292
  13. package/dist/theme-init.js +1 -1
  14. package/dist/tokens.css +466 -466
  15. package/dist/tokens.js +3330 -3330
  16. package/dist/tokens.json +3330 -3330
  17. package/docs/components/_template.md +37 -37
  18. package/docs/components/accession-label.md +106 -106
  19. package/docs/components/backdrop.md +83 -83
  20. package/docs/components/button-and-link.md +87 -87
  21. package/docs/components/callout.md +75 -75
  22. package/docs/components/code-block.md +109 -109
  23. package/docs/components/data-table.md +73 -73
  24. package/docs/components/figure.md +68 -68
  25. package/docs/components/heading-anchor.md +76 -76
  26. package/docs/components/icon.md +63 -63
  27. package/docs/components/ornament.md +77 -77
  28. package/docs/components/pagination.md +78 -78
  29. package/docs/components/post-list-item.md +91 -91
  30. package/docs/components/project-card.md +82 -82
  31. package/docs/components/prose.md +122 -122
  32. package/docs/components/site-footer.md +99 -99
  33. package/docs/components/site-header.md +133 -133
  34. package/docs/components/specimen-plate.md +92 -92
  35. package/docs/components/table-of-contents.md +83 -83
  36. package/docs/components/tag.md +70 -70
  37. package/docs/components/tooltip.md +67 -67
  38. package/docs/hugo.md +132 -120
  39. package/docs/syntax-highlighting.md +55 -55
  40. package/docs/templates.md +21 -30
  41. package/fonts/OFL-jetbrains-mono.txt +93 -93
  42. package/fonts/OFL-national-park.txt +93 -93
  43. package/fonts/OFL-yarndings-12.txt +93 -93
  44. package/icons/LICENSE +202 -202
  45. package/icons/manifest.json +75 -75
  46. package/layouts/_markup/render-blockquote.html +30 -30
  47. package/layouts/_markup/render-codeblock.html +18 -18
  48. package/layouts/_markup/render-heading.html +2 -2
  49. package/layouts/_markup/render-image.html +14 -14
  50. package/layouts/_markup/render-link.html +14 -14
  51. package/layouts/_markup/render-table.html +31 -31
  52. package/layouts/_partials/motifspec/accession/id.html +2 -2
  53. package/layouts/_partials/motifspec/accession/label.html +18 -18
  54. package/layouts/_partials/motifspec/accession/status.html +2 -2
  55. package/layouts/_partials/motifspec/article.html +24 -24
  56. package/layouts/_partials/motifspec/back-link.html +2 -2
  57. package/layouts/_partials/motifspec/body-end.html +5 -5
  58. package/layouts/_partials/motifspec/body-start.html +5 -5
  59. package/layouts/_partials/motifspec/figure.html +14 -14
  60. package/layouts/_partials/motifspec/filed-under.html +5 -5
  61. package/layouts/_partials/motifspec/h2s.html +7 -7
  62. package/layouts/_partials/motifspec/head.html +15 -15
  63. package/layouts/_partials/motifspec/pagination-entries.html +34 -34
  64. package/layouts/_partials/motifspec/pagination-pages.html +30 -30
  65. package/layouts/_partials/motifspec/post-list-item.html +15 -15
  66. package/layouts/_partials/motifspec/project-card.html +23 -23
  67. package/layouts/_partials/motifspec/section-heading.html +3 -3
  68. package/layouts/_partials/motifspec/site-header.html +27 -27
  69. package/layouts/_partials/motifspec/table-of-contents.html +21 -21
  70. package/layouts/_partials/motifspec/tag-filter.html +22 -22
  71. package/layouts/_partials/motifspec/tags.html +8 -8
  72. package/layouts/_partials/motifspec/tokens.html +9 -9
  73. package/package.json +68 -68
  74. package/scripts/check.mjs +153 -153
  75. package/scripts/lib.mjs +176 -176
  76. package/tokens/README.md +3 -3
  77. package/tokens/border.json +63 -63
  78. package/tokens/color.json +1902 -1902
  79. package/tokens/motion.json +207 -207
  80. package/tokens/radius.json +53 -53
  81. package/tokens/size.json +378 -378
  82. package/tokens/space.json +289 -289
  83. package/tokens/typography.json +859 -859
package/tokens/size.json CHANGED
@@ -1,378 +1,378 @@
1
- {
2
- "primitive": {
3
- "size": {
4
- "width": {
5
- "$type": "dimension",
6
- "xs": {
7
- "$value": {
8
- "value": 15,
9
- "unit": "rem"
10
- },
11
- "$extensions": {
12
- "codex.tier": "primitive"
13
- }
14
- },
15
- "sm": {
16
- "$value": {
17
- "value": 20,
18
- "unit": "rem"
19
- },
20
- "$extensions": {
21
- "codex.tier": "primitive"
22
- }
23
- },
24
- "md": {
25
- "$value": {
26
- "value": 40,
27
- "unit": "rem"
28
- },
29
- "$extensions": {
30
- "codex.tier": "primitive"
31
- }
32
- },
33
- "lg": {
34
- "$value": {
35
- "value": 60,
36
- "unit": "rem"
37
- },
38
- "$extensions": {
39
- "codex.tier": "primitive"
40
- }
41
- },
42
- "xl": {
43
- "$value": {
44
- "value": 69,
45
- "unit": "rem"
46
- },
47
- "$extensions": {
48
- "codex.tier": "primitive"
49
- }
50
- }
51
- },
52
- "measure": {
53
- "$type": "number",
54
- "narrow": {
55
- "$value": 52,
56
- "$extensions": {
57
- "codex.tier": "primitive",
58
- "codex.unit": "ch"
59
- }
60
- },
61
- "base": {
62
- "$value": 66,
63
- "$extensions": {
64
- "codex.tier": "primitive",
65
- "codex.unit": "ch"
66
- }
67
- },
68
- "wide": {
69
- "$value": 80,
70
- "$extensions": {
71
- "codex.tier": "primitive",
72
- "codex.unit": "ch"
73
- }
74
- }
75
- },
76
- "control": {
77
- "$type": "dimension",
78
- "1": {
79
- "$value": {
80
- "value": 1.5,
81
- "unit": "rem"
82
- },
83
- "$extensions": {
84
- "codex.tier": "primitive"
85
- }
86
- },
87
- "2": {
88
- "$value": {
89
- "value": 2.5,
90
- "unit": "rem"
91
- },
92
- "$extensions": {
93
- "codex.tier": "primitive"
94
- }
95
- },
96
- "3": {
97
- "$value": {
98
- "value": 2.75,
99
- "unit": "rem"
100
- },
101
- "$extensions": {
102
- "codex.tier": "primitive"
103
- }
104
- }
105
- },
106
- "icon": {
107
- "$type": "dimension",
108
- "$description": "Icon boxes for Material Symbols, drawn on a 24-unit grid. Primitive.",
109
- "1": {
110
- "$value": {
111
- "value": 1,
112
- "unit": "rem"
113
- },
114
- "$extensions": {
115
- "codex.tier": "primitive"
116
- }
117
- },
118
- "2": {
119
- "$value": {
120
- "value": 1.25,
121
- "unit": "rem"
122
- },
123
- "$extensions": {
124
- "codex.tier": "primitive"
125
- }
126
- },
127
- "3": {
128
- "$value": {
129
- "value": 1.5,
130
- "unit": "rem"
131
- },
132
- "$extensions": {
133
- "codex.tier": "primitive"
134
- }
135
- }
136
- },
137
- "glyph": {
138
- "$type": "dimension",
139
- "$description": "Multiples of 12px, the Yarndings stitch grid. Primitive.",
140
- "1": {
141
- "$value": {
142
- "value": 0.75,
143
- "unit": "rem"
144
- },
145
- "$extensions": {
146
- "codex.tier": "primitive"
147
- }
148
- },
149
- "2": {
150
- "$value": {
151
- "value": 1.5,
152
- "unit": "rem"
153
- },
154
- "$extensions": {
155
- "codex.tier": "primitive"
156
- }
157
- },
158
- "3": {
159
- "$value": {
160
- "value": 2.25,
161
- "unit": "rem"
162
- },
163
- "$extensions": {
164
- "codex.tier": "primitive"
165
- }
166
- },
167
- "4": {
168
- "$value": {
169
- "value": 3,
170
- "unit": "rem"
171
- },
172
- "$extensions": {
173
- "codex.tier": "primitive"
174
- }
175
- }
176
- },
177
- "breakpoint": {
178
- "$type": "dimension",
179
- "sm": {
180
- "$value": {
181
- "value": 30,
182
- "unit": "rem"
183
- },
184
- "$extensions": {
185
- "codex.tier": "primitive"
186
- }
187
- },
188
- "md": {
189
- "$value": {
190
- "value": 48,
191
- "unit": "rem"
192
- },
193
- "$extensions": {
194
- "codex.tier": "primitive"
195
- }
196
- },
197
- "lg": {
198
- "$value": {
199
- "value": 64,
200
- "unit": "rem"
201
- },
202
- "$extensions": {
203
- "codex.tier": "primitive"
204
- }
205
- },
206
- "xl": {
207
- "$value": {
208
- "value": 80,
209
- "unit": "rem"
210
- },
211
- "$extensions": {
212
- "codex.tier": "primitive"
213
- }
214
- }
215
- },
216
- "effect": {
217
- "$type": "dimension",
218
- "$description": "Lengths for page-level effects. Primitive.",
219
- "1": {
220
- "$value": {
221
- "value": 0.5,
222
- "unit": "rem"
223
- },
224
- "$extensions": {
225
- "codex.tier": "primitive"
226
- }
227
- },
228
- "2": {
229
- "$value": {
230
- "value": 30,
231
- "unit": "rem"
232
- },
233
- "$extensions": {
234
- "codex.tier": "primitive"
235
- }
236
- }
237
- },
238
- "viewport": {
239
- "$type": "number",
240
- "$description": "Viewport heights in the large-viewport unit (see codex.unit): the height with the browser's address bar retracted, which doesn't change as the bar slides in and out. Primitive.",
241
- "1": {
242
- "$value": 100,
243
- "$extensions": {
244
- "codex.tier": "primitive",
245
- "codex.unit": "lvh"
246
- }
247
- }
248
- }
249
- }
250
- },
251
- "size": {
252
- "container": {
253
- "$type": "dimension",
254
- "page": {
255
- "$value": "{primitive.size.width.xl}",
256
- "$description": "Max width of the page container (header, main, footer). Never full-bleed text."
257
- },
258
- "breakout": {
259
- "$value": "{primitive.size.width.lg}",
260
- "$description": "Max width for wide figures, tables and code blocks that break out of the prose column."
261
- }
262
- },
263
- "measure": {
264
- "$type": "number",
265
- "prose": {
266
- "$value": "{primitive.size.measure.base}",
267
- "$description": "Max line length of running text (ch).",
268
- "$extensions": {
269
- "codex.unit": "ch"
270
- }
271
- },
272
- "caption": {
273
- "$value": "{primitive.size.measure.narrow}",
274
- "$description": "Max line length of captions, ledes on cards and summaries (ch).",
275
- "$extensions": {
276
- "codex.unit": "ch"
277
- }
278
- },
279
- "code": {
280
- "$value": "{primitive.size.measure.wide}",
281
- "$description": "Target line length that code blocks fit without scrolling (ch).",
282
- "$extensions": {
283
- "codex.unit": "ch"
284
- }
285
- }
286
- },
287
- "column": {
288
- "$type": "dimension",
289
- "sidebar": {
290
- "$value": "{primitive.size.width.xs}",
291
- "$description": "Width of a side column such as the table of contents; it wraps below the main column when space runs out."
292
- },
293
- "card": {
294
- "$value": "{primitive.size.width.sm}",
295
- "$description": "Minimum card width in auto-fill grids, and the specimen plate's width."
296
- }
297
- },
298
- "target": {
299
- "$type": "dimension",
300
- "min": {
301
- "$value": "{primitive.size.control.1}",
302
- "$description": "Minimum hit area for inline controls such as tags and pagination numbers (WCAG 2.2 AA 24px)."
303
- },
304
- "control": {
305
- "$value": "{primitive.size.control.2}",
306
- "$description": "Height of buttons, inputs and the theme toggle."
307
- },
308
- "touch": {
309
- "$value": "{primitive.size.control.3}",
310
- "$description": "Hit area for primary nav links and icon-only buttons (44px)."
311
- }
312
- },
313
- "icon": {
314
- "$type": "dimension",
315
- "sm": {
316
- "$value": "{primitive.size.icon.1}",
317
- "$description": "Icons beside label-size mono text: pagination directions, callout titles, back links, the copy button, footer links."
318
- },
319
- "md": {
320
- "$value": "{primitive.size.icon.2}",
321
- "$description": "Icons inside buttons and the theme toggle, beside small or body text."
322
- },
323
- "lg": {
324
- "$value": "{primitive.size.icon.3}",
325
- "$description": "An icon standing alone in a control with no visible text. The control still needs an accessible name."
326
- }
327
- },
328
- "ornament": {
329
- "$type": "dimension",
330
- "sm": {
331
- "$value": "{primitive.size.glyph.1}",
332
- "$description": "Inline ornaments and footer bands (12px grid)."
333
- },
334
- "md": {
335
- "$value": "{primitive.size.glyph.2}",
336
- "$description": "Section dividers and end marks."
337
- },
338
- "lg": {
339
- "$value": "{primitive.size.glyph.4}",
340
- "$description": "A single empty-state ornament, e.g. on a 404."
341
- }
342
- },
343
- "mark": {
344
- "$type": "dimension",
345
- "tick": {
346
- "$value": "{primitive.space.2}",
347
- "$description": "Length of the registration ticks at the corners of accession labels and plates."
348
- }
349
- },
350
- "breakpoint": {
351
- "$type": "dimension",
352
- "md": {
353
- "$value": "{primitive.size.breakpoint.md}",
354
- "$description": "Width below which a layout counts as a phone. For width media queries only: write @media (width < token(size.breakpoint.md)) in css/components.css and the build fills in the value, because custom properties cannot be used in @media. Prefer intrinsic layouts; use it to choose between alternate content, such as the case study's lead label and card."
355
- },
356
- "lg": {
357
- "$value": "{primitive.size.breakpoint.lg}",
358
- "$description": "Width for wide layouts such as a sticky TOC beside prose. For width media queries only, written as token(size.breakpoint.lg) in css/components.css; prefer intrinsic layouts."
359
- }
360
- },
361
- "backdrop": {
362
- "$type": "dimension",
363
- "blur": {
364
- "$value": "{primitive.size.effect.1}",
365
- "$description": "Blur radius of the frost over the backdrop contours. Wide enough that the lines read as soft relief, never as text-like strokes behind the header and footer."
366
- },
367
- "fade": {
368
- "$value": "{primitive.size.effect.2}",
369
- "$description": "Length of the fade at the top and bottom of a backdrop page, over which the page surface gives way to the frost. The header and the opening statement sit inside it; reading text below it is on the plain surface."
370
- },
371
- "height": {
372
- "$type": "number",
373
- "$value": "{primitive.size.viewport.1}",
374
- "$description": "Height of the backdrop layer before its blur overhang: the large viewport, so the contours keep their size and position as a phone's address bar slides away. Never a dynamic or small viewport unit, which resize the layer as you scroll and make the contours jump."
375
- }
376
- }
377
- }
378
- }
1
+ {
2
+ "primitive": {
3
+ "size": {
4
+ "width": {
5
+ "$type": "dimension",
6
+ "xs": {
7
+ "$value": {
8
+ "value": 15,
9
+ "unit": "rem"
10
+ },
11
+ "$extensions": {
12
+ "codex.tier": "primitive"
13
+ }
14
+ },
15
+ "sm": {
16
+ "$value": {
17
+ "value": 20,
18
+ "unit": "rem"
19
+ },
20
+ "$extensions": {
21
+ "codex.tier": "primitive"
22
+ }
23
+ },
24
+ "md": {
25
+ "$value": {
26
+ "value": 40,
27
+ "unit": "rem"
28
+ },
29
+ "$extensions": {
30
+ "codex.tier": "primitive"
31
+ }
32
+ },
33
+ "lg": {
34
+ "$value": {
35
+ "value": 60,
36
+ "unit": "rem"
37
+ },
38
+ "$extensions": {
39
+ "codex.tier": "primitive"
40
+ }
41
+ },
42
+ "xl": {
43
+ "$value": {
44
+ "value": 69,
45
+ "unit": "rem"
46
+ },
47
+ "$extensions": {
48
+ "codex.tier": "primitive"
49
+ }
50
+ }
51
+ },
52
+ "measure": {
53
+ "$type": "number",
54
+ "narrow": {
55
+ "$value": 52,
56
+ "$extensions": {
57
+ "codex.tier": "primitive",
58
+ "codex.unit": "ch"
59
+ }
60
+ },
61
+ "base": {
62
+ "$value": 66,
63
+ "$extensions": {
64
+ "codex.tier": "primitive",
65
+ "codex.unit": "ch"
66
+ }
67
+ },
68
+ "wide": {
69
+ "$value": 80,
70
+ "$extensions": {
71
+ "codex.tier": "primitive",
72
+ "codex.unit": "ch"
73
+ }
74
+ }
75
+ },
76
+ "control": {
77
+ "$type": "dimension",
78
+ "1": {
79
+ "$value": {
80
+ "value": 1.5,
81
+ "unit": "rem"
82
+ },
83
+ "$extensions": {
84
+ "codex.tier": "primitive"
85
+ }
86
+ },
87
+ "2": {
88
+ "$value": {
89
+ "value": 2.5,
90
+ "unit": "rem"
91
+ },
92
+ "$extensions": {
93
+ "codex.tier": "primitive"
94
+ }
95
+ },
96
+ "3": {
97
+ "$value": {
98
+ "value": 2.75,
99
+ "unit": "rem"
100
+ },
101
+ "$extensions": {
102
+ "codex.tier": "primitive"
103
+ }
104
+ }
105
+ },
106
+ "icon": {
107
+ "$type": "dimension",
108
+ "$description": "Icon boxes for Material Symbols, drawn on a 24-unit grid. Primitive.",
109
+ "1": {
110
+ "$value": {
111
+ "value": 1,
112
+ "unit": "rem"
113
+ },
114
+ "$extensions": {
115
+ "codex.tier": "primitive"
116
+ }
117
+ },
118
+ "2": {
119
+ "$value": {
120
+ "value": 1.25,
121
+ "unit": "rem"
122
+ },
123
+ "$extensions": {
124
+ "codex.tier": "primitive"
125
+ }
126
+ },
127
+ "3": {
128
+ "$value": {
129
+ "value": 1.5,
130
+ "unit": "rem"
131
+ },
132
+ "$extensions": {
133
+ "codex.tier": "primitive"
134
+ }
135
+ }
136
+ },
137
+ "glyph": {
138
+ "$type": "dimension",
139
+ "$description": "Multiples of 12px, the Yarndings stitch grid. Primitive.",
140
+ "1": {
141
+ "$value": {
142
+ "value": 0.75,
143
+ "unit": "rem"
144
+ },
145
+ "$extensions": {
146
+ "codex.tier": "primitive"
147
+ }
148
+ },
149
+ "2": {
150
+ "$value": {
151
+ "value": 1.5,
152
+ "unit": "rem"
153
+ },
154
+ "$extensions": {
155
+ "codex.tier": "primitive"
156
+ }
157
+ },
158
+ "3": {
159
+ "$value": {
160
+ "value": 2.25,
161
+ "unit": "rem"
162
+ },
163
+ "$extensions": {
164
+ "codex.tier": "primitive"
165
+ }
166
+ },
167
+ "4": {
168
+ "$value": {
169
+ "value": 3,
170
+ "unit": "rem"
171
+ },
172
+ "$extensions": {
173
+ "codex.tier": "primitive"
174
+ }
175
+ }
176
+ },
177
+ "breakpoint": {
178
+ "$type": "dimension",
179
+ "sm": {
180
+ "$value": {
181
+ "value": 30,
182
+ "unit": "rem"
183
+ },
184
+ "$extensions": {
185
+ "codex.tier": "primitive"
186
+ }
187
+ },
188
+ "md": {
189
+ "$value": {
190
+ "value": 48,
191
+ "unit": "rem"
192
+ },
193
+ "$extensions": {
194
+ "codex.tier": "primitive"
195
+ }
196
+ },
197
+ "lg": {
198
+ "$value": {
199
+ "value": 64,
200
+ "unit": "rem"
201
+ },
202
+ "$extensions": {
203
+ "codex.tier": "primitive"
204
+ }
205
+ },
206
+ "xl": {
207
+ "$value": {
208
+ "value": 80,
209
+ "unit": "rem"
210
+ },
211
+ "$extensions": {
212
+ "codex.tier": "primitive"
213
+ }
214
+ }
215
+ },
216
+ "effect": {
217
+ "$type": "dimension",
218
+ "$description": "Lengths for page-level effects. Primitive.",
219
+ "1": {
220
+ "$value": {
221
+ "value": 0.5,
222
+ "unit": "rem"
223
+ },
224
+ "$extensions": {
225
+ "codex.tier": "primitive"
226
+ }
227
+ },
228
+ "2": {
229
+ "$value": {
230
+ "value": 30,
231
+ "unit": "rem"
232
+ },
233
+ "$extensions": {
234
+ "codex.tier": "primitive"
235
+ }
236
+ }
237
+ },
238
+ "viewport": {
239
+ "$type": "number",
240
+ "$description": "Viewport heights in the large-viewport unit (see codex.unit): the height with the browser's address bar retracted, which doesn't change as the bar slides in and out. Primitive.",
241
+ "1": {
242
+ "$value": 100,
243
+ "$extensions": {
244
+ "codex.tier": "primitive",
245
+ "codex.unit": "lvh"
246
+ }
247
+ }
248
+ }
249
+ }
250
+ },
251
+ "size": {
252
+ "container": {
253
+ "$type": "dimension",
254
+ "page": {
255
+ "$value": "{primitive.size.width.xl}",
256
+ "$description": "Max width of the page container (header, main, footer). Never full-bleed text."
257
+ },
258
+ "breakout": {
259
+ "$value": "{primitive.size.width.lg}",
260
+ "$description": "Max width for wide figures, tables and code blocks that break out of the prose column."
261
+ }
262
+ },
263
+ "measure": {
264
+ "$type": "number",
265
+ "prose": {
266
+ "$value": "{primitive.size.measure.base}",
267
+ "$description": "Max line length of running text (ch).",
268
+ "$extensions": {
269
+ "codex.unit": "ch"
270
+ }
271
+ },
272
+ "caption": {
273
+ "$value": "{primitive.size.measure.narrow}",
274
+ "$description": "Max line length of captions, ledes on cards and summaries (ch).",
275
+ "$extensions": {
276
+ "codex.unit": "ch"
277
+ }
278
+ },
279
+ "code": {
280
+ "$value": "{primitive.size.measure.wide}",
281
+ "$description": "Target line length that code blocks fit without scrolling (ch).",
282
+ "$extensions": {
283
+ "codex.unit": "ch"
284
+ }
285
+ }
286
+ },
287
+ "column": {
288
+ "$type": "dimension",
289
+ "sidebar": {
290
+ "$value": "{primitive.size.width.xs}",
291
+ "$description": "Width of a side column such as the table of contents; it wraps below the main column when space runs out."
292
+ },
293
+ "card": {
294
+ "$value": "{primitive.size.width.sm}",
295
+ "$description": "Minimum card width in auto-fill grids, and the specimen plate's width."
296
+ }
297
+ },
298
+ "target": {
299
+ "$type": "dimension",
300
+ "min": {
301
+ "$value": "{primitive.size.control.1}",
302
+ "$description": "Minimum hit area for inline controls such as tags and pagination numbers (WCAG 2.2 AA 24px)."
303
+ },
304
+ "control": {
305
+ "$value": "{primitive.size.control.2}",
306
+ "$description": "Height of buttons, inputs and the theme toggle."
307
+ },
308
+ "touch": {
309
+ "$value": "{primitive.size.control.3}",
310
+ "$description": "Hit area for primary nav links and icon-only buttons (44px)."
311
+ }
312
+ },
313
+ "icon": {
314
+ "$type": "dimension",
315
+ "sm": {
316
+ "$value": "{primitive.size.icon.1}",
317
+ "$description": "Icons beside label-size mono text: pagination directions, callout titles, back links, the copy button, footer links."
318
+ },
319
+ "md": {
320
+ "$value": "{primitive.size.icon.2}",
321
+ "$description": "Icons inside buttons and the theme toggle, beside small or body text."
322
+ },
323
+ "lg": {
324
+ "$value": "{primitive.size.icon.3}",
325
+ "$description": "An icon standing alone in a control with no visible text. The control still needs an accessible name."
326
+ }
327
+ },
328
+ "ornament": {
329
+ "$type": "dimension",
330
+ "sm": {
331
+ "$value": "{primitive.size.glyph.1}",
332
+ "$description": "Inline ornaments and footer bands (12px grid)."
333
+ },
334
+ "md": {
335
+ "$value": "{primitive.size.glyph.2}",
336
+ "$description": "Section dividers and end marks."
337
+ },
338
+ "lg": {
339
+ "$value": "{primitive.size.glyph.4}",
340
+ "$description": "A single empty-state ornament, e.g. on a 404."
341
+ }
342
+ },
343
+ "mark": {
344
+ "$type": "dimension",
345
+ "tick": {
346
+ "$value": "{primitive.space.2}",
347
+ "$description": "Length of the registration ticks at the corners of accession labels and plates."
348
+ }
349
+ },
350
+ "breakpoint": {
351
+ "$type": "dimension",
352
+ "md": {
353
+ "$value": "{primitive.size.breakpoint.md}",
354
+ "$description": "Width below which a layout counts as a phone. For width media queries only: write @media (width < token(size.breakpoint.md)) in css/components.css and the build fills in the value, because custom properties cannot be used in @media. Prefer intrinsic layouts; use it to choose between alternate content, such as the case study's lead label and card."
355
+ },
356
+ "lg": {
357
+ "$value": "{primitive.size.breakpoint.lg}",
358
+ "$description": "Width for wide layouts such as a sticky TOC beside prose. For width media queries only, written as token(size.breakpoint.lg) in css/components.css; prefer intrinsic layouts."
359
+ }
360
+ },
361
+ "backdrop": {
362
+ "$type": "dimension",
363
+ "blur": {
364
+ "$value": "{primitive.size.effect.1}",
365
+ "$description": "Blur radius of the frost over the backdrop contours. Wide enough that the lines read as soft relief, never as text-like strokes behind the header and footer."
366
+ },
367
+ "fade": {
368
+ "$value": "{primitive.size.effect.2}",
369
+ "$description": "Length of the fade at the top and bottom of a backdrop page, over which the page surface gives way to the frost. The header and the opening statement sit inside it; reading text below it is on the plain surface."
370
+ },
371
+ "height": {
372
+ "$type": "number",
373
+ "$value": "{primitive.size.viewport.1}",
374
+ "$description": "Height of the backdrop layer before its blur overhang: the large viewport, so the contours keep their size and position as a phone's address bar slides away. Never a dynamic or small viewport unit, which resize the layer as you scroll and make the contours jump."
375
+ }
376
+ }
377
+ }
378
+ }