@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}"
@@ -37219,6 +37235,10 @@
37219
37235
  },
37220
37236
  "org.primer.overrides": {
37221
37237
  "dark": "#ffffff"
37238
+ },
37239
+ "org.primer.llm": {
37240
+ "doNotUse": true,
37241
+ "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."
37222
37242
  }
37223
37243
  },
37224
37244
  "filePath": "src/tokens/functional/color/fgColor.json5",
@@ -37235,6 +37255,10 @@
37235
37255
  },
37236
37256
  "org.primer.overrides": {
37237
37257
  "dark": "{base.color.neutral.0}"
37258
+ },
37259
+ "org.primer.llm": {
37260
+ "doNotUse": true,
37261
+ "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."
37238
37262
  }
37239
37263
  },
37240
37264
  "key": "{fgColor.black}"
@@ -38208,6 +38232,10 @@
38208
38232
  },
38209
38233
  "org.primer.overrides": {
38210
38234
  "dark": "#010409"
38235
+ },
38236
+ "org.primer.llm": {
38237
+ "doNotUse": true,
38238
+ "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."
38211
38239
  }
38212
38240
  },
38213
38241
  "filePath": "src/tokens/functional/color/fgColor.json5",
@@ -38224,6 +38252,10 @@
38224
38252
  },
38225
38253
  "org.primer.overrides": {
38226
38254
  "dark": "{base.color.neutral.13}"
38255
+ },
38256
+ "org.primer.llm": {
38257
+ "doNotUse": true,
38258
+ "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."
38227
38259
  }
38228
38260
  },
38229
38261
  "key": "{fgColor.white}"
@@ -47533,6 +47565,10 @@
47533
47565
  "isSource": true,
47534
47566
  "$type": "shadow"
47535
47567
  }
47568
+ },
47569
+ "org.primer.llm": {
47570
+ "usage": ["legacy-component", "backward-compatibility"],
47571
+ "rules": "DEPRECATED: Use shadow-floating-small instead. Only use for maintaining backward compatibility with existing implementations."
47536
47572
  }
47537
47573
  },
47538
47574
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47557,6 +47593,7 @@
47557
47593
  }
47558
47594
  ],
47559
47595
  "$type": "shadow",
47596
+ "$description": "Legacy floating shadow for backward compatibility",
47560
47597
  "$extensions": {
47561
47598
  "org.primer.figma": {},
47562
47599
  "org.primer.overrides": {
@@ -47583,6 +47620,10 @@
47583
47620
  "isSource": true,
47584
47621
  "$type": "shadow"
47585
47622
  }
47623
+ },
47624
+ "org.primer.llm": {
47625
+ "usage": ["legacy-component", "backward-compatibility"],
47626
+ "rules": "DEPRECATED: Use shadow-floating-small instead. Only use for maintaining backward compatibility with existing implementations."
47586
47627
  }
47587
47628
  },
47588
47629
  "key": "{shadow.floating.legacy}"
@@ -47591,7 +47632,8 @@
47591
47632
  "attributes": {},
47592
47633
  "path": ["shadow", "floating", "legacy"],
47593
47634
  "value": "0px 6px 12px -3px #25292e0a, 0px 6px 18px 0px #25292e1f",
47594
- "type": "shadow"
47635
+ "type": "shadow",
47636
+ "description": "Legacy floating shadow for backward compatibility"
47595
47637
  },
47596
47638
  "shadow-floating-medium": {
47597
47639
  "key": "{shadow.floating.medium}",
@@ -47648,6 +47690,10 @@
47648
47690
  "isSource": true,
47649
47691
  "$type": "shadow"
47650
47692
  }
47693
+ },
47694
+ "org.primer.llm": {
47695
+ "usage": ["popover", "action-menu", "select-panel", "autocomplete"],
47696
+ "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."
47651
47697
  }
47652
47698
  },
47653
47699
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47696,6 +47742,7 @@
47696
47742
  }
47697
47743
  ],
47698
47744
  "$type": "shadow",
47745
+ "$description": "Medium floating shadow for popovers and action menus",
47699
47746
  "$extensions": {
47700
47747
  "org.primer.figma": {
47701
47748
  "collection": "mode",
@@ -47749,6 +47796,10 @@
47749
47796
  "isSource": true,
47750
47797
  "$type": "shadow"
47751
47798
  }
47799
+ },
47800
+ "org.primer.llm": {
47801
+ "usage": ["popover", "action-menu", "select-panel", "autocomplete"],
47802
+ "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."
47752
47803
  }
47753
47804
  },
47754
47805
  "key": "{shadow.floating.medium}"
@@ -47757,7 +47808,8 @@
47757
47808
  "attributes": {},
47758
47809
  "path": ["shadow", "floating", "medium"],
47759
47810
  "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",
47760
- "type": "shadow"
47811
+ "type": "shadow",
47812
+ "description": "Medium floating shadow for popovers and action menus"
47761
47813
  },
47762
47814
  "shadow-floating-small": {
47763
47815
  "key": "{shadow.floating.small}",
@@ -47918,6 +47970,10 @@
47918
47970
  "isSource": true,
47919
47971
  "$type": "shadow"
47920
47972
  }
