@ponchia/ui 0.12.0 → 0.13.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 (48) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +3 -3
  3. package/classes/classes.json +3 -1
  4. package/classes/index.d.ts +2 -0
  5. package/classes/index.js +3 -1
  6. package/classes/vscode.css-custom-data.json +64 -0
  7. package/css/base.css +2 -2
  8. package/css/blocknote.css +61 -0
  9. package/css/clamp.css +2 -2
  10. package/css/content.css +126 -0
  11. package/css/disclosure.css +10 -10
  12. package/css/forms.css +8 -8
  13. package/css/primitives.css +5 -6
  14. package/css/row.css +2 -2
  15. package/css/term.css +2 -2
  16. package/css/textref.css +2 -2
  17. package/css/toc.css +2 -2
  18. package/css/tokens.css +43 -0
  19. package/css/workbench.css +2 -2
  20. package/dist/bronto.css +1 -1
  21. package/dist/css/base.css +1 -1
  22. package/dist/css/blocknote.css +1 -0
  23. package/dist/css/clamp.css +1 -1
  24. package/dist/css/content.css +1 -1
  25. package/dist/css/disclosure.css +1 -1
  26. package/dist/css/forms.css +1 -1
  27. package/dist/css/report-kit.css +1 -1
  28. package/dist/css/row.css +1 -1
  29. package/dist/css/term.css +1 -1
  30. package/dist/css/textref.css +1 -1
  31. package/dist/css/toc.css +1 -1
  32. package/dist/css/tokens.css +1 -1
  33. package/dist/css/workbench.css +1 -1
  34. package/docs/compositions.md +2 -2
  35. package/docs/interop/blocknote.md +60 -0
  36. package/docs/package-contract.md +6 -2
  37. package/docs/reference.md +18 -1
  38. package/docs/reporting.md +8 -8
  39. package/docs/stability.md +2 -1
  40. package/docs/theming.md +48 -1
  41. package/llms.txt +1 -1
  42. package/package.json +13 -10
  43. package/tokens/figma.variables.json +240 -0
  44. package/tokens/index.d.ts +2 -2
  45. package/tokens/index.js +30 -2
  46. package/tokens/index.json +32 -0
  47. package/tokens/resolved.json +17 -1
  48. package/tokens/tokens.dtcg.json +190 -0
package/tokens/index.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  export type ThemeName = 'light' | 'dark';
5
5
 
