@primer/primitives 11.4.1-rc.edbe0e39 → 11.5.0-rc.1d57246f

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 (138) hide show
  1. package/DESIGN_TOKENS_SPEC.md +14 -5
  2. package/dist/build/schemas/borderToken.d.ts +45 -3
  3. package/dist/build/schemas/borderToken.js +2 -1
  4. package/dist/build/schemas/colorToken.d.ts +639 -30
  5. package/dist/build/schemas/colorToken.js +3 -2
  6. package/dist/build/schemas/colorW3cValue.d.ts +28 -0
  7. package/dist/build/schemas/colorW3cValue.js +42 -0
  8. package/dist/build/schemas/cubicBezierToken.d.ts +1 -1
  9. package/dist/build/schemas/dimensionToken.d.ts +1 -1
  10. package/dist/build/schemas/durationToken.d.ts +1 -1
  11. package/dist/build/schemas/fontFamilyToken.d.ts +1 -1
  12. package/dist/build/schemas/fontWeightToken.d.ts +1 -1
  13. package/dist/build/schemas/gradientToken.d.ts +23 -2
  14. package/dist/build/schemas/gradientToken.js +2 -1
  15. package/dist/build/schemas/numberToken.d.ts +1 -1
  16. package/dist/build/schemas/shadowToken.d.ts +1079 -43
  17. package/dist/build/schemas/shadowToken.js +8 -2
  18. package/dist/build/schemas/stringToken.d.ts +1 -1
  19. package/dist/build/schemas/tokenType.d.ts +1 -1
  20. package/dist/build/schemas/transitionToken.d.ts +1 -1
  21. package/dist/build/schemas/typographyToken.d.ts +1 -1
  22. package/dist/build/schemas/viewportRangeToken.d.ts +1 -1
  23. package/dist/build/transformers/borderToCss.js +3 -1
  24. package/dist/build/transformers/colorAlphaToCss.js +6 -3
  25. package/dist/build/transformers/colorToHex.js +5 -2
  26. package/dist/build/transformers/colorToRgbAlpha.js +5 -2
  27. package/dist/build/transformers/colorToRgbaFloat.js +5 -0
  28. package/dist/build/transformers/durationToCss.js +4 -4
  29. package/dist/build/transformers/gradientToCss.js +2 -1
  30. package/dist/build/transformers/shadowToCss.js +4 -1
  31. package/dist/build/transformers/utilities/normalizeColorValue.d.ts +23 -0
  32. package/dist/build/transformers/utilities/normalizeColorValue.js +74 -0
  33. package/dist/build/types/borderTokenValue.d.ts +2 -1
  34. package/dist/build/types/shadowTokenValue.d.ts +2 -1
  35. package/dist/css/base/motion/motion.css +1 -1
  36. package/dist/css/functional/size/radius.css +1 -1
  37. package/dist/css/functional/size/size-coarse.css +1 -0
  38. package/dist/css/functional/size/size-fine.css +1 -0
  39. package/dist/css/functional/size/size.css +5 -0
  40. package/dist/css/functional/themes/dark-colorblind-high-contrast.css +22 -10
  41. package/dist/css/functional/themes/dark-colorblind.css +22 -10
  42. package/dist/css/functional/themes/dark-dimmed-high-contrast.css +22 -10
  43. package/dist/css/functional/themes/dark-dimmed.css +22 -10
  44. package/dist/css/functional/themes/dark-high-contrast.css +22 -10
  45. package/dist/css/functional/themes/dark-tritanopia-high-contrast.css +22 -10
  46. package/dist/css/functional/themes/dark-tritanopia.css +22 -10
  47. package/dist/css/functional/themes/dark.css +22 -10
  48. package/dist/css/functional/themes/light-colorblind-high-contrast.css +14 -2
  49. package/dist/css/functional/themes/light-colorblind.css +20 -8
  50. package/dist/css/functional/themes/light-high-contrast.css +14 -2
  51. package/dist/css/functional/themes/light-tritanopia-high-contrast.css +14 -2
  52. package/dist/css/functional/themes/light-tritanopia.css +20 -8
  53. package/dist/css/functional/themes/light.css +20 -8
  54. package/dist/docs/functional/size/radius.json +2 -2
  55. package/dist/docs/functional/size/size-coarse.json +55 -2
  56. package/dist/docs/functional/size/size-fine.json +55 -2
  57. package/dist/docs/functional/size/size.json +135 -0
  58. package/dist/docs/functional/themes/dark-colorblind-high-contrast.json +2502 -372
  59. package/dist/docs/functional/themes/dark-colorblind.json +2492 -370
  60. package/dist/docs/functional/themes/dark-dimmed-high-contrast.json +2355 -205
  61. package/dist/docs/functional/themes/dark-dimmed.json +2382 -212
  62. package/dist/docs/functional/themes/dark-high-contrast.json +2507 -373
  63. package/dist/docs/functional/themes/dark-tritanopia-high-contrast.json +2517 -375
  64. package/dist/docs/functional/themes/dark-tritanopia.json +2499 -353
  65. package/dist/docs/functional/themes/dark.json +2501 -371
  66. package/dist/docs/functional/themes/light-colorblind-high-contrast.json +2354 -204
  67. package/dist/docs/functional/themes/light-colorblind.json +2344 -202
  68. package/dist/docs/functional/themes/light-high-contrast.json +2359 -205
  69. package/dist/docs/functional/themes/light-tritanopia-high-contrast.json +2359 -205
  70. package/dist/docs/functional/themes/light-tritanopia.json +2354 -204
  71. package/dist/docs/functional/themes/light.json +2359 -205
  72. package/dist/fallbacks/functional/size/size-coarse.json +2 -1
  73. package/dist/fallbacks/functional/size/size-fine.json +2 -1
  74. package/dist/fallbacks/functional/size/size.json +5 -0
  75. package/dist/figma/dimension/dimension.json +56 -1
  76. package/dist/figma/themes/dark-colorblind.json +49 -1
  77. package/dist/figma/themes/dark-dimmed.json +51 -3
  78. package/dist/figma/themes/dark-high-contrast.json +49 -1
  79. package/dist/figma/themes/dark-tritanopia.json +49 -1
  80. package/dist/figma/themes/dark.json +49 -1
  81. package/dist/figma/themes/light-colorblind.json +49 -1
  82. package/dist/figma/themes/light-high-contrast.json +49 -1
  83. package/dist/figma/themes/light-tritanopia.json +49 -1
  84. package/dist/figma/themes/light.json +49 -1
  85. package/dist/internalCss/dark-colorblind-high-contrast.css +22 -10
  86. package/dist/internalCss/dark-colorblind.css +22 -10
  87. package/dist/internalCss/dark-dimmed-high-contrast.css +22 -10
  88. package/dist/internalCss/dark-dimmed.css +22 -10
  89. package/dist/internalCss/dark-high-contrast.css +22 -10
  90. package/dist/internalCss/dark-tritanopia-high-contrast.css +22 -10
  91. package/dist/internalCss/dark-tritanopia.css +22 -10
  92. package/dist/internalCss/dark.css +22 -10
  93. package/dist/internalCss/light-colorblind-high-contrast.css +14 -2
  94. package/dist/internalCss/light-colorblind.css +20 -8
  95. package/dist/internalCss/light-high-contrast.css +14 -2
  96. package/dist/internalCss/light-tritanopia-high-contrast.css +14 -2
  97. package/dist/internalCss/light-tritanopia.css +20 -8
  98. package/dist/internalCss/light.css +20 -8
  99. package/dist/styleLint/functional/size/radius.json +2 -2
  100. package/dist/styleLint/functional/size/size-coarse.json +57 -4
  101. package/dist/styleLint/functional/size/size-fine.json +57 -4
  102. package/dist/styleLint/functional/size/size.json +135 -0
  103. package/dist/styleLint/functional/themes/dark-colorblind-high-contrast.json +2491 -349
  104. package/dist/styleLint/functional/themes/dark-colorblind.json +2481 -347
  105. package/dist/styleLint/functional/themes/dark-dimmed-high-contrast.json +2516 -354
  106. package/dist/styleLint/functional/themes/dark-dimmed.json +2543 -361
  107. package/dist/styleLint/functional/themes/dark-high-contrast.json +2496 -350
  108. package/dist/styleLint/functional/themes/dark-tritanopia-high-contrast.json +2506 -352
  109. package/dist/styleLint/functional/themes/dark-tritanopia.json +2511 -353
  110. package/dist/styleLint/functional/themes/dark.json +2491 -349
  111. package/dist/styleLint/functional/themes/light-colorblind-high-contrast.json +2514 -352
  112. package/dist/styleLint/functional/themes/light-colorblind.json +2505 -351
  113. package/dist/styleLint/functional/themes/light-high-contrast.json +2371 -205
  114. package/dist/styleLint/functional/themes/light-tritanopia-high-contrast.json +2519 -353
  115. package/dist/styleLint/functional/themes/light-tritanopia.json +2515 -353
  116. package/dist/styleLint/functional/themes/light.json +2520 -354
  117. package/package.json +4 -3
  118. package/src/tokens/base/color/dark/dark.dimmed.json5 +405 -81
  119. package/src/tokens/base/color/dark/dark.high-contrast.json5 +405 -81
  120. package/src/tokens/base/color/dark/dark.json5 +475 -95
  121. package/src/tokens/base/color/dark/display-dark.json5 +960 -192
  122. package/src/tokens/base/color/light/display-light.json5 +960 -192
  123. package/src/tokens/base/color/light/light.high-contrast.json5 +405 -81
  124. package/src/tokens/base/color/light/light.json5 +475 -95
  125. package/src/tokens/base/size/size.json5 +194 -194
  126. package/src/tokens/component/button.json5 +368 -65
  127. package/src/tokens/component/reactionButton.json5 +20 -4
  128. package/src/tokens/functional/border/border.json5 +29 -1
  129. package/src/tokens/functional/color/bgColor.json5 +10 -2
  130. package/src/tokens/functional/color/borderColor.json5 +8 -1
  131. package/src/tokens/functional/color/control.json5 +160 -32
  132. package/src/tokens/functional/color/fgColor.json5 +5 -1
  133. package/src/tokens/functional/color/syntax.json5 +10 -2
  134. package/src/tokens/functional/shadow/shadow.json5 +576 -0
  135. package/src/tokens/functional/size/radius.json5 +1 -1
  136. package/src/tokens/functional/size/size-coarse.json5 +15 -0
  137. package/src/tokens/functional/size/size-fine.json5 +15 -0
  138. package/src/tokens/functional/size/size.json5 +50 -0
