@primer/primitives 11.4.0 → 11.4.1-rc.24c79953

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 (152) hide show
  1. package/DESIGN_TOKENS_GUIDE.md +185 -0
  2. package/DESIGN_TOKENS_SPEC.md +565 -0
  3. package/dist/build/formats/jsonFigma.js +8 -1
  4. package/dist/build/formats/markdownLlmGuidelines.d.ts +7 -6
  5. package/dist/build/formats/markdownLlmGuidelines.js +1034 -60
  6. package/dist/build/schemas/borderToken.d.ts +17 -3
  7. package/dist/build/schemas/colorToken.d.ts +1 -1
  8. package/dist/build/schemas/cubicBezierToken.d.ts +1 -1
  9. package/dist/build/schemas/dimensionToken.d.ts +9 -2
  10. package/dist/build/schemas/dimensionValue.d.ts +12 -1
  11. package/dist/build/schemas/dimensionValue.js +10 -13
  12. package/dist/build/schemas/durationToken.d.ts +8 -2
  13. package/dist/build/schemas/durationValue.d.ts +11 -1
  14. package/dist/build/schemas/durationValue.js +13 -3
  15. package/dist/build/schemas/fontFamilyToken.d.ts +1 -1
  16. package/dist/build/schemas/fontWeightToken.d.ts +1 -1
  17. package/dist/build/schemas/gradientToken.d.ts +1 -1
  18. package/dist/build/schemas/numberToken.d.ts +1 -1
  19. package/dist/build/schemas/shadowToken.d.ts +673 -85
  20. package/dist/build/schemas/stringToken.d.ts +1 -1
  21. package/dist/build/schemas/stringToken.js +1 -1
  22. package/dist/build/schemas/tokenType.d.ts +1 -1
  23. package/dist/build/schemas/transitionToken.d.ts +15 -3
  24. package/dist/build/schemas/typographyToken.d.ts +19 -5
  25. package/dist/build/schemas/typographyToken.js +1 -1
  26. package/dist/build/schemas/validTokenType.d.ts +1 -1
  27. package/dist/build/schemas/validTokenType.js +1 -1
  28. package/dist/build/schemas/viewportRangeToken.d.ts +1 -1
  29. package/dist/build/transformers/borderToCss.js +17 -1
  30. package/dist/build/transformers/dimensionToPixelUnitless.d.ts +3 -2
  31. package/dist/build/transformers/dimensionToPixelUnitless.js +22 -26
  32. package/dist/build/transformers/dimensionToRem.d.ts +2 -1
  33. package/dist/build/transformers/dimensionToRem.js +21 -22
  34. package/dist/build/transformers/dimensionToRemPxArray.d.ts +2 -1
  35. package/dist/build/transformers/dimensionToRemPxArray.js +21 -22
  36. package/dist/build/transformers/durationToCss.d.ts +2 -1
  37. package/dist/build/transformers/durationToCss.js +18 -11
  38. package/dist/build/transformers/shadowToCss.js +12 -1
  39. package/dist/build/transformers/utilities/parseDimension.d.ts +12 -0
  40. package/dist/build/transformers/utilities/parseDimension.js +31 -0
  41. package/dist/build/types/borderTokenValue.d.ts +3 -1
  42. package/dist/build/types/dimensionTokenValue.d.ts +9 -0
  43. package/dist/build/types/shadowTokenValue.d.ts +6 -4
  44. package/dist/css/functional/themes/dark-colorblind-high-contrast.css +32 -28
  45. package/dist/css/functional/themes/dark-colorblind.css +32 -28
  46. package/dist/css/functional/themes/dark-dimmed-high-contrast.css +32 -28
  47. package/dist/css/functional/themes/dark-dimmed.css +32 -28
  48. package/dist/css/functional/themes/dark-high-contrast.css +32 -28
  49. package/dist/css/functional/themes/dark-tritanopia-high-contrast.css +32 -28
  50. package/dist/css/functional/themes/dark-tritanopia.css +32 -28
  51. package/dist/css/functional/themes/dark.css +32 -28
  52. package/dist/css/functional/themes/light-colorblind-high-contrast.css +32 -28
  53. package/dist/css/functional/themes/light-colorblind.css +32 -28
  54. package/dist/css/functional/themes/light-high-contrast.css +32 -28
  55. package/dist/css/functional/themes/light-tritanopia-high-contrast.css +32 -28
  56. package/dist/css/functional/themes/light-tritanopia.css +32 -28
  57. package/dist/css/functional/themes/light.css +32 -28
  58. package/dist/css/primitives.css +4 -0
  59. package/dist/docs/base/motion/motion.json +96 -24
  60. package/dist/docs/base/size/size.json +76 -19
  61. package/dist/docs/base/typography/typography.json +24 -6
  62. package/dist/docs/functional/size/border.json +26 -11
  63. package/dist/docs/functional/size/breakpoints.json +24 -6
  64. package/dist/docs/functional/size/radius.json +16 -4
  65. package/dist/docs/functional/size/size.json +60 -15
  66. package/dist/docs/functional/themes/dark-colorblind-high-contrast.json +1423 -346
  67. package/dist/docs/functional/themes/dark-colorblind.json +1423 -346
  68. package/dist/docs/functional/themes/dark-dimmed-high-contrast.json +1423 -346
  69. package/dist/docs/functional/themes/dark-dimmed.json +1423 -346
  70. package/dist/docs/functional/themes/dark-high-contrast.json +1423 -346
  71. package/dist/docs/functional/themes/dark-tritanopia-high-contrast.json +1423 -346
  72. package/dist/docs/functional/themes/dark-tritanopia.json +1423 -346
  73. package/dist/docs/functional/themes/dark.json +1423 -346
  74. package/dist/docs/functional/themes/light-colorblind-high-contrast.json +1426 -349
  75. package/dist/docs/functional/themes/light-colorblind.json +1426 -349
  76. package/dist/docs/functional/themes/light-high-contrast.json +1426 -349
  77. package/dist/docs/functional/themes/light-tritanopia-high-contrast.json +1426 -349
  78. package/dist/docs/functional/themes/light-tritanopia.json +1426 -349
  79. package/dist/docs/functional/themes/light.json +1426 -349
  80. package/dist/docs/functional/typography/typography.json +8 -2
  81. package/dist/fallbacks/base/motion/motion.json +48 -12
  82. package/dist/figma/themes/light-colorblind.json +4 -4
  83. package/dist/figma/themes/light-high-contrast.json +4 -4
  84. package/dist/figma/themes/light-tritanopia.json +4 -4
  85. package/dist/figma/themes/light.json +4 -4
  86. package/dist/internalCss/dark-colorblind-high-contrast.css +28 -28
  87. package/dist/internalCss/dark-colorblind.css +28 -28
  88. package/dist/internalCss/dark-dimmed-high-contrast.css +28 -28
  89. package/dist/internalCss/dark-dimmed.css +28 -28
  90. package/dist/internalCss/dark-high-contrast.css +28 -28
  91. package/dist/internalCss/dark-tritanopia-high-contrast.css +28 -28
  92. package/dist/internalCss/dark-tritanopia.css +28 -28
  93. package/dist/internalCss/dark.css +28 -28
  94. package/dist/internalCss/light-colorblind-high-contrast.css +28 -28
  95. package/dist/internalCss/light-colorblind.css +28 -28
  96. package/dist/internalCss/light-high-contrast.css +28 -28
  97. package/dist/internalCss/light-tritanopia-high-contrast.css +28 -28
  98. package/dist/internalCss/light-tritanopia.css +28 -28
  99. package/dist/internalCss/light.css +28 -28
  100. package/dist/styleLint/base/motion/motion.json +96 -24
  101. package/dist/styleLint/base/size/size.json +76 -19
  102. package/dist/styleLint/base/typography/typography.json +30 -12
  103. package/dist/styleLint/functional/size/border.json +27 -12
  104. package/dist/styleLint/functional/size/breakpoints.json +24 -6
  105. package/dist/styleLint/functional/size/radius.json +17 -5
  106. package/dist/styleLint/functional/size/size-coarse.json +3 -3
  107. package/dist/styleLint/functional/size/size-fine.json +3 -3
  108. package/dist/styleLint/functional/size/size.json +111 -66
  109. package/dist/styleLint/functional/themes/dark-colorblind-high-contrast.json +1551 -366
  110. package/dist/styleLint/functional/themes/dark-colorblind.json +1551 -366
  111. package/dist/styleLint/functional/themes/dark-dimmed-high-contrast.json +1551 -366
  112. package/dist/styleLint/functional/themes/dark-dimmed.json +1551 -366
  113. package/dist/styleLint/functional/themes/dark-high-contrast.json +1551 -366
  114. package/dist/styleLint/functional/themes/dark-tritanopia-high-contrast.json +1551 -366
  115. package/dist/styleLint/functional/themes/dark-tritanopia.json +1551 -366
  116. package/dist/styleLint/functional/themes/dark.json +1551 -366
  117. package/dist/styleLint/functional/themes/light-colorblind-high-contrast.json +1554 -369
  118. package/dist/styleLint/functional/themes/light-colorblind.json +1554 -369
  119. package/dist/styleLint/functional/themes/light-high-contrast.json +1554 -369
  120. package/dist/styleLint/functional/themes/light-tritanopia-high-contrast.json +1554 -369
  121. package/dist/styleLint/functional/themes/light-tritanopia.json +1554 -369
  122. package/dist/styleLint/functional/themes/light.json +1554 -369
  123. package/dist/styleLint/functional/typography/typography.json +28 -22
  124. package/package.json +6 -5
  125. package/src/tokens/base/motion/timing.json5 +12 -12
  126. package/src/tokens/base/size/size.json5 +19 -19
  127. package/src/tokens/base/typography/typography.json5 +6 -6
  128. package/src/tokens/component/avatar.json5 +72 -44
  129. package/src/tokens/component/button.json5 +1545 -1193
  130. package/src/tokens/functional/border/border.json5 +4 -1
  131. package/src/tokens/functional/color/bgColor.json5 +8 -0
  132. package/src/tokens/functional/color/display.json5 +7 -0
  133. package/src/tokens/functional/color/fgColor.json5 +8 -0
  134. package/src/tokens/functional/color/syntax.json5 +14 -0
  135. package/src/tokens/functional/shadow/shadow.json5 +678 -163
  136. package/src/tokens/functional/size/border.json5 +8 -8
  137. package/src/tokens/functional/size/breakpoints.json5 +6 -6
  138. package/src/tokens/functional/size/radius.json5 +4 -4
  139. package/src/tokens/functional/size/size.json5 +15 -15
  140. package/src/tokens/functional/typography/typography.json5 +8 -4
  141. package/dist/build/parsers/index.d.ts +0 -1
  142. package/dist/build/parsers/index.js +0 -1
  143. package/dist/build/parsers/w3cJsonParser.d.ts +0 -6
  144. package/dist/build/parsers/w3cJsonParser.js +0 -25
  145. package/dist/removed/testing.json5 +0 -4
  146. package/guidelines/color.llm.md +0 -16
  147. package/guidelines/guidelines.llm.md +0 -34
  148. package/guidelines/motion.llm.md +0 -41
  149. package/guidelines/spacing.llm.md +0 -20
  150. package/guidelines/typography.llm.md +0 -14
  151. package/src/tokens/removed/testing.json5 +0 -4
  152. package/token-guidelines.llm.md +0 -695
@@ -167,7 +167,7 @@
167
167
  },
168
168
  "avatar-shadow": {
169
169
  "key": "{avatar.shadow}",
170
- "$value": "0px 0px 0px 2px #0d1117",
170
+ "$value": "0 0 0 2px #0d1117",
171
171
  "$type": "shadow",
172
172
  "$extensions": {
173
173
  "org.primer.figma": {
@@ -180,10 +180,22 @@
180
180
  {
181
181
  "color": "#0d1117",
182
182
  "alpha": 1,
183
- "offsetX": "0px",
184
- "offsetY": "0px",
185
- "blur": "0px",
186
- "spread": "2px"
183
+ "offsetX": {
184
+ "value": 0,
185
+ "unit": "px"
186
+ },
187
+ "offsetY": {
188
+ "value": 0,
189
+ "unit": "px"
190
+ },
191
+ "blur": {
192
+ "value": 0,
193
+ "unit": "px"
194
+ },
195
+ "spread": {
196
+ "value": 2,
197
+ "unit": "px"
198
+ }
187
199
  }
188
200
  ],
189
201
  "filePath": "src/tokens/component/avatar.json5",
@@ -199,10 +211,22 @@
199
211
  {
200
212
  "color": "{base.color.neutral.1}",
201
213
  "alpha": 1,
202
- "offsetX": "0px",
203
- "offsetY": "0px",
204
- "blur": "0px",
205
- "spread": "2px"
214
+ "offsetX": {
215
+ "value": 0,
216
+ "unit": "px"
217
+ },
218
+ "offsetY": {
219
+ "value": 0,
220
+ "unit": "px"
221
+ },
222
+ "blur": {
223
+ "value": 0,
224
+ "unit": "px"
225
+ },
226
+ "spread": {
227
+ "value": 2,
228
+ "unit": "px"
229
+ }
206
230
  }
207
231
  ],
208
232
  "$type": "shadow",
@@ -217,10 +241,22 @@
217
241
  {
218
242
  "color": "{base.color.neutral.1}",
219
243
  "alpha": 1,
220
- "offsetX": "0px",
221
- "offsetY": "0px",
222
- "blur": "0px",
223
- "spread": "2px"
244
+ "offsetX": {
245
+ "value": 0,
246
+ "unit": "px"
247
+ },
248
+ "offsetY": {
249
+ "value": 0,
250
+ "unit": "px"
251
+ },
252
+ "blur": {
253
+ "value": 0,
254
+ "unit": "px"
255
+ },
256
+ "spread": {
257
+ "value": 2,
258
+ "unit": "px"
259
+ }
224
260
  }
225
261
  ],