6
- export type GlobalTokenName = '--radius-xl' | '--radius-lg' | '--radius-md' | '--radius-sm' | '--radius-pill' | '--space-2xs' | '--space-xs' | '--space-sm' | '--space-md' | '--space-lg' | '--space-xl' | '--space-2xl' | '--tap-target' | '--tap-target-min' | '--safe-area-top' | '--safe-area-right' | '--safe-area-bottom' | '--safe-area-left' | '--mono' | '--sans' | '--dot-font' | '--display' | '--display-weight' | '--display-weight-strong' | '--text-2xs' | '--text-xs' | '--text-sm' | '--text-base' | '--text-lg' | '--text-xl' | '--tracking-wide' | '--tracking-wider' | '--ease-standard' | '--ease-spring' | '--ease-out' | '--duration-fast' | '--duration-base' | '--duration-slow' | '--dot-size' | '--dot-gap' | '--z-base' | '--z-raised' | '--z-sticky' | '--z-overlay' | '--z-popover' | '--z-toast' | '--accent-1' | '--accent-2' | '--accent-3' | '--accent-4' | '--accent-5' | '--accent-6' | '--surface-1' | '--surface-2' | '--surface-3' | '--surface-4' | '--surface-5' | '--surface-6' | '--bronto-color-bg' | '--bronto-color-surface' | '--bronto-color-surface-raised' | '--bronto-color-border' | '--bronto-color-border-strong' | '--bronto-color-text' | '--bronto-color-text-muted' | '--bronto-color-action' | '--bronto-color-on-action' | '--bronto-color-focus' | '--bronto-color-success' | '--bronto-color-warning' | '--bronto-color-danger' | '--bronto-color-info' | '--surface' | '--surface-raised' | '--surface-muted' | '--border' | '--border-strong';
6
+ export type GlobalTokenName = '--radius-xl' | '--radius-lg' | '--radius-md' | '--radius-sm' | '--radius-pill' | '--space-2xs' | '--space-xs' | '--space-sm' | '--space-md' | '--space-lg' | '--space-xl' | '--space-2xl' | '--space-0-5' | '--space-0-75' | '--space-1-5' | '--space-2-5' | '--tap-target' | '--tap-target-min' | '--safe-area-top' | '--safe-area-right' | '--safe-area-bottom' | '--safe-area-left' | '--mono' | '--sans' | '--dot-font' | '--display' | '--display-weight' | '--display-weight-strong' | '--text-2xs' | '--text-xs' | '--text-sm' | '--text-base' | '--text-lg' | '--text-xl' | '--tracking-wide' | '--tracking-wider' | '--ease-standard' | '--ease-spring' | '--ease-out' | '--duration-fast' | '--duration-base' | '--duration-slow' | '--dot-size' | '--dot-gap' | '--z-base' | '--z-raised' | '--z-sticky' | '--z-overlay' | '--z-popover' | '--z-toast' | '--z-canvas' | '--z-chrome' | '--z-panel' | '--z-modal' | '--z-menu' | '--z-tooltip' | '--z-navigation' | '--ui-zoom' | '--ui-px' | '--hairline' | '--focus-ring-width' | '--focus-ring-offset' | '--accent-1' | '--accent-2' | '--accent-3' | '--accent-4' | '--accent-5' | '--accent-6' | '--surface-1' | '--surface-2' | '--surface-3' | '--surface-4' | '--surface-5' | '--surface-6' | '--bronto-color-bg' | '--bronto-color-surface' | '--bronto-color-surface-raised' | '--bronto-color-border' | '--bronto-color-border-strong' | '--bronto-color-text' | '--bronto-color-text-muted' | '--bronto-color-action' | '--bronto-color-on-action' | '--bronto-color-focus' | '--bronto-color-success' | '--bronto-color-warning' | '--bronto-color-danger' | '--bronto-color-info' | '--surface' | '--surface-raised' | '--surface-muted' | '--border' | '--border-strong';
7
7
  export type LightTokenName = '--bg' | '--bg-elevated' | '--bg-accent' | '--panel' | '--panel-strong' | '--panel-soft' | '--line' | '--line-strong' | '--text' | '--text-soft' | '--text-dim' | '--accent' | '--accent-ramp-end' | '--accent-strong' | '--accent-text' | '--on-accent' | '--accent-soft' | '--success' | '--success-soft' | '--warning' | '--warning-soft' | '--danger' | '--danger-soft' | '--info' | '--info-soft' | '--code-bg' | '--button-text' | '--field-dot' | '--field-dot-hot' | '--field-dot-accent' | '--focus-ring' | '--shadow' | '--shadow-raised';
8
8
  export type DarkTokenName = '--bg' | '--bg-elevated' | '--bg-accent' | '--panel' | '--panel-strong' | '--panel-soft' | '--line' | '--line-strong' | '--text' | '--text-soft' | '--text-dim' | '--accent' | '--accent-ramp-end' | '--accent-strong' | '--accent-text' | '--on-accent' | '--accent-soft' | '--success' | '--success-soft' | '--warning' | '--warning-soft' | '--danger' | '--danger-soft' | '--info' | '--info-soft' | '--code-bg' | '--button-text' | '--field-dot' | '--field-dot-hot' | '--field-dot-accent' | '--focus-ring' | '--shadow' | '--shadow-raised';
9
9
 
@@ -14,7 +14,7 @@ export declare const cssVars: {
14
14
  dark: Record<DarkTokenName, string>;
15
15
  };
16
16
 