@@ -101,6 +101,12 @@ Composite border tokens combining color, width, and style.
101
101
 
102
102
  **Tokens:** border-default, border-disabled, border-emphasis, border-muted, border-transparent
103
103
 
104
+ ### draft
105
+ **Tokens:** border-draft-emphasis, border-draft-muted
106
+
107
+ ### border-translucent
108
+ Semi-transparent border shorthand for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design.
109
+
104
110
  ## Border Colors
105
111
 
106
112
  Border color tokens for boundaries, dividers, and outlines.
@@ -140,10 +146,15 @@ Subtle border for secondary elements and light separators
140
146
  **R:** Use for subtle borders and separators. Less prominent than border.default.
141
147
 
142
148
  ### borderColor-translucent
143
- Semi-transparent border for overlays and layered elements
149
+ Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design.
144
150
  **U:** overlay-border, translucent-border
145
151
  **R:** Use for semi-transparent borders on overlays. Works well with translucent backgrounds.
146
152
 
153
+ ### borderColor-transparent
154
+ Fully transparent border
155
+ **U:** border-color, border-styling
156
+ **R:** These are COLOR-ONLY tokens (resolve to a hex value like #cf222e). Use for the CSS `border-color` property. Do NOT use for the CSS `border` shorthand — use border.* tokens instead.
157
+
147
158
  ## Border Radius
148
159
 
149
160
  Corner radius tokens for rounded elements.
@@ -154,7 +165,7 @@ Use this border radius for pill shaped elements
154
165
  **R:** Use for avatars and pill-shaped elements. Do NOT use for rectangular containers.
155
166
 
156
167
  ### borderRadius-large
157
- Large border radius (12px). Use for larger containers, dialogs, or when more visual softness is desired. Always use this for buttons.
168
+ Large border radius (12px). Use for larger containers, dialogs, or when more visual softness is desired.
158
169
  **U:** card, dialog, modal
159
170
  **R:** Recommended for dialogs and modals.
160
171
 
@@ -222,9 +233,7 @@ Tokens for interactive controls like buttons, inputs, and selects.
222
233
  **Scale:** Use xsmall/small for dense layouts, medium for default UI, large/xlarge for prominent CTAs.
223
234
 
224
235
  **Size patterns:**
225
- - `control-[xsmall, small, medium, large, xlarge]-[gap, lineBoxHeight, paddingBlock, paddingInline-normal, size]`
226
- - `control-[xsmall, medium, large, xlarge]-paddingInline-spacious`
227
- - `control-[xsmall, small, medium]-paddingInline-condensed`
236
+ - `control-[xsmall, small, medium, large, xlarge]-[gap, lineBoxHeight, paddingBlock, paddingInline-condensed, paddingInline-normal, paddingInline-spacious, size]`
228
237
 
229
238
  **State variants:**
230
239
  - `control-checked-[bgColor-active, bgColor-disabled, bgColor-hover, bgColor-rest, borderColor-active, borderColor-disabled, borderColor-hover, borderColor-rest, fgColor-disabled, fgColor-rest]`
@@ -1,6 +1,27 @@
1
1
  import { z } from 'zod';
2
2
  export declare const borderValue: z.ZodObject<{
3
- color: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
3
+ color: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
4
+ colorSpace: z.ZodEnum<{
5
+ "display-p3": "display-p3";
6
+ srgb: "srgb";
7
+ rec2020: "rec2020";
8
+ "srgb-linear": "srgb-linear";
9
+ hsl: "hsl";
10
+ hwb: "hwb";
11
+ lab: "lab";
12
+ lch: "lch";
13
+ oklab: "oklab";
14
+ oklch: "oklch";
15
+ "a98-rgb": "a98-rgb";
16
+ "prophoto-rgb": "prophoto-rgb";
17
+ xyz: "xyz";
18
+ "xyz-d50": "xyz-d50";
19
+ "xyz-d65": "xyz-d65";
20
+ }>;
21
+ components: z.ZodTuple<[z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"none">]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"none">]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"none">]>], null>;
22
+ alpha: z.ZodOptional<z.ZodNumber>;
23
+ hex: z.ZodOptional<z.ZodString>;
24
+ }, z.core.$strict>, z.ZodString]>;
4
25
  style: z.ZodEnum<{
5
26
  inset: "inset";
6
27
  solid: "solid";
@@ -24,7 +45,28 @@ export declare const borderToken: z.ZodObject<{
24
45
  $description: z.ZodOptional<z.ZodString>;
25
46
  $deprecated: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>>;
26
47
  $value: z.ZodUnion<readonly [z.ZodObject<{
27
- color: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
48
+ color: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
49
+ colorSpace: z.ZodEnum<{
50
+ "display-p3": "display-p3";
51
+ srgb: "srgb";
52
+ rec2020: "rec2020";
53
+ "srgb-linear": "srgb-linear";
54
+ hsl: "hsl";
55
+ hwb: "hwb";
56
+ lab: "lab";
57
+ lch: "lch";
58
+ oklab: "oklab";
59
+ oklch: "oklch";
60
+ "a98-rgb": "a98-rgb";
61
+ "prophoto-rgb": "prophoto-rgb";
62
+ xyz: "xyz";
63
+ "xyz-d50": "xyz-d50";
64
+ "xyz-d65": "xyz-d65";
65
+ }>;
66
+ components: z.ZodTuple<[z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"none">]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"none">]>, z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"none">]>], null>;
67
+ alpha: z.ZodOptional<z.ZodNumber>;
68
+ hex: z.ZodOptional<z.ZodString>;
69
+ }, z.core.$strict>, z.ZodString]>;
28
70
  style: z.ZodEnum<{
29
71
  inset: "inset";
30
72
  solid: "solid";
@@ -44,7 +86,7 @@ export declare const borderToken: z.ZodObject<{
44
86
  }>;
45
87
  }, z.core.$strict>, z.ZodString]>;
