@primer/primitives 11.4.0 → 11.4.1-rc.4e2d1de5

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 (131) hide show
  1. package/DESIGN_TOKENS_GUIDE.md +185 -0
  2. package/DESIGN_TOKENS_SPEC.md +565 -0
  3. package/dist/build/formats/markdownLlmGuidelines.d.ts +7 -6
  4. package/dist/build/formats/markdownLlmGuidelines.js +1034 -60
  5. package/dist/build/schemas/borderToken.d.ts +16 -2
  6. package/dist/build/schemas/dimensionToken.d.ts +8 -1
  7. package/dist/build/schemas/dimensionValue.d.ts +24 -1
  8. package/dist/build/schemas/dimensionValue.js +20 -1
  9. package/dist/build/schemas/durationToken.d.ts +7 -1
  10. package/dist/build/schemas/durationValue.d.ts +11 -1
  11. package/dist/build/schemas/durationValue.js +13 -3
  12. package/dist/build/schemas/shadowToken.d.ts +672 -84
  13. package/dist/build/schemas/transitionToken.d.ts +14 -2
  14. package/dist/build/schemas/typographyToken.d.ts +32 -4
  15. package/dist/build/transformers/dimensionToPixelUnitless.d.ts +3 -2
  16. package/dist/build/transformers/dimensionToPixelUnitless.js +22 -26
  17. package/dist/build/transformers/dimensionToRem.d.ts +2 -1
  18. package/dist/build/transformers/dimensionToRem.js +21 -22
  19. package/dist/build/transformers/dimensionToRemPxArray.d.ts +2 -1
  20. package/dist/build/transformers/dimensionToRemPxArray.js +21 -22
  21. package/dist/build/transformers/durationToCss.d.ts +2 -1
  22. package/dist/build/transformers/durationToCss.js +18 -11
  23. package/dist/build/transformers/utilities/parseDimension.d.ts +12 -0
  24. package/dist/build/transformers/utilities/parseDimension.js +31 -0
  25. package/dist/build/types/dimensionTokenValue.d.ts +9 -0
  26. package/dist/css/functional/themes/dark-colorblind-high-contrast.css +18 -14
  27. package/dist/css/functional/themes/dark-colorblind.css +18 -14
  28. package/dist/css/functional/themes/dark-dimmed-high-contrast.css +18 -14
  29. package/dist/css/functional/themes/dark-dimmed.css +18 -14
  30. package/dist/css/functional/themes/dark-high-contrast.css +18 -14
  31. package/dist/css/functional/themes/dark-tritanopia-high-contrast.css +18 -14
  32. package/dist/css/functional/themes/dark-tritanopia.css +18 -14
  33. package/dist/css/functional/themes/dark.css +18 -14
  34. package/dist/css/functional/themes/light-colorblind-high-contrast.css +18 -14
  35. package/dist/css/functional/themes/light-colorblind.css +18 -14
  36. package/dist/css/functional/themes/light-high-contrast.css +18 -14
  37. package/dist/css/functional/themes/light-tritanopia-high-contrast.css +18 -14
  38. package/dist/css/functional/themes/light-tritanopia.css +18 -14
  39. package/dist/css/functional/themes/light.css +18 -14
  40. package/dist/css/primitives.css +4 -0
  41. package/dist/docs/base/motion/motion.json +96 -24
  42. package/dist/docs/base/size/size.json +76 -19
  43. package/dist/docs/base/typography/typography.json +24 -6
  44. package/dist/docs/functional/size/border.json +20 -5
  45. package/dist/docs/functional/size/breakpoints.json +24 -6
  46. package/dist/docs/functional/size/radius.json +16 -4
  47. package/dist/docs/functional/size/size.json +60 -15
  48. package/dist/docs/functional/themes/dark-colorblind-high-contrast.json +109 -7
  49. package/dist/docs/functional/themes/dark-colorblind.json +109 -7
  50. package/dist/docs/functional/themes/dark-dimmed-high-contrast.json +109 -7
  51. package/dist/docs/functional/themes/dark-dimmed.json +109 -7
  52. package/dist/docs/functional/themes/dark-high-contrast.json +109 -7
  53. package/dist/docs/functional/themes/dark-tritanopia-high-contrast.json +109 -7
  54. package/dist/docs/functional/themes/dark-tritanopia.json +109 -7
  55. package/dist/docs/functional/themes/dark.json +109 -7
  56. package/dist/docs/functional/themes/light-colorblind-high-contrast.json +115 -13
  57. package/dist/docs/functional/themes/light-colorblind.json +115 -13
  58. package/dist/docs/functional/themes/light-high-contrast.json +115 -13
  59. package/dist/docs/functional/themes/light-tritanopia-high-contrast.json +115 -13
  60. package/dist/docs/functional/themes/light-tritanopia.json +115 -13
  61. package/dist/docs/functional/themes/light.json +115 -13
  62. package/dist/docs/functional/typography/typography.json +8 -2
  63. package/dist/fallbacks/base/motion/motion.json +48 -12
  64. package/dist/figma/themes/light-colorblind.json +4 -4
  65. package/dist/figma/themes/light-high-contrast.json +4 -4
  66. package/dist/figma/themes/light-tritanopia.json +4 -4
  67. package/dist/figma/themes/light.json +4 -4
  68. package/dist/internalCss/dark-colorblind-high-contrast.css +14 -14
  69. package/dist/internalCss/dark-colorblind.css +14 -14
  70. package/dist/internalCss/dark-dimmed-high-contrast.css +14 -14
  71. package/dist/internalCss/dark-dimmed.css +14 -14
  72. package/dist/internalCss/dark-high-contrast.css +14 -14
  73. package/dist/internalCss/dark-tritanopia-high-contrast.css +14 -14
  74. package/dist/internalCss/dark-tritanopia.css +14 -14
  75. package/dist/internalCss/dark.css +14 -14
  76. package/dist/internalCss/light-colorblind-high-contrast.css +14 -14
  77. package/dist/internalCss/light-colorblind.css +14 -14
  78. package/dist/internalCss/light-high-contrast.css +14 -14
  79. package/dist/internalCss/light-tritanopia-high-contrast.css +14 -14
  80. package/dist/internalCss/light-tritanopia.css +14 -14
  81. package/dist/internalCss/light.css +14 -14
  82. package/dist/styleLint/base/motion/motion.json +96 -24
  83. package/dist/styleLint/base/size/size.json +76 -19
  84. package/dist/styleLint/base/typography/typography.json +30 -12
  85. package/dist/styleLint/functional/size/border.json +21 -6
  86. package/dist/styleLint/functional/size/breakpoints.json +24 -6
  87. package/dist/styleLint/functional/size/radius.json +17 -5
  88. package/dist/styleLint/functional/size/size-coarse.json +3 -3
  89. package/dist/styleLint/functional/size/size-fine.json +3 -3
  90. package/dist/styleLint/functional/size/size.json +111 -66
  91. package/dist/styleLint/functional/themes/dark-colorblind-high-contrast.json +129 -27
  92. package/dist/styleLint/functional/themes/dark-colorblind.json +129 -27
  93. package/dist/styleLint/functional/themes/dark-dimmed-high-contrast.json +129 -27
  94. package/dist/styleLint/functional/themes/dark-dimmed.json +129 -27
  95. package/dist/styleLint/functional/themes/dark-high-contrast.json +129 -27
  96. package/dist/styleLint/functional/themes/dark-tritanopia-high-contrast.json +129 -27
  97. package/dist/styleLint/functional/themes/dark-tritanopia.json +129 -27
  98. package/dist/styleLint/functional/themes/dark.json +129 -27
  99. package/dist/styleLint/functional/themes/light-colorblind-high-contrast.json +135 -33
  100. package/dist/styleLint/functional/themes/light-colorblind.json +135 -33
  101. package/dist/styleLint/functional/themes/light-high-contrast.json +135 -33
  102. package/dist/styleLint/functional/themes/light-tritanopia-high-contrast.json +135 -33
  103. package/dist/styleLint/functional/themes/light-tritanopia.json +135 -33
  104. package/dist/styleLint/functional/themes/light.json +135 -33
  105. package/dist/styleLint/functional/typography/typography.json +28 -22
  106. package/package.json +6 -5
  107. package/src/tokens/base/motion/timing.json5 +12 -12
  108. package/src/tokens/base/size/size.json5 +19 -19
  109. package/src/tokens/base/typography/typography.json5 +6 -6
  110. package/src/tokens/functional/color/bgColor.json5 +8 -0
  111. package/src/tokens/functional/color/display.json5 +7 -0
  112. package/src/tokens/functional/color/fgColor.json5 +8 -0
  113. package/src/tokens/functional/color/syntax.json5 +14 -0
  114. package/src/tokens/functional/shadow/shadow.json5 +39 -4
  115. package/src/tokens/functional/size/border.json5 +5 -5
  116. package/src/tokens/functional/size/breakpoints.json5 +6 -6
  117. package/src/tokens/functional/size/radius.json5 +4 -4
  118. package/src/tokens/functional/size/size.json5 +15 -15
  119. package/src/tokens/functional/typography/typography.json5 +8 -4
  120. package/dist/build/parsers/index.d.ts +0 -1
  121. package/dist/build/parsers/index.js +0 -1
  122. package/dist/build/parsers/w3cJsonParser.d.ts +0 -6
  123. package/dist/build/parsers/w3cJsonParser.js +0 -25
  124. package/dist/removed/testing.json5 +0 -4
  125. package/guidelines/color.llm.md +0 -16
  126. package/guidelines/guidelines.llm.md +0 -34
  127. package/guidelines/motion.llm.md +0 -41
  128. package/guidelines/spacing.llm.md +0 -20
  129. package/guidelines/typography.llm.md +0 -14
  130. package/src/tokens/removed/testing.json5 +0 -4
  131. package/token-guidelines.llm.md +0 -695
