@primer/primitives 10.0.0-rc.367a0502 → 10.0.0-rc.d2acd2c0

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 (313) hide show
  1. package/dist/build/PrimerStyleDictionary.d.ts +8 -0
  2. package/dist/build/PrimerStyleDictionary.js +79 -0
  3. package/dist/build/filters/index.d.ts +14 -0
  4. package/dist/build/filters/index.js +14 -0
  5. package/dist/build/filters/isBorder.d.ts +7 -0
  6. package/dist/build/filters/isBorder.js +8 -0
  7. package/dist/build/filters/isColor.d.ts +7 -0
  8. package/dist/build/filters/isColor.js +13 -0
  9. package/dist/build/filters/isColorWithAlpha.d.ts +7 -0
  10. package/dist/build/filters/isColorWithAlpha.js +9 -0
  11. package/dist/build/filters/isColorWithMix.d.ts +7 -0
  12. package/dist/build/filters/isColorWithMix.js +24 -0
  13. package/dist/build/filters/isDeprecated.d.ts +7 -0
  14. package/dist/build/filters/isDeprecated.js +8 -0
  15. package/dist/build/filters/isDimension.d.ts +7 -0
  16. package/dist/build/filters/isDimension.js +8 -0
  17. package/dist/build/filters/isDuration.d.ts +7 -0
  18. package/dist/build/filters/isDuration.js +8 -0
  19. package/dist/build/filters/isFontFamily.d.ts +7 -0
  20. package/dist/build/filters/isFontFamily.js +8 -0
  21. package/dist/build/filters/isFontWeight.d.ts +7 -0
  22. package/dist/build/filters/isFontWeight.js +8 -0
  23. package/dist/build/filters/isFromFile.d.ts +8 -0
  24. package/dist/build/filters/isFromFile.js +10 -0
  25. package/dist/build/filters/isNumber.d.ts +7 -0
  26. package/dist/build/filters/isNumber.js +8 -0
  27. package/dist/build/filters/isShadow.d.ts +7 -0
  28. package/dist/build/filters/isShadow.js +8 -0
  29. package/dist/build/filters/isSource.d.ts +7 -0
  30. package/dist/build/filters/isSource.js +8 -0
  31. package/dist/build/filters/isTypography.d.ts +7 -0
  32. package/dist/build/filters/isTypography.js +8 -0
  33. package/dist/build/formats/cssAdvanced.d.ts +2 -0
  34. package/dist/build/formats/cssAdvanced.js +86 -0
  35. package/dist/build/formats/cssCustomMedia.d.ts +7 -0
  36. package/dist/build/formats/cssCustomMedia.js +26 -0
  37. package/dist/build/formats/index.d.ts +9 -0
  38. package/dist/build/formats/index.js +9 -0
  39. package/dist/build/formats/javascriptCommonJs.d.ts +7 -0
  40. package/dist/build/formats/javascriptCommonJs.js +26 -0
  41. package/dist/build/formats/javascriptEsm.d.ts +7 -0
  42. package/dist/build/formats/javascriptEsm.js +26 -0
  43. package/dist/build/formats/jsonFigma.d.ts +7 -0
  44. package/dist/build/formats/jsonFigma.js +121 -0
  45. package/dist/build/formats/jsonNestedPrefixed.d.ts +8 -0
  46. package/dist/build/formats/jsonNestedPrefixed.js +30 -0
  47. package/dist/build/formats/jsonOneDimensional.d.ts +8 -0
  48. package/dist/build/formats/jsonOneDimensional.js +32 -0
  49. package/dist/build/formats/jsonPostCssFallback.d.ts +8 -0
  50. package/dist/build/formats/jsonPostCssFallback.js +14 -0
  51. package/dist/build/formats/typescriptExportDefinition.d.ts +7 -0
  52. package/dist/build/formats/typescriptExportDefinition.js +170 -0
  53. package/dist/build/formats/utilities/getPropName.d.ts +1 -0
  54. package/dist/build/formats/utilities/getPropName.js +16 -0
  55. package/dist/build/formats/utilities/jsonToFlat.d.ts +11 -0
  56. package/dist/build/formats/utilities/jsonToFlat.js +8 -0
  57. package/dist/build/formats/utilities/jsonToNestedValue.d.ts +8 -0
  58. package/dist/build/formats/utilities/jsonToNestedValue.js +23 -0
  59. package/dist/build/formats/utilities/prefixTokens.d.ts +8 -0
  60. package/dist/build/formats/utilities/prefixTokens.js +13 -0
  61. package/dist/build/parsers/index.d.ts +1 -0
  62. package/dist/build/parsers/index.js +1 -0
  63. package/dist/build/parsers/w3cJsonParser.d.ts +6 -0
  64. package/dist/build/parsers/w3cJsonParser.js +25 -0
  65. package/dist/build/platforms/css.d.ts +2 -0
  66. package/dist/build/platforms/css.js +95 -0
  67. package/dist/build/platforms/deprecatedJson.d.ts +2 -0
  68. package/dist/build/platforms/deprecatedJson.js +13 -0
  69. package/dist/build/platforms/docJson.d.ts +2 -0
  70. package/dist/build/platforms/docJson.js +35 -0
  71. package/dist/build/platforms/fallbacks.d.ts +2 -0
  72. package/dist/build/platforms/fallbacks.js +30 -0
  73. package/dist/build/platforms/figma.d.ts +2 -0
  74. package/dist/build/platforms/figma.js +60 -0
  75. package/dist/build/platforms/index.d.ts +10 -0
  76. package/dist/build/platforms/index.js +10 -0
  77. package/dist/build/platforms/javascript.d.ts +2 -0
  78. package/dist/build/platforms/javascript.js +26 -0
  79. package/dist/build/platforms/json.d.ts +2 -0
  80. package/dist/build/platforms/json.js +28 -0
  81. package/dist/build/platforms/styleLint.d.ts +2 -0
  82. package/dist/build/platforms/styleLint.js +30 -0
  83. package/dist/build/platforms/typeDefinitions.d.ts +2 -0
  84. package/dist/build/platforms/typeDefinitions.js +26 -0
  85. package/dist/build/platforms/typescript.d.ts +2 -0
  86. package/dist/build/platforms/typescript.js +26 -0
  87. package/dist/build/schemas/alphaValue.d.ts +2 -0
  88. package/dist/build/schemas/alphaValue.js +5 -0
  89. package/dist/build/schemas/baseToken.d.ts +11 -0
  90. package/dist/build/schemas/baseToken.js +7 -0
  91. package/dist/build/schemas/borderToken.d.ts +51 -0
  92. package/dist/build/schemas/borderToken.js +17 -0
  93. package/dist/build/schemas/collections.d.ts +6 -0
  94. package/dist/build/schemas/collections.js +12 -0
  95. package/dist/build/schemas/colorHexValue.d.ts +2 -0
  96. package/dist/build/schemas/colorHexValue.js +9 -0
  97. package/dist/build/schemas/colorToken.d.ts +85 -0
  98. package/dist/build/schemas/colorToken.js +52 -0
  99. package/dist/build/schemas/designToken.d.ts +2 -0
  100. package/dist/build/schemas/designToken.js +34 -0
  101. package/dist/build/schemas/dimensionToken.d.ts +52 -0
  102. package/dist/build/schemas/dimensionToken.js +33 -0
  103. package/dist/build/schemas/dimensionValue.d.ts +2 -0
  104. package/dist/build/schemas/dimensionValue.js +9 -0
  105. package/dist/build/schemas/durationToken.d.ts +18 -0
  106. package/dist/build/schemas/durationToken.js +11 -0
  107. package/dist/build/schemas/durationValue.d.ts +2 -0
  108. package/dist/build/schemas/durationValue.js +5 -0
  109. package/dist/build/schemas/fontFamilyToken.d.ts +52 -0
  110. package/dist/build/schemas/fontFamilyToken.js +20 -0
  111. package/dist/build/schemas/fontWeightToken.d.ts +52 -0
  112. package/dist/build/schemas/fontWeightToken.js +21 -0
  113. package/dist/build/schemas/fontWeightValue.d.ts +2 -0
  114. package/dist/build/schemas/fontWeightValue.js +6 -0
  115. package/dist/build/schemas/numberToken.d.ts +71 -0
  116. package/dist/build/schemas/numberToken.js +27 -0
  117. package/dist/build/schemas/referenceValue.d.ts +2 -0
  118. package/dist/build/schemas/referenceValue.js +5 -0
  119. package/dist/build/schemas/scopes.d.ts +5 -0
  120. package/dist/build/schemas/scopes.js +29 -0
  121. package/dist/build/schemas/shadowToken.d.ts +157 -0
  122. package/dist/build/schemas/shadowToken.js +43 -0
  123. package/dist/build/schemas/stringToken.d.ts +18 -0
  124. package/dist/build/schemas/stringToken.js +10 -0
  125. package/dist/build/schemas/tokenName.d.ts +2 -0
  126. package/dist/build/schemas/tokenName.js +5 -0
  127. package/dist/build/schemas/tokenType.d.ts +3 -0
  128. package/dist/build/schemas/tokenType.js +2 -0
  129. package/dist/build/schemas/typographyToken.d.ts +59 -0
  130. package/dist/build/schemas/typographyToken.js +18 -0
  131. package/dist/build/schemas/validTokenType.d.ts +5 -0
  132. package/dist/build/schemas/validTokenType.js +30 -0
  133. package/dist/build/schemas/viewportRangeToken.d.ts +18 -0
  134. package/dist/build/schemas/viewportRangeToken.js +10 -0
  135. package/dist/build/transformers/borderToCss.d.ts +8 -0
  136. package/dist/build/transformers/borderToCss.js +38 -0
  137. package/dist/build/transformers/colorToHex.d.ts +8 -0
  138. package/dist/build/transformers/colorToHex.js +24 -0
  139. package/dist/build/transformers/colorToHexMix.d.ts +8 -0
  140. package/dist/build/transformers/colorToHexMix.js +20 -0
  141. package/dist/build/transformers/colorToRgbAlpha.d.ts +8 -0
  142. package/dist/build/transformers/colorToRgbAlpha.js +20 -0
  143. package/dist/build/transformers/colorToRgbaFloat.d.ts +8 -0
  144. package/dist/build/transformers/colorToRgbaFloat.js +46 -0
  145. package/dist/build/transformers/dimensionToPixelUnitless.d.ts +8 -0
  146. package/dist/build/transformers/dimensionToPixelUnitless.js +49 -0
  147. package/dist/build/transformers/dimensionToRem.d.ts +8 -0
  148. package/dist/build/transformers/dimensionToRem.js +46 -0
  149. package/dist/build/transformers/dimensionToRemPxArray.d.ts +8 -0
  150. package/dist/build/transformers/dimensionToRemPxArray.js +46 -0
  151. package/dist/build/transformers/durationToCss.d.ts +8 -0
  152. package/dist/build/transformers/durationToCss.js +29 -0
  153. package/dist/build/transformers/figmaAttributes.d.ts +8 -0
  154. package/dist/build/transformers/figmaAttributes.js +55 -0
  155. package/dist/build/transformers/floatToPixel.d.ts +15 -0
  156. package/dist/build/transformers/floatToPixel.js +39 -0
  157. package/dist/build/transformers/fontFamilyToCss.d.ts +14 -0
  158. package/dist/build/transformers/fontFamilyToCss.js +37 -0
  159. package/dist/build/transformers/fontFamilyToFigma.d.ts +14 -0
  160. package/dist/build/transformers/fontFamilyToFigma.js +44 -0
  161. package/dist/build/transformers/fontWeightToNumber.d.ts +9 -0
  162. package/dist/build/transformers/fontWeightToNumber.js +50 -0
  163. package/dist/build/transformers/index.d.ts +24 -0
  164. package/dist/build/transformers/index.js +24 -0
  165. package/dist/build/transformers/jsonDeprecated.d.ts +8 -0
  166. package/dist/build/transformers/jsonDeprecated.js +14 -0
  167. package/dist/build/transformers/namePathToCamelCase.d.ts +8 -0
  168. package/dist/build/transformers/namePathToCamelCase.js +12 -0
  169. package/dist/build/transformers/namePathToDotNotation.d.ts +8 -0
  170. package/dist/build/transformers/namePathToDotNotation.js +31 -0
  171. package/dist/build/transformers/namePathToFigma.d.ts +9 -0
  172. package/dist/build/transformers/namePathToFigma.js +21 -0
  173. package/dist/build/transformers/namePathToKebabCase.d.ts +8 -0
  174. package/dist/build/transformers/namePathToKebabCase.js +16 -0
  175. package/dist/build/transformers/namePathToPascalCase.d.ts +8 -0
  176. package/dist/build/transformers/namePathToPascalCase.js +12 -0
  177. package/dist/build/transformers/namePathToSlashNotation.d.ts +8 -0
  178. package/dist/build/transformers/namePathToSlashNotation.js +16 -0
  179. package/dist/build/transformers/shadowToCss.d.ts +8 -0
  180. package/dist/build/transformers/shadowToCss.js +34 -0
  181. package/dist/build/transformers/typographyToCss.d.ts +8 -0
  182. package/dist/build/transformers/typographyToCss.js +27 -0
  183. package/dist/build/transformers/utilities/alpha.d.ts +9 -0
  184. package/dist/build/transformers/utilities/alpha.js +16 -0
  185. package/dist/build/transformers/utilities/checkRequiredTokenProperties.d.ts +7 -0
  186. package/dist/build/transformers/utilities/checkRequiredTokenProperties.js +13 -0
  187. package/dist/build/transformers/utilities/getTokenValue.d.ts +2 -0
  188. package/dist/build/transformers/utilities/getTokenValue.js +16 -0
  189. package/dist/build/transformers/utilities/hasSpaceInString.d.ts +1 -0
  190. package/dist/build/transformers/utilities/hasSpaceInString.js +6 -0
  191. package/dist/build/transformers/utilities/hexToRgbaFloat.d.ts +2 -0
  192. package/dist/build/transformers/utilities/hexToRgbaFloat.js +29 -0
  193. package/dist/build/transformers/utilities/invalidTokenError.d.ts +7 -0
  194. package/dist/build/transformers/utilities/invalidTokenError.js +27 -0
  195. package/dist/build/transformers/utilities/isRgbaFloat.d.ts +7 -0
  196. package/dist/build/transformers/utilities/isRgbaFloat.js +20 -0
  197. package/dist/build/transformers/utilities/mix.d.ts +5 -0
  198. package/dist/build/transformers/utilities/mix.js +38 -0
  199. package/dist/build/transformers/utilities/rgbaFloatToHex.d.ts +6 -0
  200. package/dist/build/transformers/utilities/rgbaFloatToHex.js +11 -0
  201. package/dist/build/types/Border.d.ts +5 -0
  202. package/dist/build/types/BorderTokenValue.d.ts +10 -0
  203. package/dist/build/types/ColorHex.d.ts +4 -0
  204. package/dist/build/types/PlatformInitializer.d.ts +11 -0
  205. package/dist/build/types/Shadow.d.ts +5 -0
  206. package/dist/build/types/ShadowTokenValue.d.ts +14 -0
  207. package/dist/build/types/SizeEm.d.ts +4 -0
  208. package/dist/build/types/SizePx.d.ts +4 -0
  209. package/dist/build/types/SizeRem.d.ts +4 -0
  210. package/dist/build/types/StyleDictionaryConfigGenerator.d.ts +15 -0
  211. package/dist/build/types/TokenBuildInput.d.ts +8 -0
  212. package/dist/build/types/TypographyTokenValue.d.ts +12 -0
  213. package/dist/build/types/w3cTransformedToken.d.ts +8 -0
  214. package/dist/build/utilities/copyFromDir.d.ts +8 -0
  215. package/dist/build/utilities/copyFromDir.js +31 -0
  216. package/dist/build/utilities/filterStringArray.d.ts +1 -0
  217. package/dist/build/utilities/filterStringArray.js +13 -0
  218. package/dist/build/utilities/getFlag.d.ts +8 -0
  219. package/dist/build/utilities/getFlag.js +12 -0
  220. package/dist/build/utilities/index.d.ts +9 -0
  221. package/dist/build/utilities/index.js +9 -0
  222. package/dist/build/utilities/joinFriendly.d.ts +1 -0
  223. package/dist/build/utilities/joinFriendly.js +1 -0
  224. package/dist/build/utilities/schemaErrorMessage.d.ts +1 -0
  225. package/dist/build/utilities/schemaErrorMessage.js +1 -0
  226. package/dist/build/utilities/toCamelCase.d.ts +1 -0
  227. package/dist/build/utilities/toCamelCase.js +16 -0
  228. package/dist/build/utilities/toPascalCase.d.ts +1 -0
  229. package/dist/build/utilities/toPascalCase.js +13 -0
  230. package/dist/build/utilities/treeWalker.d.ts +8 -0
  231. package/dist/build/utilities/treeWalker.js +23 -0
  232. package/dist/build/utilities/upperCaseFirstCharacter.d.ts +8 -0
  233. package/dist/build/utilities/upperCaseFirstCharacter.js +10 -0
  234. package/dist/css/functional/themes/dark-colorblind.css +4 -4
  235. package/dist/css/functional/themes/dark-high-contrast.css +20 -20
  236. package/dist/css/functional/themes/light-high-contrast.css +14 -14
  237. package/dist/css/functional/typography/typography.css +20 -20
  238. package/dist/css/primitives.css +20 -20
  239. package/dist/docs/base/size/size.json +76 -76
  240. package/dist/docs/base/typography/typography.json +16 -16
  241. package/dist/docs/functional/motion/motion.json +18 -18
  242. package/dist/docs/functional/size/border.json +56 -56
  243. package/dist/docs/functional/size/breakpoints.json +24 -24
  244. package/dist/docs/functional/size/size-coarse.json +12 -12
  245. package/dist/docs/functional/size/size-fine.json +12 -12
  246. package/dist/docs/functional/size/size.json +264 -264
  247. package/dist/docs/functional/size/viewport.json +24 -24
  248. package/dist/docs/functional/themes/dark-colorblind.json +2310 -3186
  249. package/dist/docs/functional/themes/dark-dimmed.json +2300 -2794
  250. package/dist/docs/functional/themes/dark-high-contrast.json +2520 -5038
  251. package/dist/docs/functional/themes/dark-tritanopia.json +2351 -3003
  252. package/dist/docs/functional/themes/dark.json +2270 -2270
  253. package/dist/docs/functional/themes/light-colorblind.json +2298 -3124
  254. package/dist/docs/functional/themes/light-high-contrast.json +2419 -4645
  255. package/dist/docs/functional/themes/light-tritanopia.json +2330 -2990
  256. package/dist/docs/functional/themes/light.json +2260 -2260
  257. package/dist/docs/functional/typography/typography.json +206 -206
  258. package/dist/figma/dimension/dimension.json +489 -489
  259. package/dist/figma/figma.json +11 -3
  260. package/dist/figma/scales/dark-dimmed.json +38 -38
  261. package/dist/figma/scales/dark-high-constrast.json +38 -38
  262. package/dist/figma/scales/dark.json +35 -35
  263. package/dist/figma/scales/light-high-constrast.json +40 -40
  264. package/dist/figma/scales/light.json +40 -40
  265. package/dist/figma/shadows/dark-colorblind.json +280 -280
  266. package/dist/figma/shadows/dark-dimmed.json +280 -280
  267. package/dist/figma/shadows/dark-high-contrast.json +280 -280
  268. package/dist/figma/shadows/dark-tritanopia.json +280 -280
  269. package/dist/figma/shadows/dark.json +280 -280
  270. package/dist/figma/shadows/light-colorblind.json +281 -281
  271. package/dist/figma/shadows/light-high-contrast.json +281 -281
  272. package/dist/figma/shadows/light-tritanopia.json +281 -281
  273. package/dist/figma/shadows/light.json +281 -281
  274. package/dist/figma/themes/dark-colorblind.json +4991 -5854
  275. package/dist/figma/themes/dark-dimmed.json +5314 -5799
  276. package/dist/figma/themes/dark-high-contrast.json +4210 -6679
  277. package/dist/figma/themes/dark-tritanopia.json +5165 -5817
  278. package/dist/figma/themes/dark.json +5534 -5537
  279. package/dist/figma/themes/light-colorblind.json +4857 -5669
  280. package/dist/figma/themes/light-high-contrast.json +4198 -6372
  281. package/dist/figma/themes/light-tritanopia.json +4901 -5529
  282. package/dist/figma/themes/light.json +5349 -5349
  283. package/dist/figma/typography/typography.json +112 -156
  284. package/dist/internalCss/dark-colorblind.css +4 -4
  285. package/dist/internalCss/dark-high-contrast.css +20 -20
  286. package/dist/internalCss/light-high-contrast.css +14 -14
  287. package/dist/styleLint/base/size/size.json +38 -38
  288. package/dist/styleLint/base/typography/typography.json +8 -8
  289. package/dist/styleLint/functional/motion/motion.json +12 -12
  290. package/dist/styleLint/functional/size/border.json +30 -30
  291. package/dist/styleLint/functional/size/breakpoints.json +12 -12
  292. package/dist/styleLint/functional/size/size-coarse.json +6 -6
  293. package/dist/styleLint/functional/size/size-fine.json +6 -6
  294. package/dist/styleLint/functional/size/size.json +132 -132
  295. package/dist/styleLint/functional/size/viewport.json +12 -12
  296. package/dist/styleLint/functional/themes/dark-colorblind.json +1171 -2047
  297. package/dist/styleLint/functional/themes/dark-dimmed.json +1160 -1654
  298. package/dist/styleLint/functional/themes/dark-high-contrast.json +1307 -3825
  299. package/dist/styleLint/functional/themes/dark-tritanopia.json +1232 -1884
  300. package/dist/styleLint/functional/themes/dark.json +1140 -1140
  301. package/dist/styleLint/functional/themes/light-colorblind.json +1198 -2024
  302. package/dist/styleLint/functional/themes/light-high-contrast.json +1270 -3496
  303. package/dist/styleLint/functional/themes/light-tritanopia.json +1205 -1865
  304. package/dist/styleLint/functional/themes/light.json +1130 -1130
  305. package/dist/styleLint/functional/typography/typography.json +114 -114
  306. package/package.json +12 -4
  307. package/src/tokens/functional/color/dark/overrides/dark.high-contrast.json5 +4 -4
  308. package/src/tokens/functional/color/dark/overrides/dark.protanopia-deuteranopia.json5 +6 -0
  309. package/src/tokens/functional/color/dark/overrides/dark.tritanopia.json5 +21 -3
  310. package/src/tokens/functional/color/dark/primitives-dark.json5 +3 -3
  311. package/src/tokens/functional/color/light/overrides/light.protanopia-deuteranopia.json5 +4 -1
  312. package/src/tokens/functional/color/light/overrides/light.tritanopia.json5 +4 -1
  313. package/src/tokens/functional/color/light/primitives-light.json5 +2 -2