226
262
  "filePath": "src/tokens/component/avatar.json5",
@@ -552,6 +588,10 @@
552
588
  },
553
589
  "org.primer.overrides": {
554
590
  "dark": "#010409"
591
+ },
592
+ "org.primer.llm": {
593
+ "doNotUse": true,
594
+ "rules": "Avoid using raw black. Use semantic alternatives: bgColor.emphasis for dark backgrounds, bgColor.inverse for inverted contexts. Raw black/white ignore theme preferences and accessibility settings."
555
595
  }
556
596
  },
557
597
  "filePath": "src/tokens/functional/color/bgColor.json5",
@@ -568,6 +608,10 @@
568
608
  },
569
609
  "org.primer.overrides": {
570
610
  "dark": "{base.color.neutral.0}"
611
+ },
612
+ "org.primer.llm": {
613
+ "doNotUse": true,
614
+ "rules": "Avoid using raw black. Use semantic alternatives: bgColor.emphasis for dark backgrounds, bgColor.inverse for inverted contexts. Raw black/white ignore theme preferences and accessibility settings."
571
615
  }
572
616
  },
573
617
  "key": "{bgColor.black}"
@@ -2458,6 +2502,10 @@
2458
2502
  },
2459
2503
  "org.primer.overrides": {
2460
2504
  "dark": "#ffffff"
2505
+ },
2506
+ "org.primer.llm": {
2507
+ "doNotUse": true,
2508
+ "rules": "Avoid using raw white. Use semantic alternatives: bgColor.default for standard backgrounds, bgColor.inset for recessed areas, or bgColor.inverse for inverted contexts. Raw black/white ignore theme preferences and accessibility settings."
2461
2509
  }
2462
2510
  },
2463
2511
  "filePath": "src/tokens/functional/color/bgColor.json5",
@@ -2474,6 +2522,10 @@
2474
2522
  },
2475
2523
  "org.primer.overrides": {
2476
2524
  "dark": "{base.color.neutral.13}"
2525
+ },
2526
+ "org.primer.llm": {
2527
+ "doNotUse": true,
2528
+ "rules": "Avoid using raw white. Use semantic alternatives: bgColor.default for standard backgrounds, bgColor.inset for recessed areas, or bgColor.inverse for inverted contexts. Raw black/white ignore theme preferences and accessibility settings."
2477
2529
  }
2478
2530
  },
2479
2531
  "key": "{bgColor.white}"
@@ -2484,7 +2536,11 @@
2484
2536
  },
2485
2537
  "border-accent-emphasis": {
2486
2538
  "key": "{border.accent.emphasis}",
2487
- "$value": "0.00390625rem,0.0625px solid #409eff",
2539
+ "$value": {
2540
+ "color": "#409eff",
2541
+ "style": "solid",
2542
+ "width": ["0.0625rem", "1px"]
2543
+ },
2488
2544
  "$type": "border",
2489
2545
  "filePath": "src/tokens/functional/border/border.json5",
2490
2546
  "isSource": true,
@@ -2503,7 +2559,11 @@
2503
2559
  },
2504
2560
  "border-accent-muted": {
2505
2561
  "key": "{border.accent.muted}",
2506
- "$value": "0.00390625rem,0.0625px solid #5cacff",
2562
+ "$value": {
2563
+ "color": "#5cacff",
2564
+ "style": "solid",
2565
+ "width": ["0.0625rem", "1px"]
2566
+ },
2507
2567
  "$type": "border",
2508
2568
  "filePath": "src/tokens/functional/border/border.json5",
2509
2569
  "isSource": true,
@@ -2522,7 +2582,11 @@
2522
2582
  },
2523
2583
  "border-attention-emphasis": {
2524
2584
  "key": "{border.attention.emphasis}",
2525
- "$value": "0.00390625rem,0.0625px solid #e09b13",
2585
+ "$value": {
2586
+ "color": "#e09b13",
2587
+ "style": "solid",
2588
+ "width": ["0.0625rem", "1px"]
2589
+ },
2526
2590
  "$type": "border",
2527
2591
  "filePath": "src/tokens/functional/border/border.json5",
2528
2592
  "isSource": true,
@@ -2541,7 +2605,11 @@
2541
2605
  },
2542
2606
  "border-attention-muted": {
2543
2607
  "key": "{border.attention.muted}",
2544
- "$value": "0.00390625rem,0.0625px solid #edaa27",
2608
+ "$value": {
2609
+ "color": "#edaa27",
2610
+ "style": "solid",
2611
+ "width": ["0.0625rem", "1px"]
2612
+ },
2545
2613
  "$type": "border",
2546
2614
  "filePath": "src/tokens/functional/border/border.json5",
2547
2615
  "isSource": true,
@@ -2560,7 +2628,11 @@
2560
2628
  },
2561
2629
  "border-closed-emphasis": {
2562
2630
  "key": "{border.closed.emphasis}",
2563
- "$value": "0.00390625rem,0.0625px solid #e7811d",
2631
+ "$value": {
2632
+ "color": "#e7811d",
2633
+ "style": "solid",
2634
+ "width": ["0.0625rem", "1px"]
2635
+ },
2564
2636
  "$type": "border",
2565
2637
  "filePath": "src/tokens/functional/border/border.json5",
2566
2638
  "isSource": true,
@@ -2575,7 +2647,11 @@
2575
2647
  },
2576
2648
  "border-closed-muted": {
2577
2649
  "key": "{border.closed.muted}",
2578
- "$value": "0.00390625rem,0.0625px solid #f48b25",
2650
+ "$value": {
2651
+ "color": "#f48b25",
2652
+ "style": "solid",
2653
+ "width": ["0.0625rem", "1px"]
2654
+ },
2579
2655
  "$type": "border",
2580
2656
  "filePath": "src/tokens/functional/border/border.json5",
2581
2657
  "isSource": true,
@@ -2590,7 +2666,11 @@
2590
2666
  },
2591
2667
  "border-danger-emphasis": {
2592
2668
  "key": "{border.danger.emphasis}",
2593
- "$value": "0.00390625rem,0.0625px solid #e7811d",
2669
+ "$value": {
2670
+ "color": "#e7811d",
2671
+ "style": "solid",
2672
+ "width": ["0.0625rem", "1px"]
2673
+ },
2594
2674
  "$type": "border",
2595
2675
  "filePath": "src/tokens/functional/border/border.json5",
2596
2676
  "isSource": true,
@@ -2609,7 +2689,11 @@
2609
2689
  },
2610
2690
  "border-danger-muted": {
2611
2691
  "key": "{border.danger.muted}",
2612
- "$value": "0.00390625rem,0.0625px solid #f48b25",
2692
+ "$value": {
2693
+ "color": "#f48b25",
2694
+ "style": "solid",
2695
+ "width": ["0.0625rem", "1px"]
2696
+ },
2613
2697
  "$type": "border",
2614
2698
  "filePath": "src/tokens/functional/border/border.json5",
2615
2699
  "isSource": true,
@@ -2628,7 +2712,11 @@
2628
2712
  },
2629
2713
  "border-default": {
2630
2714
  "key": "{border.default}",
2631
- "$value": "0.00390625rem,0.0625px solid #b7bdc8",
2715
+ "$value": {
2716
+ "color": "#b7bdc8",
2717
+ "style": "solid",
2718
+ "width": ["0.0625rem", "1px"]
2719
+ },
2632
2720
  "$type": "border",
2633
2721
  "filePath": "src/tokens/functional/border/border.json5",
2634
2722
  "isSource": true,
@@ -2647,7 +2735,11 @@
2647
2735
  },
2648
2736
  "border-disabled": {
2649
2737
  "key": "{border.disabled}",
2650
- "$value": "0.00390625rem,0.0625px solid #656c761a",
2738
+ "$value": {
2739
+ "color": "#656c761a",
2740
+ "style": "solid",
2741
+ "width": ["0.0625rem", "1px"]
2742
+ },
2651
2743
  "$type": "border",
2652
2744
  "filePath": "src/tokens/functional/border/border.json5",
2653
2745
  "isSource": true,
@@ -2666,7 +2758,11 @@
2666
2758
  },
2667
2759
  "border-done-emphasis": {
2668
2760
  "key": "{border.done.emphasis}",
2669
- "$value": "0.00390625rem,0.0625px solid #b87fff",
2761
+ "$value": {
2762
+ "color": "#b87fff",
2763
+ "style": "solid",
2764
+ "width": ["0.0625rem", "1px"]
2765
+ },
2670
2766
  "$type": "border",
2671
2767
  "filePath": "src/tokens/functional/border/border.json5",
2672
2768
  "isSource": true,
@@ -2685,7 +2781,11 @@
2685
2781
  },
2686
2782
  "border-done-muted": {
2687
2783
  "key": "{border.done.muted}",
2688
- "$value": "0.00390625rem,0.0625px solid #bf8fff",
2784
+ "$value": {
2785
+ "color": "#bf8fff",
2786
+ "style": "solid",
2787
+ "width": ["0.0625rem", "1px"]
2788
+ },
2689
2789
  "$type": "border",
2690
2790
  "filePath": "src/tokens/functional/border/border.json5",
2691
2791
  "isSource": true,
@@ -2704,7 +2804,11 @@
2704
2804
  },
2705
2805
  "border-emphasis": {
2706
2806
  "key": "{border.emphasis}",
2707
- "$value": "0.00390625rem,0.0625px solid #b7bdc8",
2807
+ "$value": {
2808
+ "color": "#b7bdc8",
2809
+ "style": "solid",
2810
+ "width": ["0.0625rem", "1px"]
2811
+ },
2708
2812
  "$type": "border",
2709
2813
  "filePath": "src/tokens/functional/border/border.json5",
2710
2814
  "isSource": true,
@@ -2723,7 +2827,11 @@
2723
2827
  },
2724
2828
  "border-muted": {
2725
2829
  "key": "{border.muted}",
2726
- "$value": "0.00390625rem,0.0625px solid #b7bdc8",
2830
+ "$value": {
2831
+ "color": "#b7bdc8",
2832
+ "style": "solid",
2833
+ "width": ["0.0625rem", "1px"]
2834
+ },
2727
2835
  "$type": "border",
2728
2836
  "filePath": "src/tokens/functional/border/border.json5",
2729
2837
  "isSource": true,
@@ -2742,7 +2850,11 @@
2742
2850
  },
2743
2851
  "border-neutral-emphasis": {
2744
2852
  "key": "{border.neutral.emphasis}",
2745
- "$value": "0.00390625rem,0.0625px solid #b7bdc8",
2853
+ "$value": {
2854
+ "color": "#b7bdc8",
2855
+ "style": "solid",
2856
+ "width": ["0.0625rem", "1px"]
2857
+ },
2746
2858
  "$type": "border",
2747
2859
  "filePath": "src/tokens/functional/border/border.json5",
2748
2860
  "isSource": true,
@@ -2761,7 +2873,11 @@
2761
2873
  },
2762
2874
  "border-neutral-muted": {
2763
2875
  "key": "{border.neutral.muted}",
2764
- "$value": "0.00390625rem,0.0625px solid #b7bdc8",
2876
+ "$value": {
2877
+ "color": "#b7bdc8",
2878
+ "style": "solid",
2879
+ "width": ["0.0625rem", "1px"]
2880
+ },
2765
2881
  "$type": "border",
2766
2882
  "filePath": "src/tokens/functional/border/border.json5",
2767
2883
  "isSource": true,
@@ -2780,7 +2896,11 @@
2780
2896
  },
2781
2897
  "border-open-emphasis": {
2782
2898
  "key": "{border.open.emphasis}",
2783
- "$value": "0.00390625rem,0.0625px solid #409eff",
2899
+ "$value": {
2900
+ "color": "#409eff",
2901
+ "style": "solid",
2902
+ "width": ["0.0625rem", "1px"]
2903
+ },
2784
2904
  "$type": "border",
2785
2905
  "filePath": "src/tokens/functional/border/border.json5",
2786
2906
  "isSource": true,
@@ -2795,7 +2915,11 @@
2795
2915
  },
2796
2916
  "border-open-muted": {
2797
2917
  "key": "{border.open.muted}",
2798
- "$value": "0.00390625rem,0.0625px solid #5cacff",
2918
+ "$value": {
2919
+ "color": "#5cacff",
2920
+ "style": "solid",
2921
+ "width": ["0.0625rem", "1px"]
2922
+ },
2799
2923
  "$type": "border",
2800
2924
  "filePath": "src/tokens/functional/border/border.json5",
2801
2925
  "isSource": true,
@@ -2810,7 +2934,11 @@
2810
2934
  },
2811
2935
  "border-severe-emphasis": {
2812
2936
  "key": "{border.severe.emphasis}",
2813
- "$value": "0.00390625rem,0.0625px solid #e7811d",
2937
+ "$value": {
2938
+ "color": "#e7811d",
2939
+ "style": "solid",
2940
+ "width": ["0.0625rem", "1px"]
2941
+ },
2814
2942
  "$type": "border",
2815
2943
  "filePath": "src/tokens/functional/border/border.json5",
2816
2944
  "isSource": true,
@@ -2829,7 +2957,11 @@
2829
2957
  },
