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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/dist/build/PrimerStyleDictionary.d.ts +8 -0
  2. package/dist/build/PrimerStyleDictionary.js +79 -0
  3. package/dist/build/filters/index.d.ts +14 -0
  4. package/dist/build/filters/index.js +14 -0
  5. package/dist/build/filters/isBorder.d.ts +7 -0
  6. package/dist/build/filters/isBorder.js +8 -0
  7. package/dist/build/filters/isColor.d.ts +7 -0
  8. package/dist/build/filters/isColor.js +13 -0
  9. package/dist/build/filters/isColorWithAlpha.d.ts +7 -0
  10. package/dist/build/filters/isColorWithAlpha.js +9 -0
  11. package/dist/build/filters/isColorWithMix.d.ts +7 -0
  12. package/dist/build/filters/isColorWithMix.js +24 -0
  13. package/dist/build/filters/isDeprecated.d.ts +7 -0
  14. package/dist/build/filters/isDeprecated.js +8 -0
  15. package/dist/build/filters/isDimension.d.ts +7 -0
  16. package/dist/build/filters/isDimension.js +8 -0
  17. package/dist/build/filters/isDuration.d.ts +7 -0
  18. package/dist/build/filters/isDuration.js +8 -0
  19. package/dist/build/filters/isFontFamily.d.ts +7 -0
  20. package/dist/build/filters/isFontFamily.js +8 -0
  21. package/dist/build/filters/isFontWeight.d.ts +7 -0
  22. package/dist/build/filters/isFontWeight.js +8 -0
  23. package/dist/build/filters/isFromFile.d.ts +8 -0
  24. package/dist/build/filters/isFromFile.js +10 -0
  25. package/dist/build/filters/isNumber.d.ts +7 -0
  26. package/dist/build/filters/isNumber.js +8 -0
  27. package/dist/build/filters/isShadow.d.ts +7 -0
  28. package/dist/build/filters/isShadow.js +8 -0
  29. package/dist/build/filters/isSource.d.ts +7 -0
  30. package/dist/build/filters/isSource.js +8 -0
  31. package/dist/build/filters/isTypography.d.ts +7 -0
  32. package/dist/build/filters/isTypography.js +8 -0
  33. package/dist/build/formats/cssAdvanced.d.ts +2 -0
  34. package/dist/build/formats/cssAdvanced.js +86 -0
  35. package/dist/build/formats/cssCustomMedia.d.ts +7 -0
  36. package/dist/build/formats/cssCustomMedia.js +26 -0
  37. package/dist/build/formats/index.d.ts +9 -0
  38. package/dist/build/formats/index.js +9 -0
  39. package/dist/build/formats/javascriptCommonJs.d.ts +7 -0
  40. package/dist/build/formats/javascriptCommonJs.js +26 -0
  41. package/dist/build/formats/javascriptEsm.d.ts +7 -0
  42. package/dist/build/formats/javascriptEsm.js +26 -0
  43. package/dist/build/formats/jsonFigma.d.ts +7 -0
  44. package/dist/build/formats/jsonFigma.js +121 -0
  45. package/dist/build/formats/jsonNestedPrefixed.d.ts +8 -0
  46. package/dist/build/formats/jsonNestedPrefixed.js +30 -0
  47. package/dist/build/formats/jsonOneDimensional.d.ts +8 -0
  48. package/dist/build/formats/jsonOneDimensional.js +32 -0
  49. package/dist/build/formats/jsonPostCssFallback.d.ts +8 -0
  50. package/dist/build/formats/jsonPostCssFallback.js +14 -0
  51. package/dist/build/formats/typescriptExportDefinition.d.ts +7 -0
  52. package/dist/build/formats/typescriptExportDefinition.js +170 -0
  53. package/dist/build/formats/utilities/getPropName.d.ts +1 -0
  54. package/dist/build/formats/utilities/getPropName.js +16 -0
  55. package/dist/build/formats/utilities/jsonToFlat.d.ts +11 -0
  56. package/dist/build/formats/utilities/jsonToFlat.js +8 -0
  57. package/dist/build/formats/utilities/jsonToNestedValue.d.ts +8 -0
  58. package/dist/build/formats/utilities/jsonToNestedValue.js +23 -0
  59. package/dist/build/formats/utilities/prefixTokens.d.ts +8 -0
  60. package/dist/build/formats/utilities/prefixTokens.js +13 -0
  61. package/dist/build/parsers/index.d.ts +1 -0
  62. package/dist/build/parsers/index.js +1 -0
  63. package/dist/build/parsers/w3cJsonParser.d.ts +6 -0
  64. package/dist/build/parsers/w3cJsonParser.js +25 -0
  65. package/dist/build/platforms/css.d.ts +2 -0
  66. package/dist/build/platforms/css.js +95 -0
  67. package/dist/build/platforms/deprecatedJson.d.ts +2 -0
  68. package/dist/build/platforms/deprecatedJson.js +13 -0
  69. package/dist/build/platforms/docJson.d.ts +2 -0
  70. package/dist/build/platforms/docJson.js +35 -0
  71. package/dist/build/platforms/fallbacks.d.ts +2 -0
  72. package/dist/build/platforms/fallbacks.js +30 -0
  73. package/dist/build/platforms/figma.d.ts +2 -0
  74. package/dist/build/platforms/figma.js +60 -0
  75. package/dist/build/platforms/index.d.ts +10 -0
  76. package/dist/build/platforms/index.js +10 -0
  77. package/dist/build/platforms/javascript.d.ts +2 -0
  78. package/dist/build/platforms/javascript.js +26 -0
  79. package/dist/build/platforms/json.d.ts +2 -0
  80. package/dist/build/platforms/json.js +28 -0
  81. package/dist/build/platforms/styleLint.d.ts +2 -0
  82. package/dist/build/platforms/styleLint.js +30 -0
  83. package/dist/build/platforms/typeDefinitions.d.ts +2 -0
  84. package/dist/build/platforms/typeDefinitions.js +26 -0
  85. package/dist/build/platforms/typescript.d.ts +2 -0
  86. package/dist/build/platforms/typescript.js +26 -0
  87. package/dist/build/schemas/alphaValue.d.ts +2 -0
  88. package/dist/build/schemas/alphaValue.js +5 -0
  89. package/dist/build/schemas/baseToken.d.ts +11 -0
  90. package/dist/build/schemas/baseToken.js +7 -0
  91. package/dist/build/schemas/borderToken.d.ts +51 -0
  92. package/dist/build/schemas/borderToken.js +17 -0
  93. package/dist/build/schemas/collections.d.ts +6 -0
  94. package/dist/build/schemas/collections.js +12 -0
  95. package/dist/build/schemas/colorHexValue.d.ts +2 -0
  96. package/dist/build/schemas/colorHexValue.js +9 -0
  97. package/dist/build/schemas/colorToken.d.ts +85 -0
  98. package/dist/build/schemas/colorToken.js +52 -0
  99. package/dist/build/schemas/designToken.d.ts +2 -0
  100. package/dist/build/schemas/designToken.js +34 -0
  101. package/dist/build/schemas/dimensionToken.d.ts +52 -0
  102. package/dist/build/schemas/dimensionToken.js +33 -0
  103. package/dist/build/schemas/dimensionValue.d.ts +2 -0
  104. package/dist/build/schemas/dimensionValue.js +9 -0
  105. package/dist/build/schemas/durationToken.d.ts +18 -0
  106. package/dist/build/schemas/durationToken.js +11 -0
  107. package/dist/build/schemas/durationValue.d.ts +2 -0
  108. package/dist/build/schemas/durationValue.js +5 -0
  109. package/dist/build/schemas/fontFamilyToken.d.ts +52 -0
  110. package/dist/build/schemas/fontFamilyToken.js +20 -0
  111. package/dist/build/schemas/fontWeightToken.d.ts +52 -0
  112. package/dist/build/schemas/fontWeightToken.js +21 -0
  113. package/dist/build/schemas/fontWeightValue.d.ts +2 -0
  114. package/dist/build/schemas/fontWeightValue.js +6 -0
  115. package/dist/build/schemas/numberToken.d.ts +71 -0
  116. package/dist/build/schemas/numberToken.js +27 -0
  117. package/dist/build/schemas/referenceValue.d.ts +2 -0
  118. package/dist/build/schemas/referenceValue.js +5 -0
  119. package/dist/build/schemas/scopes.d.ts +5 -0
  120. package/dist/build/schemas/scopes.js +29 -0
  121. package/dist/build/schemas/shadowToken.d.ts +157 -0
  122. package/dist/build/schemas/shadowToken.js +43 -0
  123. package/dist/build/schemas/stringToken.d.ts +18 -0
  124. package/dist/build/schemas/stringToken.js +10 -0
  125. package/dist/build/schemas/tokenName.d.ts +2 -0
  126. package/dist/build/schemas/tokenName.js +5 -0
  127. package/dist/build/schemas/tokenType.d.ts +3 -0
  128. package/dist/build/schemas/tokenType.js +2 -0
  129. package/dist/build/schemas/typographyToken.d.ts +59 -0
  130. package/dist/build/schemas/typographyToken.js +18 -0
  131. package/dist/build/schemas/validTokenType.d.ts +5 -0
  132. package/dist/build/schemas/validTokenType.js +30 -0
  133. package/dist/build/schemas/viewportRangeToken.d.ts +18 -0
  134. package/dist/build/schemas/viewportRangeToken.js +10 -0
  135. package/dist/build/transformers/borderToCss.d.ts +8 -0
  136. package/dist/build/transformers/borderToCss.js +38 -0
  137. package/dist/build/transformers/colorToHex.d.ts +8 -0
  138. package/dist/build/transformers/colorToHex.js +24 -0
  139. package/dist/build/transformers/colorToHexMix.d.ts +8 -0
  140. package/dist/build/transformers/colorToHexMix.js +20 -0
  141. package/dist/build/transformers/colorToRgbAlpha.d.ts +8 -0
  142. package/dist/build/transformers/colorToRgbAlpha.js +20 -0
  143. package/dist/build/transformers/colorToRgbaFloat.d.ts +8 -0
  144. package/dist/build/transformers/colorToRgbaFloat.js +46 -0
  145. package/dist/build/transformers/dimensionToPixelUnitless.d.ts +8 -0
  146. package/dist/build/transformers/dimensionToPixelUnitless.js +49 -0
  147. package/dist/build/transformers/dimensionToRem.d.ts +8 -0
  148. package/dist/build/transformers/dimensionToRem.js +46 -0
  149. package/dist/build/transformers/dimensionToRemPxArray.d.ts +8 -0
  150. package/dist/build/transformers/dimensionToRemPxArray.js +46 -0
  151. package/dist/build/transformers/durationToCss.d.ts +8 -0
  152. package/dist/build/transformers/durationToCss.js +29 -0
  153. package/dist/build/transformers/figmaAttributes.d.ts +8 -0
  154. package/dist/build/transformers/figmaAttributes.js +55 -0
  155. package/dist/build/transformers/floatToPixel.d.ts +15 -0
  156. package/dist/build/transformers/floatToPixel.js +39 -0
  157. package/dist/build/transformers/fontFamilyToCss.d.ts +14 -0
  158. package/dist/build/transformers/fontFamilyToCss.js +37 -0
  159. package/dist/build/transformers/fontFamilyToFigma.d.ts +14 -0
  160. package/dist/build/transformers/fontFamilyToFigma.js +44 -0
  161. package/dist/build/transformers/fontWeightToNumber.d.ts +9 -0
  162. package/dist/build/transformers/fontWeightToNumber.js +50 -0
  163. package/dist/build/transformers/index.d.ts +24 -0
  164. package/dist/build/transformers/index.js +24 -0
  165. package/dist/build/transformers/jsonDeprecated.d.ts +8 -0
  166. package/dist/build/transformers/jsonDeprecated.js +14 -0
  167. package/dist/build/transformers/namePathToCamelCase.d.ts +8 -0
  168. package/dist/build/transformers/namePathToCamelCase.js +12 -0
  169. package/dist/build/transformers/namePathToDotNotation.d.ts +8 -0
  170. package/dist/build/transformers/namePathToDotNotation.js +31 -0
  171. package/dist/build/transformers/namePathToFigma.d.ts +9 -0
  172. package/dist/build/transformers/namePathToFigma.js +21 -0
  173. package/dist/build/transformers/namePathToKebabCase.d.ts +8 -0
  174. package/dist/build/transformers/namePathToKebabCase.js +16 -0
  175. package/dist/build/transformers/namePathToPascalCase.d.ts +8 -0
  176. package/dist/build/transformers/namePathToPascalCase.js +12 -0
  177. package/dist/build/transformers/namePathToSlashNotation.d.ts +8 -0
  178. package/dist/build/transformers/namePathToSlashNotation.js +16 -0
  179. package/dist/build/transformers/shadowToCss.d.ts +8 -0
  180. package/dist/build/transformers/shadowToCss.js +34 -0
  181. package/dist/build/transformers/typographyToCss.d.ts +8 -0
  182. package/dist/build/transformers/typographyToCss.js +27 -0
  183. package/dist/build/transformers/utilities/alpha.d.ts +9 -0
  184. package/dist/build/transformers/utilities/alpha.js +16 -0
  185. package/dist/build/transformers/utilities/checkRequiredTokenProperties.d.ts +7 -0
  186. package/dist/build/transformers/utilities/checkRequiredTokenProperties.js +13 -0
  187. package/dist/build/transformers/utilities/getTokenValue.d.ts +2 -0
  188. package/dist/build/transformers/utilities/getTokenValue.js +16 -0
  189. package/dist/build/transformers/utilities/hasSpaceInString.d.ts +1 -0
  190. package/dist/build/transformers/utilities/hasSpaceInString.js +6 -0
  191. package/dist/build/transformers/utilities/hexToRgbaFloat.d.ts +2 -0
  192. package/dist/build/transformers/utilities/hexToRgbaFloat.js +29 -0
  193. package/dist/build/transformers/utilities/invalidTokenError.d.ts +7 -0
  194. package/dist/build/transformers/utilities/invalidTokenError.js +27 -0
  195. package/dist/build/transformers/utilities/isRgbaFloat.d.ts +7 -0
  196. package/dist/build/transformers/utilities/isRgbaFloat.js +20 -0
  197. package/dist/build/transformers/utilities/mix.d.ts +5 -0
  198. package/dist/build/transformers/utilities/mix.js +38 -0
  199. package/dist/build/transformers/utilities/rgbaFloatToHex.d.ts +6 -0
  200. package/dist/build/transformers/utilities/rgbaFloatToHex.js +11 -0
  201. package/dist/build/types/Border.d.ts +5 -0
  202. package/dist/build/types/BorderTokenValue.d.ts +10 -0
  203. package/dist/build/types/ColorHex.d.ts +4 -0
  204. package/dist/build/types/PlatformInitializer.d.ts +11 -0
  205. package/dist/build/types/Shadow.d.ts +5 -0
  206. package/dist/build/types/ShadowTokenValue.d.ts +14 -0
  207. package/dist/build/types/SizeEm.d.ts +4 -0
  208. package/dist/build/types/SizePx.d.ts +4 -0
  209. package/dist/build/types/SizeRem.d.ts +4 -0
  210. package/dist/build/types/StyleDictionaryConfigGenerator.d.ts +15 -0
  211. package/dist/build/types/TokenBuildInput.d.ts +8 -0
  212. package/dist/build/types/TypographyTokenValue.d.ts +12 -0
  213. package/dist/build/types/w3cTransformedToken.d.ts +8 -0
  214. package/dist/build/utilities/copyFromDir.d.ts +8 -0
  215. package/dist/build/utilities/copyFromDir.js +31 -0
  216. package/dist/build/utilities/filterStringArray.d.ts +1 -0
  217. package/dist/build/utilities/filterStringArray.js +13 -0
  218. package/dist/build/utilities/getFlag.d.ts +8 -0
  219. package/dist/build/utilities/getFlag.js +12 -0
  220. package/dist/build/utilities/index.d.ts +9 -0
  221. package/dist/build/utilities/index.js +9 -0
  222. package/dist/build/utilities/joinFriendly.d.ts +1 -0
  223. package/dist/build/utilities/joinFriendly.js +1 -0
  224. package/dist/build/utilities/schemaErrorMessage.d.ts +1 -0
  225. package/dist/build/utilities/schemaErrorMessage.js +1 -0
  226. package/dist/build/utilities/toCamelCase.d.ts +1 -0
  227. package/dist/build/utilities/toCamelCase.js +16 -0
  228. package/dist/build/utilities/toPascalCase.d.ts +1 -0
  229. package/dist/build/utilities/toPascalCase.js +13 -0
  230. package/dist/build/utilities/treeWalker.d.ts +8 -0
  231. package/dist/build/utilities/treeWalker.js +23 -0
  232. package/dist/build/utilities/upperCaseFirstCharacter.d.ts +8 -0
  233. package/dist/build/utilities/upperCaseFirstCharacter.js +10 -0
  234. package/dist/css/functional/themes/dark-colorblind.css +4 -4
  235. package/dist/css/functional/themes/dark-high-contrast.css +20 -20
  236. package/dist/css/functional/themes/light-high-contrast.css +14 -14
  237. package/dist/css/functional/typography/typography.css +20 -20
  238. package/dist/css/primitives.css +20 -20
  239. package/dist/docs/base/size/size.json +76 -76
  240. package/dist/docs/base/typography/typography.json +16 -16
  241. package/dist/docs/functional/motion/motion.json +18 -18
  242. package/dist/docs/functional/size/border.json +56 -56
  243. package/dist/docs/functional/size/breakpoints.json +24 -24
  244. package/dist/docs/functional/size/size-coarse.json +12 -12
  245. package/dist/docs/functional/size/size-fine.json +12 -12
  246. package/dist/docs/functional/size/size.json +264 -264
  247. package/dist/docs/functional/size/viewport.json +24 -24
  248. package/dist/docs/functional/themes/dark-colorblind.json +2310 -3186
  249. package/dist/docs/functional/themes/dark-dimmed.json +2300 -2794
  250. package/dist/docs/functional/themes/dark-high-contrast.json +2520 -5038
  251. package/dist/docs/functional/themes/dark-tritanopia.json +2351 -3003
  252. package/dist/docs/functional/themes/dark.json +2270 -2270
  253. package/dist/docs/functional/themes/light-colorblind.json +2298 -3124
  254. package/dist/docs/functional/themes/light-high-contrast.json +2419 -4645
  255. package/dist/docs/functional/themes/light-tritanopia.json +2330 -2990
  256. package/dist/docs/functional/themes/light.json +2260 -2260
  257. package/dist/docs/functional/typography/typography.json +206 -206
  258. package/dist/figma/dimension/dimension.json +489 -489
  259. package/dist/figma/figma.json +11 -3
  260. package/dist/figma/scales/dark-dimmed.json +38 -38
  261. package/dist/figma/scales/dark-high-constrast.json +38 -38
  262. package/dist/figma/scales/dark.json +35 -35
  263. package/dist/figma/scales/light-high-constrast.json +40 -40
  264. package/dist/figma/scales/light.json +40 -40
  265. package/dist/figma/shadows/dark-colorblind.json +280 -280
  266. package/dist/figma/shadows/dark-dimmed.json +280 -280
  267. package/dist/figma/shadows/dark-high-contrast.json +280 -280
  268. package/dist/figma/shadows/dark-tritanopia.json +280 -280
  269. package/dist/figma/shadows/dark.json +280 -280
  270. package/dist/figma/shadows/light-colorblind.json +281 -281
  271. package/dist/figma/shadows/light-high-contrast.json +281 -281
  272. package/dist/figma/shadows/light-tritanopia.json +281 -281
  273. package/dist/figma/shadows/light.json +281 -281
  274. package/dist/figma/themes/dark-colorblind.json +4991 -5854
  275. package/dist/figma/themes/dark-dimmed.json +5314 -5799
  276. package/dist/figma/themes/dark-high-contrast.json +4210 -6679
  277. package/dist/figma/themes/dark-tritanopia.json +5165 -5817
  278. package/dist/figma/themes/dark.json +5534 -5537
  279. package/dist/figma/themes/light-colorblind.json +4857 -5669
  280. package/dist/figma/themes/light-high-contrast.json +4198 -6372
  281. package/dist/figma/themes/light-tritanopia.json +4901 -5529
  282. package/dist/figma/themes/light.json +5349 -5349
  283. package/dist/figma/typography/typography.json +112 -156
  284. package/dist/internalCss/dark-colorblind.css +4 -4
  285. package/dist/internalCss/dark-high-contrast.css +20 -20
  286. package/dist/internalCss/light-high-contrast.css +14 -14
  287. package/dist/styleLint/base/size/size.json +38 -38
  288. package/dist/styleLint/base/typography/typography.json +8 -8
  289. package/dist/styleLint/functional/motion/motion.json +12 -12
  290. package/dist/styleLint/functional/size/border.json +30 -30
  291. package/dist/styleLint/functional/size/breakpoints.json +12 -12
  292. package/dist/styleLint/functional/size/size-coarse.json +6 -6
  293. package/dist/styleLint/functional/size/size-fine.json +6 -6
  294. package/dist/styleLint/functional/size/size.json +132 -132
  295. package/dist/styleLint/functional/size/viewport.json +12 -12
  296. package/dist/styleLint/functional/themes/dark-colorblind.json +1171 -2047
  297. package/dist/styleLint/functional/themes/dark-dimmed.json +1160 -1654
  298. package/dist/styleLint/functional/themes/dark-high-contrast.json +1307 -3825
  299. package/dist/styleLint/functional/themes/dark-tritanopia.json +1232 -1884
  300. package/dist/styleLint/functional/themes/dark.json +1140 -1140
  301. package/dist/styleLint/functional/themes/light-colorblind.json +1198 -2024
  302. package/dist/styleLint/functional/themes/light-high-contrast.json +1270 -3496
  303. package/dist/styleLint/functional/themes/light-tritanopia.json +1205 -1865
  304. package/dist/styleLint/functional/themes/light.json +1130 -1130
  305. package/dist/styleLint/functional/typography/typography.json +114 -114
  306. package/package.json +12 -4
  307. package/src/tokens/functional/color/dark/overrides/dark.high-contrast.json5 +4 -4
  308. package/src/tokens/functional/color/dark/overrides/dark.protanopia-deuteranopia.json5 +6 -0
  309. package/src/tokens/functional/color/dark/overrides/dark.tritanopia.json5 +21 -3
  310. package/src/tokens/functional/color/dark/primitives-dark.json5 +3 -3
  311. package/src/tokens/functional/color/light/overrides/light.protanopia-deuteranopia.json5 +4 -1
  312. package/src/tokens/functional/color/light/overrides/light.tritanopia.json5 +4 -1
  313. package/src/tokens/functional/color/light/primitives-light.json5 +2 -2