@@ -543,6 +543,10 @@
543
543
  },
544
544
  "org.primer.overrides": {
545
545
  "dark": "#ffffff"
546
+ },
547
+ "org.primer.llm": {
548
+ "doNotUse": true,
549
+ "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
550
  }
547
551
  },
548
552
  "filePath": "src/tokens/functional/color/bgColor.json5",
@@ -559,6 +563,10 @@
559
563
  },
560
564
  "org.primer.overrides": {
561
565
  "dark": "{base.color.neutral.0}"
566
+ },
567
+ "org.primer.llm": {
568
+ "doNotUse": true,
569
+ "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
570
  }
563
571
  },
564
572
  "key": "{bgColor.black}"
@@ -2433,6 +2441,10 @@
2433
2441
  },
2434
2442
  "org.primer.overrides": {
2435
2443
  "dark": "#010409"
2444
+ },
2445
+ "org.primer.llm": {
2446
+ "doNotUse": true,
2447
+ "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."
2436
2448
  }
2437
2449
  },
2438
2450
  "filePath": "src/tokens/functional/color/bgColor.json5",
@@ -2449,6 +2461,10 @@
2449
2461
  },
2450
2462
  "org.primer.overrides": {
2451
2463
  "dark": "{base.color.neutral.13}"
2464
+ },
2465
+ "org.primer.llm": {
2466
+ "doNotUse": true,
2467
+ "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."
2452
2468
  }