2830
2958
  "border-severe-muted": {
2831
2959
  "key": "{border.severe.muted}",
2832
- "$value": "0.00390625rem,0.0625px solid #e7811d",
2960
+ "$value": {
2961
+ "color": "#e7811d",
2962
+ "style": "solid",
2963
+ "width": ["0.0625rem", "1px"]
2964
+ },
2833
2965
  "$type": "border",
2834
2966
  "filePath": "src/tokens/functional/border/border.json5",
2835
2967
  "isSource": true,
@@ -2848,7 +2980,11 @@
2848
2980
  },
2849
2981
  "border-sponsors-emphasis": {
2850
2982
  "key": "{border.sponsors.emphasis}",
2851
- "$value": "0.00390625rem,0.0625px solid #ef6eb1",
2983
+ "$value": {
2984
+ "color": "#ef6eb1",
2985
+ "style": "solid",
2986
+ "width": ["0.0625rem", "1px"]
2987
+ },
2852
2988
  "$type": "border",
2853
2989
  "filePath": "src/tokens/functional/border/border.json5",
2854
2990
  "isSource": true,
@@ -2867,7 +3003,11 @@
2867
3003
  },
2868
3004
  "border-sponsors-muted": {
2869
3005
  "key": "{border.sponsors.muted}",
2870
- "$value": "0.00390625rem,0.0625px solid #f87cbd",
3006
+ "$value": {
3007
+ "color": "#f87cbd",
3008
+ "style": "solid",
3009
+ "width": ["0.0625rem", "1px"]
3010
+ },
2871
3011
  "$type": "border",
2872
3012
  "filePath": "src/tokens/functional/border/border.json5",
2873
3013
  "isSource": true,
@@ -2886,7 +3026,11 @@
2886
3026
  },
2887
3027
  "border-success-emphasis": {
2888
3028
  "key": "{border.success.emphasis}",
2889
- "$value": "0.00390625rem,0.0625px solid #409eff",
3029
+ "$value": {
3030
+ "color": "#409eff",
3031
+ "style": "solid",
3032
+ "width": ["0.0625rem", "1px"]
3033
+ },
2890
3034
  "$type": "border",
2891
3035
  "filePath": "src/tokens/functional/border/border.json5",
2892
3036
  "isSource": true,
@@ -2905,7 +3049,11 @@
2905
3049
  },
2906
3050
  "border-success-muted": {
2907
3051
  "key": "{border.success.muted}",
2908
- "$value": "0.00390625rem,0.0625px solid #5cacff",
3052
+ "$value": {
3053
+ "color": "#5cacff",
3054
+ "style": "solid",
3055
+ "width": ["0.0625rem", "1px"]
3056
+ },
2909
3057
  "$type": "border",
2910
3058
  "filePath": "src/tokens/functional/border/border.json5",
2911
3059
  "isSource": true,
@@ -2924,7 +3072,11 @@
2924
3072
  },
2925
3073
  "border-transparent": {
2926
3074
  "key": "{border.transparent}",
2927
- "$value": "0.00390625rem,0.0625px solid #00000000",
3075
+ "$value": {
3076
+ "color": "#00000000",
3077
+ "style": "solid",
3078
+ "width": ["0.0625rem", "1px"]
3079
+ },
2928
3080
  "$type": "border",
2929
3081
  "filePath": "src/tokens/functional/border/border.json5",
2930
3082
  "isSource": true,
@@ -2943,7 +3095,11 @@
2943
3095
  },
2944
3096
  "border-upsell-emphasis": {
2945
3097
  "key": "{border.upsell.emphasis}",
2946
- "$value": "0.00390625rem,0.0625px solid #b87fff",
3098
+ "$value": {
3099
+ "color": "#b87fff",
3100
+ "style": "solid",
3101
+ "width": ["0.0625rem", "1px"]
3102
+ },
2947
3103
  "$type": "border",
2948
3104
  "filePath": "src/tokens/functional/border/border.json5",
2949
3105
  "isSource": true,
@@ -2962,7 +3118,11 @@
2962
3118
  },
2963
3119
  "border-upsell-muted": {
2964
3120
  "key": "{border.upsell.muted}",
2965
- "$value": "0.00390625rem,0.0625px solid #bf8fff",
3121
+ "$value": {
3122
+ "color": "#bf8fff",
3123
+ "style": "solid",
3124
+ "width": ["0.0625rem", "1px"]
3125
+ },
2966
3126
  "$type": "border",
2967
3127
  "filePath": "src/tokens/functional/border/border.json5",
2968
3128
  "isSource": true,
@@ -6956,7 +7116,7 @@
6956
7116
  },
6957
7117
  "button-danger-shadow-selected": {
6958
7118
  "key": "{button.danger.shadow.selected}",
6959
- "$value": "0px 0px 0px 0px #000000",
7119
+ "$value": "0 0 0 0 #000000",
6960
7120
  "$type": "shadow",
6961
7121
  "$extensions": {
6962
7122
  "org.primer.figma": {
@@ -6969,10 +7129,22 @@
6969
7129
  {
6970
7130
  "color": "#8f3c00",
6971
7131
  "alpha": 0.2,
6972
- "offsetX": "0px",
6973
- "offsetY": "1px",
6974
- "blur": "0px",
6975
- "spread": "0px",
7132
+ "offsetX": {
7133
+ "value": 0,
7134
+ "unit": "px"
7135
+ },
7136
+ "offsetY": {
7137
+ "value": 1,
7138
+ "unit": "px"
7139
+ },
7140
+ "blur": {
7141
+ "value": 0,
7142
+ "unit": "px"
7143
+ },
7144
+ "spread": {
7145
+ "value": 0,
7146
+ "unit": "px"
7147
+ },
6976
7148
  "inset": true
6977
7149
  }
6978
7150
  ],
@@ -6985,10 +7157,22 @@
6985
7157
  {
6986
7158
  "color": "#00000000",
6987
7159
  "alpha": 0,
6988
- "offsetX": "0px",
6989
- "offsetY": "0px",
6990
- "blur": "0px",
6991
- "spread": "0px",
7160
+ "offsetX": {
7161
+ "value": 0,
7162
+ "unit": "px"
7163
+ },
7164
+ "offsetY": {
7165
+ "value": 0,
7166
+ "unit": "px"
7167
+ },
7168
+ "blur": {
7169
+ "value": 0,
7170
+ "unit": "px"
7171
+ },
7172
+ "spread": {
7173
+ "value": 0,
7174
+ "unit": "px"
7175
+ },
6992
7176
  "inset": false
6993
7177
  }
6994
7178
  ],
@@ -7005,10 +7189,22 @@
7005
7189
  {
7006
7190
  "color": "{base.color.transparent}",
7007
7191
  "alpha": 0,
7008
- "offsetX": "0px",
7009
- "offsetY": "0px",
7010
- "blur": "0px",
7011
- "spread": "0px",
7192
+ "offsetX": {
7193
+ "value": 0,
7194
+ "unit": "px"
7195
+ },
7196
+ "offsetY": {
7197
+ "value": 0,
7198
+ "unit": "px"
7199
+ },
7200
+ "blur": {
7201
+ "value": 0,
7202
+ "unit": "px"
7203
+ },
7204
+ "spread": {
7205
+ "value": 0,
7206
+ "unit": "px"
7207
+ },
7012
7208
  "inset": false
7013
7209
  }
7014
7210
  ],
@@ -7024,10 +7220,22 @@
7024
7220
  {
7025
7221
  "color": "{base.color.orange.9}",
7026
7222
  "alpha": 0.2,
7027
- "offsetX": "0px",
7028
- "offsetY": "1px",
7029
- "blur": "0px",
7030
- "spread": "0px",
7223
+ "offsetX": {
7224
+ "value": 0,
7225
+ "unit": "px"
7226
+ },
7227
+ "offsetY": {
7228
+ "value": 1,
7229
+ "unit": "px"
7230
+ },
7231
+ "blur": {
7232
+ "value": 0,
7233
+ "unit": "px"
7234
+ },
7235
+ "spread": {
7236
+ "value": 0,
7237
+ "unit": "px"
7238
+ },
7031
7239
  "inset": true
7032
7240
  }
7033
7241
  ],
@@ -7040,10 +7248,22 @@
7040
7248
  {
7041
7249
  "color": "{base.color.transparent}",
7042
7250
  "alpha": 0,
7043
- "offsetX": "0px",
7044
- "offsetY": "0px",
7045
- "blur": "0px",
7046
- "spread": "0px",
7251
+ "offsetX": {
7252
+ "value": 0,
7253
+ "unit": "px"
7254
+ },
7255
+ "offsetY": {
7256
+ "value": 0,
7257
+ "unit": "px"
7258
+ },
7259
+ "blur": {
7260
+ "value": 0,
7261
+ "unit": "px"
7262
+ },
7263
+ "spread": {
7264
+ "value": 0,
7265
+ "unit": "px"
7266
+ },
7047
7267
  "inset": false
7048
7268
  }
7049
7269
  ],
@@ -7419,7 +7639,7 @@
7419
7639
  },
7420
7640
  "button-default-shadow-resting": {
7421
7641
  "key": "{button.default.shadow.resting}",
7422
- "$value": "0px 0px 0px 0px #000000",
7642
+ "$value": "0 0 0 0 #000000",
7423
7643
  "$type": "shadow",
7424
7644
  "$extensions": {
7425
7645
  "org.primer.figma": {
@@ -7432,10 +7652,22 @@
7432
7652
  {
7433
7653
  "color": "#00000000",
7434
7654
  "alpha": 0,
7435
- "offsetX": "0px",
7436
- "offsetY": "0px",
7437
- "blur": "0px",
7438
- "spread": "0px",
7655
+ "offsetX": {
7656
+ "value": 0,
7657
+ "unit": "px"
7658
+ },
7659
+ "offsetY": {
7660
+ "value": 0,
7661
+ "unit": "px"
7662
+ },
7663
+ "blur": {
7664
+ "value": 0,
7665
+ "unit": "px"
7666
+ },
7667
+ "spread": {
7668
+ "value": 0,
7669
+ "unit": "px"
7670
+ },
7439
7671
  "inset": false
7440
7672
  }
7441
7673
  ],
@@ -7452,10 +7684,22 @@
7452
7684
  {
7453
7685
  "color": "{base.color.transparent}",
7454
7686
  "alpha": 0,
7455
- "offsetX": "0px",
7456
- "offsetY": "0px",
7457
- "blur": "0px",
7458
- "spread": "0px",
7687
+ "offsetX": {
7688
+ "value": 0,
7689
+ "unit": "px"
7690
+ },
7691
+ "offsetY": {
7692
+ "value": 0,
7693
+ "unit": "px"
7694
+ },
7695
+ "blur": {
7696
+ "value": 0,
7697
+ "unit": "px"
7698
+ },
7699
+ "spread": {
7700
+ "value": 0,
7701
+ "unit": "px"
7702
+ },
7459
7703
  "inset": false
7460
7704
  }
7461
7705
  ],
@@ -7471,10 +7715,22 @@
7471
7715
  {
7472
7716
  "color": "{base.color.transparent}",
7473
7717
  "alpha": 0,
7474
- "offsetX": "0px",
7475
- "offsetY": "0px",
7476
- "blur": "0px",
7477
- "spread": "0px",
7718
+ "offsetX": {
7719
+ "value": 0,
7720
+ "unit": "px"
7721
+ },
7722
+ "offsetY": {
7723
+ "value": 0,
7724
+ "unit": "px"
7725
+ },
7726
+ "blur": {
7727
+ "value": 0,
7728
+ "unit": "px"
7729
+ },
7730
+ "spread": {
7731
+ "value": 0,
7732
+ "unit": "px"
7733
+ },
7478
7734
  "inset": false
7479
7735
  }
7480
7736
  ],
@@ -9182,7 +9438,7 @@
9182
9438
  },
9183
9439
  "button-outline-shadow-selected": {
9184
9440
  "key": "{button.outline.shadow.selected}",
9185
- "$value": "0px 0px 0px 0px #000000",
9441
+ "$value": "0 0 0 0 #000000",
9186
9442
  "$type": "shadow",
9187
9443
  "$extensions": {
9188
9444
  "org.primer.figma": {
@@ -9195,10 +9451,22 @@
9195
9451
  {
9196
9452
  "color": "#00000000",
9197
9453
  "alpha": 0,
9198
- "offsetX": "0px",
9199
- "offsetY": "0px",
9200
- "blur": "0px",
9201
- "spread": "0px",
9454
+ "offsetX": {
9455
+ "value": 0,
9456
+ "unit": "px"
9457
+ },
9458
+ "offsetY": {
9459
+ "value": 0,
9460
+ "unit": "px"
9461
+ },
9462
+ "blur": {
9463
+ "value": 0,
9464
+ "unit": "px"
9465
+ },
9466
+ "spread": {
9467
+ "value": 0,
9468
+ "unit": "px"
9469
+ },
9202
9470
  "inset": false
9203
9471
  }
9204
9472
  ],
@@ -9215,10 +9483,22 @@
9215
9483
  {
9216
9484
  "color": "{base.color.transparent}",
9217
9485
  "alpha": 0,
9218
- "offsetX": "0px",
9219
- "offsetY": "0px",
9220
- "blur": "0px",
9221
- "spread": "0px",
9486
+ "offsetX": {
9487
+ "value": 0,
9488
+ "unit": "px"
9489
+ },
9490
+ "offsetY": {
9491
+ "value": 0,
9492
+ "unit": "px"
9493
+ },
9494
+ "blur": {
9495
+ "value": 0,
9496
+ "unit": "px"
9497
+ },
9498
+ "spread": {
9499
+ "value": 0,
9500
+ "unit": "px"
9501
+ },
9222
9502
  "inset": false
9223
9503
  }
9224
9504
  ],
@@ -9234,10 +9514,22 @@
9234
9514
  {
9235
9515
  "color": "{base.color.transparent}",
9236
9516
  "alpha": 0,
9237
- "offsetX": "0px",
9238
- "offsetY": "0px",
9239
- "blur": "0px",
9240
- "spread": "0px",
9517
+ "offsetX": {
9518
+ "value": 0,
9519
+ "unit": "px"
9520
+ },
9521
+ "offsetY": {
9522
+ "value": 0,
9523
+ "unit": "px"
9524
+ },
9525
+ "blur": {
9526
+ "value": 0,
9527
+ "unit": "px"
9528
+ },
9529
+ "spread": {
9530
+ "value": 0,
9531
+ "unit": "px"
9532
+ },
9241
9533
  "inset": false
9242
9534
  }
9243
9535
  ],