@@ -0,0 +1,157 @@
1
+ import { z } from 'zod';
2
+ export declare const shadowValue: z.ZodObject<{
3
+ color: z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodEffects<z.ZodString, string, string>]>;
4
+ alpha: z.ZodUnion<[z.ZodEffects<z.ZodAny, any, any>, z.ZodEffects<z.ZodString, string, string>]>;
5
+ offsetX: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
6
+ offsetY: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
7
+ blur: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
8
+ spread: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
9
+ inset: z.ZodOptional<z.ZodBoolean>;
10
+ }, "strict", z.ZodTypeAny, {
11
+ color: string;
12
+ blur: string | 0;
13
+ offsetX: string | 0;
14
+ offsetY: string | 0;
15
+ spread: string | 0;
16
+ alpha?: any;
17
+ inset?: boolean | undefined;
18
+ }, {
19
+ color: string;
20
+ blur: string | 0;
21
+ offsetX: string | 0;
22
+ offsetY: string | 0;
23
+ spread: string | 0;
24
+ alpha?: any;
25
+ inset?: boolean | undefined;
26
+ }>;
27
+ export declare const shadowToken: z.ZodObject<z.objectUtil.extendShape<{
28
+ $description: z.ZodOptional<z.ZodString>;
29
+ deprecated: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
30
+ }, {
31
+ $value: z.ZodUnion<[z.ZodObject<{
32
+ color: z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodEffects<z.ZodString, string, string>]>;
33
+ alpha: z.ZodUnion<[z.ZodEffects<z.ZodAny, any, any>, z.ZodEffects<z.ZodString, string, string>]>;
34
+ offsetX: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
35
+ offsetY: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
36
+ blur: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
37
+ spread: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
38
+ inset: z.ZodOptional<z.ZodBoolean>;
39
+ }, "strict", z.ZodTypeAny, {
40
+ color: string;
41
+ blur: string | 0;
42
+ offsetX: string | 0;
43
+ offsetY: string | 0;
44
+ spread: string | 0;
45
+ alpha?: any;
46
+ inset?: boolean | undefined;
47
+ }, {
48
+ color: string;
49
+ blur: string | 0;
50
+ offsetX: string | 0;
51
+ offsetY: string | 0;
52
+ spread: string | 0;
53
+ alpha?: any;
54
+ inset?: boolean | undefined;
55
+ }>, z.ZodArray<z.ZodObject<{
56
+ color: z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodEffects<z.ZodString, string, string>]>;
57
+ alpha: z.ZodUnion<[z.ZodEffects<z.ZodAny, any, any>, z.ZodEffects<z.ZodString, string, string>]>;
58
+ offsetX: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
59
+ offsetY: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
60
+ blur: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
61
+ spread: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
62
+ inset: z.ZodOptional<z.ZodBoolean>;
63
+ }, "strict", z.ZodTypeAny, {
64
+ color: string;
65
+ blur: string | 0;
66
+ offsetX: string | 0;
67
+ offsetY: string | 0;
68
+ spread: string | 0;
69
+ alpha?: any;
70
+ inset?: boolean | undefined;
71
+ }, {
72
+ color: string;
73
+ blur: string | 0;
74
+ offsetX: string | 0;
75
+ offsetY: string | 0;
76
+ spread: string | 0;
77
+ alpha?: any;
78
+ inset?: boolean | undefined;
79
+ }>, "many">, z.ZodEffects<z.ZodString, string, string>]>;
80
+ $type: z.ZodLiteral<"string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange">;
81
+ $extensions: z.ZodOptional<z.ZodObject<{
82
+ 'org.primer.figma': z.ZodObject<{
83
+ collection: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
84
+ mode: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ mode?: string | undefined;
87
+ collection?: string | undefined;
88
+ }, {
89
+ mode?: string | undefined;
90
+ collection?: string | undefined;
91
+ }>;
92
+ }, "strip", z.ZodTypeAny, {
93
+ 'org.primer.figma': {
94
+ mode?: string | undefined;
95
+ collection?: string | undefined;
96
+ };
97
+ }, {
98
+ 'org.primer.figma': {
99
+ mode?: string | undefined;
100
+ collection?: string | undefined;
101
+ };
102
+ }>>;
103
+ }>, "strict", z.ZodTypeAny, {
104
+ $value: string | {
105
+ color: string;
106
+ blur: string | 0;
107
+ offsetX: string | 0;
108
+ offsetY: string | 0;
109
+ spread: string | 0;
110
+ alpha?: any;
111
+ inset?: boolean | undefined;
112
+ } | {
113
+ color: string;
114
+ blur: string | 0;
115
+ offsetX: string | 0;
116
+ offsetY: string | 0;
117
+ spread: string | 0;
118
+ alpha?: any;
119
+ inset?: boolean | undefined;
120
+ }[];
121
+ $type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange";
122
+ $description?: string | undefined;
123
+ deprecated?: string | boolean | undefined;
124
+ $extensions?: {
125
+ 'org.primer.figma': {
126
+ mode?: string | undefined;
127
+ collection?: string | undefined;
128
+ };
129
+ } | undefined;
130
+ }, {
131
+ $value: string | {
132
+ color: string;
133
+ blur: string | 0;
134
+ offsetX: string | 0;
135
+ offsetY: string | 0;
136
+ spread: string | 0;
137
+ alpha?: any;
138
+ inset?: boolean | undefined;
139
+ } | {
140
+ color: string;
141
+ blur: string | 0;
142
+ offsetX: string | 0;
143
+ offsetY: string | 0;
144
+ spread: string | 0;
145
+ alpha?: any;
146
+ inset?: boolean | undefined;
147
+ }[];
148
+ $type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange";
149
+ $description?: string | undefined;
150
+ deprecated?: string | boolean | undefined;
151
+ $extensions?: {
152
+ 'org.primer.figma': {
153
+ mode?: string | undefined;
154
+ collection?: string | undefined;
155
+ };
156
+ } | undefined;
157
+ }>;
@@ -0,0 +1,43 @@
1
+ import { z } from 'zod';
2
+ import { baseToken } from './baseToken.js';
3
+ import { referenceValue } from './referenceValue.js';
4
+ import { colorHexValue } from './colorHexValue.js';
5
+ import { alphaValue } from './alphaValue.js';
6
+ import { dimensionValue } from './dimensionValue.js';
7
+ import { tokenType } from './tokenType.js';
8
+ import { collection, mode } from './collections.js';
9
+ export const shadowValue = z
10
+ .object({
11
+ color: z.union([colorHexValue, referenceValue]),
12
+ alpha: z.union([alphaValue, referenceValue]),
13
+ offsetX: z.union([dimensionValue, referenceValue]),
14
+ offsetY: z.union([dimensionValue, referenceValue]),
15
+ blur: z.union([dimensionValue, referenceValue]),
16
+ spread: z.union([dimensionValue, referenceValue]),
17
+ inset: z.boolean().optional(),
18
+ })
19
+ .strict();
20
+ export const shadowToken = baseToken
21
+ .extend({
22
+ $value: z.union([shadowValue, z.array(shadowValue), referenceValue]),
23
+ $type: tokenType('shadow'),
24
+ $extensions: z
25
+ .object({
26
+ 'org.primer.figma': z.object({
27
+ collection: collection(['mode']).optional(),
28
+ mode: mode([
29
+ 'light',
30
+ 'dark',
31
+ 'dark dimmed',
32
+ 'light high contrast',
33
+ 'dark high contrast',
34
+ 'light colorblind',
35
+ 'dark colorblind',
36
+ 'light tritanopia',
37
+ 'dark tritanopia',
38
+ ]).optional(),
39
+ }),
40
+ })
41
+ .optional(),
42
+ })
43
+ .strict();
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ export declare const stringToken: z.ZodObject<z.objectUtil.extendShape<{
3
+ $description: z.ZodOptional<z.ZodString>;
4
+ deprecated: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
5
+ }, {
6
+ $value: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodString, string, string>]>;
7
+ $type: z.ZodLiteral<"string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange">;
8
+ }>, "strict", z.ZodTypeAny, {
9
+ $value: string;
10
+ $type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange";
11
+ $description?: string | undefined;
12
+ deprecated?: string | boolean | undefined;
13
+ }, {
14
+ $value: string;
15
+ $type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange";
16
+ $description?: string | undefined;
17
+ deprecated?: string | boolean | undefined;
18
+ }>;
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ import { baseToken } from './baseToken.js';
3
+ import { referenceValue } from './referenceValue.js';
4
+ import { tokenType } from './tokenType.js';
5
+ export const stringToken = baseToken
6
+ .extend({
7
+ $value: z.union([z.string(), referenceValue]),
8
+ $type: tokenType('string'),
9
+ })
10
+ .strict();
@@ -0,0 +1,2 @@
1
+ import { z } from 'zod';
2
+ export declare const tokenName: z.ZodEffects<z.ZodString, string, string>;
@@ -0,0 +1,5 @@
1
+ import { z } from 'zod';
2
+ import { schemaErrorMessage } from '../utilities/index.js';
3
+ export const tokenName = z.string().refine(name => /(^[a-z0-9][A-Za-z0-9-]*$|^@$)/.test(name), name => ({
4
+ message: schemaErrorMessage(`Invalid token name: "${name}"`, 'Token name must be kebab-case or camelCase, and start with a lowercase letter or number and consist only of letters, numbers, and hyphens.'),
5
+ }));
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ import type { TokenType } from './validTokenType.js';
3
+ export declare const tokenType: ($type: TokenType) => z.ZodLiteral<"string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange">;
@@ -0,0 +1,2 @@
1
+ import { z } from 'zod';
2
+ export const tokenType = ($type) => z.literal($type);
@@ -0,0 +1,59 @@
1
+ import { z } from 'zod';
2
+ export declare const typographyValue: z.ZodObject<{
3
+ fontSize: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
4
+ lineHeight: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>>;
5
+ fontWeight: z.ZodUnion<[z.ZodEffects<z.ZodNumber, number, number>, z.ZodEffects<z.ZodString, string, string>]>;
6
+ fontFamily: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodString, string, string>]>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ fontFamily: string;
9
+ fontSize: string | 0;
10
+ fontWeight: string | number;
11
+ lineHeight?: string | 0 | undefined;
12
+ }, {
13
+ fontFamily: string;
14
+ fontSize: string | 0;
15
+ fontWeight: string | number;
16
+ lineHeight?: string | 0 | undefined;
17
+ }>;
18
+ export declare const typographyToken: z.ZodObject<z.objectUtil.extendShape<{
19
+ $description: z.ZodOptional<z.ZodString>;
20
+ deprecated: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
21
+ }, {
22
+ $value: z.ZodUnion<[z.ZodObject<{
23
+ fontSize: z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>;
24
+ lineHeight: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"0">, z.ZodLiteral<0>]>, z.ZodEffects<z.ZodString, string, string>]>>;
25
+ fontWeight: z.ZodUnion<[z.ZodEffects<z.ZodNumber, number, number>, z.ZodEffects<z.ZodString, string, string>]>;
26
+ fontFamily: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodString, string, string>]>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ fontFamily: string;
29
+ fontSize: string | 0;
30
+ fontWeight: string | number;
31
+ lineHeight?: string | 0 | undefined;
32
+ }, {
33
+ fontFamily: string;
34
+ fontSize: string | 0;
35
+ fontWeight: string | number;
36
+ lineHeight?: string | 0 | undefined;
37
+ }>, z.ZodEffects<z.ZodString, string, string>]>;
38
+ $type: z.ZodLiteral<"string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange">;
39
+ }>, "strict", z.ZodTypeAny, {
40
+ $value: string | {
41
+ fontFamily: string;
42
+ fontSize: string | 0;
43
+ fontWeight: string | number;
44
+ lineHeight?: string | 0 | undefined;
45
+ };
46
+ $type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange";
47
+ $description?: string | undefined;
48
+ deprecated?: string | boolean | undefined;
49
+ }, {
50
+ $value: string | {
51
+ fontFamily: string;
52
+ fontSize: string | 0;
53
+ fontWeight: string | number;
54
+ lineHeight?: string | 0 | undefined;
55
+ };
56
+ $type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange";
57
+ $description?: string | undefined;
58
+ deprecated?: string | boolean | undefined;
59
+ }>;
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { referenceValue } from './referenceValue.js';
3
+ import { dimensionValue } from './dimensionValue.js';
4
+ import { baseToken } from './baseToken.js';
5
+ import { fontWeightValue } from './fontWeightValue.js';
6
+ import { tokenType } from './tokenType.js';
7
+ export const typographyValue = z.object({
8
+ fontSize: z.union([dimensionValue, referenceValue]),
9
+ lineHeight: z.union([dimensionValue, referenceValue]).optional(),
10
+ fontWeight: z.union([fontWeightValue, referenceValue]),
11
+ fontFamily: z.union([z.string().min(1), referenceValue]),
12
+ });
13
+ export const typographyToken = baseToken
14
+ .extend({
15
+ $value: z.union([typographyValue, referenceValue]),
16
+ $type: tokenType('typography'),
17
+ })
18
+ .strict();
@@ -0,0 +1,5 @@
1
+ import { z } from 'zod';
2
+ declare const validTypes: readonly ["color", "typography", "dimension", "duration", "border", "shadow", "fontFamily", "fontWeight", "number", "string", "custom-viewportRange"];
3
+ export type TokenType = (typeof validTypes)[number];
4
+ export declare const validateType: z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodTypeAny>>;
5
+ export {};
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ import { joinFriendly, schemaErrorMessage } from '../utilities/index.js';
3
+ const validTypes = [
4
+ 'color',
5
+ 'typography',
6
+ 'dimension',
7
+ 'duration',
8
+ 'border',
9
+ 'shadow',
10
+ 'fontFamily',
11
+ 'fontWeight',
12
+ 'number',
13
+ 'string',
14
+ 'custom-viewportRange',
15
+ ];
16
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
17
+ // @ts-ignore: TODO: fix this
18
+ export const validateType = z.record(z.string(), z.lazy(() => {
19
+ return z.union([
20
+ z
21
+ .object({
22
+ $value: z.any(),
23
+ $type: z.string().refine(type => validTypes.includes(type), val => ({
24
+ message: schemaErrorMessage(`Invalid token $type: "${val}"`, `Must be one of the following: ${joinFriendly([...validTypes], 'or')}`),
25
+ })),
26
+ })
27
+ .required(),
28
+ validateType,
29
+ ]);
30
+ }));
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ export declare const viewportRangeToken: z.ZodObject<z.objectUtil.extendShape<{
3
+ $description: z.ZodOptional<z.ZodString>;
4
+ deprecated: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
5
+ }, {
6
+ $value: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodString, string, string>]>;
7
+ $type: z.ZodLiteral<"string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange">;
8
+ }>, "strict", z.ZodTypeAny, {
9
+ $value: string;
10
+ $type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange";
11
+ $description?: string | undefined;
12
+ deprecated?: string | boolean | undefined;
13
+ }, {
14
+ $value: string;
15
+ $type: "string" | "number" | "border" | "color" | "fontFamily" | "fontWeight" | "dimension" | "duration" | "shadow" | "typography" | "custom-viewportRange";
16
+ $description?: string | undefined;
17
+ deprecated?: string | boolean | undefined;
18
+ }>;
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ import { baseToken } from './baseToken.js';
3
+ import { referenceValue } from './referenceValue.js';
4
+ import { tokenType } from './tokenType.js';
5
+ export const viewportRangeToken = baseToken
6
+ .extend({
7
+ $value: z.union([z.string(), referenceValue]),
8
+ $type: tokenType('custom-viewportRange'),
9
+ })
10
+ .strict();
@@ -0,0 +1,8 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * @description converts w3c border tokens in css border string
4
+ * @type valueTransformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
5
+ * @matcher matches all tokens of $type `border`
6
+ * @transformer returns css border `string`
7
+ */
8
+ export declare const borderToCss: Transform;
@@ -0,0 +1,38 @@
1
+ import { isBorder } from '../filters/isBorder.js';
2
+ /**
3
+ * checks if all required properties exist on shadow token
4
+ * @param object - BorderTokenValue
5
+ * @returns void or throws error
6
+ */
7
+ const checkForBorderTokenProperties = (border) => {
8
+ if ('color' in border && 'width' in border && 'style' in border) {
9
+ return true;
10
+ }
11
+ return false;
12
+ };
13
+ /**
14
+ * @description converts w3c border tokens in css border string
15
+ * @type valueTransformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
16
+ * @matcher matches all tokens of $type `border`
17
+ * @transformer returns css border `string`
18
+ */
19
+ export const borderToCss = {
20
+ name: 'border/css',
21
+ type: 'value',
22
+ transitive: true,
23
+ filter: isBorder,
24
+ transform: (token) => {
25
+ var _a;
26
+ const value = (_a = token.$value) !== null && _a !== void 0 ? _a : token.value;
27
+ // if value === string it was probably already transformed
28
+ if (typeof value === 'string') {
29
+ return value;
30
+ }
31
+ //
32
+ if (!checkForBorderTokenProperties(value)) {
33
+ throw new Error(`Invalid border token property ${JSON.stringify(value)}. Must be an object with color, width and style properties.`);
34
+ }
35
+ /* color | style | width */
36
+ return `${value.color} ${value.style} ${value.width}`;
37
+ },
38
+ };
@@ -0,0 +1,8 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * @description converts color tokens value to `hex6` or `hex8`
4
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
5
+ * @matcher matches all tokens of $type `color`
6
+ * @transformer returns a `hex` string
7
+ */
8
+ export declare const colorToHex: Transform;
@@ -0,0 +1,24 @@
1
+ import { toHex } from 'color2k';
2
+ import { isColor } from '../filters/index.js';
3
+ import { getTokenValue } from './utilities/getTokenValue.js';
4
+ import { alpha } from './utilities/alpha.js';
5
+ /**
6
+ * @description converts color tokens value to `hex6` or `hex8`
7
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
8
+ * @matcher matches all tokens of $type `color`
9
+ * @transformer returns a `hex` string
10
+ */
11
+ export const colorToHex = {
12
+ name: 'color/hex',
13
+ type: 'value',
14
+ transitive: true,
15
+ filter: isColor,
16
+ transform: (token) => {
17
+ var _a, _b;
18
+ const alphaValue = (_a = token.alpha) !== null && _a !== void 0 ? _a : (_b = token.$extensions) === null || _b === void 0 ? void 0 : _b.alpha;
19
+ if (alphaValue === null || alphaValue === undefined) {
20
+ return toHex(getTokenValue(token));
21
+ }
22
+ return toHex(alpha(getTokenValue(token), alphaValue, token));
23
+ },
24
+ };
@@ -0,0 +1,8 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * @description replaces tokens value with `hex8` color using the tokens `alpha` property to specify the value used for alpha
4
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
5
+ * @matcher matches all tokens of $type `color` with an `alpha` property
6
+ * @transformer returns `hex8` string
7
+ */
8
+ export declare const colorToHexMix: Transform;
@@ -0,0 +1,20 @@
1
+ import { toHex } from 'color2k';
2
+ import { isColorWithMix } from '../filters/index.js';
3
+ import { getTokenValue } from './utilities/getTokenValue.js';
4
+ import mix from './utilities/mix.js';
5
+ /**
6
+ * @description replaces tokens value with `hex8` color using the tokens `alpha` property to specify the value used for alpha
7
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
8
+ * @matcher matches all tokens of $type `color` with an `alpha` property
9
+ * @transformer returns `hex8` string
10
+ */
11
+ export const colorToHexMix = {
12
+ name: 'color/hexMix',
13
+ type: 'value',
14
+ transitive: true,
15
+ filter: isColorWithMix,
16
+ transform: (token) => {
17
+ var _a, _b;
18
+ return toHex(mix(getTokenValue(token), ((_a = token.mix) === null || _a === void 0 ? void 0 : _a.color) || getTokenValue(token), ((_b = token.mix) === null || _b === void 0 ? void 0 : _b.weight) || 0));
19
+ },
20
+ };
@@ -0,0 +1,8 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * @description replaces tokens value with `rgba` color using the tokens `alpha` property to specify the value used for alpha
4
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
5
+ * @matcher matches all tokens of $type `color` with an `alpha` property
6
+ * @transformer returns `rgba` string
7
+ */
8
+ export declare const colorToRgbAlpha: Transform;
@@ -0,0 +1,20 @@
1
+ import { isColorWithAlpha } from '../filters/index.js';
2
+ import { alpha } from './utilities/alpha.js';
3
+ import { getTokenValue } from './utilities/getTokenValue.js';
4
+ /**
5
+ * @description replaces tokens value with `rgba` color using the tokens `alpha` property to specify the value used for alpha
6
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
7
+ * @matcher matches all tokens of $type `color` with an `alpha` property
8
+ * @transformer returns `rgba` string
9
+ */
10
+ export const colorToRgbAlpha = {
11
+ name: 'color/rgbAlpha',
12
+ type: 'value',
13
+ transitive: true,
14
+ filter: isColorWithAlpha,
15
+ transform: (token) => {
16
+ if (token.alpha === null)
17
+ return getTokenValue(token);
18
+ return alpha(getTokenValue(token), token.alpha, token);
19
+ },
20
+ };
@@ -0,0 +1,8 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * @description converts color tokens rgba float with values from 0 - 1
4
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
5
+ * @matcher matches all tokens of $type `color`
6
+ * @transformer returns a `rgb` float object
7
+ */
8
+ export declare const colorToRgbaFloat: Transform;
@@ -0,0 +1,46 @@
1
+ import { toHex } from 'color2k';
2
+ import { isColor } from '../filters/index.js';
3
+ import { getTokenValue } from './utilities/getTokenValue.js';
4
+ import { rgbaFloatToHex } from './utilities/rgbaFloatToHex.js';
5
+ import mix from './utilities/mix.js';
6
+ import { hexToRgbaFloat } from './utilities/hexToRgbaFloat.js';
7
+ import { isRgbaFloat } from './utilities/isRgbaFloat.js';
8
+ const toRgbaFloat = (token, alpha = undefined) => {
9
+ var _a;
10
+ let tokenValue = getTokenValue(token);
11
+ let tokenMixColor = (_a = token.mix) === null || _a === void 0 ? void 0 : _a.color;
12
+ // get hex value from color string
13
+ if (isRgbaFloat(tokenValue)) {
14
+ tokenValue = rgbaFloatToHex(tokenValue, false);
15
+ }
16
+ if (tokenMixColor && isRgbaFloat(tokenMixColor)) {
17
+ tokenMixColor = rgbaFloatToHex(tokenMixColor, false);
18
+ }
19
+ let hex = toHex(tokenValue);
20
+ // mix color with mix color and weight
21
+ if (token.mix && token.mix.color && token.mix.weight) {
22
+ hex = toHex(mix(tokenValue, tokenMixColor, token.mix.weight));
23
+ }
24
+ // return color as RgbaFloat
25
+ return hexToRgbaFloat(hex, alpha);
26
+ };
27
+ /**
28
+ * @description converts color tokens rgba float with values from 0 - 1
29
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
30
+ * @matcher matches all tokens of $type `color`
31
+ * @transformer returns a `rgb` float object
32
+ */
33
+ export const colorToRgbaFloat = {
34
+ name: 'color/rgbaFloat',
35
+ type: 'value',
36
+ transitive: true,
37
+ filter: isColor,
38
+ transform: (token) => {
39
+ const value = getTokenValue(token);
40
+ // skip if value is already rgb float
41
+ if (isRgbaFloat(value) && !('mix' in token) && !('alpha' in token))
42
+ return value;
43
+ // convert hex or rgb values to rgba float
44
+ return toRgbaFloat(token, token.alpha);
45
+ },
46
+ };
@@ -0,0 +1,8 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * @description converts dimension tokens value to pixel value without unit, ignores `em` as they are relative to the font size of the parent element
4
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
5
+ * @matcher matches all tokens of $type `dimension`
6
+ * @transformer returns a float number
7
+ */
8
+ export declare const dimensionToPixelUnitless: Transform;