2453
2469
  },
2454
2470
  "key": "{bgColor.white}"
@@ -37213,6 +37229,10 @@
37213
37229
  },
37214
37230
  "org.primer.overrides": {
37215
37231
  "dark": "#ffffff"
37232
+ },
37233
+ "org.primer.llm": {
37234
+ "doNotUse": true,
37235
+ "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."
37216
37236
  }
37217
37237
  },
37218
37238
  "filePath": "src/tokens/functional/color/fgColor.json5",
@@ -37229,6 +37249,10 @@
37229
37249
  },
37230
37250
  "org.primer.overrides": {
37231
37251
  "dark": "{base.color.neutral.0}"
37252
+ },
37253
+ "org.primer.llm": {
37254
+ "doNotUse": true,
37255
+ "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."
37232
37256
  }
37233
37257
  },
37234
37258
  "key": "{fgColor.black}"
@@ -38202,6 +38226,10 @@
38202
38226
  },
38203
38227
  "org.primer.overrides": {
38204
38228
  "dark": "#010409"
38229
+ },
38230
+ "org.primer.llm": {
38231
+ "doNotUse": true,
38232
+ "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."
38205
38233
  }
38206
38234
  },
38207
38235
  "filePath": "src/tokens/functional/color/fgColor.json5",
@@ -38218,6 +38246,10 @@
38218
38246
  },
38219
38247
  "org.primer.overrides": {
38220
38248
  "dark": "{base.color.neutral.13}"
38249
+ },
38250
+ "org.primer.llm": {
38251
+ "doNotUse": true,
38252
+ "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."
38221
38253
  }
38222
38254
  },
38223
38255
  "key": "{fgColor.white}"
@@ -47527,6 +47559,10 @@
47527
47559
  "isSource": true,
47528
47560
  "$type": "shadow"
47529
47561
  }
47562
+ },
47563
+ "org.primer.llm": {
47564
+ "usage": ["legacy-component", "backward-compatibility"],
47565
+ "rules": "DEPRECATED: Use shadow-floating-small instead. Only use for maintaining backward compatibility with existing implementations."
47530
47566
  }
