@primer/primitives 7.16.0 → 7.17.0-rc.132f02a7

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 (360) hide show
  1. package/dist/css/functional/themes/dark-colorblind.css +14 -14
  2. package/dist/css/functional/themes/dark-tritanopia.css +14 -14
  3. package/dist/css/functional/themes/dark.css +14 -14
  4. package/dist/docs/functional/themes/dark-colorblind.json +7 -7
  5. package/dist/docs/functional/themes/dark-tritanopia.json +7 -7
  6. package/dist/docs/functional/themes/dark.json +7 -7
  7. package/dist/figma/scales/dark.json +5 -5
  8. package/dist/figma/themes/dark-colorblind.json +20 -20
  9. package/dist/figma/themes/dark-tritanopia.json +20 -20
  10. package/dist/figma/themes/dark.json +20 -20
  11. package/dist/internalCss/dark-colorblind.css +18 -18
  12. package/dist/internalCss/dark-tritanopia.css +18 -18
  13. package/dist/internalCss/dark.css +18 -18
  14. package/{tokens-next-private/docs → dist/styleLint}/base/size/size.json +17 -17
  15. package/{tokens-next-private/docs → dist/styleLint}/functional/size/border.json +6 -6
  16. package/{tokens-next-private/docs → dist/styleLint}/functional/size/breakpoints.json +6 -6
  17. package/{tokens-next-private/docs → dist/styleLint}/functional/size/size-coarse.json +3 -3
  18. package/{tokens-next-private/docs → dist/styleLint}/functional/size/size-fine.json +3 -3
  19. package/{tokens-next-private/docs → dist/styleLint}/functional/size/size.json +72 -72
  20. package/{tokens-next-private/docs → dist/styleLint}/functional/size/viewport.json +4 -4
  21. package/{tokens-next-private/docs → dist/styleLint}/functional/themes/dark-colorblind.json +7 -7
  22. package/{tokens-next-private/docs → dist/styleLint}/functional/themes/dark-tritanopia.json +7 -7
  23. package/{tokens-next-private/docs → dist/styleLint}/functional/themes/dark.json +7 -7
  24. package/{tokens-next-private/docs → dist/styleLint}/functional/typography/typography.json +23 -23
  25. package/package.json +12 -11
  26. package/src/PrimerStyleDictionary.ts +226 -0
  27. package/src/filters/index.ts +12 -0
  28. package/src/filters/isBorder.ts +10 -0
  29. package/src/filters/isColor.ts +10 -0
  30. package/src/filters/isColorWithAlpha.ts +11 -0
  31. package/src/filters/isColorWithMix.ts +33 -0
  32. package/src/filters/isDeprecated.ts +10 -0
  33. package/src/filters/isDimension.ts +10 -0
  34. package/src/filters/isDuration.ts +10 -0
  35. package/src/filters/isFontFamily.ts +10 -0
  36. package/src/filters/isFontWeight.ts +10 -0
  37. package/src/filters/isFromFile.ts +12 -0
  38. package/src/filters/isShadow.ts +10 -0
  39. package/src/filters/isSource.ts +10 -0
  40. package/src/filters/isTypography.ts +10 -0
  41. package/src/formats/cssCustomMedia.ts +24 -0
  42. package/src/formats/cssThemed.ts +35 -0
  43. package/src/formats/cssVariables.ts +25 -0
  44. package/src/formats/cssWrapMediaQuery.ts +29 -0
  45. package/src/formats/index.ts +11 -0
  46. package/src/formats/javascriptCommonJs.ts +21 -0
  47. package/src/formats/javascriptEsm.ts +21 -0
  48. package/src/formats/jsonFigma.ts +133 -0
  49. package/src/formats/jsonNestedPrefixed.ts +23 -0
  50. package/src/formats/jsonOneDimensional.ts +18 -0
  51. package/src/formats/jsonPostCssFallback.ts +16 -0
  52. package/src/formats/typescriptExportDefinition.ts +170 -0
  53. package/src/formats/utilities/jsonToFlat.ts +10 -0
  54. package/src/formats/utilities/jsonToNestedValue.ts +20 -0
  55. package/src/formats/utilities/prefixTokens.ts +17 -0
  56. package/src/parsers/index.ts +1 -0
  57. package/src/parsers/w3cJsonParser.ts +25 -0
  58. package/src/platforms/css.ts +93 -0
  59. package/src/platforms/deprecatedJson.ts +16 -0
  60. package/src/platforms/docJson.ts +34 -0
  61. package/src/platforms/fallbacks.ts +34 -0
  62. package/src/platforms/figma.ts +48 -0
  63. package/src/platforms/index.ts +10 -0
  64. package/src/platforms/javascript.ts +30 -0
  65. package/src/platforms/json.ts +32 -0
  66. package/src/platforms/styleLint.ts +34 -0
  67. package/src/platforms/typeDefinitions.ts +30 -0
  68. package/src/platforms/typescript.ts +30 -0
  69. package/src/schemas/alphaValue.ts +12 -0
  70. package/src/schemas/baseToken.ts +7 -0
  71. package/src/schemas/borderToken.ts +19 -0
  72. package/src/schemas/collections.ts +49 -0
  73. package/src/schemas/colorHexValue.ts +18 -0
  74. package/src/schemas/colorToken.ts +50 -0
  75. package/src/schemas/designToken.ts +38 -0
  76. package/src/schemas/dimensionToken.ts +22 -0
  77. package/src/schemas/dimensionValue.ts +16 -0
  78. package/src/schemas/durationToken.ts +12 -0
  79. package/src/schemas/durationValue.ts +9 -0
  80. package/src/schemas/fontFamilyToken.ts +21 -0
  81. package/src/schemas/fontWeightToken.ts +22 -0
  82. package/src/schemas/fontWeightValue.ts +14 -0
  83. package/src/schemas/numberToken.ts +11 -0
  84. package/src/schemas/referenceValue.ts +12 -0
  85. package/src/schemas/scopes.ts +16 -0
  86. package/src/schemas/shadowToken.ts +45 -0
  87. package/src/schemas/stringToken.ts +11 -0
  88. package/src/schemas/tokenName.ts +12 -0
  89. package/src/schemas/tokenType.ts +4 -0
  90. package/src/schemas/typographyToken.ts +20 -0
  91. package/src/schemas/validTokenType.ts +44 -0
  92. package/src/schemas/viewportRangeToken.ts +11 -0
  93. package/src/test-utilities/getMockDictionary.ts +22 -0
  94. package/src/test-utilities/getMockFormatterArguments.ts +21 -0
  95. package/src/test-utilities/getMockParserInput.ts +72 -0
  96. package/src/test-utilities/getMockToken.ts +25 -0
  97. package/src/test-utilities/index.ts +4 -0
  98. package/src/tokens/base/color/dark/dark.dimmed.json5 +1326 -0
  99. package/src/tokens/base/color/dark/dark.high-contrast.json5 +856 -0
  100. package/src/tokens/base/color/dark/dark.json5 +866 -0
  101. package/src/tokens/base/color/dark/display-dark.json5 +1774 -0
  102. package/src/tokens/base/color/light/display-light.json5 +1774 -0
  103. package/src/tokens/base/color/light/light.high-contrast.json5 +847 -0
  104. package/src/tokens/base/color/light/light.json5 +866 -0
  105. package/src/tokens/base/size/size.json +176 -0
  106. package/src/tokens/base/typography/typography.json +24 -0
  107. package/{tokens-next-private/fallbacks → src/tokens/fallback}/color-fallbacks.json +1 -1
  108. package/src/tokens/functional/border/dark.json5 +12 -0
  109. package/src/tokens/functional/border/light.json5 +12 -0
  110. package/src/tokens/functional/color/dark/app-dark.json5 +554 -0
  111. package/src/tokens/functional/color/dark/data-vis-dark.json5 +144 -0
  112. package/src/tokens/functional/color/dark/display-dark.json5 +1060 -0
  113. package/src/tokens/functional/color/dark/overrides/dark.dimmed.json5 +57 -0
  114. package/src/tokens/functional/color/dark/overrides/dark.high-contrast.json5 +390 -0
  115. package/src/tokens/functional/color/dark/overrides/dark.protanopia-deuteranopia.json5 +314 -0
  116. package/src/tokens/functional/color/dark/overrides/dark.tritanopia.json5 +229 -0
  117. package/src/tokens/functional/color/dark/patterns-dark.json5 +3073 -0
  118. package/src/tokens/functional/color/dark/primitives-dark.json5 +1206 -0
  119. package/src/tokens/functional/color/dark/syntax-dark.json5 +559 -0
  120. package/src/tokens/functional/color/light/app-light.json5 +551 -0
  121. package/src/tokens/functional/color/light/data-vis-light.json5 +144 -0
  122. package/src/tokens/functional/color/light/display-light.json5 +1060 -0
  123. package/src/tokens/functional/color/light/overrides/light.high-contrast.json5 +440 -0
  124. package/src/tokens/functional/color/light/overrides/light.protanopia-deuteranopia.json5 +340 -0
  125. package/src/tokens/functional/color/light/overrides/light.tritanopia.json5 +249 -0
  126. package/src/tokens/functional/color/light/patterns-light.json5 +3070 -0
  127. package/src/tokens/functional/color/light/primitives-light.json5 +1196 -0
  128. package/src/tokens/functional/color/light/syntax-light.json5 +559 -0
  129. package/src/tokens/functional/motion/loading.json5 +17 -0
  130. package/src/tokens/functional/motion/patterns.json5 +28 -0
  131. package/src/tokens/functional/shadow/dark.json5 +383 -0
  132. package/src/tokens/functional/shadow/light.json5 +376 -0
  133. package/src/tokens/functional/size/border.json +98 -0
  134. package/src/tokens/functional/size/breakpoints.json +64 -0
  135. package/src/tokens/functional/size/size-coarse.json +28 -0
  136. package/src/tokens/functional/size/size-fine.json +28 -0
  137. package/src/tokens/functional/size/size.json +802 -0
  138. package/src/tokens/functional/size/viewport.json +28 -0
  139. package/src/tokens/functional/typography/typography.json +279 -0
  140. package/src/transformers/borderToCss.ts +38 -0
  141. package/src/transformers/colorToHex.ts +16 -0
  142. package/src/transformers/colorToHexAlpha.ts +23 -0
  143. package/src/transformers/colorToHexMix.ts +19 -0
  144. package/src/transformers/colorToRgbAlpha.ts +19 -0
  145. package/src/transformers/colorToRgbaFloat.ts +45 -0
  146. package/src/transformers/dimensionToPixelUnitless.ts +60 -0
  147. package/src/transformers/dimensionToRem.ts +56 -0
  148. package/src/transformers/dimensionToRemPxArray.ts +60 -0
  149. package/src/transformers/durationToCss.ts +29 -0
  150. package/src/transformers/figmaAttributes.ts +55 -0
  151. package/src/transformers/fontFamilyToCss.ts +38 -0
  152. package/src/transformers/fontWeightToNumber.ts +53 -0
  153. package/src/transformers/index.ts +21 -0
  154. package/src/transformers/jsonDeprecated.ts +15 -0
  155. package/src/transformers/namePathToCamelCase.ts +14 -0
  156. package/src/transformers/namePathToDotNotation.ts +34 -0
  157. package/src/transformers/namePathToFigma.ts +28 -0
  158. package/src/transformers/namePathToKebabCase.ts +19 -0
  159. package/src/transformers/namePathToSlashNotation.ts +19 -0
  160. package/src/transformers/shadowToCss.ts +37 -0
  161. package/src/transformers/typographyToCss.ts +31 -0
  162. package/src/transformers/utilities/alpha.ts +23 -0
  163. package/src/transformers/utilities/checkRequiredTokenProperties.ts +16 -0
  164. package/src/transformers/utilities/getTokenValue.ts +18 -0
  165. package/src/transformers/utilities/hexToRgbaFloat.ts +31 -0
  166. package/src/transformers/utilities/invalidTokenError.ts +34 -0
  167. package/src/transformers/utilities/isRgbaFloat.ts +29 -0
  168. package/src/transformers/utilities/mix.ts +46 -0
  169. package/src/transformers/utilities/rgbaFloatToHex.ts +15 -0
  170. package/src/types/Border.d.ts +5 -0
  171. package/src/types/BorderTokenValue.d.ts +10 -0
  172. package/src/types/ColorHex.d.ts +4 -0
  173. package/src/types/PlatformInitializer.d.ts +11 -0
  174. package/src/types/Shadow.d.ts +5 -0
  175. package/src/types/ShadowTokenValue.d.ts +14 -0
  176. package/src/types/SizeEm.d.ts +4 -0
  177. package/src/types/SizePx.d.ts +4 -0
  178. package/src/types/SizeRem.d.ts +4 -0
  179. package/src/types/StyleDictionaryConfigGenerator.d.ts +15 -0
  180. package/src/types/TokenBuildInput.d.ts +8 -0
  181. package/src/types/TypographyTokenValue.d.ts +12 -0
  182. package/src/types/w3cTransformedToken.d.ts +8 -0
  183. package/src/utilities/copyFromDir.ts +21 -0
  184. package/src/utilities/getFlag.ts +12 -0
  185. package/src/utilities/index.ts +3 -0
  186. package/src/utilities/joinFriendly.ts +2 -0
  187. package/src/utilities/schemaErrorMessage.ts +2 -0
  188. package/src/utilities/toCamelCase.ts +29 -0
  189. package/src/utilities/treeWalker.ts +27 -0
  190. package/src/utilities/upperCaseFirstCharacter.ts +10 -0
  191. package/src/utils-v1.ts +36 -0
  192. package/tokens-v2-private/css/tokens/base/size/size.css +1 -1
  193. package/tokens-v2-private/css/tokens/base/typography/typography.css +1 -1
  194. package/tokens-v2-private/css/tokens/functional/size/border.css +1 -1
  195. package/tokens-v2-private/css/tokens/functional/size/breakpoints.css +1 -1
  196. package/tokens-v2-private/css/tokens/functional/size/size-coarse.css +1 -1
  197. package/tokens-v2-private/css/tokens/functional/size/size-fine.css +1 -1
  198. package/tokens-v2-private/css/tokens/functional/size/size.css +1 -1
  199. package/tokens-v2-private/css/tokens/functional/typography/typography.css +1 -1
  200. package/tokens-v2-private/js/module/tokens/base/size/size.js +1 -1
  201. package/tokens-v2-private/js/module/tokens/base/typography/typography.js +1 -1
  202. package/tokens-v2-private/js/module/tokens/functional/size/border.js +1 -1
  203. package/tokens-v2-private/js/module/tokens/functional/size/breakpoints.js +1 -1
  204. package/tokens-v2-private/js/module/tokens/functional/size/size-coarse.js +1 -1
  205. package/tokens-v2-private/js/module/tokens/functional/size/size-fine.js +1 -1
  206. package/tokens-v2-private/js/module/tokens/functional/size/size.js +1 -1
  207. package/tokens-v2-private/js/module/tokens/functional/size/viewport.js +1 -1
  208. package/tokens-v2-private/js/module/tokens/functional/typography/typography.js +1 -1
  209. package/tokens-v2-private/js/tokens/base/size/size.js +1 -1
  210. package/tokens-v2-private/js/tokens/base/typography/typography.js +1 -1
  211. package/tokens-v2-private/js/tokens/functional/size/border.js +1 -1
  212. package/tokens-v2-private/js/tokens/functional/size/breakpoints.js +1 -1
  213. package/tokens-v2-private/js/tokens/functional/size/size-coarse.js +1 -1
  214. package/tokens-v2-private/js/tokens/functional/size/size-fine.js +1 -1
  215. package/tokens-v2-private/js/tokens/functional/size/size.js +1 -1
  216. package/tokens-v2-private/js/tokens/functional/size/viewport.js +1 -1
  217. package/tokens-v2-private/js/tokens/functional/typography/typography.js +1 -1
  218. package/tokens-v2-private/scss/tokens/base/size/size.scss +1 -1
  219. package/tokens-v2-private/scss/tokens/base/typography/typography.scss +1 -1
  220. package/tokens-v2-private/scss/tokens/functional/size/border.scss +1 -1
  221. package/tokens-v2-private/scss/tokens/functional/size/breakpoints.scss +1 -1
  222. package/tokens-v2-private/scss/tokens/functional/size/size-coarse.scss +1 -1
  223. package/tokens-v2-private/scss/tokens/functional/size/size-fine.scss +1 -1
  224. package/tokens-v2-private/scss/tokens/functional/size/size.scss +1 -1
  225. package/tokens-v2-private/scss/tokens/functional/size/viewport.scss +1 -1
  226. package/tokens-v2-private/scss/tokens/functional/typography/typography.scss +1 -1
  227. package/tokens-v2-private/ts/tokens/base/size/size.d.ts +1 -1
  228. package/tokens-v2-private/ts/tokens/base/size/size.js +1 -1
  229. package/tokens-v2-private/ts/tokens/base/typography/typography.d.ts +1 -1
  230. package/tokens-v2-private/ts/tokens/base/typography/typography.js +1 -1
  231. package/tokens-v2-private/ts/tokens/functional/size/border.d.ts +1 -1
  232. package/tokens-v2-private/ts/tokens/functional/size/border.js +1 -1
  233. package/tokens-v2-private/ts/tokens/functional/size/breakpoints.d.ts +1 -1
  234. package/tokens-v2-private/ts/tokens/functional/size/breakpoints.js +1 -1
  235. package/tokens-v2-private/ts/tokens/functional/size/size-coarse.d.ts +1 -1
  236. package/tokens-v2-private/ts/tokens/functional/size/size-coarse.js +1 -1
  237. package/tokens-v2-private/ts/tokens/functional/size/size-fine.d.ts +1 -1
  238. package/tokens-v2-private/ts/tokens/functional/size/size-fine.js +1 -1
  239. package/tokens-v2-private/ts/tokens/functional/size/size.d.ts +1 -1
  240. package/tokens-v2-private/ts/tokens/functional/size/size.js +1 -1
  241. package/tokens-v2-private/ts/tokens/functional/size/viewport.d.ts +1 -1
  242. package/tokens-v2-private/ts/tokens/functional/size/viewport.js +1 -1
  243. package/tokens-v2-private/ts/tokens/functional/typography/typography.d.ts +1 -1
  244. package/tokens-v2-private/ts/tokens/functional/typography/typography.js +1 -1
  245. package/dist/deprecated/colors.json +0 -7
  246. package/dist/js/colors/dark.d.ts +0 -516
  247. package/dist/js/colors/dark.js +0 -616
  248. package/dist/js/colors/dark_colorblind.d.ts +0 -516
  249. package/dist/js/colors/dark_colorblind.js +0 -616
  250. package/dist/js/colors/dark_dimmed.d.ts +0 -516
  251. package/dist/js/colors/dark_dimmed.js +0 -616
  252. package/dist/js/colors/dark_high_contrast.d.ts +0 -516
  253. package/dist/js/colors/dark_high_contrast.js +0 -616
  254. package/dist/js/colors/dark_tritanopia.d.ts +0 -516
  255. package/dist/js/colors/dark_tritanopia.js +0 -616
  256. package/dist/js/colors/index.d.ts +0 -4638
  257. package/dist/js/colors/index.js +0 -15
  258. package/dist/js/colors/light.d.ts +0 -516
  259. package/dist/js/colors/light.js +0 -616
  260. package/dist/js/colors/light_colorblind.d.ts +0 -516
  261. package/dist/js/colors/light_colorblind.js +0 -616
  262. package/dist/js/colors/light_high_contrast.d.ts +0 -516
  263. package/dist/js/colors/light_high_contrast.js +0 -616
  264. package/dist/js/colors/light_tritanopia.d.ts +0 -516
  265. package/dist/js/colors/light_tritanopia.js +0 -616
  266. package/dist/js/index.d.ts +0 -4655
  267. package/dist/js/index.js +0 -9
  268. package/dist/js/spacing/index.d.ts +0 -6
  269. package/dist/js/spacing/index.js +0 -7
  270. package/dist/js/spacing/normal.d.ts +0 -4
  271. package/dist/js/spacing/normal.js +0 -13
  272. package/dist/js/typography/index.d.ts +0 -11
  273. package/dist/js/typography/index.js +0 -7
  274. package/dist/js/typography/normal.d.ts +0 -9
  275. package/dist/js/typography/normal.js +0 -19
  276. package/dist/json/colors/dark.json +0 -614
  277. package/dist/json/colors/dark_colorblind.json +0 -614
  278. package/dist/json/colors/dark_dimmed.json +0 -614
  279. package/dist/json/colors/dark_high_contrast.json +0 -614
  280. package/dist/json/colors/dark_tritanopia.json +0 -614
  281. package/dist/json/colors/light.json +0 -614
  282. package/dist/json/colors/light_colorblind.json +0 -614
  283. package/dist/json/colors/light_high_contrast.json +0 -614
  284. package/dist/json/colors/light_tritanopia.json +0 -614
  285. package/dist/json/spacing/normal.json +0 -11
  286. package/dist/json/typography/normal.json +0 -17
  287. package/dist/removed/colors.json +0 -432
  288. package/dist/scss/colors/_dark.scss +0 -452
  289. package/dist/scss/colors/_dark_colorblind.scss +0 -452
  290. package/dist/scss/colors/_dark_dimmed.scss +0 -452
  291. package/dist/scss/colors/_dark_high_contrast.scss +0 -452
  292. package/dist/scss/colors/_dark_tritanopia.scss +0 -452
  293. package/dist/scss/colors/_light.scss +0 -452
  294. package/dist/scss/colors/_light_colorblind.scss +0 -452
  295. package/dist/scss/colors/_light_high_contrast.scss +0 -452
  296. package/dist/scss/colors/_light_tritanopia.scss +0 -452
  297. package/dist/scss/spacing/_normal.scss +0 -11
  298. package/dist/scss/typography/_normal.scss +0 -15
  299. package/dist/ts/colors/dark.ts +0 -614
  300. package/dist/ts/colors/dark_colorblind.ts +0 -614
  301. package/dist/ts/colors/dark_dimmed.ts +0 -614
  302. package/dist/ts/colors/dark_high_contrast.ts +0 -614
  303. package/dist/ts/colors/dark_tritanopia.ts +0 -614
  304. package/dist/ts/colors/index.ts +0 -10
  305. package/dist/ts/colors/light.ts +0 -614
  306. package/dist/ts/colors/light_colorblind.ts +0 -614
  307. package/dist/ts/colors/light_high_contrast.ts +0 -614
  308. package/dist/ts/colors/light_tritanopia.ts +0 -614
  309. package/dist/ts/index.ts +0 -4
  310. package/dist/ts/spacing/index.ts +0 -2
  311. package/dist/ts/spacing/normal.ts +0 -11
  312. package/dist/ts/typography/index.ts +0 -2
  313. package/dist/ts/typography/normal.ts +0 -17
  314. package/tokens-next-private/css/base/size/size.css +0 -19
  315. package/tokens-next-private/css/base/typography/typography.css +0 -6
  316. package/tokens-next-private/css/functional/motion/motion.css +0 -5
  317. package/tokens-next-private/css/functional/size/border.css +0 -14
  318. package/tokens-next-private/css/functional/size/breakpoints.css +0 -8
  319. package/tokens-next-private/css/functional/size/size-coarse.css +0 -7
  320. package/tokens-next-private/css/functional/size/size-fine.css +0 -7
  321. package/tokens-next-private/css/functional/size/size.css +0 -74
  322. package/tokens-next-private/css/functional/size/viewport.css +0 -6
  323. package/tokens-next-private/css/functional/themes/dark-colorblind.css +0 -1078
  324. package/tokens-next-private/css/functional/themes/dark-dimmed.css +0 -1078
  325. package/tokens-next-private/css/functional/themes/dark-high-contrast.css +0 -1078
  326. package/tokens-next-private/css/functional/themes/dark-tritanopia.css +0 -1078
  327. package/tokens-next-private/css/functional/themes/dark.css +0 -1078
  328. package/tokens-next-private/css/functional/themes/light-colorblind.css +0 -1078
  329. package/tokens-next-private/css/functional/themes/light-high-contrast.css +0 -1078
  330. package/tokens-next-private/css/functional/themes/light-tritanopia.css +0 -1078
  331. package/tokens-next-private/css/functional/themes/light.css +0 -1078
  332. package/tokens-next-private/css/functional/typography/typography.css +0 -47
  333. package/tokens-next-private/fallbacks/base/size/size.json +0 -19
  334. package/tokens-next-private/fallbacks/base/typography/typography.json +0 -6
  335. package/tokens-next-private/fallbacks/functional/motion/motion.json +0 -5
  336. package/tokens-next-private/fallbacks/functional/size/border.json +0 -14
  337. package/tokens-next-private/fallbacks/functional/size/breakpoints.json +0 -8
  338. package/tokens-next-private/fallbacks/functional/size/size-coarse.json +0 -5
  339. package/tokens-next-private/fallbacks/functional/size/size-fine.json +0 -5
  340. package/tokens-next-private/fallbacks/functional/size/size.json +0 -74
  341. package/tokens-next-private/fallbacks/functional/size/viewport.json +0 -8
  342. package/tokens-next-private/fallbacks/functional/typography/typography.json +0 -47
  343. package/tokens-next-private/internalCss/dark-colorblind.css +0 -1648
  344. package/tokens-next-private/internalCss/dark-dimmed.css +0 -1648
  345. package/tokens-next-private/internalCss/dark-high-contrast.css +0 -1648
  346. package/tokens-next-private/internalCss/dark-tritanopia.css +0 -1648
  347. package/tokens-next-private/internalCss/dark.css +0 -1648
  348. package/tokens-next-private/internalCss/light-colorblind.css +0 -1648
  349. package/tokens-next-private/internalCss/light-high-contrast.css +0 -1648
  350. package/tokens-next-private/internalCss/light-tritanopia.css +0 -1648
  351. package/tokens-next-private/internalCss/light.css +0 -1648
  352. /package/{tokens-next-private/docs → dist/styleLint}/base/typography/typography.json +0 -0
  353. /package/{tokens-next-private/docs → dist/styleLint}/functional/motion/motion.json +0 -0
  354. /package/{tokens-next-private/docs → dist/styleLint}/functional/themes/dark-dimmed.json +0 -0
  355. /package/{tokens-next-private/docs → dist/styleLint}/functional/themes/dark-high-contrast.json +0 -0
  356. /package/{tokens-next-private/docs → dist/styleLint}/functional/themes/light-colorblind.json +0 -0
  357. /package/{tokens-next-private/docs → dist/styleLint}/functional/themes/light-high-contrast.json +0 -0
  358. /package/{tokens-next-private/docs → dist/styleLint}/functional/themes/light-tritanopia.json +0 -0
  359. /package/{tokens-next-private/docs → dist/styleLint}/functional/themes/light.json +0 -0
  360. /package/{tokens-next-private → src/tokens}/removed/color.json +0 -0