17
- export type ScaleKey = 'radius-xl' | 'radius-lg' | 'radius-md' | 'radius-sm' | 'radius-pill' | 'space-2xs' | 'space-xs' | 'space-sm' | 'space-md' | 'space-lg' | 'space-xl' | 'space-2xl' | 'tap-target' | 'tap-target-min' | 'safe-area-top' | 'safe-area-right' | 'safe-area-bottom' | 'safe-area-left' | 'mono' | 'sans' | 'dot-font' | 'display' | 'display-weight' | 'display-weight-strong' | 'text-2xs' | 'text-xs' | 'text-sm' | 'text-base' | 'text-lg' | 'text-xl' | 'tracking-wide' | 'tracking-wider' | 'ease-standard' | 'ease-spring' | 'ease-out' | 'duration-fast' | 'duration-base' | 'duration-slow' | 'dot-size' | 'dot-gap' | 'z-base' | 'z-raised' | 'z-sticky' | 'z-overlay' | 'z-popover' | 'z-toast' | 'accent-1' | 'accent-2' | 'accent-3' | 'accent-4' | 'accent-5' | 'accent-6' | 'surface-1' | 'surface-2' | 'surface-3' | 'surface-4' | 'surface-5' | 'surface-6' | 'bronto-color-bg' | 'bronto-color-surface' | 'bronto-color-surface-raised' | 'bronto-color-border' | 'bronto-color-border-strong' | 'bronto-color-text' | 'bronto-color-text-muted' | 'bronto-color-action' | 'bronto-color-on-action' | 'bronto-color-focus' | 'bronto-color-success' | 'bronto-color-warning' | 'bronto-color-danger' | 'bronto-color-info' | 'surface' | 'surface-raised' | 'surface-muted' | 'border' | 'border-strong';
17
+ export type ScaleKey = 'radius-xl' | 'radius-lg' | 'radius-md' | 'radius-sm' | 'radius-pill' | 'space-2xs' | 'space-xs' | 'space-sm' | 'space-md' | 'space-lg' | 'space-xl' | 'space-2xl' | 'space-0-5' | 'space-0-75' | 'space-1-5' | 'space-2-5' | 'tap-target' | 'tap-target-min' | 'safe-area-top' | 'safe-area-right' | 'safe-area-bottom' | 'safe-area-left' | 'mono' | 'sans' | 'dot-font' | 'display' | 'display-weight' | 'display-weight-strong' | 'text-2xs' | 'text-xs' | 'text-sm' | 'text-base' | 'text-lg' | 'text-xl' | 'tracking-wide' | 'tracking-wider' | 'ease-standard' | 'ease-spring' | 'ease-out' | 'duration-fast' | 'duration-base' | 'duration-slow' | 'dot-size' | 'dot-gap' | 'z-base' | 'z-raised' | 'z-sticky' | 'z-overlay' | 'z-popover' | 'z-toast' | 'z-canvas' | 'z-chrome' | 'z-panel' | 'z-modal' | 'z-menu' | 'z-tooltip' | 'z-navigation' | 'ui-zoom' | 'ui-px' | 'hairline' | 'focus-ring-width' | 'focus-ring-offset' | 'accent-1' | 'accent-2' | 'accent-3' | 'accent-4' | 'accent-5' | 'accent-6' | 'surface-1' | 'surface-2' | 'surface-3' | 'surface-4' | 'surface-5' | 'surface-6' | 'bronto-color-bg' | 'bronto-color-surface' | 'bronto-color-surface-raised' | 'bronto-color-border' | 'bronto-color-border-strong' | 'bronto-color-text' | 'bronto-color-text-muted' | 'bronto-color-action' | 'bronto-color-on-action' | 'bronto-color-focus' | 'bronto-color-success' | 'bronto-color-warning' | 'bronto-color-danger' | 'bronto-color-info' | 'surface' | 'surface-raised' | 'surface-muted' | 'border' | 'border-strong';
18
18
  export type ColorKey = 'bg' | 'bg-elevated' | 'bg-accent' | 'panel' | 'panel-strong' | 'panel-soft' | 'line' | 'line-strong' | 'text' | 'text-soft' | 'text-dim' | 'accent' | 'accent-ramp-end' | 'accent-strong' | 'accent-text' | 'on-accent' | 'accent-soft' | 'success' | 'success-soft' | 'warning' | 'warning-soft' | 'danger' | 'danger-soft' | 'info' | 'info-soft' | 'code-bg' | 'button-text' | 'field-dot' | 'field-dot-hot' | 'field-dot-accent' | 'focus-ring' | 'shadow' | 'shadow-raised';
19
19
 
20
20
  /** Ergonomic view derived from {@link cssVars} (`--` prefix stripped). */