47531
47567
  },
47532
47568
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47551,6 +47587,7 @@
47551
47587
  }
47552
47588
  ],
47553
47589
  "$type": "shadow",
47590
+ "$description": "Legacy floating shadow for backward compatibility",
47554
47591
  "$extensions": {
47555
47592
  "org.primer.figma": {},
47556
47593
  "org.primer.overrides": {
@@ -47577,6 +47614,10 @@
47577
47614
  "isSource": true,
47578
47615
  "$type": "shadow"
47579
47616
  }
47617
+ },
47618
+ "org.primer.llm": {
47619
+ "usage": ["legacy-component", "backward-compatibility"],
47620
+ "rules": "DEPRECATED: Use shadow-floating-small instead. Only use for maintaining backward compatibility with existing implementations."
47580
47621
  }
47581
47622
  },
47582
47623
  "key": "{shadow.floating.legacy}"
@@ -47585,7 +47626,8 @@
47585
47626
  "attributes": {},
47586
47627
  "path": ["shadow", "floating", "legacy"],
47587
47628
  "value": "0px 6px 12px -3px #25292e0a, 0px 6px 18px 0px #25292e1f",
47588
- "type": "shadow"
47629
+ "type": "shadow",
47630
+ "description": "Legacy floating shadow for backward compatibility"
47589
47631
  },
47590
47632
  "shadow-floating-medium": {
47591
47633
  "key": "{shadow.floating.medium}",
@@ -47642,6 +47684,10 @@
47642
47684
  "isSource": true,
47643
47685
  "$type": "shadow"
47644
47686
  }
47687
+ },
47688
+ "org.primer.llm": {
47689
+ "usage": ["popover", "action-menu", "select-panel", "autocomplete"],
47690
+ "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."
47645
47691
  }
47646
47692
  },
47647
47693
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47690,6 +47736,7 @@
47690
47736
  }
47691
47737
  ],
47692
47738
  "$type": "shadow",
47739
+ "$description": "Medium floating shadow for popovers and action menus",
47693
47740
  "$extensions": {
47694
47741
  "org.primer.figma": {
47695
47742
  "collection": "mode",
@@ -47743,6 +47790,10 @@
47743
47790
  "isSource": true,
47744
47791
  "$type": "shadow"
47745
47792
  }
47793
+ },
47794
+ "org.primer.llm": {
47795
+ "usage": ["popover", "action-menu", "select-panel", "autocomplete"],
47796
+ "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."
47746
47797
  }
47747
47798
  },
47748
47799
  "key": "{shadow.floating.medium}"
@@ -47751,7 +47802,8 @@
47751
47802
  "attributes": {},
47752
47803
  "path": ["shadow", "floating", "medium"],
47753
47804
  "value": "0px 0px 0px 1px #454c54, 0px 8px 16px -4px #25292e14, 0px 4px 32px -4px #25292e14, 0px 24px 48px -12px #25292e14, 0px 48px 96px -24px #25292e14",
47754
- "type": "shadow"
47805
+ "type": "shadow",
47806
+ "description": "Medium floating shadow for popovers and action menus"
47755
47807
  },
47756
47808
  "shadow-floating-small": {
47757
47809
  "key": "{shadow.floating.small}",
@@ -47912,6 +47964,10 @@
47912
47964
  "isSource": true,
47913
47965
  "$type": "shadow"
47914
47966
  }
47967
+ },
47968
+ "org.primer.llm": {
47969
+ "usage": ["full-screen-overlay", "side-sheet", "drawer", "large-modal"],
47970
+ "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."
47915
47971
  }
47916
47972
  },
47917
47973
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47936,6 +47992,7 @@
47936
47992
  }
47937
47993
  ],
47938
47994
  "$type": "shadow",
47995
+ "$description": "Extra large floating shadow for full-screen overlays and sheets",
47939
47996
  "$extensions": {
47940
47997
  "org.primer.figma": {
47941
47998
  "collection": "mode",
@@ -47965,6 +48022,10 @@
47965
48022
  "isSource": true,
47966
48023
  "$type": "shadow"
47967
48024
  }
48025
+ },
48026
+ "org.primer.llm": {
48027
+ "usage": ["full-screen-overlay", "side-sheet", "drawer", "large-modal"],
48028
+ "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."
47968
48029
  }
47969
48030
  },
47970
48031
  "key": "{shadow.floating.xlarge}"
