@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
@@ -176,10 +176,22 @@
176
176
  {
177
177
  "color": "#f6f8fa",
178
178
  "alpha": 1,
179
- "offsetX": "0px",
180
- "offsetY": "0px",
181
- "blur": "0px",
182
- "spread": "2px"
179
+ "offsetX": {
180
+ "value": 0,
181
+ "unit": "px"
182
+ },
183
+ "offsetY": {
184
+ "value": 0,
185
+ "unit": "px"
186
+ },
187
+ "blur": {
188
+ "value": 0,
189
+ "unit": "px"
190
+ },
191
+ "spread": {
192
+ "value": 2,
193
+ "unit": "px"
194
+ }
183
195
  }
184
196
  ],
185
197
  "filePath": "src/tokens/component/avatar.json5",
@@ -195,10 +207,22 @@
195
207
  {
196
208
  "color": "{base.color.neutral.0}",
197
209
  "alpha": 0.8,
198
- "offsetX": "0px",
199
- "offsetY": "0px",
200
- "blur": "0px",
201
- "spread": "2px"
210
+ "offsetX": {
211
+ "value": 0,
212
+ "unit": "px"
213
+ },
214
+ "offsetY": {
215
+ "value": 0,
216
+ "unit": "px"
217
+ },
218
+ "blur": {
219
+ "value": 0,
220
+ "unit": "px"
221
+ },
222
+ "spread": {
223
+ "value": 2,
224
+ "unit": "px"
225
+ }
202
226
  }
203
227
  ],
204
228
  "$type": "shadow",
@@ -213,10 +237,22 @@
213
237
  {
214
238
  "color": "{base.color.neutral.1}",
215
239
  "alpha": 1,
216
- "offsetX": "0px",
217
- "offsetY": "0px",
218
- "blur": "0px",
219
- "spread": "2px"
240
+ "offsetX": {
241
+ "value": 0,
242
+ "unit": "px"
243
+ },
244
+ "offsetY": {
245
+ "value": 0,
246
+ "unit": "px"
247
+ },
248
+ "blur": {
249
+ "value": 0,
250
+ "unit": "px"
251
+ },
252
+ "spread": {
253
+ "value": 2,
254
+ "unit": "px"
255
+ }
220
256
  }
221
257
  ],
222
258
  "filePath": "src/tokens/component/avatar.json5",
@@ -230,7 +266,7 @@
230
266
  "name": "avatar-shadow",
231
267
  "attributes": {},
232
268
  "path": ["avatar", "shadow"],
233
- "value": "0px 0px 0px 2px #ffffffcc",
269
+ "value": "0 0 0 2px #ffffffcc",
234
270
  "type": "shadow"
235
271
  },
236
272
  "avatarStack-fade-bgColor-default": {
@@ -543,6 +579,10 @@
543
579
  },
544
580
  "org.primer.overrides": {
545
581
  "dark": "#ffffff"
582
+ },
583
+ "org.primer.llm": {
584
+ "doNotUse": true,
585
+ "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."
546
586
  }
547
587
  },
548
588
  "filePath": "src/tokens/functional/color/bgColor.json5",
@@ -559,6 +599,10 @@
559
599
  },
560
600
  "org.primer.overrides": {
561
601
  "dark": "{base.color.neutral.0}"
602
+ },
603
+ "org.primer.llm": {
604
+ "doNotUse": true,
605
+ "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."
562
606
  }
563
607
  },
564
608
  "key": "{bgColor.black}"
@@ -2435,6 +2479,10 @@
2435
2479
  },
2436
2480
  "org.primer.overrides": {
2437
2481
  "dark": "#1f2328"
2482
+ },
2483
+ "org.primer.llm": {
2484
+ "doNotUse": true,
2485
+ "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."
2438
2486
  }
2439
2487
  },
2440
2488
  "filePath": "src/tokens/functional/color/bgColor.json5",
@@ -2451,6 +2499,10 @@
2451
2499
  },
2452
2500
  "org.primer.overrides": {
2453
2501
  "dark": "{base.color.neutral.13}"
2502
+ },
2503
+ "org.primer.llm": {
2504
+ "doNotUse": true,
2505
+ "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."
2454
2506
  }
2455
2507
  },
2456
2508
  "key": "{bgColor.white}"
@@ -6945,10 +6997,22 @@
6945
6997
  {
6946
6998
  "color": "#471700",
6947
6999
  "alpha": 0.2,
6948
- "offsetX": "0px",
6949
- "offsetY": "1px",
6950
- "blur": "0px",
6951
- "spread": "0px",
7000
+ "offsetX": {
7001
+ "value": 0,
7002
+ "unit": "px"
7003
+ },
7004
+ "offsetY": {
7005
+ "value": 1,
7006
+ "unit": "px"
7007
+ },
7008
+ "blur": {
7009
+ "value": 0,
7010
+ "unit": "px"
7011
+ },
7012
+ "spread": {
7013
+ "value": 0,
7014
+ "unit": "px"
7015
+ },
6952
7016
  "inset": true
6953
7017
  }
6954
7018
  ],
@@ -6961,10 +7025,22 @@
6961
7025
  {
6962
7026
  "color": "#ffffff00",
6963
7027
  "alpha": 0,
6964
- "offsetX": "0px",
6965
- "offsetY": "0px",
6966
- "blur": "0px",
6967
- "spread": "0px",
7028
+ "offsetX": {
7029
+ "value": 0,
7030
+ "unit": "px"
7031
+ },
7032
+ "offsetY": {
7033
+ "value": 0,
7034
+ "unit": "px"
7035
+ },
7036
+ "blur": {
7037
+ "value": 0,
7038
+ "unit": "px"
7039
+ },
7040
+ "spread": {
7041
+ "value": 0,
7042
+ "unit": "px"
7043
+ },
6968
7044
  "inset": false
6969
7045
  }
6970
7046
  ],
@@ -6981,10 +7057,22 @@
6981
7057
  {
6982
7058
  "color": "{base.color.orange.9}",
6983
7059
  "alpha": 0.2,
6984
- "offsetX": "0px",
6985
- "offsetY": "1px",
6986
- "blur": "0px",
6987
- "spread": "0px",
7060
+ "offsetX": {
7061
+ "value": 0,
7062
+ "unit": "px"
7063
+ },
7064
+ "offsetY": {
7065
+ "value": 1,
7066
+ "unit": "px"
7067
+ },
7068
+ "blur": {
7069
+ "value": 0,
7070
+ "unit": "px"
7071
+ },
7072
+ "spread": {
7073
+ "value": 0,
7074
+ "unit": "px"
7075
+ },
6988
7076
  "inset": true
6989
7077
  }
6990
7078
  ],
@@ -7000,10 +7088,22 @@
7000
7088
  {
7001
7089
  "color": "{base.color.orange.9}",
7002
7090
  "alpha": 0.2,
7003
- "offsetX": "0px",
7004
- "offsetY": "1px",
7005
- "blur": "0px",
7006
- "spread": "0px",
7091
+ "offsetX": {
7092
+ "value": 0,
7093
+ "unit": "px"
7094
+ },
7095
+ "offsetY": {
7096
+ "value": 1,
7097
+ "unit": "px"
7098
+ },
7099
+ "blur": {
7100
+ "value": 0,
7101
+ "unit": "px"
7102
+ },
7103
+ "spread": {
7104
+ "value": 0,
7105
+ "unit": "px"
7106
+ },
7007
7107
  "inset": true
7008
7108
  }
7009
7109
  ],
@@ -7016,10 +7116,22 @@
7016
7116
  {
7017
7117
  "color": "{base.color.transparent}",
7018
7118
  "alpha": 0,
7019
- "offsetX": "0px",
7020
- "offsetY": "0px",
7021
- "blur": "0px",
7022
- "spread": "0px",
7119
+ "offsetX": {
7120
+ "value": 0,
7121
+ "unit": "px"
7122
+ },
7123
+ "offsetY": {
7124
+ "value": 0,
7125
+ "unit": "px"
7126
+ },
7127
+ "blur": {
7128
+ "value": 0,
7129
+ "unit": "px"
7130
+ },
7131
+ "spread": {
7132
+ "value": 0,
7133
+ "unit": "px"
7134
+ },
7023
7135
  "inset": false
7024
7136
  }
7025
7137
  ],
@@ -7034,7 +7146,7 @@
7034
7146
  "name": "button-danger-shadow-selected",
7035
7147
  "attributes": {},
7036
7148
  "path": ["button", "danger", "shadow", "selected"],
7037
- "value": "inset 0px 1px 0px 0px #47170033",
7149
+ "value": "inset 0 1px 0 0 #47170033",
7038
7150
  "type": "shadow"
7039
7151
  },
7040
7152
  "button-default-bgColor-active": {
@@ -7408,10 +7520,22 @@
7408
7520
  {
7409
7521
  "color": "#ffffff00",
7410
7522
  "alpha": 0,
7411
- "offsetX": "0px",
7412
- "offsetY": "0px",
7413
- "blur": "0px",
7414
- "spread": "0px",
7523
+ "offsetX": {
7524
+ "value": 0,
7525
+ "unit": "px"
7526
+ },
7527
+ "offsetY": {
7528
+ "value": 0,
7529
+ "unit": "px"
7530
+ },
7531
+ "blur": {
7532
+ "value": 0,
7533
+ "unit": "px"
7534
+ },
7535
+ "spread": {
7536
+ "value": 0,
7537
+ "unit": "px"
7538
+ },
7415
7539
  "inset": false
7416
7540
  }
7417
7541
  ],
@@ -7428,10 +7552,22 @@
7428
7552
  {
7429
7553
  "color": "{base.color.neutral.13}",
7430
7554
  "alpha": 0.04,
7431
- "offsetX": "0px",
7432
- "offsetY": "1px",
7433
- "blur": "0px",
7434
- "spread": "0px",
7555
+ "offsetX": {
7556
+ "value": 0,
7557
+ "unit": "px"
7558
+ },
7559
+ "offsetY": {
7560
+ "value": 1,
7561
+ "unit": "px"
7562
+ },
7563
+ "blur": {
7564
+ "value": 0,
7565
+ "unit": "px"
7566
+ },
7567
+ "spread": {
7568
+ "value": 0,
7569
+ "unit": "px"
7570
+ },
7435
7571
  "inset": false
7436
7572
  }