package/tokens/index.js CHANGED
@@ -33,10 +33,17 @@ export const cssVars = {
33
33
  '--space-lg': '1.35rem',
34
34
  '--space-xl': '1.75rem',
35
35
  '--space-2xl': '2.5rem',
36
+ // Half steps on the 0.25rem unit, for dense tool chrome: 2, 3, 6 and 10px
37
+ // at a 16px root, the gaps a toolbar, a row or a node header needs and the
38
+ // t-shirt scale skips. Named by units, so --space-1-5 is 1.5 x --space-2xs.
39
+ '--space-0-5': '0.125rem',
40
+ '--space-0-75': '0.1875rem',
41
+ '--space-1-5': '0.375rem',
42
+ '--space-2-5': '0.625rem',
36
43
  // Tap targets. Both floors are clamped in px against the rem so they cannot
37
44
  // shrink below the standard when a host re-points the root font size —
38
- // Bronto's own base sets `html { font-size: 0.9375rem }`, under which a bare
39
- // 2.9rem is 43.5px, half a pixel short of the target floor.
45
+ // under a 15px root a bare 2.9rem is 43.5px, half a pixel short of the
46
+ // target floor.
40
47
  // `--tap-target` is the WCAG 2.5.5 (AAA) / iOS-HIG / Material 44px target
41
48
  // every coarse-pointer control floats to. `--tap-target-min` is the WCAG
42
49
  // 2.5.8 (AA) 24px minimum, for controls that only have to clear the smaller
@@ -85,6 +92,27 @@ export const cssVars = {
85
92
  '--z-overlay': '30',
86
93
  '--z-popover': '50',
87
94
  '--z-toast': '60',
95
+ // A workspace's named layers: a tool drawn over a canvas stacks chrome,
96
+ // panels, dialogs, menus, toasts, tooltips and presentation chrome. Where a
97
+ // page layer already means the same thing the workspace name aliases it,
98
+ // so the two scales cannot disagree. A menu sits above a dialog because a
99
+ // dialog opens menus; presentation chrome sits above everything it drives.
100
+ '--z-canvas': 'var(--z-base)',
101
+ '--z-chrome': 'var(--z-sticky)',
102
+ '--z-panel': '25',
103
+ '--z-modal': 'var(--z-overlay)',
104
+ '--z-menu': 'var(--z-popover)',
105
+ '--z-tooltip': '70',
106
+ '--z-navigation': '80',
107
+ // Zoom. --ui-px is one screen pixel. On a page these are plain px; inside
108
+ // a scaled surface marked [data-ui-zoom] (css/tokens.css) they are
109
+ // re-declared in --ui-px, 1px divided by the host's --ui-zoom, so hairlines
110
+ // and focus rings stay visible zoomed out and crisp zoomed in.
111
+ '--ui-zoom': '1',
112
+ '--ui-px': '1px',
113
+ '--hairline': '1px',
114
+ '--focus-ring-width': '2px',
115
+ '--focus-ring-offset': '2px',
88
116
  '--accent-1': 'color-mix(in oklch, var(--accent) 8%, var(--accent-ramp-end))',
89
117
  '--accent-2': 'color-mix(in oklch, var(--accent) 16%, var(--accent-ramp-end))',
90
118
  '--accent-3': 'color-mix(in oklch, var(--accent) 32%, var(--accent-ramp-end))',
package/tokens/index.json CHANGED
@@ -14,6 +14,10 @@
14
14
  "--space-lg": "1.35rem",
15
15
  "--space-xl": "1.75rem",
16
16
  "--space-2xl": "2.5rem",
17
+ "--space-0-5": "0.125rem",
18
+ "--space-0-75": "0.1875rem",
19
+ "--space-1-5": "0.375rem",
20
+ "--space-2-5": "0.625rem",
17
21
  "--tap-target": "max(44px, 2.9rem)",
18
22
  "--tap-target-min": "max(24px, 1.6rem)",
19
23
  "--safe-area-top": "env(safe-area-inset-top, 0px)",
@@ -48,6 +52,18 @@
48
52
  "--z-overlay": "30",
49
53
  "--z-popover": "50",
50
54
  "--z-toast": "60",
55
+ "--z-canvas": "var(--z-base)",
56
+ "--z-chrome": "var(--z-sticky)",
57
+ "--z-panel": "25",
58
+ "--z-modal": "var(--z-overlay)",
59
+ "--z-menu": "var(--z-popover)",
60
+ "--z-tooltip": "70",
61
+ "--z-navigation": "80",
62
+ "--ui-zoom": "1",
63
+ "--ui-px": "1px",
64
+ "--hairline": "1px",
65
+ "--focus-ring-width": "2px",
66
+ "--focus-ring-offset": "2px",
51
67
  "--accent-1": "color-mix(in oklch, var(--accent) 8%, var(--accent-ramp-end))",
52
68
  "--accent-2": "color-mix(in oklch, var(--accent) 16%, var(--accent-ramp-end))",
53
69
  "--accent-3": "color-mix(in oklch, var(--accent) 32%, var(--accent-ramp-end))",
@@ -165,6 +181,10 @@
165
181
  "space-lg": "1.35rem",
166
182
  "space-xl": "1.75rem",
167
183
  "space-2xl": "2.5rem",
184
+ "space-0-5": "0.125rem",
185
+ "space-0-75": "0.1875rem",
186
+ "space-1-5": "0.375rem",
187
+ "space-2-5": "0.625rem",
168
188
  "tap-target": "max(44px, 2.9rem)",
169
189
  "tap-target-min": "max(24px, 1.6rem)",
170
190
  "safe-area-top": "env(safe-area-inset-top, 0px)",
@@ -199,6 +219,18 @@
199
219
  "z-overlay": "30",
200
220
  "z-popover": "50",
201
221
  "z-toast": "60",
222
+ "z-canvas": "var(--z-base)",
223
+ "z-chrome": "var(--z-sticky)",
224
+ "z-panel": "25",
225
+ "z-modal": "var(--z-overlay)",
226
+ "z-menu": "var(--z-popover)",
227
+ "z-tooltip": "70",
228
+ "z-navigation": "80",
229
+ "ui-zoom": "1",
230
+ "ui-px": "1px",
231
+ "hairline": "1px",
232
+ "focus-ring-width": "2px",
233
+ "focus-ring-offset": "2px",
202
234
  "accent-1": "color-mix(in oklch, var(--accent) 8%, var(--accent-ramp-end))",
203
235
  "accent-2": "color-mix(in oklch, var(--accent) 16%, var(--accent-ramp-end))",
204
236
  "accent-3": "color-mix(in oklch, var(--accent) 32%, var(--accent-ramp-end))",
@@ -141,6 +141,10 @@
141
141
  "--space-lg": "1.35rem",
142
142
  "--space-xl": "1.75rem",
143
143
  "--space-2xl": "2.5rem",
144
+ "--space-0-5": "0.125rem",
145
+ "--space-0-75": "0.1875rem",
146
+ "--space-1-5": "0.375rem",
147
+ "--space-2-5": "0.625rem",
144
148
  "--tap-target": "max(44px, 2.9rem)",
145
149
  "--tap-target-min": "max(24px, 1.6rem)",
146
150
  "--safe-area-top": "env(safe-area-inset-top, 0px)",
@@ -174,6 +178,18 @@
174
178
  "--z-sticky": "20",
175
179
  "--z-overlay": "30",
176
180
  "--z-popover": "50",
177
- "--z-toast": "60"
181
+ "--z-toast": "60",
182
+ "--z-canvas": "0",
183
+ "--z-chrome": "20",
184
+ "--z-panel": "25",
185
+ "--z-modal": "30",
186
+ "--z-menu": "50",
187
+ "--z-tooltip": "70",
188
+ "--z-navigation": "80",
189
+ "--ui-zoom": "1",
190
+ "--ui-px": "1px",
191
+ "--hairline": "1px",
192
+ "--focus-ring-width": "2px",
193
+ "--focus-ring-offset": "2px"
178
194
  }
179
195
  }