@@ -47973,7 +48034,8 @@
47973
48034
  "attributes": {},
47974
48035
  "path": ["shadow", "floating", "xlarge"],
47975
48036
  "value": "0px 0px 0px 1px #454c54, 0px 56px 112px 0px #25292e52",
47976
- "type": "shadow"
48037
+ "type": "shadow",
48038
+ "description": "Extra large floating shadow for full-screen overlays and sheets"
47977
48039
  },
47978
48040
  "shadow-inset": {
47979
48041
  "key": "{shadow.inset}",
@@ -47997,6 +48059,10 @@
47997
48059
  "isSource": true,
47998
48060
  "$type": "shadow"
47999
48061
  }
48062
+ },
48063
+ "org.primer.llm": {
48064
+ "usage": ["input-field", "pressed-button", "recessed-area", "well"],
48065
+ "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."
48000
48066
  }
48001
48067
  },
48002
48068
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48012,6 +48078,7 @@
48012
48078
  "inset": true
48013
48079
  },
48014
48080
  "$type": "shadow",
48081
+ "$description": "Inset shadow for recessed elements",
48015
48082
  "$extensions": {
48016
48083
  "org.primer.figma": {
48017
48084
  "collection": "mode",
@@ -48032,6 +48099,10 @@
48032
48099
  "isSource": true,
48033
48100
  "$type": "shadow"
48034
48101
  }
48102
+ },
48103
+ "org.primer.llm": {
48104
+ "usage": ["input-field", "pressed-button", "recessed-area", "well"],
48105
+ "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."
48035
48106
  }
48036
48107
  },
48037
48108
  "key": "{shadow.inset}"
@@ -48040,7 +48111,8 @@
48040
48111
  "attributes": {},
48041
48112
  "path": ["shadow", "inset"],
48042
48113
  "value": "inset 0px 1px 0px 0px #0104090a",
48043
- "type": "shadow"
48114
+ "type": "shadow",
48115
+ "description": "Inset shadow for recessed elements"
48044
48116
  },
48045
48117
  "shadow-resting-medium": {
48046
48118
  "key": "{shadow.resting.medium}",
@@ -48073,6 +48145,10 @@
48073
48145
  "isSource": true,
48074
48146
  "$type": "shadow"
48075
48147
  }
48148
+ },
48149
+ "org.primer.llm": {
48150
+ "usage": ["card", "panel", "elevated-surface", "elevated-sidebar"],
48151
+ "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."
48076
48152
  }
48077
48153
  },
48078
48154
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48097,6 +48173,7 @@
48097
48173
  }
48098
48174
  ],
48099
48175
  "$type": "shadow",
48176
+ "$description": "Medium resting shadow for cards and elevated surfaces",
48100
48177
  "$extensions": {
48101
48178
  "org.primer.figma": {
48102
48179
  "collection": "mode",
@@ -48126,6 +48203,10 @@
48126
48203
  "isSource": true,
48127
48204
  "$type": "shadow"
48128
48205
  }
48206
+ },
48207
+ "org.primer.llm": {
48208
+ "usage": ["card", "panel", "elevated-surface", "elevated-sidebar"],
48209
+ "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."
48129
48210
  }
48130
48211
  },
48131
48212
  "key": "{shadow.resting.medium}"
@@ -48134,7 +48215,8 @@
48134
48215
  "attributes": {},
48135
48216
  "path": ["shadow", "resting", "medium"],
48136
48217
  "value": "0px 1px 1px 0px #25292e1a, 0px 3px 6px 0px #25292e1f",
48137
- "type": "shadow"
48218
+ "type": "shadow",
48219
+ "description": "Medium resting shadow for cards and elevated surfaces"
48138
48220
  },
48139
48221
  "shadow-resting-small": {
48140
48222
  "key": "{shadow.resting.small}",
@@ -48169,6 +48251,10 @@
48169
48251
  "isSource": true,
48170
48252
  "$type": "shadow"
48171
48253
  }
48254
+ },
48255
+ "org.primer.llm": {
48256
+ "usage": ["button", "interactive-card", "clickable-element"],
48257
+ "rules": "Use for buttons and small interactive elements at rest. Provides subtle depth and clickable affordance. RECOMMENDED for default button shadows."
48172
48258
  }
48173
48259
  },