7437
7573
  ],
@@ -7447,10 +7583,22 @@
7447
7583
  {
7448
7584
  "color": "{base.color.transparent}",
7449
7585
  "alpha": 0,
7450
- "offsetX": "0px",
7451
- "offsetY": "0px",
7452
- "blur": "0px",
7453
- "spread": "0px",
7586
+ "offsetX": {
7587
+ "value": 0,
7588
+ "unit": "px"
7589
+ },
7590
+ "offsetY": {
7591
+ "value": 0,
7592
+ "unit": "px"
7593
+ },
7594
+ "blur": {
7595
+ "value": 0,
7596
+ "unit": "px"
7597
+ },
7598
+ "spread": {
7599
+ "value": 0,
7600
+ "unit": "px"
7601
+ },
7454
7602
  "inset": false
7455
7603
  }
7456
7604
  ],
@@ -7465,7 +7613,7 @@
7465
7613
  "name": "button-default-shadow-resting",
7466
7614
  "attributes": {},
7467
7615
  "path": ["button", "default", "shadow", "resting"],
7468
- "value": "0px 1px 0px 0px #1f23280a",
7616
+ "value": "0 1px 0 0 #1f23280a",
7469
7617
  "type": "shadow"
7470
7618
  },
7471
7619
  "button-inactive-bgColor": {
@@ -9167,10 +9315,22 @@
9167
9315
  {
9168
9316
  "color": "#ffffff00",
9169
9317
  "alpha": 0,
9170
- "offsetX": "0px",
9171
- "offsetY": "0px",
9172
- "blur": "0px",
9173
- "spread": "0px",
9318
+ "offsetX": {
9319
+ "value": 0,
9320
+ "unit": "px"
9321
+ },
9322
+ "offsetY": {
9323
+ "value": 0,
9324
+ "unit": "px"
9325
+ },
9326
+ "blur": {
9327
+ "value": 0,
9328
+ "unit": "px"
9329
+ },
9330
+ "spread": {
9331
+ "value": 0,
9332
+ "unit": "px"
9333
+ },
9174
9334
  "inset": false
9175
9335
  }
9176
9336
  ],
@@ -9187,10 +9347,22 @@
9187
9347
  {
9188
9348
  "color": "{base.color.blue.9}",
9189
9349
  "alpha": 0.2,
9190
- "offsetX": "0px",
9191
- "offsetY": "1px",
9192
- "blur": "0px",
9193
- "spread": "0px",
9350
+ "offsetX": {
9351
+ "value": 0,
9352
+ "unit": "px"
9353
+ },
9354
+ "offsetY": {
9355
+ "value": 1,
9356
+ "unit": "px"
9357
+ },
9358
+ "blur": {
9359
+ "value": 0,
9360
+ "unit": "px"
9361
+ },
9362
+ "spread": {
9363
+ "value": 0,
9364
+ "unit": "px"
9365
+ },
9194
9366
  "inset": true
9195
9367
  }
9196
9368
  ],
@@ -9206,10 +9378,22 @@
9206
9378
  {
9207
9379
  "color": "{base.color.transparent}",
9208
9380
  "alpha": 0,
9209
- "offsetX": "0px",
9210
- "offsetY": "0px",
9211
- "blur": "0px",
9212
- "spread": "0px",
9381
+ "offsetX": {
9382
+ "value": 0,
9383
+ "unit": "px"
9384
+ },
9385
+ "offsetY": {
9386
+ "value": 0,
9387
+ "unit": "px"
9388
+ },
9389
+ "blur": {
9390
+ "value": 0,
9391
+ "unit": "px"
9392
+ },
9393
+ "spread": {
9394
+ "value": 0,
9395
+ "unit": "px"
9396
+ },
9213
9397
  "inset": false
9214
9398
  }
9215
9399
  ],
@@ -9224,7 +9408,7 @@
9224
9408
  "name": "button-outline-shadow-selected",
9225
9409
  "attributes": {},
9226
9410
  "path": ["button", "outline", "shadow", "selected"],
9227
- "value": "inset 0px 1px 0px 0px #00215533",
9411
+ "value": "inset 0 1px 0 0 #00215533",
9228
9412
  "type": "shadow"
9229
9413
  },
9230
9414
  "button-primary-bgColor-active": {
@@ -10375,10 +10559,22 @@
10375
10559
  {
10376
10560
  "color": "#002155",
10377
10561
  "alpha": 0.3,
10378
- "offsetX": "0px",
10379
- "offsetY": "1px",
10380
- "blur": "0px",
10381
- "spread": "0px",
10562
+ "offsetX": {
10563
+ "value": 0,
10564
+ "unit": "px"
10565
+ },
10566
+ "offsetY": {
10567
+ "value": 1,
10568
+ "unit": "px"
10569
+ },
10570
+ "blur": {
10571
+ "value": 0,
10572
+ "unit": "px"
10573
+ },
10574
+ "spread": {
10575
+ "value": 0,
10576
+ "unit": "px"
10577
+ },
10382
10578
  "inset": true
10383
10579
  }
10384
10580
  ],
@@ -10391,10 +10587,22 @@
10391
10587
  {
10392
10588
  "color": "#002155",
10393
10589
  "alpha": 0.3,
10394
- "offsetX": "0px",
10395
- "offsetY": "1px",
10396
- "blur": "0px",
10397
- "spread": "0px",
10590
+ "offsetX": {
10591
+ "value": 0,
10592
+ "unit": "px"
10593
+ },
10594
+ "offsetY": {
10595
+ "value": 1,
10596
+ "unit": "px"
10597
+ },
10598
+ "blur": {
10599
+ "value": 0,
10600
+ "unit": "px"
10601
+ },
10602
+ "spread": {
10603
+ "value": 0,
10604
+ "unit": "px"
10605
+ },
10398
10606
  "inset": true
10399
10607
  }
10400
10608
  ],
@@ -10407,10 +10615,22 @@
10407
10615
  {
10408
10616
  "color": "#ffffff00",
10409
10617
  "alpha": 0,
10410
- "offsetX": "0px",
10411
- "offsetY": "0px",
10412
- "blur": "0px",
10413
- "spread": "0px",
10618
+ "offsetX": {
10619
+ "value": 0,
10620
+ "unit": "px"
10621
+ },
10622
+ "offsetY": {
10623
+ "value": 0,
10624
+ "unit": "px"
10625
+ },
10626
+ "blur": {
10627
+ "value": 0,
10628
+ "unit": "px"
10629
+ },
10630
+ "spread": {
10631
+ "value": 0,
10632
+ "unit": "px"
10633
+ },
10414
10634
  "inset": false
10415
10635
  }
10416
10636
  ],
@@ -10427,10 +10647,22 @@
10427
10647
  {
10428
10648
  "color": "{base.color.blue.9}",
10429
10649
  "alpha": 0.3,
10430
- "offsetX": "0px",
10431
- "offsetY": "1px",
10432
- "blur": "0px",
10433
- "spread": "0px",
10650
+ "offsetX": {
10651
+ "value": 0,
10652
+ "unit": "px"
10653
+ },
10654
+ "offsetY": {
10655
+ "value": 1,
10656
+ "unit": "px"
10657
+ },
10658
+ "blur": {
10659
+ "value": 0,
10660
+ "unit": "px"
10661
+ },
10662
+ "spread": {
10663
+ "value": 0,
10664
+ "unit": "px"
10665
+ },
10434
10666
  "inset": true
10435
10667
  }
10436
10668
  ],
@@ -10446,10 +10678,22 @@
10446
10678
  {
10447
10679
  "color": "{base.color.blue.9}",
10448
10680
  "alpha": 0.3,
10449
- "offsetX": "0px",
10450
- "offsetY": "1px",
10451
- "blur": "0px",
10452
- "spread": "0px",
10681
+ "offsetX": {
10682
+ "value": 0,
10683
+ "unit": "px"
10684
+ },
10685
+ "offsetY": {
10686
+ "value": 1,
10687
+ "unit": "px"
10688
+ },
10689
+ "blur": {
10690
+ "value": 0,
10691
+ "unit": "px"
10692
+ },
10693
+ "spread": {
10694
+ "value": 0,
10695
+ "unit": "px"
10696
+ },
10453
10697
  "inset": true
10454
10698
  }
10455
10699
  ],
@@ -10462,10 +10706,22 @@
10462
10706
  {
10463
10707
  "color": "{base.color.blue.9}",
10464
10708
  "alpha": 0.3,
10465
- "offsetX": "0px",
10466
- "offsetY": "1px",
10467
- "blur": "0px",
10468
- "spread": "0px",
10709
+ "offsetX": {
10710
+ "value": 0,
10711
+ "unit": "px"
10712
+ },
10713
+ "offsetY": {
10714
+ "value": 1,
10715
+ "unit": "px"
10716
+ },
10717
+ "blur": {
10718
+ "value": 0,
10719
+ "unit": "px"
10720
+ },
10721
+ "spread": {
10722
+ "value": 0,
10723
+ "unit": "px"
10724
+ },
10469
10725
  "inset": true
10470
10726
  }
10471
10727
  ],
@@ -10478,10 +10734,22 @@
10478
10734
  {
10479
10735
  "color": "{base.color.transparent}",
10480
10736
  "alpha": 0,
10481
- "offsetX": "0px",
10482
- "offsetY": "0px",
10483
- "blur": "0px",
10484
- "spread": "0px",
10737
+ "offsetX": {
10738
+ "value": 0,
10739
+ "unit": "px"
10740
+ },
10741
+ "offsetY": {
10742
+ "value": 0,
10743
+ "unit": "px"
10744
+ },
10745
+ "blur": {
10746
+ "value": 0,
10747
+ "unit": "px"
10748
+ },
10749
+ "spread": {
10750
+ "value": 0,
10751
+ "unit": "px"
10752
+ },
10485
10753
  "inset": false
10486
10754
  }
10487
10755
  ],
@@ -10496,7 +10764,7 @@
10496
10764
  "name": "button-primary-shadow-selected",
10497
10765
  "attributes": {},
10498
10766
  "path": ["button", "primary", "shadow", "selected"],
10499
- "value": "inset 0px 1px 0px 0px #0021554d",
10767
+ "value": "inset 0 1px 0 0 #0021554d",
10500
10768
  "type": "shadow"