@@ -179,6 +179,58 @@
179
179
  "authoredValue": "2.5rem"
180
180
  }
181
181
  }
182
+ },
183
+ "0-5": {
184
+ "$type": "dimension",
185
+ "$value": {
186
+ "value": 0.125,
187
+ "unit": "rem"
188
+ },
189
+ "$extensions": {
190
+ "com.ponchia.css": {
191
+ "variable": "--space-0-5",
192
+ "authoredValue": "0.125rem"
193
+ }
194
+ }
195
+ },
196
+ "0-75": {
197
+ "$type": "dimension",
198
+ "$value": {
199
+ "value": 0.1875,
200
+ "unit": "rem"
201
+ },
202
+ "$extensions": {
203
+ "com.ponchia.css": {
204
+ "variable": "--space-0-75",
205
+ "authoredValue": "0.1875rem"
206
+ }
207
+ }
208
+ },
209
+ "1-5": {
210
+ "$type": "dimension",
211
+ "$value": {
212
+ "value": 0.375,
213
+ "unit": "rem"
214
+ },
215
+ "$extensions": {
216
+ "com.ponchia.css": {
217
+ "variable": "--space-1-5",
218
+ "authoredValue": "0.375rem"
219
+ }
220
+ }
221
+ },
222
+ "2-5": {
223
+ "$type": "dimension",
224
+ "$value": {
225
+ "value": 0.625,
226
+ "unit": "rem"
227
+ },
228
+ "$extensions": {
229
+ "com.ponchia.css": {
230
+ "variable": "--space-2-5",
231
+ "authoredValue": "0.625rem"
232
+ }
233
+ }
182
234
  }