@@ -0,0 +1,9 @@
1
+ import type { PlatformConfig, Transform, TransformedToken } from 'style-dictionary/types';
2
+ export declare const transformNamePathToFigma: (token: TransformedToken, options?: PlatformConfig) => string;
3
+ /**
4
+ * @description converts the [TransformedToken's](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts) `.path` array to a specific figma name
5
+ * @type name transformer — [StyleDictionary.NameTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
6
+ * @matcher omitted to match all tokens
7
+ * @transformer returns `string`
8
+ */
9
+ export declare const namePathToFigma: Transform;
@@ -0,0 +1,21 @@
1
+ export const transformNamePathToFigma = (token, options) => {
2
+ let pathArray = token.path.filter((part) => part !== '@');
3
+ if (['fgColor', 'borderColor', 'bgColor'].includes(pathArray[0]) && pathArray.length === 3) {
4
+ pathArray = [pathArray[0], `${pathArray[1]}-${pathArray[2]}`];
5
+ }
6
+ return ([options === null || options === void 0 ? void 0 : options.prefix, ...pathArray]
7
+ // remove undefined if exists
8
+ .filter((part) => typeof part === 'string' && part !== '@')
9
+ .join('/'));
10
+ };
11
+ /**
12
+ * @description converts the [TransformedToken's](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts) `.path` array to a specific figma name
13
+ * @type name transformer — [StyleDictionary.NameTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
14
+ * @matcher omitted to match all tokens
15
+ * @transformer returns `string`
16
+ */
17
+ export const namePathToFigma = {
18
+ name: 'name/pathToFigma',
19
+ type: 'name',
20
+ transform: transformNamePathToFigma,
21
+ };
@@ -0,0 +1,8 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * @description converts the [TransformedToken's](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts) `.path` array to a kebab-case string, preserves casing of parts
4
+ * @type name transformer — [StyleDictionary.NameTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
5
+ * @matcher omitted to match all tokens
6
+ * @transformer returns `string` kebab-case
7
+ */
8
+ export declare const namePathToKebabCase: Transform;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description converts the [TransformedToken's](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts) `.path` array to a kebab-case string, preserves casing of parts
3
+ * @type name transformer — [StyleDictionary.NameTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
4
+ * @matcher omitted to match all tokens
5
+ * @transformer returns `string` kebab-case
6
+ */
7
+ export const namePathToKebabCase = {
8
+ name: 'name/pathToKebabCase',
9
+ type: 'name',
10
+ transform: (token, options) => {
11
+ return ([options === null || options === void 0 ? void 0 : options.prefix, ...token.path]
12
+ // remove undefined if exists
13
+ .filter((part) => typeof part === 'string' && part !== '@')
14
+ .join('-'));
15
+ },
16
+ };
@@ -0,0 +1,8 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * @description converts the [TransformedToken's](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts) `.path` array to a PascalCase string, preserves casing of parts
4
+ * @type name transformer — [StyleDictionary.NameTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
5
+ * @matcher omitted to match all tokens
6
+ * @transformer returns `string` PascalCase
7
+ */
8
+ export declare const namePathToPascalCase: Transform;
@@ -0,0 +1,12 @@
1
+ import { toPascalCase } from '../utilities/index.js';
2
+ /**
3
+ * @description converts the [TransformedToken's](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts) `.path` array to a PascalCase string, preserves casing of parts
4
+ * @type name transformer — [StyleDictionary.NameTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
5
+ * @matcher omitted to match all tokens
6
+ * @transformer returns `string` PascalCase
7
+ */
8
+ export const namePathToPascalCase = {
9
+ name: 'name/pathToPascalCase',
10
+ type: 'name',
11
+ transform: (token, options) => toPascalCase([(options === null || options === void 0 ? void 0 : options.prefix) || '', ...token.path]),
12
+ };
@@ -0,0 +1,8 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * @description converts the [TransformedToken's](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts) `.path` array to a slash/notation string
4
+ * @type name transformer — [StyleDictionary.NameTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
5
+ * @matcher omitted to match all tokens
6
+ * @transformer returns `string` on slash/notation
7
+ */
8
+ export declare const namePathToSlashNotation: Transform;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description converts the [TransformedToken's](https://github.com/amzn/style-dictionary/blob/main/types/TransformedToken.d.ts) `.path` array to a slash/notation string
3
+ * @type name transformer — [StyleDictionary.NameTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
4
+ * @matcher omitted to match all tokens
5
+ * @transformer returns `string` on slash/notation
6
+ */
7
+ export const namePathToSlashNotation = {
8
+ name: 'name/pathToSlashNotation',
9
+ type: 'name',
10
+ transform: (token, options) => {
11
+ return ([options === null || options === void 0 ? void 0 : options.prefix, ...token.path]
12
+ // remove undefined if exists
13
+ .filter((part) => typeof part === 'string' && part !== '@')
14
+ .join('/'));
15
+ },
16
+ };
@@ -0,0 +1,8 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * @description converts w3c shadow tokens in css shadow string
4
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
5
+ * @matcher matches all tokens of $type `shadow`
6
+ * @transformer returns css shadow `string`
7
+ */
8
+ export declare const shadowToCss: Transform;
@@ -0,0 +1,34 @@
1
+ import { toHex } from 'color2k';
2
+ import { isShadow } from '../filters/index.js';
3
+ import { alpha } from './utilities/alpha.js';
4
+ import { checkRequiredTokenProperties } from './utilities/checkRequiredTokenProperties.js';
5
+ import { getTokenValue } from './utilities/getTokenValue.js';
6
+ /**
7
+ * @description converts w3c shadow tokens in css shadow string
8
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
9
+ * @matcher matches all tokens of $type `shadow`
10
+ * @transformer returns css shadow `string`
11
+ */
12
+ export const shadowToCss = {
13
+ name: 'shadow/css',
14
+ type: 'value',
15
+ transitive: true,
16
+ filter: isShadow,
17
+ transform: (token) => {
18
+ // extract value
19
+ const value = getTokenValue(token);
20
+ const valueProp = token.$value ? '$value' : 'value';
21
+ // turn value into array
22
+ const shadowValues = !Array.isArray(value) ? [value] : value;
23
+ return shadowValues
24
+ .map((shadow) => {
25
+ // if value === string it was probably already transformed
26
+ if (typeof shadow === 'string')
27
+ return shadow;
28
+ checkRequiredTokenProperties(shadow, ['color', 'offsetX', 'offsetY', 'blur', 'spread']);
29
+ /*css box shadow: inset? | offset-x | offset-y | blur-radius | spread-radius | color */
30
+ return `${shadow.inset === true ? 'inset ' : ''}${shadow.offsetX} ${shadow.offsetY} ${shadow.blur} ${shadow.spread} ${toHex(alpha(getTokenValue(Object.assign(Object.assign({}, token), { [valueProp]: shadow }), 'color'), shadow.alpha || 1, token))}`;
31
+ })
32
+ .join(', ');
33
+ },
34
+ };
@@ -0,0 +1,8 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * @description converts typograhy token value to css font shorthand
4
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
5
+ * @matcher matches all tokens of $type `typography`
6
+ * @transformer returns a css font string
7
+ */
8
+ export declare const typographyToCss: Transform;
@@ -0,0 +1,27 @@
1
+ import { isTypography } from '../filters/index.js';
2
+ import { checkRequiredTokenProperties } from './utilities/checkRequiredTokenProperties.js';
3
+ import { parseFontFamily } from './fontFamilyToCss.js';
4
+ import { parseFontWeight } from './fontWeightToNumber.js';
5
+ import { getTokenValue } from './utilities/getTokenValue.js';
6
+ /**
7
+ * @description converts typograhy token value to css font shorthand
8
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
9
+ * @matcher matches all tokens of $type `typography`
10
+ * @transformer returns a css font string
11
+ */
12
+ export const typographyToCss = {
13
+ name: 'typography/css',
14
+ type: 'value',
15
+ transitive: true,
16
+ filter: isTypography,
17
+ transform: (token) => {
18
+ // extract value
19
+ const value = getTokenValue(token);
20
+ // validate token properties
21
+ checkRequiredTokenProperties(value, ['fontWeight', 'fontSize', 'fontFamily']);
22
+ // format output
23
+ return `${value.fontStyle || ''} ${parseFontWeight(getTokenValue(token, 'fontWeight'))} ${value.fontSize}${value.lineHeight ? `/${value.lineHeight}` : ''} ${parseFontFamily(getTokenValue(token, 'fontFamily'))}`
24
+ .trim()
25
+ .replace(/\s\s+/g, ' ');
26
+ },
27
+ };
@@ -0,0 +1,9 @@
1
+ import type { TransformedToken } from 'style-dictionary/types';
2
+ /**
3
+ * alpha
4
+ * @description takes a colors string like hex or rgba and returns an rgba color with the specified alpha value
5
+ * @param color color string like a `#334455` or `rgb(255,200,100)`
6
+ * @param desiredAlpha number
7
+ * @returns rgba value
8
+ */
9
+ export declare const alpha: (color: string, desiredAlpha: number, token?: TransformedToken) => string;
@@ -0,0 +1,16 @@
1
+ import { rgba, parseToRgba } from 'color2k';
2
+ /**
3
+ * alpha
4
+ * @description takes a colors string like hex or rgba and returns an rgba color with the specified alpha value
5
+ * @param color color string like a `#334455` or `rgb(255,200,100)`
6
+ * @param desiredAlpha number
7
+ * @returns rgba value
8
+ */
9
+ export const alpha = (color, desiredAlpha, token) => {
10
+ const [r, g, b, a] = parseToRgba(color);
11
+ if (a < 1 && desiredAlpha < 1) {
12
+ // eslint-disable-next-line no-console
13
+ console.warn(`🚨 You are setting an alpha value of "${desiredAlpha}" for a color with an alpha value (${color}). The previous alpha value will be disregarded as if the color would have been 100% opaque.${token !== undefined ? `\n ↳ Token: "${token.name}" in file: "${token.filePath}"` : ''}`);
14
+ }
15
+ return rgba(r, g, b, desiredAlpha);
16
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * checks if all required properties exist on token
3
+ * @param object - tokenValue
4
+ * @param array - property names
5
+ * @returns void or throws error
6
+ */
7
+ export declare const checkRequiredTokenProperties: (tokenValue: Record<string, unknown>, requiredProperties: readonly string[]) => void;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * checks if all required properties exist on token
3
+ * @param object - tokenValue
4
+ * @param array - property names
5
+ * @returns void or throws error
6
+ */
7
+ export const checkRequiredTokenProperties = (tokenValue, requiredProperties) => {
8
+ for (const prop of requiredProperties) {
9
+ if (prop in tokenValue === false) {
10
+ throw new Error(`Missing property: ${prop} on token with value ${JSON.stringify(tokenValue)}`);
11
+ }
12
+ }
13
+ };
@@ -0,0 +1,2 @@
1
+ import type { TransformedToken } from 'style-dictionary/types';
2
+ export declare const getTokenValue: (token: TransformedToken, property?: string) => any;
@@ -0,0 +1,16 @@
1
+ import { invalidTokenValueError, invalidTokenValuePropertyError } from './invalidTokenError.js';
2
+ export const getTokenValue = (token, property) => {
3
+ var _a;
4
+ const value = (_a = token.$value) !== null && _a !== void 0 ? _a : token.value;
5
+ if (value === undefined) {
6
+ throw new invalidTokenValueError(token);
7
+ }
8
+ // for composite token if subproperty is needed
9
+ if (typeof property === 'string' && value[property] === undefined) {
10
+ throw new invalidTokenValuePropertyError(token, property);
11
+ }
12
+ if (typeof property === 'string') {
13
+ return value[property];
14
+ }
15
+ return value;
16
+ };
@@ -0,0 +1 @@
1
+ export declare const hasSpaceInString: (string: string) => boolean;
@@ -0,0 +1,6 @@
1
+ export const hasSpaceInString = (string) => {
2
+ if (typeof string !== 'string') {
3
+ throw new TypeError(`Invalid input. Input must be a string, ${typeof string} provided`);
4
+ }
5
+ return /\s/g.test(string);
6
+ };
@@ -0,0 +1,2 @@
1
+ import type { RgbaFloat } from './isRgbaFloat.js';
2
+ export declare const hexToRgbaFloat: (hex: string, alpha?: number) => RgbaFloat;
@@ -0,0 +1,29 @@
1
+ export const hexToRgbaFloat = (hex, alpha) => {
2
+ // retrieve spots from hex value (hex 3, hex 4, hex 6 or hex 8)
3
+ let result;
4
+ if (hex.length > 5) {
5
+ result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(hex);
6
+ }
7
+ else {
8
+ result = /^#?([a-f\d]{1})([a-f\d]{1})([a-f\d]{1})([a-f\d]{1})?$/i.exec(hex);
9
+ }
10
+ if (result === null) {
11
+ throw new Error('Invalid hex value in "hexToRgbaFloat". Please provide a valid hex3, hex4, hex6 or hex8 value.');
12
+ }
13
+ // doule characters if hex 3 or hex 4
14
+ if (hex.length < 6) {
15
+ result[1] = `${result[1]}${result[1]}`; // double the character
16
+ result[2] = `${result[2]}${result[2]}`; // double the character
17
+ result[3] = `${result[3]}${result[3]}`; // double the character
18
+ if (result[4]) {
19
+ result[4] = `${result[4]}${result[4]}`; // double the character
20
+ }
21
+ }
22
+ // return parsed rgba float object using alpha value from token, from hex code or defaults to 1
23
+ return {
24
+ r: parseInt(result[1], 16) / 255,
25
+ g: parseInt(result[2], 16) / 255,
26
+ b: parseInt(result[3], 16) / 255,
27
+ a: alpha !== undefined ? alpha : result[4] ? parseInt(result[4], 16) / 255 : 1,
28
+ };
29
+ };
@@ -0,0 +1,7 @@
1
+ import type { TransformedToken } from 'style-dictionary/types';
2
+ export declare class invalidTokenValueError extends Error {
3
+ constructor(token: TransformedToken);
4
+ }
5
+ export declare class invalidTokenValuePropertyError extends Error {
6
+ constructor(token: TransformedToken, property: string);
7
+ }
@@ -0,0 +1,27 @@
1
+ import { namePathToDotNotation } from '../namePathToDotNotation.js';
2
+ const composeValueErrorMessage = (token) => {
3
+ var _a, _b;
4
+ const originalValue = (_a = token.original.$value) !== null && _a !== void 0 ? _a : token.original.value;
5
+ const value = (_b = token.$value) !== null && _b !== void 0 ? _b : token.value;
6
+ // eslint-disable-next-line i18n-text/no-en
7
+ return `Invalid token "${namePathToDotNotation.transform(token, {}, {})}" in file "${token.filePath}". Transformed value: "${JSON.stringify(value)}". ${originalValue ? `Original value: "${JSON.stringify(originalValue)}" ` : ''}This may be due to referencing a token that does not exists.`;
8
+ };
9
+ const composeValuePropertyErrorMessage = (token, property) => {
10
+ var _a, _b;
11
+ const originalValue = (_a = token.original.$value) !== null && _a !== void 0 ? _a : token.original.value;
12
+ const value = (_b = token.$value) !== null && _b !== void 0 ? _b : token.value;
13
+ // eslint-disable-next-line i18n-text/no-en
14
+ return `Invalid property "${property}" of token "${namePathToDotNotation.transform(token, {}, {})}" in file "${token.filePath}". Transformed property value: "${value[property]}". ${originalValue ? `Original value: "${originalValue[property]}" ` : ''}This may be due to referencing a token that does not exists.`;
15
+ };
16
+ export class invalidTokenValueError extends Error {
17
+ constructor(token) {
18
+ super(composeValueErrorMessage(token));
19
+ Error.captureStackTrace(this, invalidTokenValueError);
20
+ }
21
+ }
22
+ export class invalidTokenValuePropertyError extends Error {
23
+ constructor(token, property) {
24
+ super(composeValuePropertyErrorMessage(token, property));
25
+ Error.captureStackTrace(this, invalidTokenValuePropertyError);
26
+ }
27
+ }
@@ -0,0 +1,7 @@
1
+ export type RgbaFloat = {
2
+ r: number;
3
+ g: number;
4
+ b: number;
5
+ a?: number;
6
+ };
7
+ export declare const isRgbaFloat: (value: unknown) => value is RgbaFloat;
@@ -0,0 +1,20 @@
1
+ // check if a value is an rgba float object
2
+ export const isRgbaFloat = (value) => {
3
+ if (value &&
4
+ typeof value === `object` &&
5
+ 'r' in value &&
6
+ typeof value.r === `number` &&
7
+ 'g' in value &&
8
+ typeof value.g === `number` &&
9
+ 'b' in value &&
10
+ typeof value.b === `number` &&
11
+ value.r >= 0 &&
12
+ value.r <= 1 &&
13
+ value.g >= 0 &&
14
+ value.g <= 1 &&
15
+ value.b >= 0 &&
16
+ value.b <= 1) {
17
+ return true;
18
+ }
19
+ return false;
20
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Mixes two colors together. Taken from sass's implementation.
3
+ */
4
+ declare function mix(color1: string, color2: string, weight: number): string;
5
+ export default mix;
@@ -0,0 +1,38 @@
1
+ import { rgba, parseToRgba } from 'color2k';
2
+ /**
3
+ * Mixes two colors together. Taken from sass's implementation.
4
+ */
5
+ function mix(color1, color2, weight) {
6
+ const normalize = (n, index) =>
7
+ // 3rd index is alpha channel which is already normalized
8
+ index === 3 ? n : n / 255;
9
+ const [r1, g1, b1, a1] = parseToRgba(color1).map(normalize);
10
+ const [r2, g2, b2, a2] = parseToRgba(color2).map(normalize);
11
+ // The formula is copied from the original Sass implementation:
12
+ // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method
13
+ const normalizedWeight = 2 * weight - 1;
14
+ const alphaDelta = a1 - a2;
15
+ const combinedWeight = normalizedWeight * alphaDelta === -1
16
+ ? normalizedWeight
17
+ : (normalizedWeight + alphaDelta) / (1 + normalizedWeight * alphaDelta);
18
+ const weight2 = (combinedWeight + 1) / 2;
19
+ const weight1 = 1 - weight2;
20
+ const r = Math.round((r1 * weight1 + r2 * weight2) * 255);
21
+ const g = Math.round((g1 * weight1 + g2 * weight2) * 255);
22
+ const b = Math.round((b1 * weight1 + b2 * weight2) * 255);
23
+ const a = a2 * weight + a1 * (1 - weight);
24
+ return rgba(r, g, b, a);
25
+ }
26
+ export default mix;
27
+ // Number* weight = ARGR("$weight", Number, 0, 100);
28
+ // double p = weight->value()/100;
29
+ // double w = 2*p - 1;
30
+ // double a = color1->a() - color2->a();
31
+ // double nW = ((w * a == -1) ? w : (w + a)/(1 + w*a))
32
+ // double w1 = (nW + 1)/2.0;
33
+ // double w2 = 1 - w1;
34
+ // return new (ctx.mem) Color(pstate,
35
+ // std::round(w1*color1->r() + w2*color2->r()),
36
+ // std::round(w1*color1->g() + w2*color2->g()),
37
+ // std::round(w1*color1->b() + w2*color2->b()),
38
+ // color1->a()*p + color2->a()*(1-p));
@@ -0,0 +1,6 @@
1
+ export declare const rgbaFloatToHex: ({ r, g, b, a }: {
2
+ r: number;
3
+ g: number;
4
+ b: number;
5
+ a?: number;
6
+ }, alpha?: boolean) => string;
@@ -0,0 +1,11 @@
1
+ export const rgbaFloatToHex = ({ r, g, b, a }, alpha = true) => {
2
+ const values = [r, g, b, alpha === true && a && a < 1 ? a : undefined].filter(item => item !== undefined);
3
+ if (r > 1 || r < 0 || g > 1 || g < 0 || b > 1 || b < 0) {
4
+ throw new Error('Invalid RgbaFloat value. R, G and B values must be between 0 and 1.');
5
+ }
6
+ return `#${values
7
+ .map(v => Number(parseInt(`${v * 255}`, 10))
8
+ .toString(16)
9
+ .padStart(2, '0'))
10
+ .join('')}`;
11
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @description a css border string
3
+ * @format color | style | width
4
+ */
5
+ type Border = `${string} ${string} ${string}`
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Type definition for w3c border composite token value
3
+ * @link https://design-tokens.github.io/community-group/format/#border
4
+ */
5
+ export type StrokeStyleString = 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'outset' | 'inset'
6
+ export type BorderTokenValue = {
7
+ color: string
8
+ width: string
9
+ style: StrokeStyleString
10
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @description hex string (6 or 8-digit)
3
+ */
4
+ type ColorHex = string
@@ -0,0 +1,11 @@
1
+ import type {LocalOptions, PlatformConfig} from 'style-dictionary/types'
2
+
3
+ export type PlatformInitializer = (
4
+ // the filename including the extension (e.g. `.css`) and any subfolders after the buildPath (e.g. `functional`)
5
+ outputFile: string,
6
+ // the prefix is prepended to all tokens
7
+ prefix: string | undefined,
8
+ // the build path in which the `outputFile` is placed
9
+ buildPath: string,
10
+ options?: LocalOptions,
11
+ ) => PlatformConfig
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @description a css shadow
3
+ * @format inset? | offset-x | offset-y | blur-radius? | spread-radius? | color?
4
+ */
5
+ type Shadow = string
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Type definition for w3c shadow composite token value
3
+ * @link https://design-tokens.github.io/community-group/format/#shadow
4
+ */
5
+ export type ShadowTokenValue = {
6
+ color: string
7
+ offsetX: string
8
+ offsetY: string
9
+ blur: string
10
+ spread: string
11
+ // custom non w3c values
12
+ inset?: boolean
13
+ alpha?: number
14
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @description size in em
3
+ */
4
+ type SizeEm = `${number}em`
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @description size in px
3
+ */
4
+ type SizePx = `${number}px`
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @description size in rem
3
+ */
4
+ type SizeRem = `${number}rem`
@@ -0,0 +1,15 @@
1
+ import type {Config, PlatformConfig} from 'style-dictionary/types'
2
+
3
+ export type ConfigGeneratorOptions = {
4
+ buildPath: string
5
+ prefix?: string
6
+ themed?: boolean
7
+ }
8
+
9
+ export type StyleDictionaryConfigGenerator = (
10
+ outputName: string,
11
+ source: string[],
12
+ include: string[],
13
+ options: ConfigGeneratorOptions,
14
+ platforms?: Record<string, PlatformConfig | undefined>,
15
+ ) => Config
@@ -0,0 +1,8 @@
1
+ export type TokenBuildInput = {
2
+ // The output filename WITHOUT the extension
3
+ filename: string
4
+ // Array of `filepaths` to token files that should be converted and included in the output. Accepts relative or glob paths.
5
+ source: string[]
6
+ // Array of `filepaths` to token fils that should NOT be included in the output, but should be available to reference during compilation e.g. base color scales
7
+ include: string[]
8
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Type definition for w3c typography composite token value
3
+ * @link https://design-tokens.github.io/community-group/format/#typography
4
+ */
5
+ export type TypographyTokenValue = {
6
+ fontFamily: string
7
+ fontSize: number
8
+ fontWeight: number
9
+ lineHeight: number
10
+ fontStyle?: string
11
+ letterSpacing?: number
12
+ }
@@ -0,0 +1,8 @@
1
+ import type {TransformedToken} from 'style-dictionary/types'
2
+
3
+ export type w3cTokenType = 'color' | 'dimension' | 'fontFamily' | 'fontWeight' | 'duration' | 'cubicBezier'
4
+ export type w3cCompositeTokenType = 'shadow' | 'border' | 'gradient' | 'transition' | 'strokeStyle' | 'typography'
5
+
6
+ export interface w3cTransformedToken extends TransformedToken {
7
+ $type?: w3cTokenType | w3cCompositeTokenType
8
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * copyFromDir
3
+ * @description Copies all files from source folder to destination
4
+ * @param source path
5
+ * @param destination path
6
+ * @returns promise of file name array
7
+ */
8
+ export declare const copyFromDir: (source: string, destination: string) => Promise<string[]>;
@@ -0,0 +1,31 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ /* istanbul ignore file */
11
+ import { copyFile, readdir, mkdir } from 'fs/promises';
12
+ /**
13
+ * copyFromDir
14
+ * @description Copies all files from source folder to destination
15
+ * @param source path
16
+ * @param destination path
17
+ * @returns promise of file name array
18
+ */
19
+ export const copyFromDir = (source, destination) => __awaiter(void 0, void 0, void 0, function* () {
20
+ // adjust trailing slash
21
+ const src = `${source.replace(/\/$/, '')}`;
22
+ const dest = `${destination.replace(/\/$/, '')}`;
23
+ // create dest if it does not exists
24
+ yield mkdir(dest, { recursive: true });
25
+ // read files from source
26
+ const files = yield readdir(src);
27
+ for (const file of files) {
28
+ copyFile(`${src}/${file}`, `${dest}/${file}`);
29
+ }
30
+ return files;
31
+ });
@@ -0,0 +1 @@
1
+ export declare const filterStringArray: (string: string[]) => string[];