10501
10769
  },
10502
10770
  "button-star-iconColor": {
@@ -37217,6 +37485,10 @@
37217
37485
  },
37218
37486
  "org.primer.overrides": {
37219
37487
  "dark": "#ffffff"
37488
+ },
37489
+ "org.primer.llm": {
37490
+ "doNotUse": true,
37491
+ "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."
37220
37492
  }
37221
37493
  },
37222
37494
  "filePath": "src/tokens/functional/color/fgColor.json5",
@@ -37233,6 +37505,10 @@
37233
37505
  },
37234
37506
  "org.primer.overrides": {
37235
37507
  "dark": "{base.color.neutral.0}"
37508
+ },
37509
+ "org.primer.llm": {
37510
+ "doNotUse": true,
37511
+ "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."
37236
37512
  }
37237
37513
  },
37238
37514
  "key": "{fgColor.black}"
@@ -38206,6 +38482,10 @@
38206
38482
  },
38207
38483
  "org.primer.overrides": {
38208
38484
  "dark": "#1f2328"
38485
+ },
38486
+ "org.primer.llm": {
38487
+ "doNotUse": true,
38488
+ "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."
38209
38489
  }
38210
38490
  },
38211
38491
  "filePath": "src/tokens/functional/color/fgColor.json5",
@@ -38222,6 +38502,10 @@
38222
38502
  },
38223
38503
  "org.primer.overrides": {
38224
38504
  "dark": "{base.color.neutral.13}"
38505
+ },
38506
+ "org.primer.llm": {
38507
+ "doNotUse": true,
38508
+ "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."
38225
38509
  }
38226
38510
  },
38227
38511
  "key": "{fgColor.white}"
@@ -38247,7 +38531,10 @@
38247
38531
  "$value": {
38248
38532
  "color": "{focus.outlineColor}",
38249
38533
  "style": "solid",
38250
- "width": "2px"
38534
+ "width": {
38535
+ "value": 2,
38536
+ "unit": "px"
38537
+ }
38251
38538
  },
38252
38539
  "$type": "border",
38253
38540
  "$description": "Focus ring outline for keyboard navigation and accessibility.",
@@ -47412,18 +47699,42 @@
47412
47699
  {
47413
47700
  "color": "#d1d9e080",
47414
47701
  "alpha": 1,
47415
- "offsetX": "0px",
47416
- "offsetY": "0px",
47417
- "blur": "0px",
47418
- "spread": "1px"
47702
+ "offsetX": {
47703
+ "value": 0,
47704
+ "unit": "px"
47705
+ },
47706
+ "offsetY": {
47707
+ "value": 0,
47708
+ "unit": "px"
47709
+ },
47710
+ "blur": {
47711
+ "value": 0,
47712
+ "unit": "px"
47713
+ },
47714
+ "spread": {
47715
+ "value": 1,
47716
+ "unit": "px"
47717
+ }
47419
47718
  },
47420
47719
  {
47421
47720
  "color": "#ffffff",
47422
47721
  "alpha": 1,
47423
- "offsetX": "0px",
47424
- "offsetY": "24px",
47425
- "blur": "48px",
47426
- "spread": "0px"
47722
+ "offsetX": {
47723
+ "value": 0,
47724
+ "unit": "px"
47725
+ },
47726
+ "offsetY": {
47727
+ "value": 24,
47728
+ "unit": "px"
47729
+ },
47730
+ "blur": {
47731
+ "value": 48,
47732
+ "unit": "px"
47733
+ },
47734
+ "spread": {
47735
+ "value": 0,
47736
+ "unit": "px"
47737
+ }
47427
47738
  }
47428
47739
  ],
47429
47740
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47443,18 +47754,42 @@
47443
47754
  {
47444
47755
  "color": "{overlay.borderColor}",
47445
47756
  "alpha": 0,
47446
- "offsetX": "0px",
47447
- "offsetY": "0px",
47448
- "blur": "0px",
47449
- "spread": "1px"
47757
+ "offsetX": {
47758
+ "value": 0,
47759
+ "unit": "px"
47760
+ },
47761
+ "offsetY": {
47762
+ "value": 0,
47763
+ "unit": "px"
47764
+ },
47765
+ "blur": {
47766
+ "value": 0,
47767
+ "unit": "px"
47768
+ },
47769
+ "spread": {
47770
+ "value": 1,
47771
+ "unit": "px"
47772
+ }
47450
47773
  },
47451
47774
  {
47452
47775
  "color": "{base.color.neutral.12}",
47453
47776
  "alpha": 0.24,
47454
- "offsetX": "0px",
47455
- "offsetY": "40px",
47456
- "blur": "80px",
47457
- "spread": "0px"
47777
+ "offsetX": {
47778
+ "value": 0,
47779
+ "unit": "px"
47780
+ },
47781
+ "offsetY": {
47782
+ "value": 40,
47783
+ "unit": "px"
47784
+ },
47785
+ "blur": {
47786
+ "value": 80,
47787
+ "unit": "px"
47788
+ },
47789
+ "spread": {
47790
+ "value": 0,
47791
+ "unit": "px"
47792
+ }
47458
47793
  }
47459
47794
  ],
47460
47795
  "$type": "shadow",
@@ -47470,18 +47805,42 @@
47470
47805
  {
47471
47806
  "color": "{overlay.borderColor}",
47472
47807
  "alpha": 1,
47473
- "offsetX": "0px",
47474
- "offsetY": "0px",
47475
- "blur": "0px",
47476
- "spread": "1px"
47808
+ "offsetX": {
47809
+ "value": 0,
47810
+ "unit": "px"
47811
+ },
47812
+ "offsetY": {
47813
+ "value": 0,
47814
+ "unit": "px"
47815
+ },
47816
+ "blur": {
47817
+ "value": 0,
47818
+ "unit": "px"
47819
+ },
47820
+ "spread": {
47821
+ "value": 1,
47822
+ "unit": "px"
47823
+ }
47477
47824
  },
47478
47825
  {
47479
47826
  "color": "{base.color.neutral.0}",
47480
47827
  "alpha": 1,
47481
- "offsetX": "0px",
47482
- "offsetY": "24px",
47483
- "blur": "48px",
47484
- "spread": "0px"
47828
+ "offsetX": {
47829
+ "value": 0,
47830
+ "unit": "px"
47831
+ },
47832
+ "offsetY": {
47833
+ "value": 24,
47834
+ "unit": "px"
47835
+ },
47836
+ "blur": {
47837
+ "value": 48,
47838
+ "unit": "px"
47839
+ },
47840
+ "spread": {
47841
+ "value": 0,
47842
+ "unit": "px"
47843
+ }
47485
47844
  }
47486
47845
  ],
47487
47846
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47499,7 +47858,7 @@
47499
47858
  "name": "shadow-floating-large",
47500
47859
  "attributes": {},
47501
47860
  "path": ["shadow", "floating", "large"],
47502
- "value": "0px 0px 0px 1px #d1d9e0, 0px 40px 80px 0px #25292e3d",
47861
+ "value": "0 0 0 1px #d1d9e0, 0 40px 80px 0 #25292e3d",
47503
47862
  "type": "shadow",
47504
47863
  "description": "Large floating shadow for modals and dialogs"
47505
47864
  },
@@ -47513,24 +47872,52 @@
47513
47872
  {
47514
47873
  "color": "#ffffff",
47515
47874
  "alpha": 0.4,
47516
- "offsetX": "0px",
47517
- "offsetY": "6px",
47518
- "blur": "12px",
47519
- "spread": "-3px"
47875
+ "offsetX": {
47876
+ "value": 0,
47877
+ "unit": "px"
47878
+ },
47879
+ "offsetY": {
47880
+ "value": 6,
47881
+ "unit": "px"
47882
+ },
47883
+ "blur": {
47884
+ "value": 12,
47885
+ "unit": "px"
47886
+ },
47887
+ "spread": {
47888
+ "value": -3,
47889
+ "unit": "px"
47890
+ }
47520
47891
  },
47521
47892
  {
47522
47893
  "color": "#ffffff",
47523
47894
  "alpha": 0.4,
47524
- "offsetX": "0px",
47525
- "offsetY": "6px",
47526
- "blur": "18px",
47527
- "spread": "0px"
47895
+ "offsetX": {
47896
+ "value": 0,
47897
+ "unit": "px"
47898
+ },
47899
+ "offsetY": {
47900
+ "value": 6,
47901
+ "unit": "px"
47902
+ },
47903
+ "blur": {
47904
+ "value": 18,
47905
+ "unit": "px"
47906
+ },
47907
+ "spread": {
47908
+ "value": 0,
47909
+ "unit": "px"
47910
+ }
47528
47911
  }
47529
47912
  ],
47530
47913
  "filePath": "src/tokens/functional/shadow/shadow.json5",
47531
47914
  "isSource": true,
47532
47915
  "$type": "shadow"
47533
47916
  }
47917
+ },
47918
+ "org.primer.llm": {
47919
+ "usage": ["legacy-component", "backward-compatibility"],
47920
+ "rules": "DEPRECATED: Use shadow-floating-small instead. Only use for maintaining backward compatibility with existing implementations."
47534
47921
  }
47535
47922
  },
47536
47923
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47540,21 +47927,46 @@
47540
47927
  {
47541
47928
  "color": "{base.color.neutral.12}",
47542
47929
  "alpha": 0.04,
47543
- "offsetX": "0px",
47544
- "offsetY": "6px",
47545
- "blur": "12px",
47546
- "spread": "-3px"
47930
+ "offsetX": {
47931
+ "value": 0,
47932
+ "unit": "px"
47933
+ },
47934
+ "offsetY": {
47935
+ "value": 6,
47936
+ "unit": "px"
47937
+ },
47938
+ "blur": {
47939
+ "value": 12,
47940
+ "unit": "px"
47941
+ },
47942
+ "spread": {
47943
+ "value": -3,
47944
+ "unit": "px"
47945
+ }
47547
47946
  },