47973
+ },
47974
+ "org.primer.llm": {
47975
+ "usage": ["full-screen-overlay", "side-sheet", "drawer", "large-modal"],
47976
+ "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."
47921
47977
  }
47922
47978
  },
47923
47979
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -47942,6 +47998,7 @@
47942
47998
  }
47943
47999
  ],
47944
48000
  "$type": "shadow",
48001
+ "$description": "Extra large floating shadow for full-screen overlays and sheets",
47945
48002
  "$extensions": {
47946
48003
  "org.primer.figma": {
47947
48004
  "collection": "mode",
@@ -47971,6 +48028,10 @@
47971
48028
  "isSource": true,
47972
48029
  "$type": "shadow"
47973
48030
  }
48031
+ },
48032
+ "org.primer.llm": {
48033
+ "usage": ["full-screen-overlay", "side-sheet", "drawer", "large-modal"],
48034
+ "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."
47974
48035
  }
47975
48036
  },
47976
48037
  "key": "{shadow.floating.xlarge}"
@@ -47979,7 +48040,8 @@
47979
48040
  "attributes": {},
47980
48041
  "path": ["shadow", "floating", "xlarge"],
47981
48042
  "value": "0px 0px 0px 1px #454c54, 0px 56px 112px 0px #25292e52",
47982
- "type": "shadow"
48043
+ "type": "shadow",
48044
+ "description": "Extra large floating shadow for full-screen overlays and sheets"
47983
48045
  },
47984
48046
  "shadow-inset": {
47985
48047
  "key": "{shadow.inset}",
@@ -48003,6 +48065,10 @@
48003
48065
  "isSource": true,
48004
48066
  "$type": "shadow"
48005
48067
  }
48068
+ },
48069
+ "org.primer.llm": {
48070
+ "usage": ["input-field", "pressed-button", "recessed-area", "well"],
48071
+ "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."
48006
48072
  }
48007
48073
  },
48008
48074
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48018,6 +48084,7 @@
48018
48084
  "inset": true
48019
48085
  },
48020
48086
  "$type": "shadow",
48087
+ "$description": "Inset shadow for recessed elements",
48021
48088
  "$extensions": {
48022
48089
  "org.primer.figma": {
48023
48090
  "collection": "mode",
@@ -48038,6 +48105,10 @@
48038
48105
  "isSource": true,
48039
48106
  "$type": "shadow"
48040
48107
  }
48108
+ },
48109
+ "org.primer.llm": {
48110
+ "usage": ["input-field", "pressed-button", "recessed-area", "well"],
48111
+ "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."
48041
48112
  }
48042
48113
  },
48043
48114
  "key": "{shadow.inset}"
@@ -48046,7 +48117,8 @@
48046
48117
  "attributes": {},
48047
48118
  "path": ["shadow", "inset"],
48048
48119
  "value": "inset 0px 1px 0px 0px #0104090a",
48049
- "type": "shadow"
48120
+ "type": "shadow",
48121
+ "description": "Inset shadow for recessed elements"
48050
48122
  },
48051
48123
  "shadow-resting-medium": {
48052
48124
  "key": "{shadow.resting.medium}",
@@ -48079,6 +48151,10 @@
48079
48151
  "isSource": true,
48080
48152
  "$type": "shadow"
48081
48153
  }
48154
+ },
48155
+ "org.primer.llm": {
48156
+ "usage": ["card", "panel", "elevated-surface", "elevated-sidebar"],
48157
+ "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."
48082
48158
  }
48083
48159
  },
48084
48160
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48103,6 +48179,7 @@
48103
48179
  }
48104
48180
  ],
48105
48181
  "$type": "shadow",
48182
+ "$description": "Medium resting shadow for cards and elevated surfaces",
48106
48183
  "$extensions": {
48107
48184
  "org.primer.figma": {
48108
48185
  "collection": "mode",
@@ -48132,6 +48209,10 @@
48132
48209
  "isSource": true,
48133
48210
  "$type": "shadow"
48134
48211
  }
48212
+ },
48213
+ "org.primer.llm": {
48214
+ "usage": ["card", "panel", "elevated-surface", "elevated-sidebar"],
48215
+ "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."
48135
48216
  }
48136
48217
  },
48137
48218
  "key": "{shadow.resting.medium}"
@@ -48140,7 +48221,8 @@
48140
48221
  "attributes": {},
48141
48222
  "path": ["shadow", "resting", "medium"],
48142
48223
  "value": "0px 1px 1px 0px #25292e1a, 0px 3px 6px 0px #25292e1f",
48143
- "type": "shadow"
48224
+ "type": "shadow",
48225
+ "description": "Medium resting shadow for cards and elevated surfaces"
48144
48226
  },
48145
48227
  "shadow-resting-small": {
48146
48228
  "key": "{shadow.resting.small}",
@@ -48175,6 +48257,10 @@
48175
48257
  "isSource": true,
48176
48258
  "$type": "shadow"
48177
48259
  }