46
88
  }, z.core.$strip>, z.ZodString]>;
47
- $type: z.ZodLiteral<"number" | "border" | "color" | "fontFamily" | "fontWeight" | "transition" | "dimension" | "duration" | "gradient" | "shadow" | "typography" | "cubicBezier" | "custom-viewportRange" | "custom-string">;
89
+ $type: z.ZodLiteral<"number" | "border" | "color" | "fontFamily" | "fontWeight" | "transition" | "duration" | "dimension" | "gradient" | "shadow" | "typography" | "cubicBezier" | "custom-viewportRange" | "custom-string">;
48
90
  $extensions: z.ZodOptional<z.ZodObject<{
49
91
  'org.primer.llm': z.ZodOptional<z.ZodObject<{
50
92
  usage: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -2,11 +2,12 @@ import { z } from 'zod';
2
2
  import { baseToken } from './baseToken.js';
3
3
  import { referenceValue } from './referenceValue.js';
4
4
  import { colorHexValue } from './colorHexValue.js';
5
+ import { colorW3cValue } from './colorW3cValue.js';
5
6
  import { dimensionValue } from './dimensionValue.js';
6
7
  import { tokenType } from './tokenType.js';
7
8
  import { llmExtension } from './llmExtension.js';
8
9
  export const borderValue = z.object({
9
- color: z.union([colorHexValue, referenceValue]),
10
+ color: z.union([colorHexValue, colorW3cValue, referenceValue]),
10
11
  style: z.enum(['solid', 'dashed', 'dotted', 'double', 'groove', 'ridge', 'outset', 'inset']),
11
12
  width: z.union([dimensionValue, referenceValue]),
12
13
  });