47548
47947
  {
47549
47948
  "color": "{base.color.neutral.12}",
47550
47949
  "alpha": 0.12,
47551
- "offsetX": "0px",
47552
- "offsetY": "6px",
47553
- "blur": "18px",
47554
- "spread": "0px"
47950
+ "offsetX": {
47951
+ "value": 0,
47952
+ "unit": "px"
47953
+ },
47954
+ "offsetY": {
47955
+ "value": 6,
47956
+ "unit": "px"
47957
+ },
47958
+ "blur": {
47959
+ "value": 18,
47960
+ "unit": "px"
47961
+ },
47962
+ "spread": {
47963
+ "value": 0,
47964
+ "unit": "px"
47965
+ }
47555
47966
  }
47556
47967
  ],
47557
47968
  "$type": "shadow",
47969
+ "$description": "Legacy floating shadow for backward compatibility",
47558
47970
  "$extensions": {
47559
47971
  "org.primer.figma": {},
47560
47972
  "org.primer.overrides": {
@@ -47563,24 +47975,52 @@
47563
47975
  {
47564
47976
  "color": "{base.color.neutral.0}",
47565
47977
  "alpha": 0.4,
47566
- "offsetX": "0px",
47567
- "offsetY": "6px",
47568
- "blur": "12px",
47569
- "spread": "-3px"
47978
+ "offsetX": {
47979
+ "value": 0,
47980
+ "unit": "px"
47981
+ },
47982
+ "offsetY": {
47983
+ "value": 6,
47984
+ "unit": "px"
47985
+ },
47986
+ "blur": {
47987
+ "value": 12,
47988
+ "unit": "px"
47989
+ },
47990
+ "spread": {
47991
+ "value": -3,
47992
+ "unit": "px"
47993
+ }
47570
47994
  },
47571
47995
  {
47572
47996
  "color": "{base.color.neutral.0}",
47573
47997
  "alpha": 0.4,
47574
- "offsetX": "0px",
47575
- "offsetY": "6px",
47576
- "blur": "18px",
47577
- "spread": "0px"
47998
+ "offsetX": {
47999
+ "value": 0,
48000
+ "unit": "px"
48001
+ },
48002
+ "offsetY": {
48003
+ "value": 6,
48004
+ "unit": "px"
48005
+ },
48006
+ "blur": {
48007
+ "value": 18,
48008
+ "unit": "px"
48009
+ },
48010
+ "spread": {
48011
+ "value": 0,
48012
+ "unit": "px"
48013
+ }
47578
48014
  }
47579
48015
  ],
47580
48016
  "filePath": "src/tokens/functional/shadow/shadow.json5",
47581
48017
  "isSource": true,
47582
48018
  "$type": "shadow"
47583
48019
  }
48020
+ },
48021
+ "org.primer.llm": {
48022
+ "usage": ["legacy-component", "backward-compatibility"],
48023
+ "rules": "DEPRECATED: Use shadow-floating-small instead. Only use for maintaining backward compatibility with existing implementations."
47584
48024
  }
47585
48025
  },
47586
48026
  "key": "{shadow.floating.legacy}"
@@ -47588,8 +48028,9 @@
47588
48028
  "name": "shadow-floating-legacy",
47589
48029
  "attributes": {},
47590
48030
  "path": ["shadow", "floating", "legacy"],
47591
- "value": "0px 6px 12px -3px #25292e0a, 0px 6px 18px 0px #25292e1f",
47592
- "type": "shadow"
48031
+ "value": "0 6px 12px -3px #25292e0a, 0 6px 18px 0 #25292e1f",
48032
+ "type": "shadow",
48033
+ "description": "Legacy floating shadow for backward compatibility"
47593
48034
  },
47594
48035
  "shadow-floating-medium": {
47595
48036
  "key": "{shadow.floating.medium}",
@@ -47604,48 +48045,112 @@
47604
48045
  {
47605
48046
  "color": "#d1d9e080",
47606
48047
  "alpha": 1,
47607
- "offsetX": "0px",
47608
- "offsetY": "0px",
47609
- "blur": "0px",
47610
- "spread": "1px"
48048
+ "offsetX": {
48049
+ "value": 0,
48050
+ "unit": "px"
48051
+ },
48052
+ "offsetY": {
48053
+ "value": 0,
48054
+ "unit": "px"
48055
+ },
48056
+ "blur": {
48057
+ "value": 0,
48058
+ "unit": "px"
48059
+ },
48060
+ "spread": {
48061
+ "value": 1,
48062
+ "unit": "px"
48063
+ }
47611
48064
  },
47612
48065
  {
47613
48066
  "color": "#ffffff",
47614
48067
  "alpha": 0.4,
47615
- "offsetX": "0px",
47616
- "offsetY": "8px",
47617
- "blur": "16px",
47618
- "spread": "-4px"
48068
+ "offsetX": {
48069
+ "value": 0,
48070
+ "unit": "px"
48071
+ },
48072
+ "offsetY": {
48073
+ "value": 8,
48074
+ "unit": "px"
48075
+ },
48076
+ "blur": {
48077
+ "value": 16,
48078
+ "unit": "px"
48079
+ },
48080
+ "spread": {
48081
+ "value": -4,
48082
+ "unit": "px"
48083
+ }
47619
48084
  },
47620
48085
  {
47621
48086
  "color": "#ffffff",
47622
48087
  "alpha": 0.4,
47623
- "offsetX": "0px",
47624
- "offsetY": "4px",
47625
- "blur": "32px",
47626
- "spread": "-4px"
48088
+ "offsetX": {
48089
+ "value": 0,
48090
+ "unit": "px"
48091
+ },
48092
+ "offsetY": {
48093
+ "value": 4,
48094
+ "unit": "px"
48095
+ },
48096
+ "blur": {
48097
+ "value": 32,
48098
+ "unit": "px"
48099
+ },
48100
+ "spread": {
48101
+ "value": -4,
48102
+ "unit": "px"
48103
+ }
47627
48104
  },
47628
48105
  {
47629
48106
  "color": "#ffffff",
47630
48107
  "alpha": 0.4,
47631
- "offsetX": "0px",
47632
- "offsetY": "24px",
47633
- "blur": "48px",
47634
- "spread": "-12px"
48108
+ "offsetX": {
48109
+ "value": 0,
48110
+ "unit": "px"
48111
+ },
48112
+ "offsetY": {
48113
+ "value": 24,
48114
+ "unit": "px"
48115
+ },
48116
+ "blur": {
48117
+ "value": 48,
48118
+ "unit": "px"
48119
+ },
48120
+ "spread": {
48121
+ "value": -12,
48122
+ "unit": "px"
48123
+ }
47635
48124
  },
47636
48125
  {
47637
48126
  "color": "#ffffff",
47638
48127
  "alpha": 0.4,
47639
- "offsetX": "0px",
47640
- "offsetY": "48px",
47641
- "blur": "96px",
47642
- "spread": "-24px"
48128
+ "offsetX": {
48129
+ "value": 0,
48130
+ "unit": "px"
48131
+ },
48132
+ "offsetY": {
48133
+ "value": 48,
48134
+ "unit": "px"
48135
+ },
48136
+ "blur": {
48137
+ "value": 96,
48138
+ "unit": "px"
48139
+ },
48140
+ "spread": {
48141
+ "value": -24,
48142
+ "unit": "px"
48143
+ }
47643
48144
  }
47644
48145
  ],
47645
48146
  "filePath": "src/tokens/functional/shadow/shadow.json5",
47646
48147
  "isSource": true,
47647
48148
  "$type": "shadow"
47648
48149
  }
48150
+ },
48151
+ "org.primer.llm": {
48152
+ "usage": ["popover", "action-menu", "select-panel", "autocomplete"],
48153
+ "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."
47649
48154
  }
47650
48155
  },
47651
48156
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47655,45 +48160,106 @@
47655
48160
  {
47656
48161
  "color": "{overlay.borderColor}",
47657
48162
  "alpha": 0,
47658
- "offsetX": "0px",
47659
- "offsetY": "0px",
47660
- "blur": "0px",
47661
- "spread": "1px"
48163
+ "offsetX": {
48164
+ "value": 0,
48165
+ "unit": "px"
48166
+ },
48167
+ "offsetY": {
48168
+ "value": 0,
48169
+ "unit": "px"
48170
+ },
48171
+ "blur": {
48172
+ "value": 0,
48173
+ "unit": "px"
48174
+ },
48175
+ "spread": {
48176
+ "value": 1,
48177
+ "unit": "px"
48178
+ }
47662
48179
  },
47663
48180
  {
47664
48181
  "color": "{base.color.neutral.12}",
47665
48182
  "alpha": 0.08,
47666
- "offsetX": "0px",
47667
- "offsetY": "8px",
47668
- "blur": "16px",
47669
- "spread": "-4px"
48183
+ "offsetX": {
48184
+ "value": 0,
48185
+ "unit": "px"
48186
+ },
48187
+ "offsetY": {
48188
+ "value": 8,
48189
+ "unit": "px"
48190
+ },
48191
+ "blur": {
48192
+ "value": 16,
48193
+ "unit": "px"
48194
+ },
48195
+ "spread": {
48196
+ "value": -4,
48197
+ "unit": "px"
48198
+ }
47670
48199
  },
47671
48200
  {
47672
48201
  "color": "{base.color.neutral.12}",
47673
48202
  "alpha": 0.08,
47674
- "offsetX": "0px",
47675
- "offsetY": "4px",
47676
- "blur": "32px",
47677
- "spread": "-4px"
48203
+ "offsetX": {
48204
+ "value": 0,
48205
+ "unit": "px"
48206
+ },
48207
+ "offsetY": {
48208
+ "value": 4,
48209
+ "unit": "px"
48210
+ },
48211
+ "blur": {
48212
+ "value": 32,
48213
+ "unit": "px"
48214
+ },
48215
+ "spread": {
48216
+ "value": -4,
48217
+ "unit": "px"
48218
+ }
47678
48219
  },
47679
48220
  {
47680
48221
  "color": "{base.color.neutral.12}",
47681
48222
  "alpha": 0.08,
47682
- "offsetX": "0px",
47683
- "offsetY": "24px",
47684
- "blur": "48px",
47685
- "spread": "-12px"
48223
+ "offsetX": {
48224
+ "value": 0,
48225
+ "unit": "px"
48226
+ },
48227
+ "offsetY": {
48228
+ "value": 24,
48229
+ "unit": "px"
48230
+ },
48231
+ "blur": {
48232
+ "value": 48,
48233
+ "unit": "px"
48234
+ },
48235
+ "spread": {
48236
+ "value": -12,
48237
+ "unit": "px"
48238
+ }
47686
48239
  },