@@ -0,0 +1,226 @@
1
+ import StyleDictionary from 'style-dictionary'
2
+ import {w3cJsonParser} from './parsers'
3
+ import {
4
+ borderToCss,
5
+ colorToHexAlpha,
6
+ colorToRgbAlpha,
7
+ colorToHex,
8
+ colorToHexMix,
9
+ colorToRgbaFloat,
10
+ dimensionToRem,
11
+ dimensionToPixelUnitless,
12
+ durationToCss,
13
+ figmaAttributes,
14
+ fontFamilyToCss,
15
+ fontWeightToNumber,
16
+ jsonDeprecated,
17
+ namePathToDotNotation,
18
+ namePathToCamelCase,
19
+ namePathToKebabCase,
20
+ namePathToSlashNotation,
21
+ namePathToFigma,
22
+ shadowToCss,
23
+ typographyToCss,
24
+ dimensionToRemPxArray,
25
+ } from './transformers'
26
+ import {
27
+ javascriptCommonJs,
28
+ javascriptEsm,
29
+ typescriptExportDefinition,
30
+ jsonNestedPrefixed,
31
+ cssThemed,
32
+ cssCustomMedia,
33
+ jsonOneDimensional,
34
+ jsonPostCssFallback,
35
+ cssWrapMediaQuery,
36
+ cssVariables,
37
+ jsonFigma,
38
+ } from './formats'
39
+
40
+ /**
41
+ * Parsers
42
+ *
43
+ */
44
+ StyleDictionary.registerParser(w3cJsonParser)
45
+
46
+ /**
47
+ * Formats
48
+ *
49
+ */
50
+ StyleDictionary.registerFormat({
51
+ name: 'css/themed',
52
+ formatter: cssThemed,
53
+ })
54
+
55
+ StyleDictionary.registerFormat({
56
+ name: 'css/customMedia',
57
+ formatter: cssCustomMedia,
58
+ })
59
+
60
+ StyleDictionary.registerFormat({
61
+ name: 'css/wrapMediaQuery',
62
+ formatter: cssWrapMediaQuery,
63
+ })
64
+
65
+ StyleDictionary.registerFormat({
66
+ name: 'css/variables',
67
+ formatter: cssVariables,
68
+ })
69
+
70
+ StyleDictionary.registerFormat({
71
+ name: 'javascript/esm',
72
+ formatter: javascriptEsm,
73
+ })
74
+
75
+ StyleDictionary.registerFormat({
76
+ name: 'javascript/commonJs',
77
+ formatter: javascriptCommonJs,
78
+ })
79
+
80
+ StyleDictionary.registerFormat({
81
+ name: 'typescript/export-definition',
82
+ formatter: typescriptExportDefinition,
83
+ })
84
+
85
+ StyleDictionary.registerFormat({
86
+ name: 'json/nested-prefixed',
87
+ formatter: jsonNestedPrefixed,
88
+ })
89
+
90
+ StyleDictionary.registerFormat({
91
+ name: 'json/one-dimensional',
92
+ formatter: jsonOneDimensional,
93
+ })
94
+
95
+ StyleDictionary.registerFormat({
96
+ name: 'json/postCss-fallback',
97
+ formatter: jsonPostCssFallback,
98
+ })
99
+
100
+ StyleDictionary.registerFormat({
101
+ name: 'json/figma',
102
+ formatter: jsonFigma,
103
+ })
104
+
105
+ /**
106
+ * Transformers
107
+ *
108
+ */
109
+ StyleDictionary.registerTransform({
110
+ name: 'color/rgbAlpha',
111
+ ...colorToRgbAlpha,
112
+ })
113
+
114
+ StyleDictionary.registerTransform({
115
+ name: 'color/rgbaFloat',
116
+ ...colorToRgbaFloat,
117
+ })
118
+
119
+ StyleDictionary.registerTransform({
120
+ name: 'color/hexAlpha',
121
+ ...colorToHexAlpha,
122
+ })
123
+
124
+ StyleDictionary.registerTransform({
125
+ name: 'color/hexMix',
126
+ ...colorToHexMix,
127
+ })
128
+
129
+ StyleDictionary.registerTransform({
130
+ name: 'color/hex',
131
+ ...colorToHex,
132
+ })
133
+
134
+ StyleDictionary.registerTransform({
135
+ name: 'dimension/rem',
136
+ ...dimensionToRem,
137
+ })
138
+
139
+ StyleDictionary.registerTransform({
140
+ name: 'dimension/remPxArray',
141
+ ...dimensionToRemPxArray,
142
+ })
143
+
144
+ StyleDictionary.registerTransform({
145
+ name: 'dimension/pixelUnitless',
146
+ ...dimensionToPixelUnitless,
147
+ })
148
+
149
+ StyleDictionary.registerTransform({
150
+ name: 'duration/css',
151
+ ...durationToCss,
152
+ })
153
+
154
+ StyleDictionary.registerTransform({
155
+ name: 'figma/attributes',
156
+ ...figmaAttributes,
157
+ })
158
+
159
+ StyleDictionary.registerTransform({
160
+ name: 'json/deprecated',
161
+ ...jsonDeprecated,
162
+ })
163
+
164
+ StyleDictionary.registerTransform({
165
+ name: 'name/pathToCamelCase',
166
+ ...namePathToCamelCase,
167
+ })
168
+
169
+ StyleDictionary.registerTransform({
170
+ name: 'name/pathToDotNotation',
171
+ ...namePathToDotNotation,
172
+ })
173
+
174
+ StyleDictionary.registerTransform({
175
+ name: 'name/pathToFigma',
176
+ ...namePathToFigma,
177
+ })
178
+
179
+ StyleDictionary.registerTransform({
180
+ name: 'name/pathToCamelCase',
181
+ ...namePathToCamelCase,
182
+ })
183
+
184
+ StyleDictionary.registerTransform({
185
+ name: 'name/pathToKebabCase',
186
+ ...namePathToKebabCase,
187
+ })
188
+
189
+ StyleDictionary.registerTransform({
190
+ name: 'name/pathToSlashNotation',
191
+ ...namePathToSlashNotation,
192
+ })
193
+
194
+ StyleDictionary.registerTransform({
195
+ name: 'shadow/css',
196
+ ...shadowToCss,
197
+ })
198
+
199
+ StyleDictionary.registerTransform({
200
+ name: 'border/css',
201
+ ...borderToCss,
202
+ })
203
+
204
+ StyleDictionary.registerTransform({
205
+ name: 'typography/css',
206
+ ...typographyToCss,
207
+ })
208
+
209
+ StyleDictionary.registerTransform({
210
+ name: 'fontWeight/number',
211
+ ...fontWeightToNumber,
212
+ })
213
+
214
+ StyleDictionary.registerTransform({
215
+ name: 'fontFamily/css',
216
+ ...fontFamilyToCss,
217
+ })
218
+
219
+ /**
220
+ * @name {@link PrimerStyleDictionary}
221
+ * @description Returns style dictionary object with primer preset that includes parsers, formats and transformers
222
+ * @parsers [w3cJsonParser](https://github.com/primer/primitives/blob/main/config//parsers/w3c-json-parser.ts)
223
+ * @formats [javascript/esm](https://github.com/primer/primitives/blob/main/config/formats/javascript-esm.ts), [javascript/commonJs](https://github.com/primer/primitives/blob/main/config/formats/javascript-commonJs.ts), [typescript/export-definition](https://github.com/primer/primitives/blob/main/config/formats/typescript-export-defition.ts)
224
+ * @transformers [color/rgbAlpha](https://github.com/primer/primitives/blob/main/config/tranformers/color-to-rgb-alpha.ts), [color/hexAlpha](https://github.com/primer/primitives/blob/main/config/tranformers/color-to-hex-alpha.ts), [color/hex](https://github.com/primer/primitives/blob/main/config/tranformers/color-to-hex6.ts), [json/deprecated](https://github.com/primer/primitives/blob/main/config/tranformers/json-deprecated.ts), [name/pathToDotNotation](https://github.com/primer/primitives/blob/main/config/tranformers/name-path-to-dot-notation.ts)
225
+ */
226
+ export const PrimerStyleDictionary: StyleDictionary.Core = StyleDictionary
@@ -0,0 +1,12 @@
1
+ export {isBorder} from './isBorder'
2
+ export {isColor} from './isColor'
3
+ export {isColorWithAlpha} from './isColorWithAlpha'
4
+ export {isColorWithMix} from './isColorWithMix'
5
+ export {isDimension} from './isDimension'
6
+ export {isDeprecated} from './isDeprecated'
7
+ export {isFromFile} from './isFromFile'
8
+ export {isFontFamily} from './isFontFamily'
9
+ export {isFontWeight} from './isFontWeight'
10
+ export {isShadow} from './isShadow'
11
+ export {isSource} from './isSource'
12
+ export {isTypography} from './isTypography'
@@ -0,0 +1,10 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+
3
+ /**
4
+ * @description Checks if token is of $type `border`
5
+ * @param arguments [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
6
+ * @returns boolean
7
+ */
8
+ export const isBorder = (token: StyleDictionary.TransformedToken): boolean => {
9
+ return token.$type === 'border'
10
+ }
@@ -0,0 +1,10 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+
3
+ /**
4
+ * @description Checks if token is of $type `color`
5
+ * @param token [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
6
+ * @returns boolean
7
+ */
8
+ export const isColor = (token: StyleDictionary.TransformedToken): boolean => {
9
+ return token.$type === 'color'
10
+ }
@@ -0,0 +1,11 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+ import {isColor} from './isColor'
3
+
4
+ /**
5
+ * @description Checks if token is color with an alpha value
6
+ * @param arguments [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
7
+ * @returns boolean
8
+ */
9
+ export const isColorWithAlpha = (token: StyleDictionary.TransformedToken): boolean => {
10
+ return isColor(token) && token.alpha !== undefined && typeof token.alpha === 'number'
11
+ }
@@ -0,0 +1,33 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+ import {isColor} from './isColor'
3
+
4
+ const throwError = (token: StyleDictionary.TransformedToken) => {
5
+ throw new Error(
6
+ `Invalid mix property on token: ${token.name}. "mix.color": ${token.mix.color}, "mix.weight": ${
7
+ typeof token.mix.weight === 'string' ? `"${token.mix.weight}" (string)` : token.mix.weight
8
+ } must be a number between 0 and 1. In file: "${token.filePath}".`,
9
+ )
10
+ }
11
+
12
+ /**
13
+ * @description Checks if token is color and has a mix property
14
+ * @param arguments [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
15
+ * @returns boolean
16
+ */
17
+ export const isColorWithMix = (token: StyleDictionary.TransformedToken): boolean => {
18
+ // no color or no mix property
19
+ if (!isColor(token) || token.mix === undefined || token.mix === null) {
20
+ return false
21
+ }
22
+ // invalid mix property
23
+ if (
24
+ typeof token.mix.color !== 'string' ||
25
+ typeof token.mix.weight !== 'number' ||
26
+ token.mix.weight < 0 ||
27
+ token.mix.weight > 1
28
+ ) {
29
+ throwError(token)
30
+ }
31
+ // valid mix property
32
+ return true
33
+ }
@@ -0,0 +1,10 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+
3
+ /**
4
+ * @description Checks if token has a valid `deprecated` property
5
+ * @param arguments [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
6
+ * @returns boolean
7
+ */
8
+ export const isDeprecated = (token: StyleDictionary.TransformedToken): boolean => {
9
+ return token.deprecated === true || typeof token.deprecated === 'string'
10
+ }
@@ -0,0 +1,10 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+
3
+ /**
4
+ * @description Checks if token is of $type `dimension`
5
+ * @param arguments [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
6
+ * @returns boolean
7
+ */
8
+ export const isDimension = (token: StyleDictionary.TransformedToken): boolean => {
9
+ return token.$type === 'dimension'
10
+ }
@@ -0,0 +1,10 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+
3
+ /**
4
+ * @description Checks if token is of $type `duration`
5
+ * @param token [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
6
+ * @returns boolean
7
+ */
8
+ export const isDuration = (token: StyleDictionary.TransformedToken): boolean => {
9
+ return token.$type === 'duration'
10
+ }
@@ -0,0 +1,10 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+
3
+ /**
4
+ * @description Checks if token is of $type `isFontFamily`
5
+ * @param arguments [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
6
+ * @returns boolean
7
+ */
8
+ export const isFontFamily = (token: StyleDictionary.TransformedToken): boolean => {
9
+ return token.$type === 'fontFamily'
10
+ }
@@ -0,0 +1,10 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+
3
+ /**
4
+ * @description Checks if token is of $type `fontWeight`
5
+ * @param arguments [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
6
+ * @returns boolean
7
+ */
8
+ export const isFontWeight = (token: StyleDictionary.TransformedToken): boolean => {
9
+ return token.$type === 'fontWeight'
10
+ }
@@ -0,0 +1,12 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+
3
+ /**
4
+ * @description Checks if token comes from a specific file
5
+ * @param token [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
6
+ * @param files - array of file paths
7
+ * @returns boolean
8
+ */
9
+ export const isFromFile = (token: StyleDictionary.TransformedToken, files: string[]): boolean => {
10
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
11
+ return files?.includes(token.filePath) === true
12
+ }
@@ -0,0 +1,10 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+
3
+ /**
4
+ * @description Checks if token is of $type `shadow`
5
+ * @param arguments [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
6
+ * @returns boolean
7
+ */
8
+ export const isShadow = (token: StyleDictionary.TransformedToken): boolean => {
9
+ return token.$type === 'shadow'
10
+ }
@@ -0,0 +1,10 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+
3
+ /**
4
+ * @description Checks if token is source token
5
+ * @param arguments [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
6
+ * @returns boolean
7
+ */
8
+ export const isSource = (token: StyleDictionary.TransformedToken): boolean => {
9
+ return token.isSource === true
10
+ }
@@ -0,0 +1,10 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+
3
+ /**
4
+ * @description Checks if token is of $type `typography`
5
+ * @param arguments [StyleDictionary.TransformedToken](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts)
6
+ * @returns boolean
7
+ */
8
+ export const isTypography = (token: StyleDictionary.TransformedToken): boolean => {
9
+ return token.$type === 'typography'
10
+ }
@@ -0,0 +1,24 @@
1
+ import StyleDictionary from 'style-dictionary'
2
+ import type {FormatterArguments} from 'style-dictionary/types/Format'
3
+ import {format} from 'prettier'
4
+ const {fileHeader} = StyleDictionary.formatHelpers
5
+
6
+ /**
7
+ * @description Converts `StyleDictionary.dictionary.tokens` to css with @custom-media
8
+ * @param arguments [FormatterArguments](https://github.com/amzn/style-dictionary/blob/main/types/Format.d.ts)
9
+ * @returns formatted `string`
10
+ */
11
+ export const cssCustomMedia: StyleDictionary.Formatter = ({
12
+ dictionary,
13
+ options: _options,
14
+ file,
15
+ }: FormatterArguments) => {
16
+ // add file header
17
+ const output = [fileHeader({file})]
18
+ // add single theme css
19
+ dictionary.allTokens.map(({name, value}) => {
20
+ output.push(`@custom-media --${name} ${value};`)
21
+ })
22
+ // return prettified
23
+ return format(output.join('\n'), {parser: 'css', printWidth: 500})
24
+ }
@@ -0,0 +1,35 @@
1
+ import StyleDictionary from 'style-dictionary'
2
+ import type {FormatterArguments} from 'style-dictionary/types/Format'
3
+ import {format} from 'prettier'
4
+ import type {LineFormatting} from 'style-dictionary/types/FormatHelpers'
5
+ const {fileHeader, formattedVariables} = StyleDictionary.formatHelpers
6
+
7
+ /**
8
+ * @description Converts `StyleDictionary.dictionary.tokens` to css with prefers dark and light section
9
+ * @param arguments [FormatterArguments](https://github.com/amzn/style-dictionary/blob/main/types/Format.d.ts)
10
+ * @param arguments.options outputReferences `boolean`, selector `string`, selectorLight `string`, selectorDark `string`
11
+ * @returns formatted `string`
12
+ */
13
+ export const cssThemed: StyleDictionary.Formatter = ({dictionary, options = {}, file}: FormatterArguments) => {
14
+ const {selector, selectorLight, selectorDark} = options
15
+ const {outputReferences, descriptions} = options
16
+ const formatting: LineFormatting = {
17
+ commentStyle: descriptions ? 'long' : 'none',
18
+ }
19
+ // add file header
20
+ const output = [fileHeader({file})]
21
+ // add single theme css
22
+ output.push(`${selector || ':root'}${selectorLight ? `, ${selectorLight}` : ''}{
23
+ ${formattedVariables({format: 'css', dictionary, outputReferences, formatting})}
24
+ }`)
25
+ // add auto dark theme css
26
+ if (selectorDark) {
27
+ output.push(`@media (prefers-color-scheme: dark) {
28
+ ${selectorDark} {
29
+ ${formattedVariables({format: 'css', dictionary, outputReferences, formatting})}
30
+ }
31
+ }`)
32
+ }
33
+ // return prettified
34
+ return format(output.join('\n'), {parser: 'css', printWidth: 500})
35
+ }
@@ -0,0 +1,25 @@
1
+ import StyleDictionary from 'style-dictionary'
2
+ import type {FormatterArguments} from 'style-dictionary/types/Format'
3
+ import type {LineFormatting} from 'style-dictionary/types/FormatHelpers'
4
+ const {fileHeader, formattedVariables} = StyleDictionary.formatHelpers
5
+
6
+ /**
7
+ * @description Converts `StyleDictionary.dictionary.tokens` to css with prefers dark and light section
8
+ * @param arguments [FormatterArguments](https://github.com/amzn/style-dictionary/blob/main/types/Format.d.ts)
9
+ * @param arguments.options outputReferences `boolean`, selector `string`, selectorLight `string`, selectorDark `string`
10
+ * @returns formatted `string`
11
+ */
12
+ export const cssVariables: StyleDictionary.Formatter = ({dictionary, options = {}, file}: FormatterArguments) => {
13
+ const selector = options.selector ? options.selector : `:root`
14
+ const {outputReferences, descriptions} = options
15
+ const formatting: LineFormatting = {
16
+ commentStyle: descriptions ? 'long' : 'none',
17
+ }
18
+
19
+ return `${fileHeader({file})}${selector} {\n${formattedVariables({
20
+ format: 'css',
21
+ dictionary,
22
+ outputReferences,
23
+ formatting,
24
+ })}\n}\n`
25
+ }
@@ -0,0 +1,29 @@
1
+ import StyleDictionary from 'style-dictionary'
2
+ import type {FormatterArguments} from 'style-dictionary/types/Format'
3
+ import {format} from 'prettier'
4
+ import type {LineFormatting} from 'style-dictionary/types/FormatHelpers'
5
+ const {fileHeader, formattedVariables} = StyleDictionary.formatHelpers
6
+
7
+ /**
8
+ * @description Converts `StyleDictionary.dictionary.tokens` to css with @custom-media
9
+ * @param arguments [FormatterArguments](https://github.com/amzn/style-dictionary/blob/main/types/Format.d.ts)
10
+ * @returns formatted `string`
11
+ */
12
+ export const cssWrapMediaQuery: StyleDictionary.Formatter = ({dictionary, options, file}: FormatterArguments) => {
13
+ const {outputReferences, descriptions} = options
14
+ const formatting: LineFormatting = {
15
+ commentStyle: descriptions ? 'long' : 'none',
16
+ }
17
+ // get specific media query or use screen
18
+ const mediaQuery = options.mediaQuery?.[file.destination] || 'screen'
19
+ // add file header
20
+ const output = [fileHeader({file})]
21
+ // add meadia query
22
+ output.push(`@media ${mediaQuery} {\n:root {`)
23
+ // add tokens
24
+ output.push(formattedVariables({format: 'css', dictionary, outputReferences, formatting}))
25
+ // close media query
26
+ output.push(`}\n}`)
27
+ // return prettified
28
+ return format(output.join('\n'), {parser: 'css', printWidth: 500})
29
+ }
@@ -0,0 +1,11 @@
1
+ export {cssThemed} from './cssThemed'
2
+ export {cssCustomMedia} from './cssCustomMedia'
3
+ export {cssWrapMediaQuery} from './cssWrapMediaQuery'
4
+ export {cssVariables} from './cssVariables'
5
+ export {jsonFigma} from './jsonFigma'
6
+ export {javascriptCommonJs} from './javascriptCommonJs'
7
+ export {javascriptEsm} from './javascriptEsm'
8
+ export {jsonNestedPrefixed} from './jsonNestedPrefixed'
9
+ export {jsonOneDimensional} from './jsonOneDimensional'
10
+ export {jsonPostCssFallback} from './jsonPostCssFallback'
11
+ export {typescriptExportDefinition} from './typescriptExportDefinition'
@@ -0,0 +1,21 @@
1
+ import {format} from 'prettier'
2
+ import {jsonToNestedValue} from './utilities/jsonToNestedValue'
3
+ import {prefixTokens} from './utilities/prefixTokens'
4
+ import StyleDictionary from 'style-dictionary'
5
+ import type {FormatterArguments} from 'style-dictionary/types/Format'
6
+
7
+ const {fileHeader} = StyleDictionary.formatHelpers
8
+
9
+ /**
10
+ * @description Converts `StyleDictionary.dictionary.tokens` to javascript commonJS module
11
+ * @param arguments [FormatterArguments](https://github.com/amzn/style-dictionary/blob/main/types/Format.d.ts)
12
+ * @returns formatted `string`
13
+ */
14
+ export const javascriptCommonJs: StyleDictionary.Formatter = ({dictionary, file, platform}: FormatterArguments) => {
15
+ // add prefix if defined
16
+ const tokens = prefixTokens(dictionary.tokens, platform)
17
+ // add file header and convert output
18
+ const output = `${fileHeader({file})}exports.default = ${JSON.stringify(jsonToNestedValue(tokens), null, 2)}\n`
19
+ // return prettified
20
+ return format(output, {parser: 'typescript', printWidth: 500})
21
+ }
@@ -0,0 +1,21 @@
1
+ import StyleDictionary from 'style-dictionary'
2
+ import {format} from 'prettier'
3
+ import {jsonToNestedValue} from './utilities/jsonToNestedValue'
4
+ import {prefixTokens} from './utilities/prefixTokens'
5
+ import type {FormatterArguments} from 'style-dictionary/types/Format'
6
+
7
+ const {fileHeader} = StyleDictionary.formatHelpers
8
+
9
+ /**
10
+ * @description Converts `StyleDictionary.dictionary.tokens` to javascript esm (javascript export statement)
11
+ * @param arguments [FormatterArguments](https://github.com/amzn/style-dictionary/blob/main/types/Format.d.ts)
12
+ * @returns formatted `string`
13
+ */
14
+ export const javascriptEsm: StyleDictionary.Formatter = ({dictionary, file, platform}: FormatterArguments) => {
15
+ // add prefix if defined
16
+ const tokens = prefixTokens(dictionary.tokens, platform)
17
+ // add file header and convert output
18
+ const output = `${fileHeader({file})}export default \n${JSON.stringify(jsonToNestedValue(tokens), null, 2)}\n`
19
+ // return prettified
20
+ return format(output, {parser: 'typescript', printWidth: 500})
21
+ }