183
235
  },
184
236
  "mono": {
@@ -534,6 +586,144 @@
534
586
  "authoredValue": "60"
535
587
  }
536
588
  }
589
+ },
590
+ "canvas": {
591
+ "$type": "number",
592
+ "$value": 0,
593
+ "$extensions": {
594
+ "com.ponchia.css": {
595
+ "variable": "--z-canvas",
596
+ "authoredValue": "var(--z-base)"
597
+ }
598
+ }
599
+ },
600
+ "chrome": {
601
+ "$type": "number",
602
+ "$value": 20,
603
+ "$extensions": {
604
+ "com.ponchia.css": {
605
+ "variable": "--z-chrome",
606
+ "authoredValue": "var(--z-sticky)"
607
+ }
608
+ }
609
+ },
610
+ "panel": {
611
+ "$type": "number",
612
+ "$value": 25,
613
+ "$extensions": {
614
+ "com.ponchia.css": {
615
+ "variable": "--z-panel",
616
+ "authoredValue": "25"
617
+ }
618
+ }
619
+ },
620
+ "modal": {
621
+ "$type": "number",
622
+ "$value": 30,
623
+ "$extensions": {
624
+ "com.ponchia.css": {
625
+ "variable": "--z-modal",
626
+ "authoredValue": "var(--z-overlay)"
627
+ }
628
+ }
629
+ },
630
+ "menu": {
631
+ "$type": "number",
632
+ "$value": 50,
633
+ "$extensions": {
634
+ "com.ponchia.css": {
635
+ "variable": "--z-menu",
636
+ "authoredValue": "var(--z-popover)"
637
+ }
638
+ }
639
+ },
640
+ "tooltip": {
641
+ "$type": "number",
642
+ "$value": 70,
643
+ "$extensions": {
644
+ "com.ponchia.css": {
645
+ "variable": "--z-tooltip",
646
+ "authoredValue": "70"
647
+ }
648
+ }
649
+ },
650
+ "navigation": {
651
+ "$type": "number",
652
+ "$value": 80,
653
+ "$extensions": {
654
+ "com.ponchia.css": {
655
+ "variable": "--z-navigation",
656
+ "authoredValue": "80"
657
+ }
658
+ }
659
+ }
660
+ },
661
+ "ui": {
662
+ "zoom": {
663
+ "$type": "number",
664
+ "$value": 1,
665
+ "$extensions": {
666
+ "com.ponchia.css": {
667
+ "variable": "--ui-zoom",
668
+ "authoredValue": "1"
669
+ }
670
+ }
671
+ },
672
+ "px": {
673
+ "$type": "dimension",
674
+ "$value": {
675
+ "value": 1,
676
+ "unit": "px"
677
+ },
678
+ "$extensions": {
679
+ "com.ponchia.css": {
680
+ "variable": "--ui-px",
681
+ "authoredValue": "1px"
682
+ }
683
+ }
684
+ }
685
+ },
686
+ "hairline": {
687
+ "DEFAULT": {
688
+ "$type": "dimension",
689
+ "$value": {
690
+ "value": 1,
691
+ "unit": "px"
692
+ },
693
+ "$extensions": {
694
+ "com.ponchia.css": {
695
+ "variable": "--hairline",
696
+ "authoredValue": "1px"
697
+ }
698
+ }
699
+ }
700
+ },
701
+ "focus": {
702
+ "ring-width": {
703
+ "$type": "dimension",
704
+ "$value": {
705
+ "value": 2,
706
+ "unit": "px"
707
+ },
708
+ "$extensions": {
709
+ "com.ponchia.css": {
710
+ "variable": "--focus-ring-width",
711
+ "authoredValue": "2px"
712
+ }
713
+ }
714
+ },
715
+ "ring-offset": {
716
+ "$type": "dimension",
717
+ "$value": {
718
+ "value": 2,
719
+ "unit": "px"
720
+ },
721
+ "$extensions": {
722
+ "com.ponchia.css": {
723
+ "variable": "--focus-ring-offset",
724
+ "authoredValue": "2px"
725
+ }
726
+ }
537
727
  }
538
728
  }
539
729
  },