47687
48240
  {
47688
48241
  "color": "{base.color.neutral.12}",
47689
48242
  "alpha": 0.08,
47690
- "offsetX": "0px",
47691
- "offsetY": "48px",
47692
- "blur": "96px",
47693
- "spread": "-24px"
48243
+ "offsetX": {
48244
+ "value": 0,
48245
+ "unit": "px"
48246
+ },
48247
+ "offsetY": {
48248
+ "value": 48,
48249
+ "unit": "px"
48250
+ },
48251
+ "blur": {
48252
+ "value": 96,
48253
+ "unit": "px"
48254
+ },
48255
+ "spread": {
48256
+ "value": -24,
48257
+ "unit": "px"
48258
+ }
47694
48259
  }
47695
48260
  ],
47696
48261
  "$type": "shadow",
48262
+ "$description": "Medium floating shadow for popovers and action menus",
47697
48263
  "$extensions": {
47698
48264
  "org.primer.figma": {
47699
48265
  "collection": "mode",
@@ -47705,48 +48271,112 @@
47705
48271
  {
47706
48272
  "color": "{overlay.borderColor}",
47707
48273
  "alpha": 1,
47708
- "offsetX": "0px",
47709
- "offsetY": "0px",
47710
- "blur": "0px",
47711
- "spread": "1px"
48274
+ "offsetX": {
48275
+ "value": 0,
48276
+ "unit": "px"
48277
+ },
48278
+ "offsetY": {
48279
+ "value": 0,
48280
+ "unit": "px"
48281
+ },
48282
+ "blur": {
48283
+ "value": 0,
48284
+ "unit": "px"
48285
+ },
48286
+ "spread": {
48287
+ "value": 1,
48288
+ "unit": "px"
48289
+ }
47712
48290
  },
47713
48291
  {
47714
48292
  "color": "{base.color.neutral.0}",
47715
48293
  "alpha": 0.4,
47716
- "offsetX": "0px",
47717
- "offsetY": "8px",
47718
- "blur": "16px",
47719
- "spread": "-4px"
48294
+ "offsetX": {
48295
+ "value": 0,
48296
+ "unit": "px"
48297
+ },
48298
+ "offsetY": {
48299
+ "value": 8,
48300
+ "unit": "px"
48301
+ },
48302
+ "blur": {
48303
+ "value": 16,
48304
+ "unit": "px"
48305
+ },
48306
+ "spread": {
48307
+ "value": -4,
48308
+ "unit": "px"
48309
+ }
47720
48310
  },
47721
48311
  {
47722
48312
  "color": "{base.color.neutral.0}",
47723
48313
  "alpha": 0.4,
47724
- "offsetX": "0px",
47725
- "offsetY": "4px",
47726
- "blur": "32px",
47727
- "spread": "-4px"
48314
+ "offsetX": {
48315
+ "value": 0,
48316
+ "unit": "px"
48317
+ },
48318
+ "offsetY": {
48319
+ "value": 4,
48320
+ "unit": "px"
48321
+ },
48322
+ "blur": {
48323
+ "value": 32,
48324
+ "unit": "px"
48325
+ },
48326
+ "spread": {
48327
+ "value": -4,
48328
+ "unit": "px"
48329
+ }
47728
48330
  },
47729
48331
  {
47730
48332
  "color": "{base.color.neutral.0}",
47731
48333
  "alpha": 0.4,
47732
- "offsetX": "0px",
47733
- "offsetY": "24px",
47734
- "blur": "48px",
47735
- "spread": "-12px"
48334
+ "offsetX": {
48335
+ "value": 0,
48336
+ "unit": "px"
48337
+ },
48338
+ "offsetY": {
48339
+ "value": 24,
48340
+ "unit": "px"
48341
+ },
48342
+ "blur": {
48343
+ "value": 48,
48344
+ "unit": "px"
48345
+ },
48346
+ "spread": {
48347
+ "value": -12,
48348
+ "unit": "px"
48349
+ }
47736
48350
  },
47737
48351
  {
47738
48352
  "color": "{base.color.neutral.0}",
47739
48353
  "alpha": 0.4,
47740
- "offsetX": "0px",
47741
- "offsetY": "48px",
47742
- "blur": "96px",
47743
- "spread": "-24px"
48354
+ "offsetX": {
48355
+ "value": 0,
48356
+ "unit": "px"
48357
+ },
48358
+ "offsetY": {
48359
+ "value": 48,
48360
+ "unit": "px"
48361
+ },
48362
+ "blur": {
48363
+ "value": 96,
48364
+ "unit": "px"
48365
+ },
48366
+ "spread": {
48367
+ "value": -24,
48368
+ "unit": "px"
48369
+ }
47744
48370
  }
47745
48371
  ],
47746
48372
  "filePath": "src/tokens/functional/shadow/shadow.json5",
47747
48373
  "isSource": true,
47748
48374
  "$type": "shadow"
47749
48375
  }
48376
+ },
48377
+ "org.primer.llm": {
48378
+ "usage": ["popover", "action-menu", "select-panel", "autocomplete"],
48379
+ "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."
47750
48380
  }
47751
48381
  },
47752
48382
  "key": "{shadow.floating.medium}"
@@ -47754,8 +48384,9 @@
47754
48384
  "name": "shadow-floating-medium",
47755
48385
  "attributes": {},
47756
48386
  "path": ["shadow", "floating", "medium"],
47757
- "value": "0px 0px 0px 1px #d1d9e0, 0px 8px 16px -4px #25292e14, 0px 4px 32px -4px #25292e14, 0px 24px 48px -12px #25292e14, 0px 48px 96px -24px #25292e14",
47758
- "type": "shadow"
48387
+ "value": "0 0 0 1px #d1d9e0, 0 8px 16px -4px #25292e14, 0 4px 32px -4px #25292e14, 0 24px 48px -12px #25292e14, 0 48px 96px -24px #25292e14",
48388
+ "type": "shadow",
48389
+ "description": "Medium floating shadow for popovers and action menus"
47759
48390
  },
47760
48391
  "shadow-floating-small": {
47761
48392
  "key": "{shadow.floating.small}",
@@ -47770,26 +48401,62 @@
47770
48401
  {
47771
48402
  "color": "#d1d9e080",
47772
48403
  "alpha": 1,
47773
- "offsetX": "0px",
47774
- "offsetY": "0px",
47775
- "blur": "0px",
47776
- "spread": "1px"
48404
+ "offsetX": {
48405
+ "value": 0,
48406
+ "unit": "px"
48407
+ },
48408
+ "offsetY": {
48409
+ "value": 0,
48410
+ "unit": "px"
48411
+ },
48412
+ "blur": {
48413
+ "value": 0,
48414
+ "unit": "px"
48415
+ },
48416
+ "spread": {
48417
+ "value": 1,
48418
+ "unit": "px"
48419
+ }
47777
48420
  },
47778
48421
  {
47779
48422
  "color": "#ffffff",
47780
48423
  "alpha": 0.4,
47781
- "offsetX": "0px",
47782
- "offsetY": "6px",
47783
- "blur": "12px",
47784
- "spread": "-3px"
48424
+ "offsetX": {
48425
+ "value": 0,
48426
+ "unit": "px"
48427
+ },
48428
+ "offsetY": {
48429
+ "value": 6,
48430
+ "unit": "px"
48431
+ },
48432
+ "blur": {
48433
+ "value": 12,
48434
+ "unit": "px"
48435
+ },
48436
+ "spread": {
48437
+ "value": -3,
48438
+ "unit": "px"
48439
+ }
47785
48440
  },
47786
48441
  {
47787
48442
  "color": "#ffffff",
47788
48443
  "alpha": 0.4,
47789
- "offsetX": "0px",
47790
- "offsetY": "6px",
47791
- "blur": "18px",
47792
- "spread": "0px"
48444
+ "offsetX": {
48445
+ "value": 0,
48446
+ "unit": "px"
48447
+ },
48448
+ "offsetY": {
48449
+ "value": 6,
48450
+ "unit": "px"
48451
+ },
48452
+ "blur": {
48453
+ "value": 18,
48454
+ "unit": "px"
48455
+ },
48456
+ "spread": {
48457
+ "value": 0,
48458
+ "unit": "px"
48459
+ }
47793
48460
  }
47794
48461
  ],
47795
48462
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47809,26 +48476,62 @@
47809
48476
  {
47810
48477
  "color": "{overlay.borderColor}",
47811
48478
  "alpha": 0.5,
47812
- "offsetX": "0px",
47813
- "offsetY": "0px",
47814
- "blur": "0px",
47815
- "spread": "1px"
48479
+ "offsetX": {
48480
+ "value": 0,
48481
+ "unit": "px"
48482
+ },
48483
+ "offsetY": {
48484
+ "value": 0,
48485
+ "unit": "px"
48486
+ },
48487
+ "blur": {
48488
+ "value": 0,
48489
+ "unit": "px"
48490
+ },
48491
+ "spread": {
48492
+ "value": 1,
48493
+ "unit": "px"
48494
+ }
47816
48495
  },
47817
48496
  {
47818
48497
  "color": "{base.color.neutral.12}",
47819
48498
  "alpha": 0.04,
47820
- "offsetX": "0px",
47821
- "offsetY": "6px",
47822
- "blur": "12px",
47823
- "spread": "-3px"
48499
+ "offsetX": {
48500
+ "value": 0,
48501
+ "unit": "px"
48502
+ },
48503
+ "offsetY": {
48504
+ "value": 6,
48505
+ "unit": "px"
48506
+ },
48507
+ "blur": {
48508
+ "value": 12,
48509
+ "unit": "px"
48510
+ },
48511
+ "spread": {
48512
+ "value": -3,
48513
+ "unit": "px"
48514
+ }
47824
48515
  },
47825
48516
  {
47826
48517
  "color": "{base.color.neutral.12}",
47827
48518
  "alpha": 0.12,
47828
- "offsetX": "0px",
47829
- "offsetY": "6px",
47830
- "blur": "18px",
47831
- "spread": "0px"
48519
+ "offsetX": {
48520
+ "value": 0,
48521
+ "unit": "px"
48522
+ },
48523
+ "offsetY": {
48524
+ "value": 6,
48525
+ "unit": "px"
48526
+ },
48527
+ "blur": {
48528
+ "value": 18,
48529
+ "unit": "px"
48530
+ },
48531
+ "spread": {
48532
+ "value": 0,
48533
+ "unit": "px"
48534
+ }
47832
48535
  }