@@ -10390,7 +10682,7 @@
10390
10682
  },
10391
10683
  "button-primary-shadow-selected": {
10392
10684
  "key": "{button.primary.shadow.selected}",
10393
- "$value": "0px 0px 0px 0px #000000",
10685
+ "$value": "0 0 0 0 #000000",
10394
10686
  "$type": "shadow",
10395
10687
  "$extensions": {
10396
10688
  "org.primer.figma": {
@@ -10403,10 +10695,22 @@
10403
10695
  {
10404
10696
  "color": "#194fb1",
10405
10697
  "alpha": 0.3,
10406
- "offsetX": "0px",
10407
- "offsetY": "1px",
10408
- "blur": "0px",
10409
- "spread": "0px",
10698
+ "offsetX": {
10699
+ "value": 0,
10700
+ "unit": "px"
10701
+ },
10702
+ "offsetY": {
10703
+ "value": 1,
10704
+ "unit": "px"
10705
+ },
10706
+ "blur": {
10707
+ "value": 0,
10708
+ "unit": "px"
10709
+ },
10710
+ "spread": {
10711
+ "value": 0,
10712
+ "unit": "px"
10713
+ },
10410
10714
  "inset": true
10411
10715
  }
10412
10716
  ],
@@ -10419,10 +10723,22 @@
10419
10723
  {
10420
10724
  "color": "#194fb1",
10421
10725
  "alpha": 0.3,
10422
- "offsetX": "0px",
10423
- "offsetY": "1px",
10424
- "blur": "0px",
10425
- "spread": "0px",
10726
+ "offsetX": {
10727
+ "value": 0,
10728
+ "unit": "px"
10729
+ },
10730
+ "offsetY": {
10731
+ "value": 1,
10732
+ "unit": "px"
10733
+ },
10734
+ "blur": {
10735
+ "value": 0,
10736
+ "unit": "px"
10737
+ },
10738
+ "spread": {
10739
+ "value": 0,
10740
+ "unit": "px"
10741
+ },
10426
10742
  "inset": true
10427
10743
  }
10428
10744
  ],
@@ -10435,10 +10751,22 @@
10435
10751
  {
10436
10752
  "color": "#00000000",
10437
10753
  "alpha": 0,
10438
- "offsetX": "0px",
10439
- "offsetY": "0px",
10440
- "blur": "0px",
10441
- "spread": "0px",
10754
+ "offsetX": {
10755
+ "value": 0,
10756
+ "unit": "px"
10757
+ },
10758
+ "offsetY": {
10759
+ "value": 0,
10760
+ "unit": "px"
10761
+ },
10762
+ "blur": {
10763
+ "value": 0,
10764
+ "unit": "px"
10765
+ },
10766
+ "spread": {
10767
+ "value": 0,
10768
+ "unit": "px"
10769
+ },
10442
10770
  "inset": false
10443
10771
  }
10444
10772
  ],
@@ -10455,10 +10783,22 @@
10455
10783
  {
10456
10784
  "color": "{base.color.transparent}",
10457
10785
  "alpha": 0,
10458
- "offsetX": "0px",
10459
- "offsetY": "0px",
10460
- "blur": "0px",
10461
- "spread": "0px",
10786
+ "offsetX": {
10787
+ "value": 0,
10788
+ "unit": "px"
10789
+ },
10790
+ "offsetY": {
10791
+ "value": 0,
10792
+ "unit": "px"
10793
+ },
10794
+ "blur": {
10795
+ "value": 0,
10796
+ "unit": "px"
10797
+ },
10798
+ "spread": {
10799
+ "value": 0,
10800
+ "unit": "px"
10801
+ },
10462
10802
  "inset": false
10463
10803
  }
10464
10804
  ],
@@ -10474,10 +10814,22 @@
10474
10814
  {
10475
10815
  "color": "{base.color.blue.9}",
10476
10816
  "alpha": 0.3,
10477
- "offsetX": "0px",
10478
- "offsetY": "1px",
10479
- "blur": "0px",
10480
- "spread": "0px",
10817
+ "offsetX": {
10818
+ "value": 0,
10819
+ "unit": "px"
10820
+ },
10821
+ "offsetY": {
10822
+ "value": 1,
10823
+ "unit": "px"
10824
+ },
10825
+ "blur": {
10826
+ "value": 0,
10827
+ "unit": "px"
10828
+ },
10829
+ "spread": {
10830
+ "value": 0,
10831
+ "unit": "px"
10832
+ },
10481
10833
  "inset": true
10482
10834
  }
10483
10835
  ],
@@ -10490,10 +10842,22 @@
10490
10842
  {
10491
10843
  "color": "{base.color.blue.9}",
10492
10844
  "alpha": 0.3,
10493
- "offsetX": "0px",
10494
- "offsetY": "1px",
10495
- "blur": "0px",
10496
- "spread": "0px",
10845
+ "offsetX": {
10846
+ "value": 0,
10847
+ "unit": "px"
10848
+ },
10849
+ "offsetY": {
10850
+ "value": 1,
10851
+ "unit": "px"
10852
+ },
10853
+ "blur": {
10854
+ "value": 0,
10855
+ "unit": "px"
10856
+ },
10857
+ "spread": {
10858
+ "value": 0,
10859
+ "unit": "px"
10860
+ },
10497
10861
  "inset": true
10498
10862
  }
10499
10863
  ],
@@ -10506,10 +10870,22 @@
10506
10870
  {
10507
10871
  "color": "{base.color.transparent}",
10508
10872
  "alpha": 0,
10509
- "offsetX": "0px",
10510
- "offsetY": "0px",
10511
- "blur": "0px",
10512
- "spread": "0px",
10873
+ "offsetX": {
10874
+ "value": 0,
10875
+ "unit": "px"
10876
+ },
10877
+ "offsetY": {
10878
+ "value": 0,
10879
+ "unit": "px"
10880
+ },
10881
+ "blur": {
10882
+ "value": 0,
10883
+ "unit": "px"
10884
+ },
10885
+ "spread": {
10886
+ "value": 0,
10887
+ "unit": "px"
10888
+ },
10513
10889
  "inset": false
10514
10890
  }
10515
10891
  ],
@@ -37256,6 +37632,10 @@
37256
37632
  },
37257
37633
  "org.primer.overrides": {
37258
37634
  "dark": "#010409"
37635
+ },
37636
+ "org.primer.llm": {
37637
+ "doNotUse": true,
37638
+ "rules": "Avoid using raw black. Use semantic alternatives: fgColor.default for standard text, fgColor.muted for secondary text. Raw black/white ignore theme preferences and accessibility settings."
37259
37639
  }
37260
37640
  },
37261
37641
  "filePath": "src/tokens/functional/color/fgColor.json5",
@@ -37272,6 +37652,10 @@
37272
37652
  },
37273
37653
  "org.primer.overrides": {
37274
37654
  "dark": "{base.color.neutral.0}"
37655
+ },
37656
+ "org.primer.llm": {
37657
+ "doNotUse": true,
37658
+ "rules": "Avoid using raw black. Use semantic alternatives: fgColor.default for standard text, fgColor.muted for secondary text. Raw black/white ignore theme preferences and accessibility settings."
37275
37659
  }
37276
37660
  },
37277
37661
  "key": "{fgColor.black}"
@@ -38245,6 +38629,10 @@
38245
38629
  },
38246
38630
  "org.primer.overrides": {
38247
38631
  "dark": "#ffffff"
38632
+ },
38633
+ "org.primer.llm": {
38634
+ "doNotUse": true,
38635
+ "rules": "Avoid using raw white. Use semantic alternatives: fgColor.onEmphasis for text on dark backgrounds, fgColor.onInverse for inverted contexts. Raw black/white ignore theme preferences and accessibility settings."
38248
38636
  }
38249
38637
  },
38250
38638
  "filePath": "src/tokens/functional/color/fgColor.json5",
@@ -38261,6 +38649,10 @@
38261
38649
  },
38262
38650
  "org.primer.overrides": {
38263
38651
  "dark": "{base.color.neutral.13}"
38652
+ },
38653
+ "org.primer.llm": {
38654
+ "doNotUse": true,
38655
+ "rules": "Avoid using raw white. Use semantic alternatives: fgColor.onEmphasis for text on dark backgrounds, fgColor.onInverse for inverted contexts. Raw black/white ignore theme preferences and accessibility settings."
38264
38656
  }
38265
38657
  },
38266
38658
  "key": "{fgColor.white}"
@@ -38286,7 +38678,10 @@
38286
38678
  "$value": {
38287
38679
  "color": "{focus.outlineColor}",
38288
38680
  "style": "solid",
38289
- "width": "2px"
38681
+ "width": {
38682
+ "value": 2,
38683
+ "unit": "px"
38684
+ }
38290
38685
  },
38291
38686
  "$type": "border",
38292
38687
  "$description": "Focus ring outline for keyboard navigation and accessibility.",
@@ -47445,7 +47840,7 @@
47445
47840
  },
47446
47841
  "shadow-floating-large": {
47447
47842
  "key": "{shadow.floating.large}",
47448
- "$value": "0px 0px 0px 1px #b7bdc8, 0px 24px 48px 0px #010409",
47843
+ "$value": "0 0 0 1px #b7bdc8, 0 24px 48px 0 #010409",
47449
47844
  "$type": "shadow",
47450
47845
  "$description": "Large floating shadow for modals and dialogs",
47451
47846
  "$extensions": {
@@ -47459,18 +47854,42 @@
47459
47854
  {
47460
47855
  "color": "#b7bdc8",
47461
47856
  "alpha": 1,
47462
- "offsetX": "0px",
47463
- "offsetY": "0px",
47464
- "blur": "0px",
47465
- "spread": "1px"
47857
+ "offsetX": {
47858
+ "value": 0,
47859
+ "unit": "px"
47860
+ },
47861
+ "offsetY": {
47862
+ "value": 0,
47863
+ "unit": "px"
47864
+ },
47865
+ "blur": {
47866
+ "value": 0,
47867
+ "unit": "px"
47868
+ },
47869
+ "spread": {
47870
+ "value": 1,
47871
+ "unit": "px"
47872
+ }
47466
47873
  },
47467
47874
  {
47468
47875
  "color": "#010409",
47469
47876
  "alpha": 1,
47470
- "offsetX": "0px",
47471
- "offsetY": "24px",
47472
- "blur": "48px",
47473
- "spread": "0px"
47877
+ "offsetX": {
47878
+ "value": 0,
47879
+ "unit": "px"
47880
+ },
47881
+ "offsetY": {
47882
+ "value": 24,
47883
+ "unit": "px"
47884
+ },
47885
+ "blur": {
47886
+ "value": 48,
47887
+ "unit": "px"
47888
+ },
47889
+ "spread": {
47890
+ "value": 0,
47891
+ "unit": "px"
47892
+ }
47474
47893
  }
47475
47894
  ],
47476
47895
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47490,18 +47909,42 @@
47490
47909
  {
47491
47910
  "color": "{overlay.borderColor}",
47492
47911
  "alpha": 1,
47493
- "offsetX": "0px",
47494
- "offsetY": "0px",
47495
- "blur": "0px",
47496
- "spread": "1px"
47912
+ "offsetX": {
47913
+ "value": 0,
47914
+ "unit": "px"
47915
+ },
47916
+ "offsetY": {
47917
+ "value": 0,
47918
+ "unit": "px"
47919
+ },
47920
+ "blur": {
47921
+ "value": 0,
47922
+ "unit": "px"
47923
+ },
47924
+ "spread": {
47925
+ "value": 1,
47926
+ "unit": "px"
47927
+ }
47497
47928
  },
47498
47929
  {
47499
47930
  "color": "{base.color.neutral.0}",
47500
47931
  "alpha": 1,
47501
- "offsetX": "0px",
47502
- "offsetY": "24px",
47503
- "blur": "48px",
47504
- "spread": "0px"
47932
+ "offsetX": {
47933
+ "value": 0,
47934
+ "unit": "px"
47935
+ },
47936
+ "offsetY": {
47937
+ "value": 24,
47938
+ "unit": "px"
47939
+ },
47940
+ "blur": {
47941
+ "value": 48,
47942
+ "unit": "px"
47943
+ },
47944
+ "spread": {
47945
+ "value": 0,
47946
+ "unit": "px"
47947
+ }
47505
47948
  }
47506
47949
  ],
47507
47950
  "$type": "shadow",
@@ -47517,18 +47960,42 @@
47517
47960
  {
47518
47961
  "color": "{overlay.borderColor}",
47519
47962
  "alpha": 1,
47520
- "offsetX": "0px",
47521
- "offsetY": "0px",
47522
- "blur": "0px",
47523
- "spread": "1px"
47963
+ "offsetX": {
47964
+ "value": 0,
47965
+ "unit": "px"
47966
+ },
47967
+ "offsetY": {
47968
+ "value": 0,
47969
+ "unit": "px"
47970
+ },
47971
+ "blur": {
47972
+ "value": 0,
47973
+ "unit": "px"
47974
+ },
47975
+ "spread": {
47976
+ "value": 1,
47977
+ "unit": "px"
47978
+ }
47524
47979
  },