48174
48260
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48177,7 +48263,7 @@
48177
48263
  "$value": [
48178
48264
  {
48179
48265
  "color": "{base.color.neutral.13}",
48180
- "alpha": 0.06,
48266
+ "alpha": 0.04,
48181
48267
  "offsetX": "0px",
48182
48268
  "offsetY": "1px",
48183
48269
  "blur": "1px",
@@ -48186,15 +48272,16 @@
48186
48272
  },
48187
48273
  {
48188
48274
  "color": "{base.color.neutral.13}",
48189
- "alpha": 0.06,
48275
+ "alpha": 0.03,
48190
48276
  "offsetX": "0px",
48191
48277
  "offsetY": "1px",
48192
- "blur": "3px",
48278
+ "blur": "2px",
48193
48279
  "spread": "0px",
48194
48280
  "inset": false
48195
48281
  }
48196
48282
  ],
48197
48283
  "$type": "shadow",
48284
+ "$description": "Small resting shadow for buttons and interactive elements",
48198
48285
  "$extensions": {
48199
48286
  "org.primer.figma": {
48200
48287
  "collection": "mode",
@@ -48226,6 +48313,10 @@
48226
48313
  "isSource": true,
48227
48314
  "$type": "shadow"
48228
48315
  }
48316
+ },
48317
+ "org.primer.llm": {
48318
+ "usage": ["button", "interactive-card", "clickable-element"],
48319
+ "rules": "Use for buttons and small interactive elements at rest. Provides subtle depth and clickable affordance. RECOMMENDED for default button shadows."
48229
48320
  }
48230
48321
  },
48231
48322
  "key": "{shadow.resting.small}"
@@ -48233,8 +48324,9 @@
48233
48324
  "name": "shadow-resting-small",
48234
48325
  "attributes": {},
48235
48326
  "path": ["shadow", "resting", "small"],
48236
- "value": "0px 1px 1px 0px #0104090f, 0px 1px 3px 0px #0104090f",
48237
- "type": "shadow"
48327
+ "value": "0px 1px 1px 0px #0104090a, 0px 1px 2px 0px #01040908",
48328
+ "type": "shadow",
48329
+ "description": "Small resting shadow for buttons and interactive elements"
48238
48330
  },
48239
48331
  "shadow-resting-xsmall": {
48240
48332
  "key": "{shadow.resting.xsmall}",
@@ -48258,6 +48350,10 @@
48258
48350
  "isSource": true,
48259
48351
  "$type": "shadow"
48260
48352
  }
48353
+ },
48354
+ "org.primer.llm": {
48355
+ "usage": ["badge", "chip", "small-card", "subtle-elevation"],
48356
+ "rules": "Use for very subtle elevation on small elements. Provides minimal lift from surface. Do NOT use for interactive elements needing clear affordance."
48261
48357
  }
48262
48358
  },
48263
48359
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48265,7 +48361,7 @@
48265
48361
  "original": {
48266
48362
  "$value": {
48267
48363
  "color": "{base.color.neutral.13}",
48268
- "alpha": 0.06,
48364
+ "alpha": 0.05,
48269
48365
  "offsetX": "0px",
48270
48366
  "offsetY": "1px",
48271
48367
  "blur": "1px",
@@ -48273,6 +48369,7 @@
48273
48369
  "inset": false
48274
48370
  },
48275
48371
  "$type": "shadow",
48372
+ "$description": "Extra small resting shadow for minimal elevation",
48276
48373
  "$extensions": {
48277
48374
  "org.primer.figma": {
48278
48375
  "collection": "mode",
@@ -48293,6 +48390,10 @@
48293
48390
  "isSource": true,
48294
48391
  "$type": "shadow"
48295
48392
  }
48393
+ },
48394
+ "org.primer.llm": {
48395
+ "usage": ["badge", "chip", "small-card", "subtle-elevation"],
48396
+ "rules": "Use for very subtle elevation on small elements. Provides minimal lift from surface. Do NOT use for interactive elements needing clear affordance."
48296
48397
  }
48297
48398
  },
48298
48399
  "key": "{shadow.resting.xsmall}"
@@ -48300,8 +48401,9 @@
48300
48401
  "name": "shadow-resting-xsmall",
48301
48402
  "attributes": {},
48302
48403
  "path": ["shadow", "resting", "xsmall"],
48303
- "value": "0px 1px 1px 0px #0104090f",
48304
- "type": "shadow"
48404
+ "value": "0px 1px 1px 0px #0104090d",
48405
+ "type": "shadow",
48406
+ "description": "Extra small resting shadow for minimal elevation"
48305
48407
  },
48306
48408
  "sideNav-bgColor-selected": {
48307
48409
  "key": "{sideNav.bgColor.selected}",