47833
48536
  ],
47834
48537
  "$type": "shadow",
@@ -47844,26 +48547,62 @@
47844
48547
  {
47845
48548
  "color": "{overlay.borderColor}",
47846
48549
  "alpha": 1,
47847
- "offsetX": "0px",
47848
- "offsetY": "0px",
47849
- "blur": "0px",
47850
- "spread": "1px"
48550
+ "offsetX": {
48551
+ "value": 0,
48552
+ "unit": "px"
48553
+ },
48554
+ "offsetY": {
48555
+ "value": 0,
48556
+ "unit": "px"
48557
+ },
48558
+ "blur": {
48559
+ "value": 0,
48560
+ "unit": "px"
48561
+ },
48562
+ "spread": {
48563
+ "value": 1,
48564
+ "unit": "px"
48565
+ }
47851
48566
  },
47852
48567
  {
47853
48568
  "color": "{base.color.neutral.0}",
47854
48569
  "alpha": 0.4,
47855
- "offsetX": "0px",
47856
- "offsetY": "6px",
47857
- "blur": "12px",
47858
- "spread": "-3px"
48570
+ "offsetX": {
48571
+ "value": 0,
48572
+ "unit": "px"
48573
+ },
48574
+ "offsetY": {
48575
+ "value": 6,
48576
+ "unit": "px"
48577
+ },
48578
+ "blur": {
48579
+ "value": 12,
48580
+ "unit": "px"
48581
+ },
48582
+ "spread": {
48583
+ "value": -3,
48584
+ "unit": "px"
48585
+ }
47859
48586
  },
47860
48587
  {
47861
48588
  "color": "{base.color.neutral.0}",
47862
48589
  "alpha": 0.4,
47863
- "offsetX": "0px",
47864
- "offsetY": "6px",
47865
- "blur": "18px",
47866
- "spread": "0px"
48590
+ "offsetX": {
48591
+ "value": 0,
48592
+ "unit": "px"
48593
+ },
48594
+ "offsetY": {
48595
+ "value": 6,
48596
+ "unit": "px"
48597
+ },
48598
+ "blur": {
48599
+ "value": 18,
48600
+ "unit": "px"
48601
+ },
48602
+ "spread": {
48603
+ "value": 0,
48604
+ "unit": "px"
48605
+ }
47867
48606
  }
47868
48607
  ],
47869
48608
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47881,7 +48620,7 @@
47881
48620
  "name": "shadow-floating-small",
47882
48621
  "attributes": {},
47883
48622
  "path": ["shadow", "floating", "small"],
47884
- "value": "0px 0px 0px 1px #d1d9e080, 0px 6px 12px -3px #25292e0a, 0px 6px 18px 0px #25292e1f",
48623
+ "value": "0 0 0 1px #d1d9e080, 0 6px 12px -3px #25292e0a, 0 6px 18px 0 #25292e1f",
47885
48624
  "type": "shadow",
47886
48625
  "description": "Small floating shadow for dropdowns, tooltips, and small overlays"
47887
48626
  },
@@ -47898,24 +48637,52 @@
47898
48637
  {
47899
48638
  "color": "#d1d9e080",
47900
48639
  "alpha": 1,
47901
- "offsetX": "0px",
47902
- "offsetY": "0px",
47903
- "blur": "0px",
47904
- "spread": "1px"
48640
+ "offsetX": {
48641
+ "value": 0,
48642
+ "unit": "px"
48643
+ },
48644
+ "offsetY": {
48645
+ "value": 0,
48646
+ "unit": "px"
48647
+ },
48648
+ "blur": {
48649
+ "value": 0,
48650
+ "unit": "px"
48651
+ },
48652
+ "spread": {
48653
+ "value": 1,
48654
+ "unit": "px"
48655
+ }
47905
48656
  },
47906
48657
  {
47907
48658
  "color": "#ffffff",
47908
48659
  "alpha": 1,
47909
- "offsetX": "0px",
47910
- "offsetY": "32px",
47911
- "blur": "64px",
47912
- "spread": "0px"
48660
+ "offsetX": {
48661
+ "value": 0,
48662
+ "unit": "px"
48663
+ },
48664
+ "offsetY": {
48665
+ "value": 32,
48666
+ "unit": "px"
48667
+ },
48668
+ "blur": {
48669
+ "value": 64,
48670
+ "unit": "px"
48671
+ },
48672
+ "spread": {
48673
+ "value": 0,
48674
+ "unit": "px"
48675
+ }
47913
48676
  }
47914
48677
  ],
47915
48678
  "filePath": "src/tokens/functional/shadow/shadow.json5",
47916
48679
  "isSource": true,
47917
48680
  "$type": "shadow"
47918
48681
  }
48682
+ },
48683
+ "org.primer.llm": {
48684
+ "usage": ["full-screen-overlay", "side-sheet", "drawer", "large-modal"],
48685
+ "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."
47919
48686
  }
47920
48687
  },
47921
48688
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47925,21 +48692,46 @@
47925
48692
  {
47926
48693
  "color": "{overlay.borderColor}",
47927
48694
  "alpha": 0,
47928
- "offsetX": "0px",
47929
- "offsetY": "0px",
47930
- "blur": "0px",
47931
- "spread": "1px"
48695
+ "offsetX": {
48696
+ "value": 0,
48697
+ "unit": "px"
48698
+ },
48699
+ "offsetY": {
48700
+ "value": 0,
48701
+ "unit": "px"
48702
+ },
48703
+ "blur": {
48704
+ "value": 0,
48705
+ "unit": "px"
48706
+ },
48707
+ "spread": {
48708
+ "value": 1,
48709
+ "unit": "px"
48710
+ }
47932
48711
  },
47933
48712
  {
47934
48713
  "color": "{base.color.neutral.12}",
47935
48714
  "alpha": 0.32,
47936
- "offsetX": "0px",
47937
- "offsetY": "56px",
47938
- "blur": "112px",
47939
- "spread": "0px"
48715
+ "offsetX": {
48716
+ "value": 0,
48717
+ "unit": "px"
48718
+ },
48719
+ "offsetY": {
48720
+ "value": 56,
48721
+ "unit": "px"
48722
+ },
48723
+ "blur": {
48724
+ "value": 112,
48725
+ "unit": "px"
48726
+ },
48727
+ "spread": {
48728
+ "value": 0,
48729
+ "unit": "px"
48730
+ }
47940
48731
  }
47941
48732
  ],
47942
48733
  "$type": "shadow",
48734
+ "$description": "Extra large floating shadow for full-screen overlays and sheets",
47943
48735
  "$extensions": {
47944
48736
  "org.primer.figma": {
47945
48737
  "collection": "mode",
@@ -47951,24 +48743,52 @@
47951
48743
  {
47952
48744
  "color": "{overlay.borderColor}",
47953
48745
  "alpha": 1,
47954
- "offsetX": "0px",
47955
- "offsetY": "0px",
47956
- "blur": "0px",
47957
- "spread": "1px"
48746
+ "offsetX": {
48747
+ "value": 0,
48748
+ "unit": "px"
48749
+ },
48750
+ "offsetY": {
48751
+ "value": 0,
48752
+ "unit": "px"
48753
+ },
48754
+ "blur": {
48755
+ "value": 0,
48756
+ "unit": "px"
48757
+ },
48758
+ "spread": {
48759
+ "value": 1,
48760
+ "unit": "px"
48761
+ }
47958
48762
  },
47959
48763
  {
47960
48764
  "color": "{base.color.neutral.0}",
47961
48765
  "alpha": 1,
47962
- "offsetX": "0px",
47963
- "offsetY": "32px",
47964
- "blur": "64px",
47965
- "spread": "0px"
48766
+ "offsetX": {
48767
+ "value": 0,
48768
+ "unit": "px"
48769
+ },
48770
+ "offsetY": {
48771
+ "value": 32,
48772
+ "unit": "px"
48773
+ },
48774
+ "blur": {
48775
+ "value": 64,
48776
+ "unit": "px"
48777
+ },
48778
+ "spread": {
48779
+ "value": 0,
48780
+ "unit": "px"
48781
+ }
47966
48782
  }
47967
48783
  ],
47968
48784
  "filePath": "src/tokens/functional/shadow/shadow.json5",
47969
48785
  "isSource": true,
47970
48786
  "$type": "shadow"
47971
48787
  }
48788
+ },
48789
+ "org.primer.llm": {
48790
+ "usage": ["full-screen-overlay", "side-sheet", "drawer", "large-modal"],
48791
+ "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."
47972
48792
  }
47973
48793
  },
47974
48794
  "key": "{shadow.floating.xlarge}"
@@ -47976,8 +48796,9 @@
47976
48796
  "name": "shadow-floating-xlarge",
47977
48797
  "attributes": {},
47978
48798
  "path": ["shadow", "floating", "xlarge"],
47979
- "value": "0px 0px 0px 1px #d1d9e0, 0px 56px 112px 0px #25292e52",
47980
- "type": "shadow"
48799
+ "value": "0 0 0 1px #d1d9e0, 0 56px 112px 0 #25292e52",
48800
+ "type": "shadow",
48801
+ "description": "Extra large floating shadow for full-screen overlays and sheets"
47981
48802
  },
47982
48803
  "shadow-inset": {
47983
48804
  "key": "{shadow.inset}",
@@ -47991,16 +48812,32 @@
47991
48812
  "$value": {
47992
48813
  "color": "#ffffff",
47993
48814
  "alpha": 0.24,
47994
- "offsetX": "0px",
47995
- "offsetY": "1px",
47996
- "blur": "0px",
47997
- "spread": "0px",
48815
+ "offsetX": {
48816
+ "value": 0,
48817
+ "unit": "px"
48818
+ },
48819
+ "offsetY": {
48820
+ "value": 1,
48821
+ "unit": "px"
48822
+ },
48823
+ "blur": {
48824
+ "value": 0,
48825
+ "unit": "px"
48826
+ },
48827
+ "spread": {
48828
+ "value": 0,
48829
+ "unit": "px"
48830
+ },
47998
48831
  "inset": true
47999
48832
  },
48000
48833
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48001
48834
  "isSource": true,
48002
48835
  "$type": "shadow"
48003
48836
  }