47525
47980
  {
47526
47981
  "color": "{base.color.neutral.0}",
47527
47982
  "alpha": 1,
47528
- "offsetX": "0px",
47529
- "offsetY": "24px",
47530
- "blur": "48px",
47531
- "spread": "0px"
47983
+ "offsetX": {
47984
+ "value": 0,
47985
+ "unit": "px"
47986
+ },
47987
+ "offsetY": {
47988
+ "value": 24,
47989
+ "unit": "px"
47990
+ },
47991
+ "blur": {
47992
+ "value": 48,
47993
+ "unit": "px"
47994
+ },
47995
+ "spread": {
47996
+ "value": 0,
47997
+ "unit": "px"
47998
+ }
47532
47999
  }
47533
48000
  ],
47534
48001
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47549,8 +48016,9 @@
47549
48016
  },
47550
48017
  "shadow-floating-legacy": {
47551
48018
  "key": "{shadow.floating.legacy}",
47552
- "$value": "0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966",
48019
+ "$value": "0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966",
47553
48020
  "$type": "shadow",
48021
+ "$description": "Legacy floating shadow for backward compatibility",
47554
48022
  "$extensions": {
47555
48023
  "org.primer.figma": {},
47556
48024
  "org.primer.overrides": {
@@ -47559,24 +48027,52 @@
47559
48027
  {
47560
48028
  "color": "#010409",
47561
48029
  "alpha": 0.4,
47562
- "offsetX": "0px",
47563
- "offsetY": "6px",
47564
- "blur": "12px",
47565
- "spread": "-3px"
48030
+ "offsetX": {
48031
+ "value": 0,
48032
+ "unit": "px"
48033
+ },
48034
+ "offsetY": {
48035
+ "value": 6,
48036
+ "unit": "px"
48037
+ },
48038
+ "blur": {
48039
+ "value": 12,
48040
+ "unit": "px"
48041
+ },
48042
+ "spread": {
48043
+ "value": -3,
48044
+ "unit": "px"
48045
+ }
47566
48046
  },
47567
48047
  {
47568
48048
  "color": "#010409",
47569
48049
  "alpha": 0.4,
47570
- "offsetX": "0px",
47571
- "offsetY": "6px",
47572
- "blur": "18px",
47573
- "spread": "0px"
48050
+ "offsetX": {
48051
+ "value": 0,
48052
+ "unit": "px"
48053
+ },
48054
+ "offsetY": {
48055
+ "value": 6,
48056
+ "unit": "px"
48057
+ },
48058
+ "blur": {
48059
+ "value": 18,
48060
+ "unit": "px"
48061
+ },
48062
+ "spread": {
48063
+ "value": 0,
48064
+ "unit": "px"
48065
+ }
47574
48066
  }
47575
48067
  ],
47576
48068
  "filePath": "src/tokens/functional/shadow/shadow.json5",
47577
48069
  "isSource": true,
47578
48070
  "$type": "shadow"
47579
48071
  }
48072
+ },
48073
+ "org.primer.llm": {
48074
+ "usage": ["legacy-component", "backward-compatibility"],
48075
+ "rules": "DEPRECATED: Use shadow-floating-small instead. Only use for maintaining backward compatibility with existing implementations."
47580
48076
  }
47581
48077
  },
47582
48078
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47586,21 +48082,46 @@
47586
48082
  {
47587
48083
  "color": "{base.color.neutral.0}",
47588
48084
  "alpha": 0.4,
47589
- "offsetX": "0px",
47590
- "offsetY": "6px",
47591
- "blur": "12px",
47592
- "spread": "-3px"
48085
+ "offsetX": {
48086
+ "value": 0,
48087
+ "unit": "px"
48088
+ },
48089
+ "offsetY": {
48090
+ "value": 6,
48091
+ "unit": "px"
48092
+ },
48093
+ "blur": {
48094
+ "value": 12,
48095
+ "unit": "px"
48096
+ },
48097
+ "spread": {
48098
+ "value": -3,
48099
+ "unit": "px"
48100
+ }
47593
48101
  },
47594
48102
  {
47595
48103
  "color": "{base.color.neutral.0}",
47596
48104
  "alpha": 0.4,
47597
- "offsetX": "0px",
47598
- "offsetY": "6px",
47599
- "blur": "18px",
47600
- "spread": "0px"
48105
+ "offsetX": {
48106
+ "value": 0,
48107
+ "unit": "px"
48108
+ },
48109
+ "offsetY": {
48110
+ "value": 6,
48111
+ "unit": "px"
48112
+ },
48113
+ "blur": {
48114
+ "value": 18,
48115
+ "unit": "px"
48116
+ },
48117
+ "spread": {
48118
+ "value": 0,
48119
+ "unit": "px"
48120
+ }
47601
48121
  }
47602
48122
  ],
47603
48123
  "$type": "shadow",
48124
+ "$description": "Legacy floating shadow for backward compatibility",
47604
48125
  "$extensions": {
47605
48126
  "org.primer.figma": {},
47606
48127
  "org.primer.overrides": {
@@ -47609,24 +48130,52 @@
47609
48130
  {
47610
48131
  "color": "{base.color.neutral.0}",
47611
48132
  "alpha": 0.4,
47612
- "offsetX": "0px",
47613
- "offsetY": "6px",
47614
- "blur": "12px",
47615
- "spread": "-3px"
48133
+ "offsetX": {
48134
+ "value": 0,
48135
+ "unit": "px"
48136
+ },
48137
+ "offsetY": {
48138
+ "value": 6,
48139
+ "unit": "px"
48140
+ },
48141
+ "blur": {
48142
+ "value": 12,
48143
+ "unit": "px"
48144
+ },
48145
+ "spread": {
48146
+ "value": -3,
48147
+ "unit": "px"
48148
+ }
47616
48149
  },
47617
48150
  {
47618
48151
  "color": "{base.color.neutral.0}",
47619
48152
  "alpha": 0.4,
47620
- "offsetX": "0px",
47621
- "offsetY": "6px",
47622
- "blur": "18px",
47623
- "spread": "0px"
48153
+ "offsetX": {
48154
+ "value": 0,
48155
+ "unit": "px"
48156
+ },
48157
+ "offsetY": {
48158
+ "value": 6,
48159
+ "unit": "px"
48160
+ },
48161
+ "blur": {
48162
+ "value": 18,
48163
+ "unit": "px"
48164
+ },
48165
+ "spread": {
48166
+ "value": 0,
48167
+ "unit": "px"
48168
+ }
47624
48169
  }
47625
48170
  ],
47626
48171
  "filePath": "src/tokens/functional/shadow/shadow.json5",
47627
48172
  "isSource": true,
47628
48173
  "$type": "shadow"
47629
48174
  }
48175
+ },
48176
+ "org.primer.llm": {
48177
+ "usage": ["legacy-component", "backward-compatibility"],
48178
+ "rules": "DEPRECATED: Use shadow-floating-small instead. Only use for maintaining backward compatibility with existing implementations."
47630
48179
  }
47631
48180
  },
47632
48181
  "key": "{shadow.floating.legacy}"
@@ -47637,8 +48186,9 @@
47637
48186
  },
47638
48187
  "shadow-floating-medium": {
47639
48188
  "key": "{shadow.floating.medium}",
47640
- "$value": "0px 0px 0px 1px #b7bdc8, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966",
48189
+ "$value": "0 0 0 1px #b7bdc8, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966",
47641
48190
  "$type": "shadow",
48191
+ "$description": "Medium floating shadow for popovers and action menus",
47642
48192
  "$extensions": {
47643
48193
  "org.primer.figma": {
47644
48194
  "collection": "mode",
@@ -47650,48 +48200,112 @@
47650
48200
  {
47651
48201
  "color": "#b7bdc8",
47652
48202
  "alpha": 1,
47653
- "offsetX": "0px",
47654
- "offsetY": "0px",
47655
- "blur": "0px",
47656
- "spread": "1px"
48203
+ "offsetX": {
48204
+ "value": 0,
48205
+ "unit": "px"
48206
+ },
48207
+ "offsetY": {
48208
+ "value": 0,
48209
+ "unit": "px"
48210
+ },
48211
+ "blur": {
48212
+ "value": 0,
48213
+ "unit": "px"
48214
+ },
48215
+ "spread": {
48216
+ "value": 1,
48217
+ "unit": "px"
48218
+ }
47657
48219
  },
47658
48220
  {
47659
48221
  "color": "#010409",
47660
48222
  "alpha": 0.4,
47661
- "offsetX": "0px",
47662
- "offsetY": "8px",
47663
- "blur": "16px",
47664
- "spread": "-4px"
48223
+ "offsetX": {
48224
+ "value": 0,
48225
+ "unit": "px"
48226
+ },
48227
+ "offsetY": {
48228
+ "value": 8,
48229
+ "unit": "px"
48230
+ },
48231
+ "blur": {
48232
+ "value": 16,
48233
+ "unit": "px"
48234
+ },
48235
+ "spread": {
48236
+ "value": -4,
48237
+ "unit": "px"
48238
+ }
47665
48239
  },
47666
48240
  {
47667
48241
  "color": "#010409",
47668
48242
  "alpha": 0.4,
47669
- "offsetX": "0px",
47670
- "offsetY": "4px",
47671
- "blur": "32px",
47672
- "spread": "-4px"
48243
+ "offsetX": {
48244
+ "value": 0,
48245
+ "unit": "px"
48246
+ },
48247
+ "offsetY": {
48248
+ "value": 4,
48249
+ "unit": "px"
48250
+ },
48251
+ "blur": {
48252
+ "value": 32,
48253
+ "unit": "px"
48254
+ },
48255
+ "spread": {
48256
+ "value": -4,
48257
+ "unit": "px"
48258
+ }
47673
48259
  },
47674
48260
  {
47675
48261
  "color": "#010409",
47676
48262
  "alpha": 0.4,
47677
- "offsetX": "0px",
47678
- "offsetY": "24px",
47679
- "blur": "48px",
47680
- "spread": "-12px"
48263
+ "offsetX": {
48264
+ "value": 0,
48265
+ "unit": "px"
48266
+ },
48267
+ "offsetY": {
48268
+ "value": 24,
48269
+ "unit": "px"
48270
+ },
48271
+ "blur": {
48272
+ "value": 48,
48273
+ "unit": "px"
48274
+ },
48275
+ "spread": {
48276
+ "value": -12,
48277
+ "unit": "px"
48278
+ }
47681
48279
  },
47682
48280
  {
47683
48281
  "color": "#010409",
47684
48282
  "alpha": 0.4,
47685
- "offsetX": "0px",
47686
- "offsetY": "48px",
47687
- "blur": "96px",
47688
- "spread": "-24px"
48283
+ "offsetX": {
48284
+ "value": 0,
48285
+ "unit": "px"
48286
+ },
48287
+ "offsetY": {
48288
+ "value": 48,
48289
+ "unit": "px"
48290
+ },
48291
+ "blur": {
48292
+ "value": 96,
48293
+ "unit": "px"
48294
+ },
48295
+ "spread": {
48296
+ "value": -24,
48297
+ "unit": "px"
48298
+ }
47689
48299
  }
47690
48300
  ],
47691
48301
  "filePath": "src/tokens/functional/shadow/shadow.json5",
47692
48302
  "isSource": true,
47693
48303
  "$type": "shadow"
47694
48304
  }
48305
+ },
48306
+ "org.primer.llm": {
48307
+ "usage": ["popover", "action-menu", "select-panel", "autocomplete"],
48308
+ "rules": "Use for medium-sized floating elements like popovers and action menus. More prominent than small but less than dialogs. Do NOT use for full modals."
47695
48309
  }
47696
48310
  },
47697
48311
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47701,45 +48315,106 @@
47701
48315
  {
47702
48316
  "color": "{overlay.borderColor}",
47703
48317
  "alpha": 1,
47704
- "offsetX": "0px",
47705
- "offsetY": "0px",
47706
- "blur": "0px",
47707
- "spread": "1px"
48318
+ "offsetX": {
48319
+ "value": 0,
48320
+ "unit": "px"
48321
+ },
48322
+ "offsetY": {
48323
+ "value": 0,
48324
+ "unit": "px"
48325
+ },
48326
+ "blur": {
48327
+ "value": 0,
48328
+ "unit": "px"
48329
+ },
48330
+ "spread": {
48331
+ "value": 1,
48332
+ "unit": "px"
48333
+ }
47708
48334
  },
47709
48335
  {
47710
48336
  "color": "{base.color.neutral.0}",
47711
48337
  "alpha": 0.4,
47712
- "offsetX": "0px",
47713
- "offsetY": "8px",
47714
- "blur": "16px",
47715
- "spread": "-4px"
48338
+ "offsetX": {
48339
+ "value": 0,
48340
+ "unit": "px"
48341
+ },
48342
+ "offsetY": {
48343
+ "value": 8,
48344
+ "unit": "px"
48345
+ },
48346
+ "blur": {
48347
+ "value": 16,
48348
+ "unit": "px"
48349
+ },
48350
+ "spread": {
48351
+ "value": -4,
48352
+ "unit": "px"
48353
+ }
47716
48354
  },
