@digdir/designsystemet 0.0.0-chore-remove-cli-tsx-20260701060359

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 (266) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +104 -0
  3. package/dist/bin/config.d.ts +14 -0
  4. package/dist/bin/config.d.ts.map +1 -0
  5. package/dist/bin/config.js +58 -0
  6. package/dist/bin/config.js.map +1 -0
  7. package/dist/bin/designsystemet.d.ts +1 -0
  8. package/dist/bin/designsystemet.js +174 -0
  9. package/dist/bin/designsystemet.js.map +1 -0
  10. package/dist/bin/options.d.ts +24 -0
  11. package/dist/bin/options.d.ts.map +1 -0
  12. package/dist/bin/options.js +25 -0
  13. package/dist/bin/options.js.map +1 -0
  14. package/dist/config.schema.json +181 -0
  15. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BorderValues.js +11 -0
  16. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BorderValues.js.map +1 -0
  17. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BoxShadowTypes.js +10 -0
  18. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BoxShadowTypes.js.map +1 -0
  19. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BoxShadowValues.js +15 -0
  20. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BoxShadowValues.js.map +1 -0
  21. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/ColorModifierTypes.js +12 -0
  22. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/ColorModifierTypes.js.map +1 -0
  23. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/ColorSpaceTypes.js +12 -0
  24. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/ColorSpaceTypes.js.map +1 -0
  25. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/Properties.js +55 -0
  26. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/Properties.js.map +1 -0
  27. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/StrokeStyleValues.js +16 -0
  28. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/StrokeStyleValues.js.map +1 -0
  29. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenSetStatus.d.ts +11 -0
  30. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenSetStatus.d.ts.map +1 -0
  31. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenSetStatus.js +11 -0
  32. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenSetStatus.js.map +1 -0
  33. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenTypes.js +34 -0
  34. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenTypes.js.map +1 -0
  35. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TypographyValues.js +17 -0
  36. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TypographyValues.js.map +1 -0
  37. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/types/ThemeObject.d.ts +16 -0
  38. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/types/ThemeObject.d.ts.map +1 -0
  39. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/types/index.js +11 -0
  40. package/dist/package.js +7 -0
  41. package/dist/package.js.map +1 -0
  42. package/dist/src/automigrate.d.ts +5 -0
  43. package/dist/src/automigrate.d.ts.map +1 -0
  44. package/dist/src/automigrate.js +35 -0
  45. package/dist/src/automigrate.js.map +1 -0
  46. package/dist/src/colors/colorMetadata.d.ts +60 -0
  47. package/dist/src/colors/colorMetadata.d.ts.map +1 -0
  48. package/dist/src/colors/colorMetadata.js +261 -0
  49. package/dist/src/colors/colorMetadata.js.map +1 -0
  50. package/dist/src/colors/index.d.ts +5 -0
  51. package/dist/src/colors/index.js +5 -0
  52. package/dist/src/colors/theme.d.ts +34 -0
  53. package/dist/src/colors/theme.d.ts.map +1 -0
  54. package/dist/src/colors/theme.js +113 -0
  55. package/dist/src/colors/theme.js.map +1 -0
  56. package/dist/src/colors/types.d.ts +67 -0
  57. package/dist/src/colors/types.d.ts.map +1 -0
  58. package/dist/src/colors/types.js +26 -0
  59. package/dist/src/colors/types.js.map +1 -0
  60. package/dist/src/colors/utils.d.ts +132 -0
  61. package/dist/src/colors/utils.d.ts.map +1 -0
  62. package/dist/src/colors/utils.js +246 -0
  63. package/dist/src/colors/utils.js.map +1 -0
  64. package/dist/src/index.d.ts +10 -0
  65. package/dist/src/index.js +11 -0
  66. package/dist/src/migrations/beta-to-v1.d.ts +5 -0
  67. package/dist/src/migrations/beta-to-v1.d.ts.map +1 -0
  68. package/dist/src/migrations/beta-to-v1.js +342 -0
  69. package/dist/src/migrations/beta-to-v1.js.map +1 -0
  70. package/dist/src/migrations/codemods/css/plugins.d.ts +9 -0
  71. package/dist/src/migrations/codemods/css/plugins.d.ts.map +1 -0
  72. package/dist/src/migrations/codemods/css/plugins.js +37 -0
  73. package/dist/src/migrations/codemods/css/plugins.js.map +1 -0
  74. package/dist/src/migrations/codemods/css/run.d.ts +14 -0
  75. package/dist/src/migrations/codemods/css/run.d.ts.map +1 -0
  76. package/dist/src/migrations/codemods/css/run.js +25 -0
  77. package/dist/src/migrations/codemods/css/run.js.map +1 -0
  78. package/dist/src/migrations/color-rename-next49.d.ts +5 -0
  79. package/dist/src/migrations/color-rename-next49.d.ts.map +1 -0
  80. package/dist/src/migrations/color-rename-next49.js +48 -0
  81. package/dist/src/migrations/color-rename-next49.js.map +1 -0
  82. package/dist/src/migrations/flatten-color-categories.d.ts +12 -0
  83. package/dist/src/migrations/flatten-color-categories.d.ts.map +1 -0
  84. package/dist/src/migrations/flatten-color-categories.js +58 -0
  85. package/dist/src/migrations/flatten-color-categories.js.map +1 -0
  86. package/dist/src/migrations/index.d.ts +17 -0
  87. package/dist/src/migrations/index.d.ts.map +1 -0
  88. package/dist/src/migrations/index.js +13 -0
  89. package/dist/src/migrations/index.js.map +1 -0
  90. package/dist/src/schemas/helpers.d.ts +42 -0
  91. package/dist/src/schemas/helpers.d.ts.map +1 -0
  92. package/dist/src/schemas/helpers.js +96 -0
  93. package/dist/src/schemas/helpers.js.map +1 -0
  94. package/dist/src/schemas/v1/schema.d.ts +173 -0
  95. package/dist/src/schemas/v1/schema.d.ts.map +1 -0
  96. package/dist/src/schemas/v1/schema.js +65 -0
  97. package/dist/src/schemas/v1/schema.js.map +1 -0
  98. package/dist/src/schemas/v1.1/schema.d.ts +165 -0
  99. package/dist/src/schemas/v1.1/schema.d.ts.map +1 -0
  100. package/dist/src/schemas/v1.1/schema.js +56 -0
  101. package/dist/src/schemas/v1.1/schema.js.map +1 -0
  102. package/dist/src/tokens/build.d.ts +8 -0
  103. package/dist/src/tokens/build.d.ts.map +1 -0
  104. package/dist/src/tokens/build.js +43 -0
  105. package/dist/src/tokens/build.js.map +1 -0
  106. package/dist/src/tokens/create/files.d.ts +19 -0
  107. package/dist/src/tokens/create/files.d.ts.map +1 -0
  108. package/dist/src/tokens/create/files.js +48 -0
  109. package/dist/src/tokens/create/files.js.map +1 -0
  110. package/dist/src/tokens/create/generators/$designsystemet.d.ts +8 -0
  111. package/dist/src/tokens/create/generators/$designsystemet.d.ts.map +1 -0
  112. package/dist/src/tokens/create/generators/$designsystemet.js +12 -0
  113. package/dist/src/tokens/create/generators/$designsystemet.js.map +1 -0
  114. package/dist/src/tokens/create/generators/$metadata.d.ts +15 -0
  115. package/dist/src/tokens/create/generators/$metadata.d.ts.map +1 -0
  116. package/dist/src/tokens/create/generators/$metadata.js +25 -0
  117. package/dist/src/tokens/create/generators/$metadata.js.map +1 -0
  118. package/dist/src/tokens/create/generators/$themes.d.ts +28 -0
  119. package/dist/src/tokens/create/generators/$themes.d.ts.map +1 -0
  120. package/dist/src/tokens/create/generators/$themes.js +158 -0
  121. package/dist/src/tokens/create/generators/$themes.js.map +1 -0
  122. package/dist/src/tokens/create/generators/primitives/color-scheme.d.ts +9 -0
  123. package/dist/src/tokens/create/generators/primitives/color-scheme.d.ts.map +1 -0
  124. package/dist/src/tokens/create/generators/primitives/color-scheme.js +71 -0
  125. package/dist/src/tokens/create/generators/primitives/color-scheme.js.map +1 -0
  126. package/dist/src/tokens/create/generators/primitives/globals.d.ts +7 -0
  127. package/dist/src/tokens/create/generators/primitives/globals.d.ts.map +1 -0
  128. package/dist/src/tokens/create/generators/primitives/globals.js +144 -0
  129. package/dist/src/tokens/create/generators/primitives/globals.js.map +1 -0
  130. package/dist/src/tokens/create/generators/primitives/size.d.ts +8 -0
  131. package/dist/src/tokens/create/generators/primitives/size.d.ts.map +1 -0
  132. package/dist/src/tokens/create/generators/primitives/size.js +149 -0
  133. package/dist/src/tokens/create/generators/primitives/size.js.map +1 -0
  134. package/dist/src/tokens/create/generators/primitives/typography.d.ts +10 -0
  135. package/dist/src/tokens/create/generators/primitives/typography.d.ts.map +1 -0
  136. package/dist/src/tokens/create/generators/primitives/typography.js +218 -0
  137. package/dist/src/tokens/create/generators/primitives/typography.js.map +1 -0
  138. package/dist/src/tokens/create/generators/semantic/color.d.ts +7 -0
  139. package/dist/src/tokens/create/generators/semantic/color.d.ts.map +1 -0
  140. package/dist/src/tokens/create/generators/semantic/color.js +19 -0
  141. package/dist/src/tokens/create/generators/semantic/color.js.map +1 -0
  142. package/dist/src/tokens/create/generators/semantic/style.d.ts +7 -0
  143. package/dist/src/tokens/create/generators/semantic/style.d.ts.map +1 -0
  144. package/dist/src/tokens/create/generators/semantic/style.js +420 -0
  145. package/dist/src/tokens/create/generators/semantic/style.js.map +1 -0
  146. package/dist/src/tokens/create/generators/themes/theme.d.ts +7 -0
  147. package/dist/src/tokens/create/generators/themes/theme.d.ts.map +1 -0
  148. package/dist/src/tokens/create/generators/themes/theme.js +105 -0
  149. package/dist/src/tokens/create/generators/themes/theme.js.map +1 -0
  150. package/dist/src/tokens/create.d.ts +10 -0
  151. package/dist/src/tokens/create.d.ts.map +1 -0
  152. package/dist/src/tokens/create.js +40 -0
  153. package/dist/src/tokens/create.js.map +1 -0
  154. package/dist/src/tokens/format.d.ts +19 -0
  155. package/dist/src/tokens/format.d.ts.map +1 -0
  156. package/dist/src/tokens/format.js +42 -0
  157. package/dist/src/tokens/format.js.map +1 -0
  158. package/dist/src/tokens/generate-config.d.ts +14 -0
  159. package/dist/src/tokens/generate-config.d.ts.map +1 -0
  160. package/dist/src/tokens/generate-config.js +154 -0
  161. package/dist/src/tokens/generate-config.js.map +1 -0
  162. package/dist/src/tokens/index.d.ts +5 -0
  163. package/dist/src/tokens/index.js +4 -0
  164. package/dist/src/tokens/process/configs/color.d.ts +8 -0
  165. package/dist/src/tokens/process/configs/color.d.ts.map +1 -0
  166. package/dist/src/tokens/process/configs/color.js +50 -0
  167. package/dist/src/tokens/process/configs/color.js.map +1 -0
  168. package/dist/src/tokens/process/configs/semantic.d.ts +7 -0
  169. package/dist/src/tokens/process/configs/semantic.d.ts.map +1 -0
  170. package/dist/src/tokens/process/configs/semantic.js +49 -0
  171. package/dist/src/tokens/process/configs/semantic.js.map +1 -0
  172. package/dist/src/tokens/process/configs/shared.d.ts +14 -0
  173. package/dist/src/tokens/process/configs/shared.d.ts.map +1 -0
  174. package/dist/src/tokens/process/configs/shared.js +21 -0
  175. package/dist/src/tokens/process/configs/shared.js.map +1 -0
  176. package/dist/src/tokens/process/configs/size-mode.d.ts +7 -0
  177. package/dist/src/tokens/process/configs/size-mode.d.ts.map +1 -0
  178. package/dist/src/tokens/process/configs/size-mode.js +30 -0
  179. package/dist/src/tokens/process/configs/size-mode.js.map +1 -0
  180. package/dist/src/tokens/process/configs/size.d.ts +7 -0
  181. package/dist/src/tokens/process/configs/size.d.ts.map +1 -0
  182. package/dist/src/tokens/process/configs/size.js +36 -0
  183. package/dist/src/tokens/process/configs/size.js.map +1 -0
  184. package/dist/src/tokens/process/configs/type-scale.d.ts +7 -0
  185. package/dist/src/tokens/process/configs/type-scale.d.ts.map +1 -0
  186. package/dist/src/tokens/process/configs/type-scale.js +51 -0
  187. package/dist/src/tokens/process/configs/type-scale.js.map +1 -0
  188. package/dist/src/tokens/process/configs/typography.d.ts +7 -0
  189. package/dist/src/tokens/process/configs/typography.d.ts.map +1 -0
  190. package/dist/src/tokens/process/configs/typography.js +66 -0
  191. package/dist/src/tokens/process/configs/typography.js.map +1 -0
  192. package/dist/src/tokens/process/configs.d.ts +18 -0
  193. package/dist/src/tokens/process/configs.d.ts.map +1 -0
  194. package/dist/src/tokens/process/configs.js +74 -0
  195. package/dist/src/tokens/process/configs.js.map +1 -0
  196. package/dist/src/tokens/process/formats/css/color.d.ts +8 -0
  197. package/dist/src/tokens/process/formats/css/color.d.ts.map +1 -0
  198. package/dist/src/tokens/process/formats/css/color.js +64 -0
  199. package/dist/src/tokens/process/formats/css/color.js.map +1 -0
  200. package/dist/src/tokens/process/formats/css/semantic.d.ts +7 -0
  201. package/dist/src/tokens/process/formats/css/semantic.d.ts.map +1 -0
  202. package/dist/src/tokens/process/formats/css/semantic.js +31 -0
  203. package/dist/src/tokens/process/formats/css/semantic.js.map +1 -0
  204. package/dist/src/tokens/process/formats/css/size-mode.d.ts +7 -0
  205. package/dist/src/tokens/process/formats/css/size-mode.d.ts.map +1 -0
  206. package/dist/src/tokens/process/formats/css/size-mode.js +52 -0
  207. package/dist/src/tokens/process/formats/css/size-mode.js.map +1 -0
  208. package/dist/src/tokens/process/formats/css/size.d.ts +16 -0
  209. package/dist/src/tokens/process/formats/css/size.d.ts.map +1 -0
  210. package/dist/src/tokens/process/formats/css/size.js +95 -0
  211. package/dist/src/tokens/process/formats/css/size.js.map +1 -0
  212. package/dist/src/tokens/process/formats/css/type-scale.d.ts +7 -0
  213. package/dist/src/tokens/process/formats/css/type-scale.d.ts.map +1 -0
  214. package/dist/src/tokens/process/formats/css/type-scale.js +57 -0
  215. package/dist/src/tokens/process/formats/css/type-scale.js.map +1 -0
  216. package/dist/src/tokens/process/formats/css/typography.d.ts +7 -0
  217. package/dist/src/tokens/process/formats/css/typography.d.ts.map +1 -0
  218. package/dist/src/tokens/process/formats/css/typography.js +31 -0
  219. package/dist/src/tokens/process/formats/css/typography.js.map +1 -0
  220. package/dist/src/tokens/process/formats/css.d.ts +15 -0
  221. package/dist/src/tokens/process/formats/css.d.ts.map +1 -0
  222. package/dist/src/tokens/process/formats/css.js +20 -0
  223. package/dist/src/tokens/process/formats/css.js.map +1 -0
  224. package/dist/src/tokens/process/output/declarations.d.ts +9 -0
  225. package/dist/src/tokens/process/output/declarations.d.ts.map +1 -0
  226. package/dist/src/tokens/process/output/declarations.js +38 -0
  227. package/dist/src/tokens/process/output/declarations.js.map +1 -0
  228. package/dist/src/tokens/process/output/tailwind.d.ts +7 -0
  229. package/dist/src/tokens/process/output/tailwind.d.ts.map +1 -0
  230. package/dist/src/tokens/process/output/tailwind.js +47 -0
  231. package/dist/src/tokens/process/output/tailwind.js.map +1 -0
  232. package/dist/src/tokens/process/output/theme.d.ts +31 -0
  233. package/dist/src/tokens/process/output/theme.d.ts.map +1 -0
  234. package/dist/src/tokens/process/output/theme.js +85 -0
  235. package/dist/src/tokens/process/output/theme.js.map +1 -0
  236. package/dist/src/tokens/process/platform.d.ts +69 -0
  237. package/dist/src/tokens/process/platform.d.ts.map +1 -0
  238. package/dist/src/tokens/process/platform.js +128 -0
  239. package/dist/src/tokens/process/platform.js.map +1 -0
  240. package/dist/src/tokens/process/transformers.d.ts +10 -0
  241. package/dist/src/tokens/process/transformers.d.ts.map +1 -0
  242. package/dist/src/tokens/process/transformers.js +56 -0
  243. package/dist/src/tokens/process/transformers.js.map +1 -0
  244. package/dist/src/tokens/process/utils/getMultidimensionalThemes.d.ts +38 -0
  245. package/dist/src/tokens/process/utils/getMultidimensionalThemes.d.ts.map +1 -0
  246. package/dist/src/tokens/process/utils/getMultidimensionalThemes.js +112 -0
  247. package/dist/src/tokens/process/utils/getMultidimensionalThemes.js.map +1 -0
  248. package/dist/src/tokens/process/utils/kebab-case.d.ts +8 -0
  249. package/dist/src/tokens/process/utils/kebab-case.d.ts.map +1 -0
  250. package/dist/src/tokens/process/utils/kebab-case.js +11 -0
  251. package/dist/src/tokens/process/utils/kebab-case.js.map +1 -0
  252. package/dist/src/tokens/types.d.ts +71 -0
  253. package/dist/src/tokens/types.d.ts.map +1 -0
  254. package/dist/src/tokens/types.js +1 -0
  255. package/dist/src/tokens/utils.d.ts +62 -0
  256. package/dist/src/tokens/utils.d.ts.map +1 -0
  257. package/dist/src/tokens/utils.js +123 -0
  258. package/dist/src/tokens/utils.js.map +1 -0
  259. package/dist/src/types.d.ts +1 -0
  260. package/dist/src/types.js +10 -0
  261. package/dist/src/types.js.map +1 -0
  262. package/dist/src/utils/filesystem.d.ts +47 -0
  263. package/dist/src/utils/filesystem.d.ts.map +1 -0
  264. package/dist/src/utils/filesystem.js +117 -0
  265. package/dist/src/utils/filesystem.js.map +1 -0
  266. package/package.json +87 -0
