@primer/primitives 9.1.2 → 10.0.0-rc.29e661a3

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