47717
48355
  {
47718
48356
  "color": "{base.color.neutral.0}",
47719
48357
  "alpha": 0.4,
47720
- "offsetX": "0px",
47721
- "offsetY": "4px",
47722
- "blur": "32px",
47723
- "spread": "-4px"
48358
+ "offsetX": {
48359
+ "value": 0,
48360
+ "unit": "px"
48361
+ },
48362
+ "offsetY": {
48363
+ "value": 4,
48364
+ "unit": "px"
48365
+ },
48366
+ "blur": {
48367
+ "value": 32,
48368
+ "unit": "px"
48369
+ },
48370
+ "spread": {
48371
+ "value": -4,
48372
+ "unit": "px"
48373
+ }
47724
48374
  },
47725
48375
  {
47726
48376
  "color": "{base.color.neutral.0}",
47727
48377
  "alpha": 0.4,
47728
- "offsetX": "0px",
47729
- "offsetY": "24px",
47730
- "blur": "48px",
47731
- "spread": "-12px"
48378
+ "offsetX": {
48379
+ "value": 0,
48380
+ "unit": "px"
48381
+ },
48382
+ "offsetY": {
48383
+ "value": 24,
48384
+ "unit": "px"
48385
+ },
48386
+ "blur": {
48387
+ "value": 48,
48388
+ "unit": "px"
48389
+ },
48390
+ "spread": {
48391
+ "value": -12,
48392
+ "unit": "px"
48393
+ }
47732
48394
  },
47733
48395
  {
47734
48396
  "color": "{base.color.neutral.0}",
47735
48397
  "alpha": 0.4,
47736
- "offsetX": "0px",
47737
- "offsetY": "48px",
47738
- "blur": "96px",
47739
- "spread": "-24px"
48398
+ "offsetX": {
48399
+ "value": 0,
48400
+ "unit": "px"
48401
+ },
48402
+ "offsetY": {
48403
+ "value": 48,
48404
+ "unit": "px"
48405
+ },
48406
+ "blur": {
48407
+ "value": 96,
48408
+ "unit": "px"
48409
+ },
48410
+ "spread": {
48411
+ "value": -24,
48412
+ "unit": "px"
48413
+ }
47740
48414
  }
47741
48415
  ],
47742
48416
  "$type": "shadow",
48417
+ "$description": "Medium floating shadow for popovers and action menus",
47743
48418
  "$extensions": {
47744
48419
  "org.primer.figma": {
47745
48420
  "collection": "mode",
@@ -47751,48 +48426,112 @@
47751
48426
  {
47752
48427
  "color": "{overlay.borderColor}",
47753
48428
  "alpha": 1,
47754
- "offsetX": "0px",
47755
- "offsetY": "0px",
47756
- "blur": "0px",
47757
- "spread": "1px"
48429
+ "offsetX": {
48430
+ "value": 0,
48431
+ "unit": "px"
48432
+ },
48433
+ "offsetY": {
48434
+ "value": 0,
48435
+ "unit": "px"
48436
+ },
48437
+ "blur": {
48438
+ "value": 0,
48439
+ "unit": "px"
48440
+ },
48441
+ "spread": {
48442
+ "value": 1,
48443
+ "unit": "px"
48444
+ }
47758
48445
  },
47759
48446
  {
47760
48447
  "color": "{base.color.neutral.0}",
47761
48448
  "alpha": 0.4,
47762
- "offsetX": "0px",
47763
- "offsetY": "8px",
47764
- "blur": "16px",
47765
- "spread": "-4px"
48449
+ "offsetX": {
48450
+ "value": 0,
48451
+ "unit": "px"
48452
+ },
48453
+ "offsetY": {
48454
+ "value": 8,
48455
+ "unit": "px"
48456
+ },
48457
+ "blur": {
48458
+ "value": 16,
48459
+ "unit": "px"
48460
+ },
48461
+ "spread": {
48462
+ "value": -4,
48463
+ "unit": "px"
48464
+ }
47766
48465
  },
47767
48466
  {
47768
48467
  "color": "{base.color.neutral.0}",
47769
48468
  "alpha": 0.4,
47770
- "offsetX": "0px",
47771
- "offsetY": "4px",
47772
- "blur": "32px",
47773
- "spread": "-4px"
48469
+ "offsetX": {
48470
+ "value": 0,
48471
+ "unit": "px"
48472
+ },
48473
+ "offsetY": {
48474
+ "value": 4,
48475
+ "unit": "px"
48476
+ },
48477
+ "blur": {
48478
+ "value": 32,
48479
+ "unit": "px"
48480
+ },
48481
+ "spread": {
48482
+ "value": -4,
48483
+ "unit": "px"
48484
+ }
47774
48485
  },
47775
48486
  {
47776
48487
  "color": "{base.color.neutral.0}",
47777
48488
  "alpha": 0.4,
47778
- "offsetX": "0px",
47779
- "offsetY": "24px",
47780
- "blur": "48px",
47781
- "spread": "-12px"
48489
+ "offsetX": {
48490
+ "value": 0,
48491
+ "unit": "px"
48492
+ },
48493
+ "offsetY": {
48494
+ "value": 24,
48495
+ "unit": "px"
48496
+ },
48497
+ "blur": {
48498
+ "value": 48,
48499
+ "unit": "px"
48500
+ },
48501
+ "spread": {
48502
+ "value": -12,
48503
+ "unit": "px"
48504
+ }
47782
48505
  },
47783
48506
  {
47784
48507
  "color": "{base.color.neutral.0}",
47785
48508
  "alpha": 0.4,
47786
- "offsetX": "0px",
47787
- "offsetY": "48px",
47788
- "blur": "96px",
47789
- "spread": "-24px"
48509
+ "offsetX": {
48510
+ "value": 0,
48511
+ "unit": "px"
48512
+ },
48513
+ "offsetY": {
48514
+ "value": 48,
48515
+ "unit": "px"
48516
+ },
48517
+ "blur": {
48518
+ "value": 96,
48519
+ "unit": "px"
48520
+ },
48521
+ "spread": {
48522
+ "value": -24,
48523
+ "unit": "px"
48524
+ }
47790
48525
  }
47791
48526
  ],
47792
48527
  "filePath": "src/tokens/functional/shadow/shadow.json5",
47793
48528
  "isSource": true,
47794
48529
  "$type": "shadow"
47795
48530
  }
48531
+ },
48532
+ "org.primer.llm": {
48533
+ "usage": ["popover", "action-menu", "select-panel", "autocomplete"],
48534
+ "rules": "Use for medium-sized floating elements like popovers and action menus. More prominent than small but less than dialogs. Do NOT use for full modals."
47796
48535
  }
47797
48536
  },
47798
48537
  "key": "{shadow.floating.medium}"
@@ -47803,7 +48542,7 @@
47803
48542
  },
47804
48543
  "shadow-floating-small": {
47805
48544
  "key": "{shadow.floating.small}",
47806
- "$value": "0px 0px 0px 1px #b7bdc8, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966",
48545
+ "$value": "0 0 0 1px #b7bdc8, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966",
47807
48546
  "$type": "shadow",
47808
48547
  "$description": "Small floating shadow for dropdowns, tooltips, and small overlays",
47809
48548
  "$extensions": {
@@ -47817,26 +48556,62 @@
47817
48556
  {
47818
48557
  "color": "#b7bdc8",
47819
48558
  "alpha": 1,
47820
- "offsetX": "0px",
47821
- "offsetY": "0px",
47822
- "blur": "0px",
47823
- "spread": "1px"
48559
+ "offsetX": {
48560
+ "value": 0,
48561
+ "unit": "px"
48562
+ },
48563
+ "offsetY": {
48564
+ "value": 0,
48565
+ "unit": "px"
48566
+ },
48567
+ "blur": {
48568
+ "value": 0,
48569
+ "unit": "px"
48570
+ },
48571
+ "spread": {
48572
+ "value": 1,
48573
+ "unit": "px"
48574
+ }
47824
48575
  },
47825
48576
  {
47826
48577
  "color": "#010409",
47827
48578
  "alpha": 0.4,
47828
- "offsetX": "0px",
47829
- "offsetY": "6px",
47830
- "blur": "12px",
47831
- "spread": "-3px"
48579
+ "offsetX": {
48580
+ "value": 0,
48581
+ "unit": "px"
48582
+ },
48583
+ "offsetY": {
48584
+ "value": 6,
48585
+ "unit": "px"
48586
+ },
48587
+ "blur": {
48588
+ "value": 12,
48589
+ "unit": "px"
48590
+ },
48591
+ "spread": {
48592
+ "value": -3,
48593
+ "unit": "px"
48594
+ }
47832
48595
  },
47833
48596
  {
47834
48597
  "color": "#010409",
47835
48598
  "alpha": 0.4,
47836
- "offsetX": "0px",
47837
- "offsetY": "6px",
47838
- "blur": "18px",
47839
- "spread": "0px"
48599
+ "offsetX": {
48600
+ "value": 0,
48601
+ "unit": "px"
48602
+ },
48603
+ "offsetY": {
48604
+ "value": 6,
48605
+ "unit": "px"
48606
+ },
48607
+ "blur": {
48608
+ "value": 18,
48609
+ "unit": "px"
48610
+ },
48611
+ "spread": {
48612
+ "value": 0,
48613
+ "unit": "px"
48614
+ }
47840
48615
  }
47841
48616
  ],
47842
48617
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47856,26 +48631,62 @@
47856
48631
  {
47857
48632
  "color": "{overlay.borderColor}",
47858
48633
  "alpha": 1,
47859
- "offsetX": "0px",
47860
- "offsetY": "0px",
47861
- "blur": "0px",
47862
- "spread": "1px"
48634
+ "offsetX": {
48635
+ "value": 0,
48636
+ "unit": "px"
48637
+ },
48638
+ "offsetY": {
48639
+ "value": 0,
48640
+ "unit": "px"
48641
+ },
48642
+ "blur": {
48643
+ "value": 0,
48644
+ "unit": "px"
48645
+ },
48646
+ "spread": {
48647
+ "value": 1,
48648
+ "unit": "px"
48649
+ }
47863
48650
  },
47864
48651
  {
47865
48652
  "color": "{base.color.neutral.0}",
47866
48653
  "alpha": 0.4,
47867
- "offsetX": "0px",
47868
- "offsetY": "6px",
47869
- "blur": "12px",
47870
- "spread": "-3px"
48654
+ "offsetX": {
48655
+ "value": 0,
48656
+ "unit": "px"
48657
+ },
48658
+ "offsetY": {
48659
+ "value": 6,
48660
+ "unit": "px"
48661
+ },
48662
+ "blur": {
48663
+ "value": 12,
48664
+ "unit": "px"
48665
+ },
48666
+ "spread": {
48667
+ "value": -3,
48668
+ "unit": "px"
48669
+ }
47871
48670
  },
47872
48671
  {
47873
48672
  "color": "{base.color.neutral.0}",
47874
48673
  "alpha": 0.4,
47875
- "offsetX": "0px",
47876
- "offsetY": "6px",
47877
- "blur": "18px",
47878
- "spread": "0px"
48674
+ "offsetX": {
48675
+ "value": 0,
48676
+ "unit": "px"
48677
+ },
48678
+ "offsetY": {
48679
+ "value": 6,
48680
+ "unit": "px"
48681
+ },
48682
+ "blur": {
48683
+ "value": 18,
48684
+ "unit": "px"
48685
+ },
48686
+ "spread": {
48687
+ "value": 0,
48688
+ "unit": "px"
48689
+ }
47879
48690
  }
47880
48691
  ],
47881
48692
  "$type": "shadow",
@@ -47891,26 +48702,62 @@
47891
48702
  {
47892
48703
  "color": "{overlay.borderColor}",
47893
48704
  "alpha": 1,
47894
- "offsetX": "0px",
47895
- "offsetY": "0px",
47896
- "blur": "0px",
47897
- "spread": "1px"
48705
+ "offsetX": {
48706
+ "value": 0,
48707
+ "unit": "px"
48708
+ },
48709
+ "offsetY": {
48710
+ "value": 0,
48711
+ "unit": "px"
48712
+ },
48713
+ "blur": {
48714
+ "value": 0,
48715
+ "unit": "px"
48716
+ },
48717
+ "spread": {
48718
+ "value": 1,
48719
+ "unit": "px"
48720
+ }
47898
48721
  },
47899
48722
  {
47900
48723
  "color": "{base.color.neutral.0}",
47901
48724
  "alpha": 0.4,
47902
- "offsetX": "0px",
47903
- "offsetY": "6px",
47904
- "blur": "12px",
47905
- "spread": "-3px"
48725
+ "offsetX": {
48726
+ "value": 0,
48727
+ "unit": "px"
48728
+ },
48729
+ "offsetY": {
48730
+ "value": 6,
48731
+ "unit": "px"
48732
+ },
48733
+ "blur": {
48734
+ "value": 12,
48735
+ "unit": "px"
48736
+ },
48737
+ "spread": {
48738
+ "value": -3,
48739
+ "unit": "px"
48740
+ }
47906
48741
  },
47907
48742
  {
47908
48743
  "color": "{base.color.neutral.0}",
47909
48744
  "alpha": 0.4,
47910
- "offsetX": "0px",
47911
- "offsetY": "6px",
47912
- "blur": "18px",
47913
- "spread": "0px"
48745
+ "offsetX": {
48746
+ "value": 0,
48747
+ "unit": "px"
48748
+ },
48749
+ "offsetY": {
48750
+ "value": 6,
48751
+ "unit": "px"
48752
+ },
48753
+ "blur": {
48754
+ "value": 18,
48755
+ "unit": "px"
48756
+ },
48757
+ "spread": {
48758
+ "value": 0,
48759
+ "unit": "px"
48760
+ }
47914
48761
  }