48837
+ },
48838
+ "org.primer.llm": {
48839
+ "usage": ["input-field", "pressed-button", "recessed-area", "well"],
48840
+ "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."
48004
48841
  }
48005
48842
  },
48006
48843
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48009,13 +48846,26 @@
48009
48846
  "$value": {
48010
48847
  "color": "{base.color.neutral.13}",
48011
48848
  "alpha": 0.04,
48012
- "offsetX": "0px",
48013
- "offsetY": "1px",
48014
- "blur": "0px",
48015
- "spread": "0px",
48849
+ "offsetX": {
48850
+ "value": 0,
48851
+ "unit": "px"
48852
+ },
48853
+ "offsetY": {
48854
+ "value": 1,
48855
+ "unit": "px"
48856
+ },
48857
+ "blur": {
48858
+ "value": 0,
48859
+ "unit": "px"
48860
+ },
48861
+ "spread": {
48862
+ "value": 0,
48863
+ "unit": "px"
48864
+ },
48016
48865
  "inset": true
48017
48866
  },
48018
48867
  "$type": "shadow",
48868
+ "$description": "Inset shadow for recessed elements",
48019
48869
  "$extensions": {
48020
48870
  "org.primer.figma": {
48021
48871
  "collection": "mode",
@@ -48026,16 +48876,32 @@
48026
48876
  "$value": {
48027
48877
  "color": "{base.color.neutral.0}",
48028
48878
  "alpha": 0.24,
48029
- "offsetX": "0px",
48030
- "offsetY": "1px",
48031
- "blur": "0px",
48032
- "spread": "0px",
48879
+ "offsetX": {
48880
+ "value": 0,
48881
+ "unit": "px"
48882
+ },
48883
+ "offsetY": {
48884
+ "value": 1,
48885
+ "unit": "px"
48886
+ },
48887
+ "blur": {
48888
+ "value": 0,
48889
+ "unit": "px"
48890
+ },
48891
+ "spread": {
48892
+ "value": 0,
48893
+ "unit": "px"
48894
+ },
48033
48895
  "inset": true
48034
48896
  },
48035
48897
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48036
48898
  "isSource": true,
48037
48899
  "$type": "shadow"
48038
48900
  }
48901
+ },
48902
+ "org.primer.llm": {
48903
+ "usage": ["input-field", "pressed-button", "recessed-area", "well"],
48904
+ "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."
48039
48905
  }
48040
48906
  },
48041
48907
  "key": "{shadow.inset}"
@@ -48043,8 +48909,9 @@
48043
48909
  "name": "shadow-inset",
48044
48910
  "attributes": {},
48045
48911
  "path": ["shadow", "inset"],
48046
- "value": "inset 0px 1px 0px 0px #1f23280a",
48047
- "type": "shadow"
48912
+ "value": "inset 0 1px 0 0 #1f23280a",
48913
+ "type": "shadow",
48914
+ "description": "Inset shadow for recessed elements"
48048
48915
  },
48049
48916
  "shadow-resting-medium": {
48050
48917
  "key": "{shadow.resting.medium}",
@@ -48059,24 +48926,52 @@
48059
48926
  {
48060
48927
  "color": "#ffffff",
48061
48928
  "alpha": 0.4,
48062
- "offsetX": "0px",
48063
- "offsetY": "1px",
48064
- "blur": "1px",
48065
- "spread": "0px"
48929
+ "offsetX": {
48930
+ "value": 0,
48931
+ "unit": "px"
48932
+ },
48933
+ "offsetY": {
48934
+ "value": 1,
48935
+ "unit": "px"
48936
+ },
48937
+ "blur": {
48938
+ "value": 1,
48939
+ "unit": "px"
48940
+ },
48941
+ "spread": {
48942
+ "value": 0,
48943
+ "unit": "px"
48944
+ }
48066
48945
  },
48067
48946
  {
48068
48947
  "color": "#ffffff",
48069
48948
  "alpha": 0.8,
48070
- "offsetX": "0px",
48071
- "offsetY": "3px",
48072
- "blur": "6px",
48073
- "spread": "0px"
48949
+ "offsetX": {
48950
+ "value": 0,
48951
+ "unit": "px"
48952
+ },
48953
+ "offsetY": {
48954
+ "value": 3,
48955
+ "unit": "px"
48956
+ },
48957
+ "blur": {
48958
+ "value": 6,
48959
+ "unit": "px"
48960
+ },
48961
+ "spread": {
48962
+ "value": 0,
48963
+ "unit": "px"
48964
+ }
48074
48965
  }
48075
48966
  ],
48076
48967
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48077
48968
  "isSource": true,
48078
48969
  "$type": "shadow"
48079
48970
  }
48971
+ },
48972
+ "org.primer.llm": {
48973
+ "usage": ["card", "panel", "elevated-surface", "elevated-sidebar"],
48974
+ "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."
48080
48975
  }
48081
48976
  },
48082
48977
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48086,21 +48981,46 @@
48086
48981
  {
48087
48982
  "color": "{base.color.neutral.12}",
48088
48983
  "alpha": 0.1,
48089
- "offsetX": "0px",
48090
- "offsetY": "1px",
48091
- "blur": "1px",
48092
- "spread": "0px"
48984
+ "offsetX": {
48985
+ "value": 0,
48986
+ "unit": "px"
48987
+ },
48988
+ "offsetY": {
48989
+ "value": 1,
48990
+ "unit": "px"
48991
+ },
48992
+ "blur": {
48993
+ "value": 1,
48994
+ "unit": "px"
48995
+ },
48996
+ "spread": {
48997
+ "value": 0,
48998
+ "unit": "px"
48999
+ }
48093
49000
  },
48094
49001
  {
48095
49002
  "color": "{base.color.neutral.12}",
48096
49003
  "alpha": 0.12,
48097
- "offsetX": "0px",
48098
- "offsetY": "3px",
48099
- "blur": "6px",
48100
- "spread": "0px"
49004
+ "offsetX": {
49005
+ "value": 0,
49006
+ "unit": "px"
49007
+ },
49008
+ "offsetY": {
49009
+ "value": 3,
49010
+ "unit": "px"
49011
+ },
49012
+ "blur": {
49013
+ "value": 6,
49014
+ "unit": "px"
49015
+ },
49016
+ "spread": {
49017
+ "value": 0,
49018
+ "unit": "px"
49019
+ }
48101
49020
  }
48102
49021
  ],
48103
49022
  "$type": "shadow",
49023
+ "$description": "Medium resting shadow for cards and elevated surfaces",
48104
49024
  "$extensions": {
48105
49025
  "org.primer.figma": {
48106
49026
  "collection": "mode",
@@ -48112,24 +49032,52 @@
48112
49032
  {
48113
49033
  "color": "{base.color.neutral.0}",
48114
49034
  "alpha": 0.4,
48115
- "offsetX": "0px",
48116
- "offsetY": "1px",
48117
- "blur": "1px",
48118
- "spread": "0px"
49035
+ "offsetX": {
49036
+ "value": 0,
49037
+ "unit": "px"
49038
+ },
49039
+ "offsetY": {
49040
+ "value": 1,
49041
+ "unit": "px"
49042
+ },
49043
+ "blur": {
49044
+ "value": 1,
49045
+ "unit": "px"
49046
+ },
49047
+ "spread": {
49048
+ "value": 0,
49049
+ "unit": "px"
49050
+ }
48119
49051
  },
48120
49052
  {
48121
49053
  "color": "{base.color.neutral.0}",
48122
49054
  "alpha": 0.8,
48123
- "offsetX": "0px",
48124
- "offsetY": "3px",
48125
- "blur": "6px",
48126
- "spread": "0px"
49055
+ "offsetX": {
49056
+ "value": 0,
49057
+ "unit": "px"
49058
+ },
49059
+ "offsetY": {
49060
+ "value": 3,
49061
+ "unit": "px"
49062
+ },
49063
+ "blur": {
49064
+ "value": 6,
49065
+ "unit": "px"
49066
+ },
49067
+ "spread": {
49068
+ "value": 0,
49069
+ "unit": "px"
49070
+ }
48127
49071
  }
48128
49072
  ],
48129
49073
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48130
49074
  "isSource": true,
48131
49075
  "$type": "shadow"
48132
49076
  }
49077
+ },
49078
+ "org.primer.llm": {
49079
+ "usage": ["card", "panel", "elevated-surface", "elevated-sidebar"],
49080
+ "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."
48133
49081
  }
48134
49082
  },
48135
49083
  "key": "{shadow.resting.medium}"
@@ -48137,8 +49085,9 @@
48137
49085
  "name": "shadow-resting-medium",
48138
49086
  "attributes": {},
48139
49087
  "path": ["shadow", "resting", "medium"],
48140
- "value": "0px 1px 1px 0px #25292e1a, 0px 3px 6px 0px #25292e1f",
48141
- "type": "shadow"
49088
+ "value": "0 1px 1px 0 #25292e1a, 0 3px 6px 0 #25292e1f",
49089
+ "type": "shadow",
49090
+ "description": "Medium resting shadow for cards and elevated surfaces"
48142
49091
  },
48143
49092
  "shadow-resting-small": {
48144
49093
  "key": "{shadow.resting.small}",
@@ -48153,19 +49102,43 @@
48153
49102
  {
48154
49103
  "color": "#ffffff",
48155
49104
  "alpha": 0.6,
48156
- "offsetX": "0px",
48157
- "offsetY": "1px",
48158
- "blur": "1px",
48159
- "spread": "0px",
49105
+ "offsetX": {
49106
+ "value": 0,
49107
+ "unit": "px"
49108
+ },
49109
+ "offsetY": {
49110
+ "value": 1,
49111
+ "unit": "px"
49112
+ },
49113
+ "blur": {
49114
+ "value": 1,
49115
+ "unit": "px"
49116
+ },
49117
+ "spread": {
49118
+ "value": 0,
49119
+ "unit": "px"
49120
+ },
48160
49121
  "inset": false
48161
49122
  },
48162
49123
  {
48163
49124
  "color": "#ffffff",
48164
49125
  "alpha": 0.6,
48165
- "offsetX": "0px",
48166
- "offsetY": "1px",
48167
- "blur": "3px",
48168
- "spread": "0px",
49126
+ "offsetX": {
49127
+ "value": 0,
49128
+ "unit": "px"
49129
+ },
49130
+ "offsetY": {
49131
+ "value": 1,
49132
+ "unit": "px"
49133
+ },
49134
+ "blur": {
49135
+ "value": 3,
49136
+ "unit": "px"
49137
+ },
49138
+ "spread": {
49139
+ "value": 0,
49140
+ "unit": "px"
49141
+ },
48169
49142
  "inset": false
48170
49143
  }
48171
49144
  ],