48260
+ },
48261
+ "org.primer.llm": {
48262
+ "usage": ["button", "interactive-card", "clickable-element"],
48263
+ "rules": "Use for buttons and small interactive elements at rest. Provides subtle depth and clickable affordance. RECOMMENDED for default button shadows."
48178
48264
  }
48179
48265
  },
48180
48266
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48183,7 +48269,7 @@
48183
48269
  "$value": [
48184
48270
  {
48185
48271
  "color": "{base.color.neutral.13}",
48186
- "alpha": 0.06,
48272
+ "alpha": 0.04,
48187
48273
  "offsetX": "0px",
48188
48274
  "offsetY": "1px",
48189
48275
  "blur": "1px",
@@ -48192,15 +48278,16 @@
48192
48278
  },
48193
48279
  {
48194
48280
  "color": "{base.color.neutral.13}",
48195
- "alpha": 0.06,
48281
+ "alpha": 0.03,
48196
48282
  "offsetX": "0px",
48197
48283
  "offsetY": "1px",
48198
- "blur": "3px",
48284
+ "blur": "2px",
48199
48285
  "spread": "0px",
48200
48286
  "inset": false
48201
48287
  }
48202
48288
  ],
48203
48289
  "$type": "shadow",
48290
+ "$description": "Small resting shadow for buttons and interactive elements",
48204
48291
  "$extensions": {
48205
48292
  "org.primer.figma": {
48206
48293
  "collection": "mode",
@@ -48232,6 +48319,10 @@
48232
48319
  "isSource": true,
48233
48320
  "$type": "shadow"
48234
48321
  }
48322
+ },
48323
+ "org.primer.llm": {
48324
+ "usage": ["button", "interactive-card", "clickable-element"],
48325
+ "rules": "Use for buttons and small interactive elements at rest. Provides subtle depth and clickable affordance. RECOMMENDED for default button shadows."
48235
48326
  }
48236
48327
  },
48237
48328
  "key": "{shadow.resting.small}"
@@ -48239,8 +48330,9 @@
48239
48330
  "name": "shadow-resting-small",
48240
48331
  "attributes": {},
48241
48332
  "path": ["shadow", "resting", "small"],
48242
- "value": "0px 1px 1px 0px #0104090f, 0px 1px 3px 0px #0104090f",
48243
- "type": "shadow"
48333
+ "value": "0px 1px 1px 0px #0104090a, 0px 1px 2px 0px #01040908",
48334
+ "type": "shadow",
48335
+ "description": "Small resting shadow for buttons and interactive elements"
48244
48336
  },
48245
48337
  "shadow-resting-xsmall": {
48246
48338
  "key": "{shadow.resting.xsmall}",
@@ -48264,6 +48356,10 @@
48264
48356
  "isSource": true,
48265
48357
  "$type": "shadow"
48266
48358
  }
48359
+ },
48360
+ "org.primer.llm": {
48361
+ "usage": ["badge", "chip", "small-card", "subtle-elevation"],
48362
+ "rules": "Use for very subtle elevation on small elements. Provides minimal lift from surface. Do NOT use for interactive elements needing clear affordance."
48267
48363
  }
48268
48364
  },
48269
48365
  "filePath": "src/tokens/functional/shadow/shadow.json5",
@@ -48271,7 +48367,7 @@
48271
48367
  "original": {
48272
48368
  "$value": {
48273
48369
  "color": "{base.color.neutral.13}",
48274
- "alpha": 0.06,
48370
+ "alpha": 0.05,
48275
48371
  "offsetX": "0px",
48276
48372
  "offsetY": "1px",
48277
48373
  "blur": "1px",
@@ -48279,6 +48375,7 @@
48279
48375
  "inset": false
48280
48376
  },
48281
48377
  "$type": "shadow",
48378
+ "$description": "Extra small resting shadow for minimal elevation",
48282
48379
  "$extensions": {
48283
48380
  "org.primer.figma": {
48284
48381
  "collection": "mode",
@@ -48299,6 +48396,10 @@
48299
48396
  "isSource": true,
48300
48397
  "$type": "shadow"
48301
48398
  }
48399
+ },
48400
+ "org.primer.llm": {
48401
+ "usage": ["badge", "chip", "small-card", "subtle-elevation"],
48402
+ "rules": "Use for very subtle elevation on small elements. Provides minimal lift from surface. Do NOT use for interactive elements needing clear affordance."
48302
48403
  }
48303
48404
  },
48304
48405
  "key": "{shadow.resting.xsmall}"
@@ -48306,8 +48407,9 @@
48306
48407
  "name": "shadow-resting-xsmall",
48307
48408
  "attributes": {},
48308
48409
  "path": ["shadow", "resting", "xsmall"],
48309
- "value": "0px 1px 1px 0px #0104090f",
48310
- "type": "shadow"
48410
+ "value": "0px 1px 1px 0px #0104090d",
48411
+ "type": "shadow",
48412
+ "description": "Extra small resting shadow for minimal elevation"
48311
48413
  },
48312
48414
  "sideNav-bgColor-selected": {
48313
48415
  "key": "{sideNav.bgColor.selected}",