47915
48762
  ],
47916
48763
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47931,8 +48778,9 @@
47931
48778
  },
47932
48779
  "shadow-floating-xlarge": {
47933
48780
  "key": "{shadow.floating.xlarge}",
47934
- "$value": "0px 0px 0px 1px #b7bdc8, 0px 32px 64px 0px #010409",
48781
+ "$value": "0 0 0 1px #b7bdc8, 0 32px 64px 0 #010409",
47935
48782
  "$type": "shadow",
48783
+ "$description": "Extra large floating shadow for full-screen overlays and sheets",
47936
48784
  "$extensions": {
47937
48785
  "org.primer.figma": {
47938
48786
  "collection": "mode",
@@ -47944,24 +48792,52 @@
47944
48792
  {
47945
48793
  "color": "#b7bdc8",
47946
48794
  "alpha": 1,
47947
- "offsetX": "0px",
47948
- "offsetY": "0px",
47949
- "blur": "0px",
47950
- "spread": "1px"
48795
+ "offsetX": {
48796
+ "value": 0,
48797
+ "unit": "px"
48798
+ },
48799
+ "offsetY": {
48800
+ "value": 0,
48801
+ "unit": "px"
48802
+ },
48803
+ "blur": {
48804
+ "value": 0,
48805
+ "unit": "px"
48806
+ },
48807
+ "spread": {
48808
+ "value": 1,
48809
+ "unit": "px"
48810
+ }
47951
48811
  },
47952
48812
  {
47953
48813
  "color": "#010409",
47954
48814
  "alpha": 1,
47955
- "offsetX": "0px",
47956
- "offsetY": "32px",
47957
- "blur": "64px",
47958
- "spread": "0px"
48815
+ "offsetX": {
48816
+ "value": 0,
48817
+ "unit": "px"
48818
+ },
48819
+ "offsetY": {
48820
+ "value": 32,
48821
+ "unit": "px"
48822
+ },
48823
+ "blur": {
48824
+ "value": 64,
48825
+ "unit": "px"
48826
+ },
48827
+ "spread": {
48828
+ "value": 0,
48829
+ "unit": "px"
48830
+ }
47959
48831
  }
47960
48832
  ],
47961
48833
  "filePath": "src/tokens/functional/shadow/shadow.json5",
47962
48834
  "isSource": true,
47963
48835
  "$type": "shadow"
47964
48836
  }
48837
+ },
48838
+ "org.primer.llm": {
48839
+ "usage": ["full-screen-overlay", "side-sheet", "drawer", "large-modal"],
48840
+ "rules": "Use for full-screen or near-full-screen overlays like side sheets and drawers. Maximum elevation in the system. Do NOT use for small floating elements."
47965
48841
  }
47966
48842
  },
47967
48843
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47971,21 +48847,46 @@
47971
48847
  {
47972
48848
  "color": "{overlay.borderColor}",
47973
48849
  "alpha": 1,
47974
- "offsetX": "0px",
47975
- "offsetY": "0px",
47976
- "blur": "0px",
47977
- "spread": "1px"
48850
+ "offsetX": {
48851
+ "value": 0,
48852
+ "unit": "px"
48853
+ },
48854
+ "offsetY": {
48855
+ "value": 0,
48856
+ "unit": "px"
48857
+ },
48858
+ "blur": {
48859
+ "value": 0,
48860
+ "unit": "px"
48861
+ },
48862
+ "spread": {
48863
+ "value": 1,
48864
+ "unit": "px"
48865
+ }
47978
48866
  },
47979
48867
  {
47980
48868
  "color": "{base.color.neutral.0}",
47981
48869
  "alpha": 1,
47982
- "offsetX": "0px",
47983
- "offsetY": "32px",
47984
- "blur": "64px",
47985
- "spread": "0px"
48870
+ "offsetX": {
48871
+ "value": 0,
48872
+ "unit": "px"
48873
+ },
48874
+ "offsetY": {
48875
+ "value": 32,
48876
+ "unit": "px"
48877
+ },
48878
+ "blur": {
48879
+ "value": 64,
48880
+ "unit": "px"
48881
+ },
48882
+ "spread": {
48883
+ "value": 0,
48884
+ "unit": "px"
48885
+ }
47986
48886
  }
47987
48887
  ],
47988
48888
  "$type": "shadow",
48889
+ "$description": "Extra large floating shadow for full-screen overlays and sheets",
47989
48890
  "$extensions": {
47990
48891
  "org.primer.figma": {
47991
48892
  "collection": "mode",
@@ -47997,24 +48898,52 @@
47997
48898
  {
47998
48899
  "color": "{overlay.borderColor}",
47999
48900
  "alpha": 1,
48000
- "offsetX": "0px",
48001
- "offsetY": "0px",
48002
- "blur": "0px",
48003
- "spread": "1px"
48901
+ "offsetX": {
48902
+ "value": 0,
48903
+ "unit": "px"
48904
+ },
48905
+ "offsetY": {
48906
+ "value": 0,
48907
+ "unit": "px"
48908
+ },
48909
+ "blur": {
48910
+ "value": 0,
48911
+ "unit": "px"
48912
+ },
48913
+ "spread": {
48914
+ "value": 1,
48915
+ "unit": "px"
48916
+ }
48004
48917
  },
48005
48918
  {
48006
48919
  "color": "{base.color.neutral.0}",
48007
48920
  "alpha": 1,
48008
- "offsetX": "0px",
48009
- "offsetY": "32px",
48010
- "blur": "64px",
48011
- "spread": "0px"
48921
+ "offsetX": {
48922
+ "value": 0,
48923
+ "unit": "px"
48924
+ },
48925
+ "offsetY": {
48926
+ "value": 32,
48927
+ "unit": "px"
48928
+ },
48929
+ "blur": {
48930
+ "value": 64,
48931
+ "unit": "px"
48932
+ },
48933
+ "spread": {
48934
+ "value": 0,
48935
+ "unit": "px"
48936
+ }
48012
48937
  }
48013
48938
  ],
48014
48939
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48015
48940
  "isSource": true,
48016
48941
  "$type": "shadow"
48017
48942
  }
48943
+ },
48944
+ "org.primer.llm": {
48945
+ "usage": ["full-screen-overlay", "side-sheet", "drawer", "large-modal"],
48946
+ "rules": "Use for full-screen or near-full-screen overlays like side sheets and drawers. Maximum elevation in the system. Do NOT use for small floating elements."
48018
48947
  }
48019
48948
  },
48020
48949
  "key": "{shadow.floating.xlarge}"
@@ -48025,8 +48954,9 @@
48025
48954
  },
48026
48955
  "shadow-inset": {
48027
48956
  "key": "{shadow.inset}",
48028
- "$value": "inset 0px 1px 0px 0px #0104093d",
48957
+ "$value": "inset 0 1px 0 0 #0104093d",
48029
48958
  "$type": "shadow",
48959
+ "$description": "Inset shadow for recessed elements",
48030
48960
  "$extensions": {
48031
48961
  "org.primer.figma": {
48032
48962
  "collection": "mode",
@@ -48037,16 +48967,32 @@
48037
48967
  "$value": {
48038
48968
  "color": "#010409",
48039
48969
  "alpha": 0.24,
48040
- "offsetX": "0px",
48041
- "offsetY": "1px",
48042
- "blur": "0px",
48043
- "spread": "0px",
48970
+ "offsetX": {
48971
+ "value": 0,
48972
+ "unit": "px"
48973
+ },
48974
+ "offsetY": {
48975
+ "value": 1,
48976
+ "unit": "px"
48977
+ },
48978
+ "blur": {
48979
+ "value": 0,
48980
+ "unit": "px"
48981
+ },
48982
+ "spread": {
48983
+ "value": 0,
48984
+ "unit": "px"
48985
+ },
48044
48986
  "inset": true
48045
48987
  },
48046
48988
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48047
48989
  "isSource": true,
48048
48990
  "$type": "shadow"
48049
48991
  }
48992
+ },
48993
+ "org.primer.llm": {
48994
+ "usage": ["input-field", "pressed-button", "recessed-area", "well"],
48995
+ "rules": "Use for elements that appear pressed or inset into the surface. Commonly used for input fields and wells. Do NOT use for floating elements."
48050
48996
  }
48051
48997
  },
48052
48998
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48055,13 +49001,26 @@
48055
49001
  "$value": {
48056
49002
  "color": "{base.color.neutral.0}",
48057
49003
  "alpha": 0.24,
48058
- "offsetX": "0px",
48059
- "offsetY": "1px",
48060
- "blur": "0px",
48061
- "spread": "0px",
49004
+ "offsetX": {
49005
+ "value": 0,
49006
+ "unit": "px"
49007
+ },
49008
+ "offsetY": {
49009
+ "value": 1,
49010
+ "unit": "px"
49011
+ },
49012
+ "blur": {
49013
+ "value": 0,
49014
+ "unit": "px"
49015
+ },
49016
+ "spread": {
49017
+ "value": 0,
49018
+ "unit": "px"
49019
+ },
48062
49020
  "inset": true
48063
49021
  },
48064
49022
  "$type": "shadow",
49023
+ "$description": "Inset shadow for recessed elements",
48065
49024
  "$extensions": {
48066
49025
  "org.primer.figma": {
48067
49026
  "collection": "mode",
@@ -48072,16 +49031,32 @@
48072
49031
  "$value": {
48073
49032
  "color": "{base.color.neutral.0}",
48074
49033
  "alpha": 0.24,
48075
- "offsetX": "0px",
48076
- "offsetY": "1px",
48077
- "blur": "0px",
48078
- "spread": "0px",
49034
+ "offsetX": {
49035
+ "value": 0,
49036
+ "unit": "px"
49037
+ },
49038
+ "offsetY": {
49039
+ "value": 1,
49040
+ "unit": "px"
49041
+ },
49042
+ "blur": {
49043
+ "value": 0,
49044
+ "unit": "px"
49045
+ },
49046
+ "spread": {
49047
+ "value": 0,
49048
+ "unit": "px"
49049
+ },
48079
49050
  "inset": true
48080
49051
  },
48081
49052
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48082
49053
  "isSource": true,
48083
49054
  "$type": "shadow"
48084
49055
  }
49056
+ },
49057
+ "org.primer.llm": {
49058
+ "usage": ["input-field", "pressed-button", "recessed-area", "well"],
49059
+ "rules": "Use for elements that appear pressed or inset into the surface. Commonly used for input fields and wells. Do NOT use for floating elements."
48085
49060
  }
48086
49061
  },
48087
49062
  "key": "{shadow.inset}"
@@ -48092,8 +49067,9 @@
48092
49067
  },
48093
49068
  "shadow-resting-medium": {
48094
49069
  "key": "{shadow.resting.medium}",
48095
- "$value": "0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc",
49070
+ "$value": "0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc",
48096
49071
  "$type": "shadow",
49072
+ "$description": "Medium resting shadow for cards and elevated surfaces",
48097
49073
  "$extensions": {
48098
49074
  "org.primer.figma": {
48099
49075
  "collection": "mode",
@@ -48105,24 +49081,52 @@
48105
49081
  {
48106
49082
  "color": "#010409",
48107
49083
  "alpha": 0.4,
48108
- "offsetX": "0px",
48109
- "offsetY": "1px",
48110
- "blur": "1px",
48111
- "spread": "0px"
49084
+ "offsetX": {
49085
+ "value": 0,
49086
+ "unit": "px"
49087
+ },
49088
+ "offsetY": {
49089
+ "value": 1,
49090
+ "unit": "px"
49091
+ },
49092
+ "blur": {
49093
+ "value": 1,
49094
+ "unit": "px"
49095
+ },
49096
+ "spread": {
49097
+ "value": 0,
49098
+ "unit": "px"
49099
+ }
48112
49100
  },
48113
49101
  {
48114
49102
  "color": "#010409",
48115
49103
  "alpha": 0.8,
48116
- "offsetX": "0px",
48117
- "offsetY": "3px",
48118
- "blur": "6px",
48119
- "spread": "0px"
49104
+ "offsetX": {
49105
+ "value": 0,
49106
+ "unit": "px"
49107
+ },
49108
+ "offsetY": {
49109
+ "value": 3,
49110
+ "unit": "px"
49111
+ },
49112
+ "blur": {
49113
+ "value": 6,
49114
+ "unit": "px"
49115
+ },
49116
+ "spread": {
49117
+ "value": 0,
49118
+ "unit": "px"
49119
+ }
48120
49120
  }
48121
49121
  ],
48122
49122
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48123
49123
  "isSource": true,
48124
49124
  "$type": "shadow"
48125
49125
  }
49126
+ },
49127
+ "org.primer.llm": {
49128
+ "usage": ["card", "panel", "elevated-surface", "elevated-sidebar"],
49129
+ "rules": "Use for cards and content panels that sit above the page surface. Provides moderate elevation without appearing to float. Do NOT use for overlays or modals."
48126
49130
  }
48127
49131
  },
48128
49132
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48132,21 +49136,46 @@
48132
49136
  {
48133
49137
  "color": "{base.color.neutral.0}",
48134
49138
  "alpha": 0.4,
48135
- "offsetX": "0px",
48136
- "offsetY": "1px",
48137
- "blur": "1px",
48138
- "spread": "0px"
49139
+ "offsetX": {
49140
+ "value": 0,
49141
+ "unit": "px"
49142
+ },
49143
+ "offsetY": {
49144
+ "value": 1,
49145
+ "unit": "px"
49146
+ },
49147
+ "blur": {
49148
+ "value": 1,
49149
+ "unit": "px"
49150
+ },
49151
+ "spread": {
49152
+ "value": 0,
49153
+ "unit": "px"
49154
+ }
48139
49155
  },