@@ -48173,6 +49146,10 @@
48173
49146
  "isSource": true,
48174
49147
  "$type": "shadow"
48175
49148
  }
49149
+ },
49150
+ "org.primer.llm": {
49151
+ "usage": ["button", "interactive-card", "clickable-element"],
49152
+ "rules": "Use for buttons and small interactive elements at rest. Provides subtle depth and clickable affordance. RECOMMENDED for default button shadows."
48176
49153
  }
48177
49154
  },
48178
49155
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48181,24 +49158,49 @@
48181
49158
  "$value": [
48182
49159
  {
48183
49160
  "color": "{base.color.neutral.13}",
48184
- "alpha": 0.06,
48185
- "offsetX": "0px",
48186
- "offsetY": "1px",
48187
- "blur": "1px",
48188
- "spread": "0px",
49161
+ "alpha": 0.04,
49162
+ "offsetX": {
49163
+ "value": 0,
49164
+ "unit": "px"
49165
+ },
49166
+ "offsetY": {
49167
+ "value": 1,
49168
+ "unit": "px"
49169
+ },
49170
+ "blur": {
49171
+ "value": 1,
49172
+ "unit": "px"
49173
+ },
49174
+ "spread": {
49175
+ "value": 0,
49176
+ "unit": "px"
49177
+ },
48189
49178
  "inset": false
48190
49179
  },
48191
49180
  {
48192
49181
  "color": "{base.color.neutral.13}",
48193
- "alpha": 0.06,
48194
- "offsetX": "0px",
48195
- "offsetY": "1px",
48196
- "blur": "3px",
48197
- "spread": "0px",
49182
+ "alpha": 0.03,
49183
+ "offsetX": {
49184
+ "value": 0,
49185
+ "unit": "px"
49186
+ },
49187
+ "offsetY": {
49188
+ "value": 1,
49189
+ "unit": "px"
49190
+ },
49191
+ "blur": {
49192
+ "value": 2,
49193
+ "unit": "px"
49194
+ },
49195
+ "spread": {
49196
+ "value": 0,
49197
+ "unit": "px"
49198
+ },
48198
49199
  "inset": false
48199
49200
  }
48200
49201
  ],
48201
49202
  "$type": "shadow",
49203
+ "$description": "Small resting shadow for buttons and interactive elements",
48202
49204
  "$extensions": {
48203
49205
  "org.primer.figma": {
48204
49206
  "collection": "mode",
@@ -48210,19 +49212,43 @@
48210
49212
  {
48211
49213
  "color": "{base.color.neutral.0}",
48212
49214
  "alpha": 0.6,
48213
- "offsetX": "0px",
48214
- "offsetY": "1px",
48215
- "blur": "1px",
48216
- "spread": "0px",
49215
+ "offsetX": {
49216
+ "value": 0,
49217
+ "unit": "px"
49218
+ },
49219
+ "offsetY": {
49220
+ "value": 1,
49221
+ "unit": "px"
49222
+ },
49223
+ "blur": {
49224
+ "value": 1,
49225
+ "unit": "px"
49226
+ },
49227
+ "spread": {
49228
+ "value": 0,
49229
+ "unit": "px"
49230
+ },
48217
49231
  "inset": false
48218
49232
  },
48219
49233
  {
48220
49234
  "color": "{base.color.neutral.0}",
48221
49235
  "alpha": 0.6,
48222
- "offsetX": "0px",
48223
- "offsetY": "1px",
48224
- "blur": "3px",
48225
- "spread": "0px",
49236
+ "offsetX": {
49237
+ "value": 0,
49238
+ "unit": "px"
49239
+ },
49240
+ "offsetY": {
49241
+ "value": 1,
49242
+ "unit": "px"
49243
+ },
49244
+ "blur": {
49245
+ "value": 3,
49246
+ "unit": "px"
49247
+ },
49248
+ "spread": {
49249
+ "value": 0,
49250
+ "unit": "px"
49251
+ },
48226
49252
  "inset": false
48227
49253
  }
48228
49254
  ],
@@ -48230,6 +49256,10 @@
48230
49256
  "isSource": true,
48231
49257
  "$type": "shadow"
48232
49258
  }
49259
+ },
49260
+ "org.primer.llm": {
49261
+ "usage": ["button", "interactive-card", "clickable-element"],
49262
+ "rules": "Use for buttons and small interactive elements at rest. Provides subtle depth and clickable affordance. RECOMMENDED for default button shadows."
48233
49263
  }
48234
49264
  },
48235
49265
  "key": "{shadow.resting.small}"
@@ -48237,8 +49267,9 @@
48237
49267
  "name": "shadow-resting-small",
48238
49268
  "attributes": {},
48239
49269
  "path": ["shadow", "resting", "small"],
48240
- "value": "0px 1px 1px 0px #1f23280f, 0px 1px 3px 0px #1f23280f",
48241
- "type": "shadow"
49270
+ "value": "0 1px 1px 0 #1f23280a, 0 1px 2px 0 #1f232808",
49271
+ "type": "shadow",
49272
+ "description": "Small resting shadow for buttons and interactive elements"
48242
49273
  },
48243
49274
  "shadow-resting-xsmall": {
48244
49275
  "key": "{shadow.resting.xsmall}",
@@ -48252,16 +49283,32 @@
48252
49283
  "$value": {
48253
49284
  "color": "#ffffff",
48254
49285
  "alpha": 0.8,
48255
- "offsetX": "0px",
48256
- "offsetY": "1px",
48257
- "blur": "1px",
48258
- "spread": "0px",
49286
+ "offsetX": {
49287
+ "value": 0,
49288
+ "unit": "px"
49289
+ },
49290
+ "offsetY": {
49291
+ "value": 1,
49292
+ "unit": "px"
49293
+ },
49294
+ "blur": {
49295
+ "value": 1,
49296
+ "unit": "px"
49297
+ },
49298
+ "spread": {
49299
+ "value": 0,
49300
+ "unit": "px"
49301
+ },
48259
49302
  "inset": false
48260
49303
  },
48261
49304
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48262
49305
  "isSource": true,
48263
49306
  "$type": "shadow"
48264
49307
  }
49308
+ },
49309
+ "org.primer.llm": {
49310
+ "usage": ["badge", "chip", "small-card", "subtle-elevation"],
49311
+ "rules": "Use for very subtle elevation on small elements. Provides minimal lift from surface. Do NOT use for interactive elements needing clear affordance."
48265
49312
  }
48266
49313
  },
48267
49314
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48269,14 +49316,27 @@
48269
49316
  "original": {
48270
49317
  "$value": {
48271
49318
  "color": "{base.color.neutral.13}",
48272
- "alpha": 0.06,
48273
- "offsetX": "0px",
48274
- "offsetY": "1px",
48275
- "blur": "1px",
48276
- "spread": "0px",
49319
+ "alpha": 0.05,
49320
+ "offsetX": {
49321
+ "value": 0,
49322
+ "unit": "px"
49323
+ },
49324
+ "offsetY": {
49325
+ "value": 1,
49326
+ "unit": "px"
49327
+ },
49328
+ "blur": {
49329
+ "value": 1,
49330
+ "unit": "px"
49331
+ },
49332
+ "spread": {
49333
+ "value": 0,
49334
+ "unit": "px"
49335
+ },
48277
49336
  "inset": false
48278
49337
  },
48279
49338
  "$type": "shadow",
49339
+ "$description": "Extra small resting shadow for minimal elevation",
48280
49340
  "$extensions": {
48281
49341
  "org.primer.figma": {
48282
49342
  "collection": "mode",
@@ -48287,16 +49347,32 @@
48287
49347
  "$value": {
48288
49348
  "color": "{base.color.neutral.0}",
48289
49349
  "alpha": 0.8,
48290
- "offsetX": "0px",
48291
- "offsetY": "1px",
48292
- "blur": "1px",
48293
- "spread": "0px",
49350
+ "offsetX": {
49351
+ "value": 0,
49352
+ "unit": "px"
49353
+ },
49354
+ "offsetY": {
49355
+ "value": 1,
49356
+ "unit": "px"
49357
+ },
49358
+ "blur": {
49359
+ "value": 1,
49360
+ "unit": "px"
49361
+ },
49362
+ "spread": {
49363
+ "value": 0,
49364
+ "unit": "px"
49365
+ },
48294
49366
  "inset": false
48295
49367
  },
48296
49368
  "filePath": "src/tokens/functional/shadow/shadow.json5",
48297
49369
  "isSource": true,
48298
49370
  "$type": "shadow"
48299
49371
  }
49372
+ },
49373
+ "org.primer.llm": {
49374
+ "usage": ["badge", "chip", "small-card", "subtle-elevation"],
49375
+ "rules": "Use for very subtle elevation on small elements. Provides minimal lift from surface. Do NOT use for interactive elements needing clear affordance."
48300
49376
  }
48301
49377
  },
48302
49378
  "key": "{shadow.resting.xsmall}"
@@ -48304,8 +49380,9 @@
48304
49380
  "name": "shadow-resting-xsmall",
48305
49381
  "attributes": {},
48306
49382
  "path": ["shadow", "resting", "xsmall"],
48307
- "value": "0px 1px 1px 0px #1f23280f",
48308
- "type": "shadow"
49383
+ "value": "0 1px 1px 0 #1f23280d",
49384
+ "type": "shadow",
49385
+ "description": "Extra small resting shadow for minimal elevation"
48309
49386
  },
48310
49387
  "sideNav-bgColor-selected": {
48311
49388
  "key": "{sideNav.bgColor.selected}",