@@ -0,0 +1,49 @@
1
+ import { pathStartsWithOneOf, typeEquals } from "../../utils.js";
2
+ import { dsTransformers } from "./shared.js";
3
+ import { formats } from "../formats/css.js";
4
+ import * as R from "ramda";
5
+ import { outputReferencesFilter } from "style-dictionary/utils";
6
+ //#region src/tokens/process/configs/semantic.ts
7
+ const semanticVariables = ({ theme }) => {
8
+ return {
9
+ preprocessors: ["tokens-studio"],
10
+ platforms: { css: {
11
+ theme,
12
+ basePxFontSize: 16,
13
+ selector: `:root`,
14
+ layer: `ds.theme.semantic`,
15
+ prefix: "ds",
16
+ buildPath: `${theme}/`,
17
+ transforms: dsTransformers,
18
+ files: [{
19
+ destination: `semantic.css`,
20
+ format: formats.semantic.name,
21
+ filter: (token) => {
22
+ const isUwantedToken = R.anyPass([R.includes("primitives/global")])(token.filePath);
23
+ const isPrivateToken = R.includes("_", token.path);
24
+ const unwantedPaths = pathStartsWithOneOf([
25
+ "size",
26
+ "_size",
27
+ "font-size",
28
+ "line-height",
29
+ "letter-spacing"
30
+ ], token);
31
+ const unwantedTypes = typeEquals([
32
+ "color",
33
+ "fontWeight",
34
+ "fontFamily",
35
+ "typography"
36
+ ], token);
37
+ return !(unwantedPaths || unwantedTypes || isPrivateToken || isUwantedToken);
38
+ }
39
+ }],
40
+ options: { outputReferences: (token, options) => {
41
+ return pathStartsWithOneOf(["border-radius"], token) && outputReferencesFilter(token, options);
42
+ } }
43
+ } }
44
+ };
45
+ };
46
+ //#endregion
47
+ export { semanticVariables };
48
+
49
+ //# sourceMappingURL=semantic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic.js","names":[],"sources":["../../../../../src/tokens/process/configs/semantic.ts"],"sourcesContent":["import * as R from 'ramda';\nimport { outputReferencesFilter } from 'style-dictionary/utils';\nimport { pathStartsWithOneOf, typeEquals } from '../../utils.ts';\nimport { formats } from '../formats/css.ts';\n\nimport { basePxFontSize, dsTransformers, type GetStyleDictionaryConfig, prefix } from './shared.ts';\n\nexport const semanticVariables: GetStyleDictionaryConfig = ({ theme }) => {\n const selector = `:root`;\n const layer = `ds.theme.semantic`;\n\n return {\n preprocessors: ['tokens-studio'],\n platforms: {\n css: {\n // custom\n theme,\n basePxFontSize,\n selector,\n layer,\n //\n prefix,\n buildPath: `${theme}/`,\n transforms: dsTransformers,\n files: [\n {\n destination: `semantic.css`,\n format: formats.semantic.name,\n filter: (token) => {\n const isUwantedToken = R.anyPass([R.includes('primitives/global')])(token.filePath);\n const isPrivateToken = R.includes('_', token.path);\n const unwantedPaths = pathStartsWithOneOf(\n ['size', '_size', 'font-size', 'line-height', 'letter-spacing'],\n token,\n );\n const unwantedTypes = typeEquals(['color', 'fontWeight', 'fontFamily', 'typography'], token);\n const unwantedTokens = !(unwantedPaths || unwantedTypes || isPrivateToken || isUwantedToken);\n\n return unwantedTokens;\n },\n },\n ],\n options: {\n outputReferences: (token, options) => {\n const include = pathStartsWithOneOf(['border-radius'], token);\n return include && outputReferencesFilter(token, options);\n },\n },\n },\n },\n };\n};\n"],"mappings":";;;;;;AAOA,MAAa,qBAA+C,EAAE,YAAY;CAIxE,OAAO;EACL,eAAe,CAAC,eAAe;EAC/B,WAAW,EACT,KAAK;GAEH;GACA,gBAAA;GACA,UAAA;GACA,OAAA;GAEA,QAAA;GACA,WAAW,GAAG,MAAM;GACpB,YAAY;GACZ,OAAO,CACL;IACE,aAAa;IACb,QAAQ,QAAQ,SAAS;IACzB,SAAS,UAAU;KACjB,MAAM,iBAAiB,EAAE,QAAQ,CAAC,EAAE,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ;KAClF,MAAM,iBAAiB,EAAE,SAAS,KAAK,MAAM,IAAI;KACjD,MAAM,gBAAgB,oBACpB;MAAC;MAAQ;MAAS;MAAa;MAAe;KAAgB,GAC9D,KACF;KACA,MAAM,gBAAgB,WAAW;MAAC;MAAS;MAAc;MAAc;KAAY,GAAG,KAAK;KAG3F,OAAO,EAFkB,iBAAiB,iBAAiB,kBAAkB;IAG/E;GACF,CACF;GACA,SAAS,EACP,mBAAmB,OAAO,YAAY;IAEpC,OADgB,oBAAoB,CAAC,eAAe,GAAG,KAC1C,KAAK,uBAAuB,OAAO,OAAO;GACzD,EACF;EACF,EACF;CACF;AACF"}
@@ -0,0 +1,14 @@
1
+ import { ThemePermutation } from "../../types.js";
2
+ import { Config } from "style-dictionary/types";
3
+
4
+ //#region src/tokens/process/configs/shared.d.ts
5
+ type GetStyleDictionaryConfig = (permutation: ThemePermutation) => Config | {
6
+ config: Config;
7
+ permutationOverrides?: Partial<ThemePermutation>;
8
+ }[];
9
+ declare const prefix = "ds";
10
+ declare const basePxFontSize = 16;
11
+ declare const dsTransformers: string[];
12
+ //#endregion
13
+ export { GetStyleDictionaryConfig, basePxFontSize, dsTransformers, prefix };
14
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","names":[],"sources":["../../../../../src/tokens/process/configs/shared.ts"],"mappings":";;;;KAIY,wBAAA,IACV,WAAA,EAAa,gBAAA,KACV,MAAA;EAA0B,MAAA,EAAQ,MAAA;EAAuB,oBAAA,GAAuB,OAAA,CAAQ,gBAAA;AAAA;AAAA,cAEhF,MAAA;AAAA,cACA,cAAA;AAAA,cAEA,cAAA"}
@@ -0,0 +1,21 @@
1
+ import { resolveMath, sizeRem, typographyName, unitless } from "../transformers.js";
2
+ //#region src/tokens/process/configs/shared.ts
3
+ const prefix = "ds";
4
+ const basePxFontSize = 16;
5
+ const dsTransformers = [
6
+ "name/kebab",
7
+ resolveMath.name,
8
+ "ts/size/px",
9
+ sizeRem.name,
10
+ unitless.name,
11
+ "ts/typography/fontWeight",
12
+ typographyName.name,
13
+ "ts/color/modifiers",
14
+ "ts/color/css/hexrgba",
15
+ "ts/size/lineheight",
16
+ "shadow/css/shorthand"
17
+ ];
18
+ //#endregion
19
+ export { basePxFontSize, dsTransformers, prefix };
20
+
21
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","names":[],"sources":["../../../../../src/tokens/process/configs/shared.ts"],"sourcesContent":["import type { Config as StyleDictionaryConfig } from 'style-dictionary/types';\nimport type { ThemePermutation } from '../../types.ts';\nimport { resolveMath, sizeRem, typographyName, unitless } from '../transformers.ts';\n\nexport type GetStyleDictionaryConfig = (\n permutation: ThemePermutation,\n) => StyleDictionaryConfig | { config: StyleDictionaryConfig; permutationOverrides?: Partial<ThemePermutation> }[];\n\nexport const prefix = 'ds';\nexport const basePxFontSize = 16;\n\nexport const dsTransformers = [\n 'name/kebab',\n resolveMath.name,\n 'ts/size/px',\n sizeRem.name,\n unitless.name,\n 'ts/typography/fontWeight',\n typographyName.name,\n 'ts/color/modifiers',\n 'ts/color/css/hexrgba',\n 'ts/size/lineheight',\n 'shadow/css/shorthand',\n];\n"],"mappings":";;AAQA,MAAa,SAAS;AACtB,MAAa,iBAAiB;AAE9B,MAAa,iBAAiB;CAC5B;CACA,YAAY;CACZ;CACA,QAAQ;CACR,SAAS;CACT;CACA,eAAe;CACf;CACA;CACA;CACA;AACF"}
@@ -0,0 +1,7 @@
1
+ import { GetStyleDictionaryConfig } from "./shared.js";
2
+
3
+ //#region src/tokens/process/configs/size-mode.d.ts
4
+ declare const sizeModeVariables: GetStyleDictionaryConfig;
5
+ //#endregion
6
+ export { sizeModeVariables };
7
+ //# sourceMappingURL=size-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size-mode.d.ts","names":[],"sources":["../../../../../src/tokens/process/configs/size-mode.ts"],"mappings":";;;cAKa,iBAAA,EAAmB,wBA8B/B"}
@@ -0,0 +1,30 @@
1
+ import { dsTransformers } from "./shared.js";
2
+ import { formats } from "../formats/css.js";
3
+ import * as R from "ramda";
4
+ //#region src/tokens/process/configs/size-mode.ts
5
+ const sizeModeVariables = ({ theme, size }) => {
6
+ return {
7
+ preprocessors: ["tokens-studio"],
8
+ platforms: { css: {
9
+ size,
10
+ theme,
11
+ basePxFontSize: 16,
12
+ selector: `:root`,
13
+ layer: `ds.theme.size-mode`,
14
+ prefix: "ds",
15
+ buildPath: `${theme}/`,
16
+ transforms: dsTransformers,
17
+ files: [{
18
+ destination: `size-mode/${size}.css`,
19
+ format: formats.sizeMode.name,
20
+ filter: (token) => {
21
+ return R.equals(["_size", "mode-font-size"], token.path);
22
+ }
23
+ }]
24
+ } }
25
+ };
26
+ };
27
+ //#endregion
28
+ export { sizeModeVariables };
29
+
30
+ //# sourceMappingURL=size-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size-mode.js","names":[],"sources":["../../../../../src/tokens/process/configs/size-mode.ts"],"sourcesContent":["import * as R from 'ramda';\nimport { formats } from '../formats/css.ts';\n\nimport { basePxFontSize, dsTransformers, type GetStyleDictionaryConfig, prefix } from './shared.ts';\n\nexport const sizeModeVariables: GetStyleDictionaryConfig = ({ theme, size }) => {\n const selector = `:root`;\n const layer = `ds.theme.size-mode`;\n\n return {\n preprocessors: ['tokens-studio'],\n platforms: {\n css: {\n // custom\n size,\n theme,\n basePxFontSize,\n selector,\n layer,\n //\n prefix,\n buildPath: `${theme}/`,\n transforms: dsTransformers,\n files: [\n {\n destination: `size-mode/${size}.css`,\n format: formats.sizeMode.name,\n filter: (token) => {\n return R.equals(['_size', 'mode-font-size'], token.path);\n },\n },\n ],\n },\n },\n };\n};\n"],"mappings":";;;;AAKA,MAAa,qBAA+C,EAAE,OAAO,WAAW;CAI9E,OAAO;EACL,eAAe,CAAC,eAAe;EAC/B,WAAW,EACT,KAAK;GAEH;GACA;GACA,gBAAA;GACA,UAAA;GACA,OAAA;GAEA,QAAA;GACA,WAAW,GAAG,MAAM;GACpB,YAAY;GACZ,OAAO,CACL;IACE,aAAa,aAAa,KAAK;IAC/B,QAAQ,QAAQ,SAAS;IACzB,SAAS,UAAU;KACjB,OAAO,EAAE,OAAO,CAAC,SAAS,gBAAgB,GAAG,MAAM,IAAI;IACzD;GACF,CACF;EACF,EACF;CACF;AACF"}
@@ -0,0 +1,7 @@
1
+ import { GetStyleDictionaryConfig } from "./shared.js";
2
+
3
+ //#region src/tokens/process/configs/size.d.ts
4
+ declare const sizeVariables: GetStyleDictionaryConfig;
5
+ //#endregion
6
+ export { sizeVariables };
7
+ //# sourceMappingURL=size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.d.ts","names":[],"sources":["../../../../../src/tokens/process/configs/size.ts"],"mappings":";;;cAQa,aAAA,EAAe,wBAuC3B"}
@@ -0,0 +1,36 @@
1
+ import { isDigit, pathStartsWithOneOf } from "../../utils.js";
2
+ import { dsTransformers } from "./shared.js";
3
+ import { formats } from "../formats/css.js";
4
+ import * as R from "ramda";
5
+ import { outputReferencesFilter } from "style-dictionary/utils";
6
+ //#region src/tokens/process/configs/size.ts
7
+ const sizeVariables = ({ theme }) => {
8
+ return {
9
+ preprocessors: ["tokens-studio"],
10
+ platforms: { css: {
11
+ theme,
12
+ basePxFontSize: 16,
13
+ selector: `:root, [data-size]`,
14
+ layer: `ds.theme.size`,
15
+ prefix: "ds",
16
+ buildPath: `${theme}/`,
17
+ transforms: dsTransformers,
18
+ files: [{
19
+ destination: `size.css`,
20
+ format: formats.size.name,
21
+ filter: (token) => {
22
+ const isUwantedToken = R.anyPass([R.includes("primitives/global")])(token.filePath);
23
+ const isPrivateToken = R.includes("_", token.path);
24
+ return pathStartsWithOneOf(["size", "_size"], token) && !(isUwantedToken || isPrivateToken);
25
+ }
26
+ }],
27
+ options: { outputReferences: (token, options) => {
28
+ return pathStartsWithOneOf(["size", "_size"], token) && (isDigit(token.path[1]) || token.path[1] === "unit") && outputReferencesFilter(token, options);
29
+ } }
30
+ } }
31
+ };
32
+ };
33
+ //#endregion
34
+ export { sizeVariables };
35
+
36
+ //# sourceMappingURL=size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.js","names":[],"sources":["../../../../../src/tokens/process/configs/size.ts"],"sourcesContent":["import * as R from 'ramda';\nimport type {} from 'style-dictionary/types';\nimport { outputReferencesFilter } from 'style-dictionary/utils';\nimport { isDigit, pathStartsWithOneOf } from '../../utils.ts';\nimport { formats } from '../formats/css.ts';\n\nimport { basePxFontSize, dsTransformers, type GetStyleDictionaryConfig, prefix } from './shared.ts';\n\nexport const sizeVariables: GetStyleDictionaryConfig = ({ theme }) => {\n // [data-size] selector ensures --ds-size-* variables are recalculated when --ds-size-mode-font-size changes\n const selector = `:root, [data-size]`;\n const layer = `ds.theme.size`;\n\n return {\n preprocessors: ['tokens-studio'],\n platforms: {\n css: {\n // custom\n theme,\n basePxFontSize,\n selector,\n layer,\n //\n prefix,\n buildPath: `${theme}/`,\n transforms: dsTransformers,\n files: [\n {\n destination: `size.css`,\n format: formats.size.name,\n filter: (token) => {\n const isUwantedToken = R.anyPass([R.includes('primitives/global')])(token.filePath);\n const isPrivateToken = R.includes('_', token.path);\n return pathStartsWithOneOf(['size', '_size'], token) && !(isUwantedToken || isPrivateToken);\n },\n },\n ],\n options: {\n outputReferences: (token, options) => {\n const isWantedSize =\n pathStartsWithOneOf(['size', '_size'], token) && (isDigit(token.path[1]) || token.path[1] === 'unit');\n return isWantedSize && outputReferencesFilter(token, options);\n },\n },\n },\n },\n };\n};\n"],"mappings":";;;;;;AAQA,MAAa,iBAA2C,EAAE,YAAY;CAKpE,OAAO;EACL,eAAe,CAAC,eAAe;EAC/B,WAAW,EACT,KAAK;GAEH;GACA,gBAAA;GACA,UAAA;GACA,OAAA;GAEA,QAAA;GACA,WAAW,GAAG,MAAM;GACpB,YAAY;GACZ,OAAO,CACL;IACE,aAAa;IACb,QAAQ,QAAQ,KAAK;IACrB,SAAS,UAAU;KACjB,MAAM,iBAAiB,EAAE,QAAQ,CAAC,EAAE,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ;KAClF,MAAM,iBAAiB,EAAE,SAAS,KAAK,MAAM,IAAI;KACjD,OAAO,oBAAoB,CAAC,QAAQ,OAAO,GAAG,KAAK,KAAK,EAAE,kBAAkB;IAC9E;GACF,CACF;GACA,SAAS,EACP,mBAAmB,OAAO,YAAY;IAGpC,OADE,oBAAoB,CAAC,QAAQ,OAAO,GAAG,KAAK,MAAM,QAAQ,MAAM,KAAK,EAAE,KAAK,MAAM,KAAK,OAAO,WACzE,uBAAuB,OAAO,OAAO;GAC9D,EACF;EACF,EACF;CACF;AACF"}
@@ -0,0 +1,7 @@
1
+ import { GetStyleDictionaryConfig } from "./shared.js";
2
+
3
+ //#region src/tokens/process/configs/type-scale.d.ts
4
+ declare const typeScaleVariables: GetStyleDictionaryConfig;
5
+ //#endregion
6
+ export { typeScaleVariables };
7
+ //# sourceMappingURL=type-scale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-scale.d.ts","names":[],"sources":["../../../../../src/tokens/process/configs/type-scale.ts"],"mappings":";;;cAKa,kBAAA,EAAoB,wBAiDhC"}
@@ -0,0 +1,51 @@
1
+ import { pathStartsWithOneOf, typeEquals } from "../../utils.js";
2
+ import { sizeRem, typographyName } from "../transformers.js";
3
+ import "./shared.js";
4
+ import { formats } from "../formats/css.js";
5
+ //#region src/tokens/process/configs/type-scale.ts
6
+ const typeScaleVariables = ({ theme }) => {
7
+ return {
8
+ usesDtcg: true,
9
+ preprocessors: ["tokens-studio"],
10
+ expand: { include: ["typography"] },
11
+ platforms: { css: {
12
+ prefix: "ds",
13
+ selector: ":root, [data-size]",
14
+ layer: `ds.theme.type-scale`,
15
+ buildPath: `${theme}/`,
16
+ basePxFontSize: 16,
17
+ transforms: [
18
+ "name/kebab",
19
+ "ts/size/px",
20
+ sizeRem.name,
21
+ "ts/size/lineheight",
22
+ "ts/typography/fontWeight",
23
+ typographyName.name
24
+ ],
25
+ files: [{
26
+ destination: `type-scale.css`,
27
+ format: formats.typeScale.name,
28
+ filter: (token) => {
29
+ const included = typeEquals([
30
+ "typography",
31
+ "dimension",
32
+ "fontsize"
33
+ ], token);
34
+ if (/primitives\/modes\/typography\/(primary|secondary)/.test(token.filePath)) return false;
35
+ return included && !pathStartsWithOneOf([
36
+ "spacing",
37
+ "sizing",
38
+ "size",
39
+ "border-width",
40
+ "border-radius"
41
+ ], token) && (pathStartsWithOneOf(["font-size"], token) || token.path.includes("fontSize"));
42
+ }
43
+ }],
44
+ options: { outputReferences: (token) => pathStartsWithOneOf(["typography"], token) && token.path.includes("fontSize") }
45
+ } }
46
+ };
47
+ };
48
+ //#endregion
49
+ export { typeScaleVariables };
50
+
51
+ //# sourceMappingURL=type-scale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-scale.js","names":[],"sources":["../../../../../src/tokens/process/configs/type-scale.ts"],"sourcesContent":["import { pathStartsWithOneOf, typeEquals } from '../../utils.ts';\nimport { formats } from '../formats/css.ts';\nimport { sizeRem, typographyName } from '../transformers.ts';\nimport { basePxFontSize, type GetStyleDictionaryConfig, prefix } from './shared.ts';\n\nexport const typeScaleVariables: GetStyleDictionaryConfig = ({ theme }) => {\n const selector = ':root, [data-size]';\n const layer = `ds.theme.type-scale`;\n\n return {\n usesDtcg: true,\n preprocessors: ['tokens-studio'],\n expand: {\n include: ['typography'],\n },\n platforms: {\n css: {\n prefix,\n selector,\n layer,\n buildPath: `${theme}/`,\n basePxFontSize,\n transforms: [\n 'name/kebab',\n 'ts/size/px',\n sizeRem.name,\n 'ts/size/lineheight',\n 'ts/typography/fontWeight',\n typographyName.name,\n ],\n files: [\n {\n destination: `type-scale.css`,\n format: formats.typeScale.name,\n filter: (token) => {\n const included = typeEquals(['typography', 'dimension', 'fontsize'], token);\n\n // Remove primitive typgography tokens\n if (/primitives\\/modes\\/typography\\/(primary|secondary)/.test(token.filePath)) return false;\n\n return (\n included &&\n !pathStartsWithOneOf(['spacing', 'sizing', 'size', 'border-width', 'border-radius'], token) &&\n (pathStartsWithOneOf(['font-size'], token) || token.path.includes('fontSize'))\n );\n },\n },\n ],\n options: {\n outputReferences: (token) => pathStartsWithOneOf(['typography'], token) && token.path.includes('fontSize'),\n },\n },\n },\n };\n};\n"],"mappings":";;;;;AAKA,MAAa,sBAAgD,EAAE,YAAY;CAIzE,OAAO;EACL,UAAU;EACV,eAAe,CAAC,eAAe;EAC/B,QAAQ,EACN,SAAS,CAAC,YAAY,EACxB;EACA,WAAW,EACT,KAAK;GACH,QAAA;GACA,UAAA;GACA,OAAA;GACA,WAAW,GAAG,MAAM;GACpB,gBAAA;GACA,YAAY;IACV;IACA;IACA,QAAQ;IACR;IACA;IACA,eAAe;GACjB;GACA,OAAO,CACL;IACE,aAAa;IACb,QAAQ,QAAQ,UAAU;IAC1B,SAAS,UAAU;KACjB,MAAM,WAAW,WAAW;MAAC;MAAc;MAAa;KAAU,GAAG,KAAK;KAG1E,IAAI,qDAAqD,KAAK,MAAM,QAAQ,GAAG,OAAO;KAEtF,OACE,YACA,CAAC,oBAAoB;MAAC;MAAW;MAAU;MAAQ;MAAgB;KAAe,GAAG,KAAK,MACzF,oBAAoB,CAAC,WAAW,GAAG,KAAK,KAAK,MAAM,KAAK,SAAS,UAAU;IAEhF;GACF,CACF;GACA,SAAS,EACP,mBAAmB,UAAU,oBAAoB,CAAC,YAAY,GAAG,KAAK,KAAK,MAAM,KAAK,SAAS,UAAU,EAC3G;EACF,EACF;CACF;AACF"}
@@ -0,0 +1,7 @@
1
+ import { GetStyleDictionaryConfig } from "./shared.js";
2
+
3
+ //#region src/tokens/process/configs/typography.d.ts
4
+ declare const typographyVariables: GetStyleDictionaryConfig;
5
+ //#endregion
6
+ export { typographyVariables };
7
+ //# sourceMappingURL=typography.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typography.d.ts","names":[],"sources":["../../../../../src/tokens/process/configs/typography.ts"],"mappings":";;;cAOa,mBAAA,EAAqB,wBAiDjC"}
@@ -0,0 +1,66 @@
1
+ import { pathStartsWithOneOf, typeEquals } from "../../utils.js";
2
+ import { sizeRem, typographyName } from "../transformers.js";
3
+ import "./shared.js";
4
+ import { formats } from "../formats/css.js";
5
+ import { expandTypesMap } from "@tokens-studio/sd-transforms";
6
+ //#region src/tokens/process/configs/typography.ts
7
+ const typographyVariables = ({ theme, typography }) => {
8
+ const selector = `${typography === "primary" ? ":root, " : ""}[data-typography="${typography}"]`;
9
+ const layer = `ds.theme.typography.${typography}`;
10
+ return {
11
+ usesDtcg: true,
12
+ preprocessors: ["tokens-studio"],
13
+ expand: {
14
+ include: ["typography"],
15
+ typesMap: {
16
+ ...expandTypesMap,
17
+ typography: {
18
+ ...expandTypesMap.typography,
19
+ letterSpacing: "dimension"
20
+ }
21
+ }
22
+ },
23
+ platforms: { css: {
24
+ prefix: "ds",
25
+ typography,
26
+ selector,
27
+ layer,
28
+ buildPath: `${theme}/`,
29
+ basePxFontSize: 16,
30
+ transforms: [
31
+ "name/kebab",
32
+ "ts/size/px",
33
+ sizeRem.name,
34
+ "ts/size/lineheight",
35
+ "ts/typography/fontWeight",
36
+ "ts/size/css/letterspacing",
37
+ typographyName.name
38
+ ],
39
+ files: [{
40
+ destination: `typography/${typography}.css`,
41
+ format: formats.typography.name,
42
+ filter: (token) => {
43
+ const included = typeEquals([
44
+ "fontweight",
45
+ "fontFamily",
46
+ "lineHeight",
47
+ "dimension"
48
+ ], token);
49
+ if (/primitives\/modes\/typography\/(primary|secondary)/.test(token.filePath)) return false;
50
+ return included && !pathStartsWithOneOf([
51
+ "spacing",
52
+ "sizing",
53
+ "size",
54
+ "_size",
55
+ "border-width",
56
+ "border-radius"
57
+ ], token) && !(pathStartsWithOneOf(["typography"], token) && token.path.includes("fontSize"));
58
+ }
59
+ }]
60
+ } }
61
+ };
62
+ };
63
+ //#endregion
64
+ export { typographyVariables };
65
+
66
+ //# sourceMappingURL=typography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typography.js","names":[],"sources":["../../../../../src/tokens/process/configs/typography.ts"],"sourcesContent":["import { expandTypesMap } from '@tokens-studio/sd-transforms';\nimport { pathStartsWithOneOf, typeEquals } from '../../utils.ts';\nimport { formats } from '../formats/css.ts';\nimport { sizeRem, typographyName } from '../transformers.ts';\n\nimport { basePxFontSize, type GetStyleDictionaryConfig, prefix } from './shared.ts';\n\nexport const typographyVariables: GetStyleDictionaryConfig = ({ theme, typography }) => {\n const selector = `${typography === 'primary' ? ':root, ' : ''}[data-typography=\"${typography}\"]`;\n const layer = `ds.theme.typography.${typography}`;\n\n return {\n usesDtcg: true,\n preprocessors: ['tokens-studio'],\n expand: {\n include: ['typography'],\n typesMap: { ...expandTypesMap, typography: { ...expandTypesMap.typography, letterSpacing: 'dimension' } },\n },\n platforms: {\n css: {\n prefix,\n typography,\n selector,\n layer,\n buildPath: `${theme}/`,\n basePxFontSize,\n transforms: [\n 'name/kebab',\n 'ts/size/px',\n sizeRem.name,\n 'ts/size/lineheight',\n 'ts/typography/fontWeight',\n 'ts/size/css/letterspacing',\n typographyName.name,\n ],\n files: [\n {\n destination: `typography/${typography}.css`,\n format: formats.typography.name,\n filter: (token) => {\n const included = typeEquals(['fontweight', 'fontFamily', 'lineHeight', 'dimension'], token);\n\n // Remove primitive typgography tokens\n if (/primitives\\/modes\\/typography\\/(primary|secondary)/.test(token.filePath)) return false;\n\n return (\n included &&\n !pathStartsWithOneOf(['spacing', 'sizing', 'size', '_size', 'border-width', 'border-radius'], token) &&\n !(pathStartsWithOneOf(['typography'], token) && token.path.includes('fontSize'))\n );\n },\n },\n ],\n },\n },\n };\n};\n"],"mappings":";;;;;;AAOA,MAAa,uBAAiD,EAAE,OAAO,iBAAiB;CACtF,MAAM,WAAW,GAAG,eAAe,YAAY,YAAY,GAAG,oBAAoB,WAAW;CAC7F,MAAM,QAAQ,uBAAuB;CAErC,OAAO;EACL,UAAU;EACV,eAAe,CAAC,eAAe;EAC/B,QAAQ;GACN,SAAS,CAAC,YAAY;GACtB,UAAU;IAAE,GAAG;IAAgB,YAAY;KAAE,GAAG,eAAe;KAAY,eAAe;IAAY;GAAE;EAC1G;EACA,WAAW,EACT,KAAK;GACH,QAAA;GACA;GACA;GACA;GACA,WAAW,GAAG,MAAM;GACpB,gBAAA;GACA,YAAY;IACV;IACA;IACA,QAAQ;IACR;IACA;IACA;IACA,eAAe;GACjB;GACA,OAAO,CACL;IACE,aAAa,cAAc,WAAW;IACtC,QAAQ,QAAQ,WAAW;IAC3B,SAAS,UAAU;KACjB,MAAM,WAAW,WAAW;MAAC;MAAc;MAAc;MAAc;KAAW,GAAG,KAAK;KAG1F,IAAI,qDAAqD,KAAK,MAAM,QAAQ,GAAG,OAAO;KAEtF,OACE,YACA,CAAC,oBAAoB;MAAC;MAAW;MAAU;MAAQ;MAAS;MAAgB;KAAe,GAAG,KAAK,KACnG,EAAE,oBAAoB,CAAC,YAAY,GAAG,KAAK,KAAK,MAAM,KAAK,SAAS,UAAU;IAElF;GACF,CACF;EACF,EACF;CACF;AACF"}
@@ -0,0 +1,18 @@
1
+ import { GetStyleDictionaryConfig } from "./configs/shared.js";
2
+ import { GetSDConfigOptions, SDConfigForThemePermutation, ThemeDimension } from "../types.js";
3
+ import { ProcessedThemeObject } from "./utils/getMultidimensionalThemes.js";
4
+
5
+ //#region src/tokens/process/configs.d.ts
6
+ declare const configs: {
7
+ colorSchemeVariables: GetStyleDictionaryConfig;
8
+ colorVariables: GetStyleDictionaryConfig;
9
+ sizeModeVariables: GetStyleDictionaryConfig;
10
+ sizeVariables: GetStyleDictionaryConfig;
11
+ typographyVariables: GetStyleDictionaryConfig;
12
+ typeScaleVariables: GetStyleDictionaryConfig;
13
+ semanticVariables: GetStyleDictionaryConfig;
14
+ };
15
+ declare const getConfigsForThemeDimensions: (getConfig: GetStyleDictionaryConfig, processed$themes: ProcessedThemeObject[], dimensions: ThemeDimension[], options: GetSDConfigOptions) => SDConfigForThemePermutation[];
16
+ //#endregion
17
+ export { configs, getConfigsForThemeDimensions };
18
+ //# sourceMappingURL=configs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configs.d.ts","names":[],"sources":["../../../../src/tokens/process/configs.ts"],"mappings":";;;;;cA6Ba,OAAA;;;;;;;;;cAUA,4BAAA,GACX,SAAA,EAAW,wBAAA,EACX,gBAAA,EAAkB,oBAAA,IAClB,UAAA,EAAY,cAAA,IACZ,OAAA,EAAS,kBAAA,KACR,2BAAA"}
@@ -0,0 +1,74 @@
1
+ import { traverseObj } from "../utils.js";
2
+ import { resolveMath, sizeRem, typographyName, unitless } from "./transformers.js";
3
+ import { formats } from "./formats/css.js";
4
+ import { colorSchemeVariables, colorVariables } from "./configs/color.js";
5
+ import { semanticVariables } from "./configs/semantic.js";
6
+ import { sizeVariables } from "./configs/size.js";
7
+ import { sizeModeVariables } from "./configs/size-mode.js";
8
+ import { typeScaleVariables } from "./configs/type-scale.js";
9
+ import { typographyVariables } from "./configs/typography.js";
10
+ import { buildOptions } from "./platform.js";
11
+ import { getMultidimensionalThemes } from "./utils/getMultidimensionalThemes.js";
12
+ import * as R from "ramda";
13
+ import StyleDictionary from "style-dictionary";
14
+ import { register } from "@tokens-studio/sd-transforms";
15
+ //#region src/tokens/process/configs.ts
16
+ register(StyleDictionary, { withSDBuiltins: false });
17
+ StyleDictionary.registerTransform(sizeRem);
18
+ StyleDictionary.registerTransform(typographyName);
19
+ StyleDictionary.registerTransform(resolveMath);
20
+ StyleDictionary.registerTransform(unitless);
21
+ for (const format of Object.values(formats)) StyleDictionary.registerFormat(format);
22
+ const configs = {
23
+ colorSchemeVariables,
24
+ colorVariables,
25
+ sizeModeVariables,
26
+ sizeVariables,
27
+ typographyVariables,
28
+ typeScaleVariables,
29
+ semanticVariables
30
+ };
31
+ const getConfigsForThemeDimensions = (getConfig, processed$themes, dimensions, options) => {
32
+ const { tokensDir, tokenSets } = options;
33
+ return getMultidimensionalThemes(processed$themes, dimensions).flatMap(({ selectedTokenSets, permutation }) => {
34
+ const tokenSource = {
35
+ source: void 0,
36
+ tokens: {}
37
+ };
38
+ if (tokenSets) for (const tokenSet of selectedTokenSets) {
39
+ const tokens = tokenSets.get(tokenSet);
40
+ if (tokens) {
41
+ const tokensWithFilePath = traverseObj(tokens, (obj) => {
42
+ if (Object.hasOwn(obj, `$value`) && !obj.filePath) obj.filePath = tokenSet;
43
+ });
44
+ tokenSource.tokens = R.mergeDeepRight(tokenSource.tokens, tokensWithFilePath);
45
+ }
46
+ }
47
+ else tokenSource.source = selectedTokenSets.map((x) => `${tokensDir}/${x}.json`);
48
+ const configOrConfigs = getConfig(permutation);
49
+ return (Array.isArray(configOrConfigs) ? configOrConfigs : [{ config: configOrConfigs }]).map(({ config, permutationOverrides }) => {
50
+ return {
51
+ permutation: {
52
+ ...permutation,
53
+ ...permutationOverrides
54
+ },
55
+ config: {
56
+ ...config,
57
+ /** Use official W3C design token format
58
+ @see https://v4.styledictionary.com/info/dtcg/
59
+ @see https://design-tokens.github.io/community-group/format/ */
60
+ usesDtcg: true,
61
+ log: {
62
+ ...config?.log,
63
+ verbosity: buildOptions?.verbose ? "verbose" : "silent"
64
+ },
65
+ ...tokenSource
66
+ }
67
+ };
68
+ });
69
+ }).sort();
70
+ };
71
+ //#endregion
72
+ export { configs, getConfigsForThemeDimensions };
73
+
74
+ //# sourceMappingURL=configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configs.js","names":[],"sources":["../../../../src/tokens/process/configs.ts"],"sourcesContent":["import { register } from '@tokens-studio/sd-transforms';\nimport * as R from 'ramda';\nimport StyleDictionary, { type Tokens } from 'style-dictionary';\nimport type { DesignTokens } from 'style-dictionary/types';\nimport type { GetSDConfigOptions, SDConfigForThemePermutation, ThemeDimension } from '../types.ts';\nimport { traverseObj } from '../utils.ts';\nimport { colorSchemeVariables, colorVariables } from './configs/color.ts';\nimport { semanticVariables } from './configs/semantic.ts';\nimport type { GetStyleDictionaryConfig } from './configs/shared.ts';\nimport { sizeVariables } from './configs/size.ts';\nimport { sizeModeVariables } from './configs/size-mode.ts';\nimport { typeScaleVariables } from './configs/type-scale.ts';\nimport { typographyVariables } from './configs/typography.ts';\nimport { formats } from './formats/css.ts';\nimport { buildOptions } from './platform.ts';\nimport { resolveMath, sizeRem, typographyName, unitless } from './transformers.ts';\nimport { getMultidimensionalThemes, type ProcessedThemeObject } from './utils/getMultidimensionalThemes.ts';\n\nvoid register(StyleDictionary, { withSDBuiltins: false });\n\nStyleDictionary.registerTransform(sizeRem);\nStyleDictionary.registerTransform(typographyName);\nStyleDictionary.registerTransform(resolveMath);\nStyleDictionary.registerTransform(unitless);\n\nfor (const format of Object.values(formats)) {\n StyleDictionary.registerFormat(format);\n}\n\nexport const configs = {\n colorSchemeVariables,\n colorVariables,\n sizeModeVariables,\n sizeVariables,\n typographyVariables,\n typeScaleVariables,\n semanticVariables,\n};\n\nexport const getConfigsForThemeDimensions = (\n getConfig: GetStyleDictionaryConfig,\n processed$themes: ProcessedThemeObject[],\n dimensions: ThemeDimension[],\n options: GetSDConfigOptions,\n): SDConfigForThemePermutation[] => {\n const { tokensDir, tokenSets } = options;\n\n const permutations = getMultidimensionalThemes(processed$themes, dimensions);\n return permutations\n .flatMap(({ selectedTokenSets, permutation }) => {\n const tokenSource: { source?: string[]; tokens: Tokens } = { source: undefined, tokens: {} };\n\n if (tokenSets) {\n for (const tokenSet of selectedTokenSets) {\n const tokens = tokenSets.get(tokenSet);\n\n if (tokens) {\n const tokensWithFilePath = traverseObj(tokens as DesignTokens, (obj) => {\n if (Object.hasOwn(obj, `$value`) && !obj.filePath) {\n obj.filePath = tokenSet;\n }\n });\n\n // Merge tokenSets into a single tokens object with filePath denoting tokenSet\n tokenSource.tokens = R.mergeDeepRight(tokenSource.tokens, tokensWithFilePath) as DesignTokens;\n }\n }\n } else {\n // Tell SD where to read tokenSets from disk\n tokenSource.source = selectedTokenSets.map((x) => `${tokensDir}/${x}.json`);\n }\n\n const configOrConfigs = getConfig(permutation);\n const configs_ = Array.isArray(configOrConfigs) ? configOrConfigs : [{ config: configOrConfigs }];\n\n const configs: SDConfigForThemePermutation[] = configs_.map(({ config, permutationOverrides }) => {\n return {\n permutation: { ...permutation, ...permutationOverrides },\n config: {\n ...config,\n /** Use official W3C design token format\n @see https://v4.styledictionary.com/info/dtcg/\n @see https://design-tokens.github.io/community-group/format/ */\n usesDtcg: true,\n log: {\n ...config?.log,\n verbosity: buildOptions?.verbose ? 'verbose' : 'silent',\n },\n ...tokenSource,\n },\n };\n });\n\n return configs;\n })\n .sort();\n};\n"],"mappings":";;;;;;;;;;;;;;;AAkBK,SAAS,iBAAiB,EAAE,gBAAgB,MAAM,CAAC;AAExD,gBAAgB,kBAAkB,OAAO;AACzC,gBAAgB,kBAAkB,cAAc;AAChD,gBAAgB,kBAAkB,WAAW;AAC7C,gBAAgB,kBAAkB,QAAQ;AAE1C,KAAK,MAAM,UAAU,OAAO,OAAO,OAAO,GACxC,gBAAgB,eAAe,MAAM;AAGvC,MAAa,UAAU;CACrB;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAa,gCACX,WACA,kBACA,YACA,YACkC;CAClC,MAAM,EAAE,WAAW,cAAc;CAGjC,OADqB,0BAA0B,kBAAkB,UAC/C,CAAC,CAChB,SAAS,EAAE,mBAAmB,kBAAkB;EAC/C,MAAM,cAAqD;GAAE,QAAQ,KAAA;GAAW,QAAQ,CAAC;EAAE;EAE3F,IAAI,WACF,KAAK,MAAM,YAAY,mBAAmB;GACxC,MAAM,SAAS,UAAU,IAAI,QAAQ;GAErC,IAAI,QAAQ;IACV,MAAM,qBAAqB,YAAY,SAAyB,QAAQ;KACtE,IAAI,OAAO,OAAO,KAAK,QAAQ,KAAK,CAAC,IAAI,UACvC,IAAI,WAAW;IAEnB,CAAC;IAGD,YAAY,SAAS,EAAE,eAAe,YAAY,QAAQ,kBAAkB;GAC9E;EACF;OAGA,YAAY,SAAS,kBAAkB,KAAK,MAAM,GAAG,UAAU,GAAG,EAAE,MAAM;EAG5E,MAAM,kBAAkB,UAAU,WAAW;EAqB7C,QApBiB,MAAM,QAAQ,eAAe,IAAI,kBAAkB,CAAC,EAAE,QAAQ,gBAAgB,CAAC,EAAA,CAExC,KAAK,EAAE,QAAQ,2BAA2B;GAChG,OAAO;IACL,aAAa;KAAE,GAAG;KAAa,GAAG;IAAqB;IACvD,QAAQ;KACN,GAAG;;;;KAIH,UAAU;KACV,KAAK;MACH,GAAG,QAAQ;MACX,WAAW,cAAc,UAAU,YAAY;KACjD;KACA,GAAG;IACL;GACF;EACF,CAEa;CACf,CAAC,CAAC,CACD,KAAK;AACV"}
@@ -0,0 +1,8 @@
1
+ import { Format } from "style-dictionary/types";
2
+
3
+ //#region src/tokens/process/formats/css/color.d.ts
4
+ declare const colorScheme: Format;
5
+ declare const colorCategory: Format;
6
+ //#endregion
7
+ export { colorCategory, colorScheme };
8
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","names":[],"sources":["../../../../../../src/tokens/process/formats/css/color.ts"],"mappings":";;;cAca,WAAA,EAAa,MA2CzB;AAAA,cAEY,aAAA,EAAe,MAwC3B"}
@@ -0,0 +1,64 @@
1
+ import { isSemanticToken } from "../../../utils.js";
2
+ import { buildOptions } from "../../platform.js";
3
+ import * as R from "ramda";
4
+ import { createPropertyFormatter } from "style-dictionary/utils";
5
+ //#region src/tokens/process/formats/css/color.ts
6
+ const prefersColorScheme = (colorScheme, content) => `
7
+ @media (prefers-color-scheme: ${colorScheme}) {
8
+ [data-color-scheme="auto"] ${content}
9
+ }
10
+ `;
11
+ const colorScheme = {
12
+ name: "ds/css-colorscheme",
13
+ format: async ({ dictionary, options, platform }) => {
14
+ const { allTokens } = dictionary;
15
+ const { outputReferences, usesDtcg } = options;
16
+ const { selector, colorScheme, layer } = platform;
17
+ const colorScheme_ = colorScheme;
18
+ const format = createPropertyFormatter({
19
+ outputReferences,
20
+ dictionary,
21
+ format: "css",
22
+ usesDtcg
23
+ });
24
+ const colorSchemeProperty = colorScheme_ === "dark" || colorScheme_ === "light" ? `\n color-scheme: ${colorScheme_};\n` : "";
25
+ const content = `{\n${allTokens.filter(R.allPass([R.anyPass([isSemanticToken])])).map((token) => ({
26
+ token,
27
+ formatted: format(token)
28
+ })).map(R.view(R.lensProp("formatted"))).join("\n")}\n${colorSchemeProperty}}\n`;
29
+ const autoSelectorContent = ["light", "dark"].includes(colorScheme_) ? prefersColorScheme(colorScheme_, content) : "";
30
+ return R.isNotNil(layer) ? `@layer ${layer} {\n${selector} ${content} ${autoSelectorContent}\n}\n` : `${selector} ${content} ${autoSelectorContent}\n`;
31
+ }
32
+ };
33
+ const colorCategory = {
34
+ name: "ds/css-colorcategory",
35
+ format: async ({ dictionary, file, options, platform }) => {
36
+ const { outputReferences, usesDtcg } = options;
37
+ const { selector, layer } = platform;
38
+ const destination = file.destination;
39
+ const format = R.compose(createPropertyFormatter({
40
+ outputReferences,
41
+ dictionary,
42
+ format: "css",
43
+ usesDtcg
44
+ }), (token) => ({
45
+ ...token,
46
+ name: token.name.replace(`color-${token.path[1]}-`, "color-"),
47
+ original: {
48
+ ...token.original,
49
+ $value: `{${token.path.join(".")}}`
50
+ }
51
+ }));
52
+ const formattedMap = dictionary.allTokens.map((token) => ({
53
+ token,
54
+ formatted: format(token)
55
+ }));
56
+ buildOptions.buildTokenFormats[destination] = formattedMap;
57
+ const content = `{\n${formattedMap.map(R.view(R.lensProp("formatted"))).join("\n")}\n}\n`;
58
+ return R.isNotNil(layer) ? `@layer ${layer} {\n${selector} ${content}\n}\n` : `${selector} ${content}\n`;
59
+ }
60
+ };
61
+ //#endregion
62
+ export { colorCategory, colorScheme };
63
+
64
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","names":[],"sources":["../../../../../../src/tokens/process/formats/css/color.ts"],"sourcesContent":["import * as R from 'ramda';\nimport type { TransformedToken } from 'style-dictionary';\nimport type { Format } from 'style-dictionary/types';\nimport { createPropertyFormatter } from 'style-dictionary/utils';\n\nimport { isSemanticToken } from '../../../utils.ts';\nimport { buildOptions } from '../../platform.ts';\n\nconst prefersColorScheme = (colorScheme: string, content: string) => `\n@media (prefers-color-scheme: ${colorScheme}) {\n [data-color-scheme=\"auto\"] ${content}\n}\n`;\n\nexport const colorScheme: Format = {\n name: 'ds/css-colorscheme',\n format: async ({ dictionary, options, platform }) => {\n const { allTokens } = dictionary;\n const { outputReferences, usesDtcg } = options;\n const { selector, colorScheme, layer } = platform;\n\n const colorScheme_ = colorScheme as string;\n\n const format = createPropertyFormatter({\n outputReferences,\n dictionary,\n format: 'css',\n usesDtcg,\n });\n\n const colorSchemeProperty =\n colorScheme_ === 'dark' || colorScheme_ === 'light' ? `\\n color-scheme: ${colorScheme_};\\n` : '';\n\n const filteredAllTokens = allTokens.filter(\n R.allPass([\n R.anyPass([\n // Include semantic tokens in the output\n isSemanticToken,\n ]),\n ]),\n );\n const formattedMap = filteredAllTokens.map((token: TransformedToken) => ({\n token,\n formatted: format(token),\n }));\n\n const formattedTokens = formattedMap.map(R.view(R.lensProp('formatted'))).join('\\n');\n const content = `{\\n${formattedTokens}\\n${colorSchemeProperty}}\\n`;\n const autoSelectorContent = ['light', 'dark'].includes(colorScheme_)\n ? prefersColorScheme(colorScheme_, content)\n : '';\n const body = R.isNotNil(layer)\n ? `@layer ${layer} {\\n${selector} ${content} ${autoSelectorContent}\\n}\\n`\n : `${selector} ${content} ${autoSelectorContent}\\n`;\n\n return body;\n },\n};\n\nexport const colorCategory: Format = {\n name: 'ds/css-colorcategory',\n format: async ({ dictionary, file, options, platform }) => {\n const { outputReferences, usesDtcg } = options;\n const { selector, layer } = platform;\n const destination = file.destination as string;\n\n const format = R.compose(\n createPropertyFormatter({\n outputReferences,\n dictionary,\n format: 'css',\n usesDtcg,\n }),\n (token: TransformedToken) => ({\n ...token,\n // Strip the color name (e.g. \"color-brand1-\" -> \"color-\"). Color names can\n // contain hyphens (e.g. \"my-brand\"), so remove the exact name from the path\n // rather than matching with \\w+, which would stop at the first hyphen.\n name: token.name.replace(`color-${token.path[1]}-`, 'color-'),\n original: {\n ...token.original,\n $value: `{${token.path.join('.')}}`,\n },\n }),\n );\n\n const formattedMap = dictionary.allTokens.map((token: TransformedToken) => ({\n token,\n formatted: format(token),\n }));\n\n buildOptions.buildTokenFormats[destination] = formattedMap;\n\n const formattedTokens = formattedMap.map(R.view(R.lensProp('formatted'))).join('\\n');\n const content = `{\\n${formattedTokens}\\n}\\n`;\n const body = R.isNotNil(layer) ? `@layer ${layer} {\\n${selector} ${content}\\n}\\n` : `${selector} ${content}\\n`;\n\n return body;\n },\n};\n"],"mappings":";;;;;AAQA,MAAM,sBAAsB,aAAqB,YAAoB;gCACrC,YAAY;+BACb,QAAQ;;;AAIvC,MAAa,cAAsB;CACjC,MAAM;CACN,QAAQ,OAAO,EAAE,YAAY,SAAS,eAAe;EACnD,MAAM,EAAE,cAAc;EACtB,MAAM,EAAE,kBAAkB,aAAa;EACvC,MAAM,EAAE,UAAU,aAAa,UAAU;EAEzC,MAAM,eAAe;EAErB,MAAM,SAAS,wBAAwB;GACrC;GACA;GACA,QAAQ;GACR;EACF,CAAC;EAED,MAAM,sBACJ,iBAAiB,UAAU,iBAAiB,UAAU,qBAAqB,aAAa,OAAO;EAgBjG,MAAM,UAAU,MAdU,UAAU,OAClC,EAAE,QAAQ,CACR,EAAE,QAAQ,CAER,eACF,CAAC,CACH,CAAC,CAEkC,CAAC,CAAC,KAAK,WAA6B;GACvE;GACA,WAAW,OAAO,KAAK;EACzB,EAEmC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAC3C,EAAE,IAAI,oBAAoB;EAC9D,MAAM,sBAAsB,CAAC,SAAS,MAAM,CAAC,CAAC,SAAS,YAAY,IAC/D,mBAAmB,cAAc,OAAO,IACxC;EAKJ,OAJa,EAAE,SAAS,KAAK,IACzB,UAAU,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,oBAAoB,SACjE,GAAG,SAAS,GAAG,QAAQ,GAAG,oBAAoB;CAGpD;AACF;AAEA,MAAa,gBAAwB;CACnC,MAAM;CACN,QAAQ,OAAO,EAAE,YAAY,MAAM,SAAS,eAAe;EACzD,MAAM,EAAE,kBAAkB,aAAa;EACvC,MAAM,EAAE,UAAU,UAAU;EAC5B,MAAM,cAAc,KAAK;EAEzB,MAAM,SAAS,EAAE,QACf,wBAAwB;GACtB;GACA;GACA,QAAQ;GACR;EACF,CAAC,IACA,WAA6B;GAC5B,GAAG;GAIH,MAAM,MAAM,KAAK,QAAQ,SAAS,MAAM,KAAK,GAAG,IAAI,QAAQ;GAC5D,UAAU;IACR,GAAG,MAAM;IACT,QAAQ,IAAI,MAAM,KAAK,KAAK,GAAG,EAAE;GACnC;EACF,EACF;EAEA,MAAM,eAAe,WAAW,UAAU,KAAK,WAA6B;GAC1E;GACA,WAAW,OAAO,KAAK;EACzB,EAAE;EAEF,aAAa,kBAAkB,eAAe;EAG9C,MAAM,UAAU,MADQ,aAAa,IAAI,EAAE,KAAK,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAC3C,EAAE;EAGtC,OAFa,EAAE,SAAS,KAAK,IAAI,UAAU,MAAM,MAAM,SAAS,GAAG,QAAQ,SAAS,GAAG,SAAS,GAAG,QAAQ;CAG7G;AACF"}
@@ -0,0 +1,7 @@
1
+ import { Format } from "style-dictionary/types";
2
+
3
+ //#region src/tokens/process/formats/css/semantic.d.ts
4
+ declare const semantic: Format;
5
+ //#endregion
6
+ export { semantic };
7
+ //# sourceMappingURL=semantic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic.d.ts","names":[],"sources":["../../../../../../src/tokens/process/formats/css/semantic.ts"],"mappings":";;;cAOa,QAAA,EAAU,MA8BtB"}
@@ -0,0 +1,31 @@
1
+ import { inlineTokens } from "../../../utils.js";
2
+ import { isInlineTokens } from "./size.js";
3
+ import { buildOptions } from "../../platform.js";
4
+ import * as R from "ramda";
5
+ import { createPropertyFormatter } from "style-dictionary/utils";
6
+ //#region src/tokens/process/formats/css/semantic.ts
7
+ const semantic = {
8
+ name: "ds/css-semantic",
9
+ format: async ({ dictionary, file, options, platform }) => {
10
+ const { outputReferences, usesDtcg } = options;
11
+ const { selector, layer } = platform;
12
+ const destination = file.destination;
13
+ const format = createPropertyFormatter({
14
+ outputReferences,
15
+ dictionary,
16
+ format: "css",
17
+ usesDtcg
18
+ });
19
+ const formattedMap = inlineTokens(isInlineTokens, dictionary.allTokens).map((token) => ({
20
+ token,
21
+ formatted: format(token)
22
+ }));
23
+ buildOptions.buildTokenFormats[destination] = formattedMap;
24
+ const content = `${selector} {\n${formattedMap.map(R.prop("formatted")).join("\n")}\n}\n`;
25
+ return R.isNotNil(layer) ? `@layer ${layer} {\n${content}\n}\n` : `${content}\n`;
26
+ }
27
+ };
28
+ //#endregion
29
+ export { semantic };
30
+
31
+ //# sourceMappingURL=semantic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic.js","names":[],"sources":["../../../../../../src/tokens/process/formats/css/semantic.ts"],"sourcesContent":["import * as R from 'ramda';\nimport type { Format } from 'style-dictionary/types';\nimport { createPropertyFormatter } from 'style-dictionary/utils';\nimport { inlineTokens } from '../../../utils.ts';\nimport { buildOptions } from '../../platform.ts';\nimport { isInlineTokens } from './size.ts';\n\nexport const semantic: Format = {\n name: 'ds/css-semantic',\n format: async ({ dictionary, file, options, platform }) => {\n const { outputReferences, usesDtcg } = options;\n const { selector, layer } = platform;\n const destination = file.destination as string;\n\n const format = createPropertyFormatter({\n outputReferences,\n dictionary,\n format: 'css',\n usesDtcg,\n });\n\n const tokens = inlineTokens(isInlineTokens, dictionary.allTokens);\n\n const formattedMap = tokens.map((token) => ({\n token,\n formatted: format(token),\n }));\n\n buildOptions.buildTokenFormats[destination] = formattedMap;\n\n const formattedTokens = formattedMap.map(R.prop('formatted')).join('\\n');\n\n const content = `${selector} {\\n${formattedTokens}\\n}\\n`;\n const body = R.isNotNil(layer) ? `@layer ${layer} {\\n${content}\\n}\\n` : `${content}\\n`;\n\n return body;\n },\n};\n"],"mappings":";;;;;;AAOA,MAAa,WAAmB;CAC9B,MAAM;CACN,QAAQ,OAAO,EAAE,YAAY,MAAM,SAAS,eAAe;EACzD,MAAM,EAAE,kBAAkB,aAAa;EACvC,MAAM,EAAE,UAAU,UAAU;EAC5B,MAAM,cAAc,KAAK;EAEzB,MAAM,SAAS,wBAAwB;GACrC;GACA;GACA,QAAQ;GACR;EACF,CAAC;EAID,MAAM,eAFS,aAAa,gBAAgB,WAAW,SAE7B,CAAC,CAAC,KAAK,WAAW;GAC1C;GACA,WAAW,OAAO,KAAK;EACzB,EAAE;EAEF,aAAa,kBAAkB,eAAe;EAI9C,MAAM,UAAU,GAAG,SAAS,MAFJ,aAAa,IAAI,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,IAEnB,EAAE;EAGlD,OAFa,EAAE,SAAS,KAAK,IAAI,UAAU,MAAM,MAAM,QAAQ,SAAS,GAAG,QAAQ;CAGrF;AACF"}