48140
49156
  {
48141
49157
  "color": "{base.color.neutral.0}",
48142
49158
  "alpha": 0.8,
48143
- "offsetX": "0px",
48144
- "offsetY": "3px",
48145
- "blur": "6px",
48146
- "spread": "0px"
49159
+ "offsetX": {
49160
+ "value": 0,
49161
+ "unit": "px"
49162
+ },
49163
+ "offsetY": {
49164
+ "value": 3,
49165
+ "unit": "px"
49166
+ },
49167
+ "blur": {
49168
+ "value": 6,
49169
+ "unit": "px"
49170
+ },
49171
+ "spread": {
49172
+ "value": 0,
49173
+ "unit": "px"
49174
+ }
48147
49175
  }
48148
49176
  ],
48149
49177
  "$type": "shadow",
49178
+ "$description": "Medium resting shadow for cards and elevated surfaces",
48150
49179
  "$extensions": {
48151
49180
  "org.primer.figma": {
48152
49181
  "collection": "mode",
@@ -48158,24 +49187,52 @@
48158
49187
  {
48159
49188
  "color": "{base.color.neutral.0}",
48160
49189
  "alpha": 0.4,
48161
- "offsetX": "0px",
48162
- "offsetY": "1px",
48163
- "blur": "1px",
48164
- "spread": "0px"
49190
+ "offsetX": {
49191
+ "value": 0,
49192
+ "unit": "px"
49193
+ },
49194
+ "offsetY": {
49195
+ "value": 1,
49196
+ "unit": "px"
49197
+ },
49198
+ "blur": {
49199
+ "value": 1,
49200
+ "unit": "px"
49201
+ },
49202
+ "spread": {
49203
+ "value": 0,
49204
+ "unit": "px"
49205
+ }
48165
49206
  },
48166
49207
  {
48167
49208
  "color": "{base.color.neutral.0}",
48168
49209
  "alpha": 0.8,
48169
- "offsetX": "0px",
48170
- "offsetY": "3px",
48171
- "blur": "6px",
48172
- "spread": "0px"
49210
+ "offsetX": {
49211
+ "value": 0,
49212
+ "unit": "px"
49213
+ },
49214
+ "offsetY": {
49215
+ "value": 3,
49216
+ "unit": "px"
49217
+ },
49218
+ "blur": {
49219
+ "value": 6,
49220
+ "unit": "px"
49221
+ },
49222
+ "spread": {
49223
+ "value": 0,
49224
+ "unit": "px"
49225
+ }
48173
49226
  }
48174
49227
  ],
48175
49228
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48176
49229
  "isSource": true,
48177
49230
  "$type": "shadow"
48178
49231
  }
49232
+ },
49233
+ "org.primer.llm": {
49234
+ "usage": ["card", "panel", "elevated-surface", "elevated-sidebar"],
49235
+ "rules": "Use for cards and content panels that sit above the page surface. Provides moderate elevation without appearing to float. Do NOT use for overlays or modals."
48179
49236
  }
48180
49237
  },
48181
49238
  "key": "{shadow.resting.medium}"
@@ -48186,8 +49243,9 @@
48186
49243
  },
48187
49244
  "shadow-resting-small": {
48188
49245
  "key": "{shadow.resting.small}",
48189
- "$value": "0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999",
49246
+ "$value": "0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999",
48190
49247
  "$type": "shadow",
49248
+ "$description": "Small resting shadow for buttons and interactive elements",
48191
49249
  "$extensions": {
48192
49250
  "org.primer.figma": {
48193
49251
  "collection": "mode",
@@ -48199,19 +49257,43 @@
48199
49257
  {
48200
49258
  "color": "#010409",
48201
49259
  "alpha": 0.6,
48202
- "offsetX": "0px",
48203
- "offsetY": "1px",
48204
- "blur": "1px",
48205
- "spread": "0px",
49260
+ "offsetX": {
49261
+ "value": 0,
49262
+ "unit": "px"
49263
+ },
49264
+ "offsetY": {
49265
+ "value": 1,
49266
+ "unit": "px"
49267
+ },
49268
+ "blur": {
49269
+ "value": 1,
49270
+ "unit": "px"
49271
+ },
49272
+ "spread": {
49273
+ "value": 0,
49274
+ "unit": "px"
49275
+ },
48206
49276
  "inset": false
48207
49277
  },
48208
49278
  {
48209
49279
  "color": "#010409",
48210
49280
  "alpha": 0.6,
48211
- "offsetX": "0px",
48212
- "offsetY": "1px",
48213
- "blur": "3px",
48214
- "spread": "0px",
49281
+ "offsetX": {
49282
+ "value": 0,
49283
+ "unit": "px"
49284
+ },
49285
+ "offsetY": {
49286
+ "value": 1,
49287
+ "unit": "px"
49288
+ },
49289
+ "blur": {
49290
+ "value": 3,
49291
+ "unit": "px"
49292
+ },
49293
+ "spread": {
49294
+ "value": 0,
49295
+ "unit": "px"
49296
+ },
48215
49297
  "inset": false
48216
49298
  }
48217
49299
  ],
@@ -48219,6 +49301,10 @@
48219
49301
  "isSource": true,
48220
49302
  "$type": "shadow"
48221
49303
  }
49304
+ },
49305
+ "org.primer.llm": {
49306
+ "usage": ["button", "interactive-card", "clickable-element"],
49307
+ "rules": "Use for buttons and small interactive elements at rest. Provides subtle depth and clickable affordance. RECOMMENDED for default button shadows."
48222
49308
  }
48223
49309
  },
48224
49310
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48228,23 +49314,48 @@
48228
49314
  {
48229
49315
  "color": "{base.color.neutral.0}",
48230
49316
  "alpha": 0.6,
48231
- "offsetX": "0px",
48232
- "offsetY": "1px",
48233
- "blur": "1px",
48234
- "spread": "0px",
49317
+ "offsetX": {
49318
+ "value": 0,
49319
+ "unit": "px"
49320
+ },
49321
+ "offsetY": {
49322
+ "value": 1,
49323
+ "unit": "px"
49324
+ },
49325
+ "blur": {
49326
+ "value": 1,
49327
+ "unit": "px"
49328
+ },
49329
+ "spread": {
49330
+ "value": 0,
49331
+ "unit": "px"
49332
+ },
48235
49333
  "inset": false
48236
49334
  },
48237
49335
  {
48238
49336
  "color": "{base.color.neutral.0}",
48239
49337
  "alpha": 0.6,
48240
- "offsetX": "0px",
48241
- "offsetY": "1px",
48242
- "blur": "3px",
48243
- "spread": "0px",
49338
+ "offsetX": {
49339
+ "value": 0,
49340
+ "unit": "px"
49341
+ },
49342
+ "offsetY": {
49343
+ "value": 1,
49344
+ "unit": "px"
49345
+ },
49346
+ "blur": {
49347
+ "value": 3,
49348
+ "unit": "px"
49349
+ },
49350
+ "spread": {
49351
+ "value": 0,
49352
+ "unit": "px"
49353
+ },
48244
49354
  "inset": false
48245
49355
  }
48246
49356
  ],
48247
49357
  "$type": "shadow",
49358
+ "$description": "Small resting shadow for buttons and interactive elements",
48248
49359
  "$extensions": {
48249
49360
  "org.primer.figma": {
48250
49361
  "collection": "mode",
@@ -48256,19 +49367,43 @@
48256
49367
  {
48257
49368
  "color": "{base.color.neutral.0}",
48258
49369
  "alpha": 0.6,
48259
- "offsetX": "0px",
48260
- "offsetY": "1px",
48261
- "blur": "1px",
48262
- "spread": "0px",
49370
+ "offsetX": {
49371
+ "value": 0,
49372
+ "unit": "px"
49373
+ },
49374
+ "offsetY": {
49375
+ "value": 1,
49376
+ "unit": "px"
49377
+ },
49378
+ "blur": {
49379
+ "value": 1,
49380
+ "unit": "px"
49381
+ },
49382
+ "spread": {
49383
+ "value": 0,
49384
+ "unit": "px"
49385
+ },
48263
49386
  "inset": false
48264
49387
  },
48265
49388
  {
48266
49389
  "color": "{base.color.neutral.0}",
48267
49390
  "alpha": 0.6,
48268
- "offsetX": "0px",
48269
- "offsetY": "1px",
48270
- "blur": "3px",
48271
- "spread": "0px",
49391
+ "offsetX": {
49392
+ "value": 0,
49393
+ "unit": "px"
49394
+ },
49395
+ "offsetY": {
49396
+ "value": 1,
49397
+ "unit": "px"
49398
+ },
49399
+ "blur": {
49400
+ "value": 3,
49401
+ "unit": "px"
49402
+ },
49403
+ "spread": {
49404
+ "value": 0,
49405
+ "unit": "px"
49406
+ },
48272
49407
  "inset": false
48273
49408
  }
48274
49409
  ],
@@ -48276,6 +49411,10 @@
48276
49411
  "isSource": true,
48277
49412
  "$type": "shadow"
48278
49413
  }
49414
+ },
49415
+ "org.primer.llm": {
49416
+ "usage": ["button", "interactive-card", "clickable-element"],
49417
+ "rules": "Use for buttons and small interactive elements at rest. Provides subtle depth and clickable affordance. RECOMMENDED for default button shadows."
48279
49418
  }
48280
49419
  },
48281
49420
  "key": "{shadow.resting.small}"
@@ -48286,8 +49425,9 @@
48286
49425
  },
48287
49426
  "shadow-resting-xsmall": {
48288
49427
  "key": "{shadow.resting.xsmall}",
48289
- "$value": "0px 1px 1px 0px #010409cc",
49428
+ "$value": "0 1px 1px 0 #010409cc",
48290
49429
  "$type": "shadow",
49430
+ "$description": "Extra small resting shadow for minimal elevation",
48291
49431
  "$extensions": {
48292
49432
  "org.primer.figma": {
48293
49433
  "collection": "mode",
@@ -48298,16 +49438,32 @@
48298
49438
  "$value": {
48299
49439
  "color": "#010409",
48300
49440
  "alpha": 0.8,
48301
- "offsetX": "0px",
48302
- "offsetY": "1px",
48303
- "blur": "1px",
48304
- "spread": "0px",
49441
+ "offsetX": {
49442
+ "value": 0,
49443
+ "unit": "px"
49444
+ },
49445
+ "offsetY": {
49446
+ "value": 1,
49447
+ "unit": "px"
49448
+ },
49449
+ "blur": {
49450
+ "value": 1,
49451
+ "unit": "px"
49452
+ },
49453
+ "spread": {
49454
+ "value": 0,
49455
+ "unit": "px"
49456
+ },
48305
49457
  "inset": false
48306
49458
  },
48307
49459
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48308
49460
  "isSource": true,
48309
49461
  "$type": "shadow"
48310
49462
  }
49463
+ },
49464
+ "org.primer.llm": {
49465
+ "usage": ["badge", "chip", "small-card", "subtle-elevation"],
49466
+ "rules": "Use for very subtle elevation on small elements. Provides minimal lift from surface. Do NOT use for interactive elements needing clear affordance."
48311
49467
  }
48312
49468
  },
48313
49469
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48316,13 +49472,26 @@
48316
49472
  "$value": {
48317
49473
  "color": "{base.color.neutral.0}",
48318
49474
  "alpha": 0.8,
48319
- "offsetX": "0px",
48320
- "offsetY": "1px",
48321
- "blur": "1px",
48322
- "spread": "0px",
49475
+ "offsetX": {
49476
+ "value": 0,
49477
+ "unit": "px"
49478
+ },
49479
+ "offsetY": {
49480
+ "value": 1,
49481
+ "unit": "px"
49482
+ },
49483
+ "blur": {
49484
+ "value": 1,
49485
+ "unit": "px"
49486
+ },
49487
+ "spread": {
49488
+ "value": 0,
49489
+ "unit": "px"
49490
+ },
48323
49491
  "inset": false
48324
49492
  },
48325
49493
  "$type": "shadow",
49494
+ "$description": "Extra small resting shadow for minimal elevation",
48326
49495
  "$extensions": {
48327
49496
  "org.primer.figma": {
48328
49497
  "collection": "mode",
@@ -48333,16 +49502,32 @@
48333
49502
  "$value": {
48334
49503
  "color": "{base.color.neutral.0}",
48335
49504
  "alpha": 0.8,
48336
- "offsetX": "0px",
48337
- "offsetY": "1px",
48338
- "blur": "1px",
48339
- "spread": "0px",
49505
+ "offsetX": {
49506
+ "value": 0,
49507
+ "unit": "px"
49508
+ },
49509
+ "offsetY": {
49510
+ "value": 1,
49511
+ "unit": "px"
49512
+ },
49513
+ "blur": {
49514
+ "value": 1,
49515
+ "unit": "px"
49516
+ },
49517
+ "spread": {
49518
+ "value": 0,
49519
+ "unit": "px"
49520
+ },
48340
49521
  "inset": false
48341
49522
  },
48342
49523
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48343
49524
  "isSource": true,
48344
49525
  "$type": "shadow"
48345
49526
  }
49527
+ },
49528
+ "org.primer.llm": {
49529
+ "usage": ["badge", "chip", "small-card", "subtle-elevation"],
49530
+ "rules": "Use for very subtle elevation on small elements. Provides minimal lift from surface. Do NOT use for interactive elements needing clear affordance."
48346
49531
  }
48347
49532
  },
48348
49533
  "key": "{shadow.resting.xsmall}"