@digdir/designsystemet 0.0.0-deps-tsdown-20260421103939

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 (195) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +115 -0
  3. package/configs/test-tokens.config.json +82 -0
  4. package/dist/bin/config.d.ts +12 -0
  5. package/dist/bin/config.d.ts.map +1 -0
  6. package/dist/bin/config.js +58 -0
  7. package/dist/bin/designsystemet.d.ts +3 -0
  8. package/dist/bin/designsystemet.d.ts.map +1 -0
  9. package/dist/bin/designsystemet.js +156 -0
  10. package/dist/bin/options.d.ts +21 -0
  11. package/dist/bin/options.d.ts.map +1 -0
  12. package/dist/bin/options.js +23 -0
  13. package/dist/config.schema.json +209 -0
  14. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BorderValues.js +9 -0
  15. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BoxShadowTypes.js +8 -0
  16. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/BoxShadowValues.js +13 -0
  17. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/ColorModifierTypes.js +10 -0
  18. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/ColorSpaceTypes.js +10 -0
  19. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/Properties.js +53 -0
  20. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/StrokeStyleValues.js +14 -0
  21. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenSetStatus.js +9 -0
  22. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenTypes.js +32 -0
  23. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TypographyValues.js +15 -0
  24. package/dist/node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/types/index.js +11 -0
  25. package/dist/package.js +5 -0
  26. package/dist/src/colors/colorMetadata.d.ts +56 -0
  27. package/dist/src/colors/colorMetadata.d.ts.map +1 -0
  28. package/dist/src/colors/colorMetadata.js +259 -0
  29. package/dist/src/colors/index.d.ts +5 -0
  30. package/dist/src/colors/index.d.ts.map +1 -0
  31. package/dist/src/colors/index.js +5 -0
  32. package/dist/src/colors/theme.d.ts +30 -0
  33. package/dist/src/colors/theme.d.ts.map +1 -0
  34. package/dist/src/colors/theme.js +111 -0
  35. package/dist/src/colors/types.d.ts +69 -0
  36. package/dist/src/colors/types.d.ts.map +1 -0
  37. package/dist/src/colors/types.js +24 -0
  38. package/dist/src/colors/utils.d.ts +128 -0
  39. package/dist/src/colors/utils.d.ts.map +1 -0
  40. package/dist/src/colors/utils.js +244 -0
  41. package/dist/src/config.d.ts +181 -0
  42. package/dist/src/config.d.ts.map +1 -0
  43. package/dist/src/config.js +118 -0
  44. package/dist/src/index.d.ts +4 -0
  45. package/dist/src/index.d.ts.map +1 -0
  46. package/dist/src/index.js +10 -0
  47. package/dist/src/migrations/beta-to-v1.d.ts +3 -0
  48. package/dist/src/migrations/beta-to-v1.d.ts.map +1 -0
  49. package/dist/src/migrations/beta-to-v1.js +340 -0
  50. package/dist/src/migrations/codemods/css/plugins.d.ts +6 -0
  51. package/dist/src/migrations/codemods/css/plugins.d.ts.map +1 -0
  52. package/dist/src/migrations/codemods/css/plugins.js +35 -0
  53. package/dist/src/migrations/codemods/css/run.d.ts +8 -0
  54. package/dist/src/migrations/codemods/css/run.d.ts.map +1 -0
  55. package/dist/src/migrations/codemods/css/run.js +23 -0
  56. package/dist/src/migrations/color-rename-next49.d.ts +3 -0
  57. package/dist/src/migrations/color-rename-next49.d.ts.map +1 -0
  58. package/dist/src/migrations/color-rename-next49.js +46 -0
  59. package/dist/src/migrations/index.d.ts +6 -0
  60. package/dist/src/migrations/index.d.ts.map +1 -0
  61. package/dist/src/migrations/index.js +9 -0
  62. package/dist/src/scripts/createJsonSchema.d.ts +2 -0
  63. package/dist/src/scripts/createJsonSchema.d.ts.map +1 -0
  64. package/dist/src/scripts/update-preview-tokens.d.ts +3 -0
  65. package/dist/src/scripts/update-preview-tokens.d.ts.map +1 -0
  66. package/dist/src/tokens/build.d.ts +4 -0
  67. package/dist/src/tokens/build.d.ts.map +1 -0
  68. package/dist/src/tokens/build.js +41 -0
  69. package/dist/src/tokens/create/files.d.ts +11 -0
  70. package/dist/src/tokens/create/files.d.ts.map +1 -0
  71. package/dist/src/tokens/create/files.js +44 -0
  72. package/dist/src/tokens/create/generators/$designsystemet.d.ts +5 -0
  73. package/dist/src/tokens/create/generators/$designsystemet.d.ts.map +1 -0
  74. package/dist/src/tokens/create/generators/$designsystemet.js +10 -0
  75. package/dist/src/tokens/create/generators/$metadata.d.ts +8 -0
  76. package/dist/src/tokens/create/generators/$metadata.d.ts.map +1 -0
  77. package/dist/src/tokens/create/generators/$metadata.js +19 -0
  78. package/dist/src/tokens/create/generators/$themes.d.ts +27 -0
  79. package/dist/src/tokens/create/generators/$themes.d.ts.map +1 -0
  80. package/dist/src/tokens/create/generators/$themes.js +158 -0
  81. package/dist/src/tokens/create/generators/primitives/color-scheme.d.ts +5 -0
  82. package/dist/src/tokens/create/generators/primitives/color-scheme.d.ts.map +1 -0
  83. package/dist/src/tokens/create/generators/primitives/color-scheme.js +71 -0
  84. package/dist/src/tokens/create/generators/primitives/globals.d.ts +3 -0
  85. package/dist/src/tokens/create/generators/primitives/globals.d.ts.map +1 -0
  86. package/dist/src/tokens/create/generators/primitives/globals.js +142 -0
  87. package/dist/src/tokens/create/generators/primitives/size.d.ts +4 -0
  88. package/dist/src/tokens/create/generators/primitives/size.d.ts.map +1 -0
  89. package/dist/src/tokens/create/generators/primitives/size.js +147 -0
  90. package/dist/src/tokens/create/generators/primitives/typography.d.ts +4 -0
  91. package/dist/src/tokens/create/generators/primitives/typography.d.ts.map +1 -0
  92. package/dist/src/tokens/create/generators/primitives/typography.js +216 -0
  93. package/dist/src/tokens/create/generators/semantic/color-modes.d.ts +8 -0
  94. package/dist/src/tokens/create/generators/semantic/color-modes.d.ts.map +1 -0
  95. package/dist/src/tokens/create/generators/semantic/color-modes.js +26 -0
  96. package/dist/src/tokens/create/generators/semantic/color.d.ts +5 -0
  97. package/dist/src/tokens/create/generators/semantic/color.d.ts.map +1 -0
  98. package/dist/src/tokens/create/generators/semantic/color.js +46 -0
  99. package/dist/src/tokens/create/generators/semantic/style.d.ts +3 -0
  100. package/dist/src/tokens/create/generators/semantic/style.d.ts.map +1 -0
  101. package/dist/src/tokens/create/generators/semantic/style.js +381 -0
  102. package/dist/src/tokens/create/generators/themes/theme.d.ts +3 -0
  103. package/dist/src/tokens/create/generators/themes/theme.d.ts.map +1 -0
  104. package/dist/src/tokens/create/generators/themes/theme.js +112 -0
  105. package/dist/src/tokens/create.d.ts +21 -0
  106. package/dist/src/tokens/create.d.ts.map +1 -0
  107. package/dist/src/tokens/create.js +47 -0
  108. package/dist/src/tokens/format.d.ts +15 -0
  109. package/dist/src/tokens/format.d.ts.map +1 -0
  110. package/dist/src/tokens/format.js +41 -0
  111. package/dist/src/tokens/generate-config.d.ts +10 -0
  112. package/dist/src/tokens/generate-config.d.ts.map +1 -0
  113. package/dist/src/tokens/generate-config.js +178 -0
  114. package/dist/src/tokens/index.d.ts +4 -0
  115. package/dist/src/tokens/index.d.ts.map +1 -0
  116. package/dist/src/tokens/index.js +3 -0
  117. package/dist/src/tokens/process/configs/color.d.ts +12 -0
  118. package/dist/src/tokens/process/configs/color.d.ts.map +1 -0
  119. package/dist/src/tokens/process/configs/color.js +51 -0
  120. package/dist/src/tokens/process/configs/semantic.d.ts +3 -0
  121. package/dist/src/tokens/process/configs/semantic.d.ts.map +1 -0
  122. package/dist/src/tokens/process/configs/semantic.js +47 -0
  123. package/dist/src/tokens/process/configs/shared.d.ts +10 -0
  124. package/dist/src/tokens/process/configs/shared.d.ts.map +1 -0
  125. package/dist/src/tokens/process/configs/shared.js +19 -0
  126. package/dist/src/tokens/process/configs/size-mode.d.ts +3 -0
  127. package/dist/src/tokens/process/configs/size-mode.d.ts.map +1 -0
  128. package/dist/src/tokens/process/configs/size-mode.js +28 -0
  129. package/dist/src/tokens/process/configs/size.d.ts +3 -0
  130. package/dist/src/tokens/process/configs/size.d.ts.map +1 -0
  131. package/dist/src/tokens/process/configs/size.js +34 -0
  132. package/dist/src/tokens/process/configs/type-scale.d.ts +3 -0
  133. package/dist/src/tokens/process/configs/type-scale.d.ts.map +1 -0
  134. package/dist/src/tokens/process/configs/type-scale.js +49 -0
  135. package/dist/src/tokens/process/configs/typography.d.ts +3 -0
  136. package/dist/src/tokens/process/configs/typography.d.ts.map +1 -0
  137. package/dist/src/tokens/process/configs/typography.js +64 -0
  138. package/dist/src/tokens/process/configs.d.ts +20 -0
  139. package/dist/src/tokens/process/configs.d.ts.map +1 -0
  140. package/dist/src/tokens/process/configs.js +90 -0
  141. package/dist/src/tokens/process/formats/css/color.d.ts +4 -0
  142. package/dist/src/tokens/process/formats/css/color.d.ts.map +1 -0
  143. package/dist/src/tokens/process/formats/css/color.js +63 -0
  144. package/dist/src/tokens/process/formats/css/semantic.d.ts +3 -0
  145. package/dist/src/tokens/process/formats/css/semantic.d.ts.map +1 -0
  146. package/dist/src/tokens/process/formats/css/semantic.js +29 -0
  147. package/dist/src/tokens/process/formats/css/size-mode.d.ts +4 -0
  148. package/dist/src/tokens/process/formats/css/size-mode.d.ts.map +1 -0
  149. package/dist/src/tokens/process/formats/css/size-mode.js +50 -0
  150. package/dist/src/tokens/process/formats/css/size.d.ts +21 -0
  151. package/dist/src/tokens/process/formats/css/size.d.ts.map +1 -0
  152. package/dist/src/tokens/process/formats/css/size.js +93 -0
  153. package/dist/src/tokens/process/formats/css/type-scale.d.ts +3 -0
  154. package/dist/src/tokens/process/formats/css/type-scale.d.ts.map +1 -0
  155. package/dist/src/tokens/process/formats/css/type-scale.js +55 -0
  156. package/dist/src/tokens/process/formats/css/typography.d.ts +3 -0
  157. package/dist/src/tokens/process/formats/css/typography.d.ts.map +1 -0
  158. package/dist/src/tokens/process/formats/css/typography.js +29 -0
  159. package/dist/src/tokens/process/formats/css.d.ts +11 -0
  160. package/dist/src/tokens/process/formats/css.d.ts.map +1 -0
  161. package/dist/src/tokens/process/formats/css.js +18 -0
  162. package/dist/src/tokens/process/output/declarations.d.ts +5 -0
  163. package/dist/src/tokens/process/output/declarations.d.ts.map +1 -0
  164. package/dist/src/tokens/process/output/declarations.js +38 -0
  165. package/dist/src/tokens/process/output/tailwind.d.ts +3 -0
  166. package/dist/src/tokens/process/output/tailwind.d.ts.map +1 -0
  167. package/dist/src/tokens/process/output/tailwind.js +45 -0
  168. package/dist/src/tokens/process/output/theme.d.ts +27 -0
  169. package/dist/src/tokens/process/output/theme.d.ts.map +1 -0
  170. package/dist/src/tokens/process/output/theme.js +83 -0
  171. package/dist/src/tokens/process/platform.d.ts +106 -0
  172. package/dist/src/tokens/process/platform.d.ts.map +1 -0
  173. package/dist/src/tokens/process/platform.js +168 -0
  174. package/dist/src/tokens/process/transformers.d.ts +6 -0
  175. package/dist/src/tokens/process/transformers.d.ts.map +1 -0
  176. package/dist/src/tokens/process/transformers.js +54 -0
  177. package/dist/src/tokens/process/utils/getMultidimensionalThemes.d.ts +36 -0
  178. package/dist/src/tokens/process/utils/getMultidimensionalThemes.d.ts.map +1 -0
  179. package/dist/src/tokens/process/utils/getMultidimensionalThemes.js +114 -0
  180. package/dist/src/tokens/process/utils/kebab-case.d.ts +5 -0
  181. package/dist/src/tokens/process/utils/kebab-case.d.ts.map +1 -0
  182. package/dist/src/tokens/process/utils/kebab-case.js +9 -0
  183. package/dist/src/tokens/types.d.ts +74 -0
  184. package/dist/src/tokens/types.d.ts.map +1 -0
  185. package/dist/src/tokens/types.js +7 -0
  186. package/dist/src/tokens/utils.d.ts +63 -0
  187. package/dist/src/tokens/utils.d.ts.map +1 -0
  188. package/dist/src/tokens/utils.js +121 -0
  189. package/dist/src/types.d.ts +6 -0
  190. package/dist/src/types.d.ts.map +1 -0
  191. package/dist/src/types.js +2 -0
  192. package/dist/src/utils/filesystem.d.ts +40 -0
  193. package/dist/src/utils/filesystem.d.ts.map +1 -0
  194. package/dist/src/utils/filesystem.js +115 -0
  195. package/package.json +87 -0
@@ -0,0 +1,5 @@
1
+ export declare function generate$Designsystemet(): {
2
+ name: string;
3
+ version: string;
4
+ };
5
+ //# sourceMappingURL=$designsystemet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"$designsystemet.d.ts","sourceRoot":"","sources":["../../../../../src/tokens/create/generators/$designsystemet.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB;;;EAKtC"}
@@ -0,0 +1,10 @@
1
+ import { name, version } from "../../../../package.js";
2
+ //#region src/tokens/create/generators/$designsystemet.ts
3
+ function generate$Designsystemet() {
4
+ return {
5
+ name,
6
+ version
7
+ };
8
+ }
9
+ //#endregion
10
+ export { generate$Designsystemet };
@@ -0,0 +1,8 @@
1
+ import type { ColorScheme } from '../../../colors/types.js';
2
+ import type { Colors, SizeModes } from '../../types.js';
3
+ type Metadata = {
4
+ tokenSetOrder: string[];
5
+ };
6
+ export declare function generate$Metadata(schemes: ColorScheme[], themes: string[], colors: Colors, sizeModes: SizeModes[]): Metadata;
7
+ export {};
8
+ //# sourceMappingURL=$metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"$metadata.d.ts","sourceRoot":"","sources":["../../../../../src/tokens/create/generators/$metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExD,KAAK,QAAQ,GAAG;IACd,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EAAE,GACrB,QAAQ,CAiBV"}
@@ -0,0 +1,19 @@
1
+ //#region src/tokens/create/generators/$metadata.ts
2
+ function generate$Metadata(schemes, themes, colors, sizeModes) {
3
+ return { tokenSetOrder: [
4
+ "primitives/globals",
5
+ ...sizeModes.map((size) => `primitives/modes/size/${size}`),
6
+ "primitives/modes/size/global",
7
+ ...sizeModes.map((size) => `primitives/modes/typography/size/${size}`),
8
+ ...themes.map((theme) => `primitives/modes/typography/primary/${theme}`),
9
+ ...themes.map((theme) => `primitives/modes/typography/secondary/${theme}`),
10
+ ...schemes.flatMap((scheme) => [...themes.map((theme) => `primitives/modes/color-scheme/${scheme}/${theme}`)]),
11
+ ...themes.map((theme) => `themes/${theme}`),
12
+ "semantic/color",
13
+ ...Object.entries(colors.main).map(([color]) => `semantic/modes/main-color/${color}`),
14
+ ...Object.entries(colors.support).map(([color]) => `semantic/modes/support-color/${color}`),
15
+ "semantic/style"
16
+ ] };
17
+ }
18
+ //#endregion
19
+ export { generate$Metadata };
@@ -0,0 +1,27 @@
1
+ import { type ThemeObject } from '@tokens-studio/types';
2
+ import type { ColorScheme } from '../../../colors/types.js';
3
+ import type { Colors, SizeModes } from '../../types.js';
4
+ type ColorSchemes = Array<ColorScheme>;
5
+ type ThemeObject_ = ThemeObject & {
6
+ $figmaCollectionId?: string;
7
+ $figmaModeId?: string;
8
+ $figmaVariableReferences?: Record<string, string>;
9
+ };
10
+ /**
11
+
12
+ * Generates the `$themes.json` file which is used by Token Studio to update Figma variable collections and modes.
13
+
14
+ * **IMPORTANT:**
15
+
16
+ * We use existing Figma variable ids to update existing collections/modes fetched from our published Figma community file.
17
+
18
+ * These are important for maintaining existing variables in user files when updating tokens.
19
+
20
+ * Omitting these ids results will result in the following bugs:
21
+ - New collections/modes being created which may cause ghost variables in Figma.
22
+ - New collections/modes may cause users hitting the cap on Figma variable modes which is at time of writing 4 (or unlimited for enterprise).
23
+
24
+ */
25
+ export declare function generate$Themes(colorSchemes: ColorSchemes, themes: string[], colors: Colors, sizeModes: SizeModes[]): Promise<ThemeObject_[]>;
26
+ export {};
27
+ //# sourceMappingURL=$themes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"$themes.d.ts","sourceRoot":"","sources":["../../../../../src/tokens/create/generators/$themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAWxD,KAAK,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAEvC,KAAK,YAAY,GAAG,WAAW,GAAG;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;;;;;;;;;;EAcE;AACF,wBAAsB,eAAe,CACnC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EAAE,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC,CAUzB"}
@@ -0,0 +1,158 @@
1
+ import { TokenSetStatus } from "../../../../node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/constants/TokenSetStatus.js";
2
+ import "../../../../node_modules/.pnpm/@tokens-studio_types@0.5.2/node_modules/@tokens-studio/types/dist/types/index.js";
3
+ //#region src/tokens/create/generators/$themes.ts
4
+ const capitalize = (word) => word.charAt(0).toUpperCase() + word.slice(1);
5
+ async function createHash(text, algo = "SHA-1") {
6
+ const crypto = globalThis.crypto;
7
+ return Array.from(new Uint8Array(await crypto.subtle.digest(algo, new TextEncoder().encode(text))), (byte) => byte.toString(16).padStart(2, "0")).join("");
8
+ }
9
+ /**
10
+
11
+ * Generates the `$themes.json` file which is used by Token Studio to update Figma variable collections and modes.
12
+
13
+ * **IMPORTANT:**
14
+
15
+ * We use existing Figma variable ids to update existing collections/modes fetched from our published Figma community file.
16
+
17
+ * These are important for maintaining existing variables in user files when updating tokens.
18
+
19
+ * Omitting these ids results will result in the following bugs:
20
+ - New collections/modes being created which may cause ghost variables in Figma.
21
+ - New collections/modes may cause users hitting the cap on Figma variable modes which is at time of writing 4 (or unlimited for enterprise).
22
+
23
+ */
24
+ async function generate$Themes(colorSchemes, themes, colors, sizeModes) {
25
+ return [
26
+ ...generateSizeGroup(sizeModes),
27
+ ...await generateThemesGroup(themes),
28
+ ...generateTypographyGroup(themes),
29
+ ...generateColorSchemesGroup(colorSchemes, themes),
30
+ generateSemanticGroup(),
31
+ ...await generateColorGroup("main", colors),
32
+ ...await generateColorGroup("support", colors)
33
+ ];
34
+ }
35
+ function generateSizeGroup(_sizes) {
36
+ return [
37
+ {
38
+ id: "8b2c8cc86611a34b135cb22948666779361fd729",
39
+ name: "medium",
40
+ $figmaStyleReferences: {},
41
+ selectedTokenSets: {
42
+ "primitives/modes/size/medium": TokenSetStatus.SOURCE,
43
+ "primitives/modes/size/global": TokenSetStatus.ENABLED,
44
+ "primitives/modes/typography/size/medium": TokenSetStatus.ENABLED
45
+ },
46
+ $figmaCollectionId: "VariableCollectionId:36248:20757",
47
+ $figmaModeId: "41630:1",
48
+ group: "Size"
49
+ },
50
+ {
51
+ id: "d49b9eebeb48a4f165a74b7261733d0a73370f0e",
52
+ name: "large",
53
+ $figmaStyleReferences: {},
54
+ selectedTokenSets: {
55
+ "primitives/modes/size/large": TokenSetStatus.SOURCE,
56
+ "primitives/modes/size/global": TokenSetStatus.ENABLED,
57
+ "primitives/modes/typography/size/large": TokenSetStatus.ENABLED
58
+ },
59
+ $figmaCollectionId: "VariableCollectionId:36248:20757",
60
+ $figmaModeId: "41630:2",
61
+ group: "Size"
62
+ },
63
+ {
64
+ id: "fb11567729c298ca37c9da4e3a27716a23480824",
65
+ name: "small",
66
+ $figmaStyleReferences: {},
67
+ selectedTokenSets: {
68
+ "primitives/modes/size/small": TokenSetStatus.SOURCE,
69
+ "primitives/modes/size/global": TokenSetStatus.ENABLED,
70
+ "primitives/modes/typography/size/small": TokenSetStatus.ENABLED
71
+ },
72
+ $figmaCollectionId: "VariableCollectionId:36248:20757",
73
+ $figmaModeId: "41630:3",
74
+ group: "Size"
75
+ }
76
+ ];
77
+ }
78
+ const colorSchemeDefaults = {
79
+ light: {
80
+ name: "Light",
81
+ selectedTokenSets: {},
82
+ id: "0daa3ca0b427b9349da7e7dc00101b5668972926",
83
+ $figmaCollectionId: "VariableCollectionId:34811:5472",
84
+ $figmaModeId: "34811:0"
85
+ },
86
+ dark: {
87
+ name: "Dark",
88
+ selectedTokenSets: {},
89
+ id: "9ebd8aed52afbffc17e2666e8b4653a53498b257",
90
+ $figmaCollectionId: "VariableCollectionId:34811:5472",
91
+ $figmaModeId: "34811:1"
92
+ },
93
+ contrast: {
94
+ name: "Contrast",
95
+ selectedTokenSets: {},
96
+ id: "9ebd8aed52afbffc17e2666e8b4653a53498b123",
97
+ $figmaCollectionId: "VariableCollectionId:34811:5472",
98
+ $figmaModeId: "34811:2"
99
+ }
100
+ };
101
+ function generateColorSchemesGroup(colorSchemes, themes) {
102
+ return colorSchemes.map((scheme) => ({
103
+ ...colorSchemeDefaults[scheme],
104
+ selectedTokenSets: Object.fromEntries([...themes.map((theme) => [`primitives/modes/color-scheme/${scheme}/${theme}`, TokenSetStatus.ENABLED])]),
105
+ group: "Color scheme"
106
+ }));
107
+ }
108
+ async function generateThemesGroup(themes) {
109
+ return Promise.all(themes.map(async (theme, index) => ({
110
+ id: await createHash(theme),
111
+ $figmaCollectionId: "VariableCollectionId:36528:61712",
112
+ $figmaModeId: `40960:${index + 6}`,
113
+ name: theme,
114
+ selectedTokenSets: { [`themes/${theme}`]: TokenSetStatus.ENABLED },
115
+ group: "Theme"
116
+ })));
117
+ }
118
+ function generateSemanticGroup() {
119
+ return {
120
+ id: "541629445ef90ad5363f9e88f52a1ccb617e6f84",
121
+ name: "Semantic",
122
+ selectedTokenSets: {
123
+ "semantic/style": TokenSetStatus.ENABLED,
124
+ "semantic/color": TokenSetStatus.ENABLED,
125
+ "primitives/globals": TokenSetStatus.SOURCE
126
+ },
127
+ $figmaCollectionId: "VariableCollectionId:34811:5976",
128
+ $figmaModeId: "34811:5",
129
+ group: "Semantic"
130
+ };
131
+ }
132
+ async function generateColorGroup(group, colors) {
133
+ return Promise.all(Object.entries(colors[group]).map(async ([color]) => ({
134
+ id: await createHash(`${group}-${color}`),
135
+ name: color,
136
+ selectedTokenSets: { [`semantic/modes/${group}-color/${color}`]: TokenSetStatus.ENABLED },
137
+ group: `${capitalize(group)} color`
138
+ })));
139
+ }
140
+ function generateTypographyGroup(themes) {
141
+ return [{
142
+ id: "368d753fcac4455f289500eaa42e70dc0a03522f",
143
+ $figmaCollectionId: "VariableCollectionId:36248:20769",
144
+ $figmaModeId: "36248:2",
145
+ name: "Primary",
146
+ selectedTokenSets: Object.fromEntries(themes.map((theme) => [`primitives/modes/typography/primary/${theme}`, TokenSetStatus.ENABLED])),
147
+ group: "Typography"
148
+ }, {
149
+ id: "264b8bd1d40b364e1ea3acf09e49795ddd4c513c",
150
+ $figmaCollectionId: "VariableCollectionId:36248:20769",
151
+ $figmaModeId: "36248:3",
152
+ name: "Secondary",
153
+ selectedTokenSets: Object.fromEntries(themes.map((theme) => [`primitives/modes/typography/secondary/${theme}`, TokenSetStatus.ENABLED])),
154
+ group: "Typography"
155
+ }];
156
+ }
157
+ //#endregion
158
+ export { generate$Themes };
@@ -0,0 +1,5 @@
1
+ import type { ColorScheme } from '../../../../colors/types.js';
2
+ import type { ColorOverrideSchema } from '../../../../config.js';
3
+ import type { Colors, TokenSet } from '../../../types.js';
4
+ export declare const generateColorScheme: (themeName: string, colorScheme: ColorScheme, colors: Colors, overrides?: ColorOverrideSchema) => TokenSet;
5
+ //# sourceMappingURL=color-scheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-scheme.d.ts","sourceRoot":"","sources":["../../../../../../src/tokens/create/generators/primitives/color-scheme.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAS,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAS,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAgBjE,eAAO,MAAM,mBAAmB,GAC9B,WAAW,MAAM,EACjB,aAAa,WAAW,EACxB,QAAQ,MAAM,EACd,YAAY,mBAAmB,KAC9B,QAwFF,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { baseColors, colorMetadata, dsLinkColor } from "../../../../colors/colorMetadata.js";
2
+ import { generateColorScale } from "../../../../colors/theme.js";
3
+ import "../../../../colors/index.js";
4
+ import * as R from "ramda";
5
+ //#region src/tokens/create/generators/primitives/color-scheme.ts
6
+ const generateColor = (colorArray, overrides) => {
7
+ const obj = {};
8
+ const $type = "color";
9
+ for (const index in colorArray) {
10
+ const position = Number(index) + 1;
11
+ obj[position] = {
12
+ $type,
13
+ $value: overrides?.[position] || colorArray[index].hex
14
+ };
15
+ }
16
+ return obj;
17
+ };
18
+ const generateColorScheme = (themeName, colorScheme, colors, overrides) => {
19
+ const createColorOverrides = (colorName) => {
20
+ if (!overrides?.colors || !(colorName in overrides.colors)) return;
21
+ const colorOverrides = overrides.colors[colorName];
22
+ const positionOverrides = {};
23
+ Object.entries(colorOverrides).forEach(([semanticTokenName, modeOverrides]) => {
24
+ const position = colorMetadata[semanticTokenName].number;
25
+ if (position) {
26
+ let overrideValue;
27
+ if (colorScheme === "light" && modeOverrides.light) overrideValue = modeOverrides.light;
28
+ else if (colorScheme === "dark" && modeOverrides.dark) overrideValue = modeOverrides.dark;
29
+ if (overrideValue) positionOverrides[position] = overrideValue;
30
+ }
31
+ });
32
+ return Object.keys(positionOverrides).length > 0 ? positionOverrides : void 0;
33
+ };
34
+ const main = R.mapObjIndexed((color, colorName) => generateColor(generateColorScale(color, colorScheme), createColorOverrides(colorName)), colors.main);
35
+ const support = R.mapObjIndexed((color, colorName) => generateColor(generateColorScale(color, colorScheme), createColorOverrides(colorName)), colors.support);
36
+ const neutralColorScale = generateColorScale(colors.neutral, colorScheme);
37
+ const neutral = generateColor(neutralColorScale, createColorOverrides("neutral"));
38
+ const baseColorsWithOverrides = {
39
+ ...baseColors,
40
+ ...overrides?.severity
41
+ };
42
+ const globalColors = R.mapObjIndexed((color, colorName) => generateColor(generateColorScale(color, colorScheme), createColorOverrides(colorName)), baseColorsWithOverrides);
43
+ const defaultLinkVisited = generateColor(generateColorScale(dsLinkColor, colorScheme))[12];
44
+ const linkOverride = overrides?.linkVisited?.[colorScheme] ? {
45
+ $type: "color",
46
+ $value: overrides.linkVisited[colorScheme]
47
+ } : void 0;
48
+ const defaultFocusInner = neutralColorScale[0].hex;
49
+ const defaultFocusOuter = neutralColorScale[10].hex;
50
+ const focusInnerOverride = overrides?.focus?.inner?.[colorScheme];
51
+ const focusOuterOverride = overrides?.focus?.outer?.[colorScheme];
52
+ return { [themeName]: {
53
+ ...main,
54
+ ...support,
55
+ neutral,
56
+ ...globalColors,
57
+ link: { visited: linkOverride || defaultLinkVisited },
58
+ focus: {
59
+ inner: {
60
+ $type: "color",
61
+ $value: focusInnerOverride || defaultFocusInner
62
+ },
63
+ outer: {
64
+ $type: "color",
65
+ $value: focusOuterOverride || defaultFocusOuter
66
+ }
67
+ }
68
+ } };
69
+ };
70
+ //#endregion
71
+ export { generateColorScheme };
@@ -0,0 +1,3 @@
1
+ import type { TokenSet } from '../../../types.js';
2
+ export declare const generateGlobals: () => TokenSet;
3
+ //# sourceMappingURL=globals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../../../../src/tokens/create/generators/primitives/globals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAkJlD,eAAO,MAAM,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,142 @@
1
+ //#region src/tokens/create/generators/primitives/globals.ts
2
+ const globals = {
3
+ "border-width": {
4
+ "1": {
5
+ $type: "borderWidth",
6
+ $value: "1px"
7
+ },
8
+ "3": {
9
+ $type: "borderWidth",
10
+ $value: "3px"
11
+ }
12
+ },
13
+ shadow: {
14
+ "100": {
15
+ $type: "boxShadow",
16
+ $value: [{
17
+ color: "rgba(0,0,0,0.16)",
18
+ x: "0",
19
+ y: "0",
20
+ blur: "1",
21
+ spread: "0"
22
+ }, {
23
+ x: "0",
24
+ y: "1",
25
+ blur: "2",
26
+ spread: "0",
27
+ color: "rgba(0,0,0,0.12)"
28
+ }]
29
+ },
30
+ "200": {
31
+ $type: "boxShadow",
32
+ $value: [
33
+ {
34
+ color: "rgba(0,0,0,0.15)",
35
+ x: "0",
36
+ y: "0",
37
+ blur: "1",
38
+ spread: "0"
39
+ },
40
+ {
41
+ color: "rgba(0,0,0,0.12)",
42
+ x: "0",
43
+ y: "1",
44
+ blur: "2",
45
+ spread: "0"
46
+ },
47
+ {
48
+ x: "0",
49
+ y: "2",
50
+ blur: "4",
51
+ spread: "0",
52
+ color: "rgba(0,0,0,0.1)"
53
+ }
54
+ ]
55
+ },
56
+ "300": {
57
+ $type: "boxShadow",
58
+ $value: [
59
+ {
60
+ color: "rgba(0,0,0,0.14)",
61
+ x: "0",
62
+ y: "0",
63
+ blur: "1",
64
+ spread: "0"
65
+ },
66
+ {
67
+ color: "rgba(0,0,0,0.12)",
68
+ x: "0",
69
+ y: "2",
70
+ blur: "4",
71
+ spread: "0"
72
+ },
73
+ {
74
+ x: "0",
75
+ y: "4",
76
+ blur: "8",
77
+ spread: "0",
78
+ color: "rgba(0,0,0,0.12)"
79
+ }
80
+ ]
81
+ },
82
+ "400": {
83
+ $type: "boxShadow",
84
+ $value: [
85
+ {
86
+ color: "rgba(0,0,0,0.13)",
87
+ x: "0",
88
+ y: "0",
89
+ blur: "1",
90
+ spread: "0"
91
+ },
92
+ {
93
+ color: "rgba(0,0,0,0.13)",
94
+ x: "0",
95
+ y: "3",
96
+ blur: "5",
97
+ spread: "0"
98
+ },
99
+ {
100
+ x: "0",
101
+ y: "6",
102
+ blur: "12",
103
+ spread: "0",
104
+ color: "rgba(0,0,0,0.14)"
105
+ }
106
+ ]
107
+ },
108
+ "500": {
109
+ $type: "boxShadow",
110
+ $value: [
111
+ {
112
+ color: "rgba(0,0,0,0.12)",
113
+ x: "0",
114
+ y: "0",
115
+ blur: "1",
116
+ spread: "0"
117
+ },
118
+ {
119
+ color: "rgba(0,0,0,0.16)",
120
+ x: "0",
121
+ y: "4",
122
+ blur: "8",
123
+ spread: "0"
124
+ },
125
+ {
126
+ x: "0",
127
+ y: "12",
128
+ blur: "24",
129
+ spread: "0",
130
+ color: "rgba(0,0,0,0.16)"
131
+ }
132
+ ]
133
+ }
134
+ },
135
+ opacity: { "30": {
136
+ $type: "opacity",
137
+ $value: "30%"
138
+ } }
139
+ };
140
+ const generateGlobals = () => globals;
141
+ //#endregion
142
+ export { generateGlobals };
@@ -0,0 +1,4 @@
1
+ import type { SizeModes, TokenSet } from '../../../types.js';
2
+ export declare const generateSize: (size: SizeModes) => TokenSet;
3
+ export declare const generateSizeGlobal: () => TokenSet;
4
+ //# sourceMappingURL=size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.d.ts","sourceRoot":"","sources":["../../../../../../src/tokens/create/generators/primitives/size.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AA0J7D,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,KAAG,QAA2B,CAAC;AAC3E,eAAO,MAAM,kBAAkB,QAAO,QAAkB,CAAC"}
@@ -0,0 +1,147 @@
1
+ //#region src/tokens/create/generators/primitives/size.ts
2
+ const global = { _size: {
3
+ "0": {
4
+ $type: "dimension",
5
+ $value: "floor({_size.unit} * 0)"
6
+ },
7
+ "1": {
8
+ $type: "dimension",
9
+ $value: "floor({_size.unit} * 1)"
10
+ },
11
+ "2": {
12
+ $type: "dimension",
13
+ $value: "floor({_size.unit} * 2)"
14
+ },
15
+ "3": {
16
+ $type: "dimension",
17
+ $value: "floor({_size.unit} * 3)"
18
+ },
19
+ "4": {
20
+ $type: "dimension",
21
+ $value: "floor({_size.unit} * 4)"
22
+ },
23
+ "5": {
24
+ $type: "dimension",
25
+ $value: "floor({_size.unit} * 5)"
26
+ },
27
+ "6": {
28
+ $type: "dimension",
29
+ $value: "floor({_size.unit} * 6)"
30
+ },
31
+ "7": {
32
+ $type: "dimension",
33
+ $value: "floor({_size.unit} * 7)"
34
+ },
35
+ "8": {
36
+ $type: "dimension",
37
+ $value: "floor({_size.unit} * 8)"
38
+ },
39
+ "9": {
40
+ $type: "dimension",
41
+ $value: "floor({_size.unit} * 9)"
42
+ },
43
+ "10": {
44
+ $type: "dimension",
45
+ $value: "floor({_size.unit} * 10)"
46
+ },
47
+ "11": {
48
+ $type: "dimension",
49
+ $value: "floor({_size.unit} * 11)"
50
+ },
51
+ "12": {
52
+ $type: "dimension",
53
+ $value: "floor({_size.unit} * 12)"
54
+ },
55
+ "13": {
56
+ $type: "dimension",
57
+ $value: "floor({_size.unit} * 13)"
58
+ },
59
+ "14": {
60
+ $type: "dimension",
61
+ $value: "floor({_size.unit} * 14)"
62
+ },
63
+ "15": {
64
+ $type: "dimension",
65
+ $value: "floor({_size.unit} * 15)"
66
+ },
67
+ "18": {
68
+ $type: "dimension",
69
+ $value: "floor({_size.unit} * 18)"
70
+ },
71
+ "22": {
72
+ $type: "dimension",
73
+ $value: "floor({_size.unit} * 22)"
74
+ },
75
+ "26": {
76
+ $type: "dimension",
77
+ $value: "floor({_size.unit} * 26)"
78
+ },
79
+ "30": {
80
+ $type: "dimension",
81
+ $value: "floor({_size.unit} * 30)"
82
+ },
83
+ "mode-font-size": {
84
+ $type: "number",
85
+ $value: "{size._mode-font-size}"
86
+ },
87
+ base: {
88
+ $type: "number",
89
+ $value: "{size._base}"
90
+ },
91
+ step: {
92
+ $type: "number",
93
+ $value: "{size._step}"
94
+ },
95
+ unit: {
96
+ $type: "number",
97
+ $value: "{_size.step} / {_size.base} * {_size.mode-font-size}"
98
+ }
99
+ } };
100
+ const sizeModes = {
101
+ large: { size: {
102
+ "_mode-font-size": {
103
+ $type: "dimension",
104
+ $value: "21"
105
+ },
106
+ _base: {
107
+ $type: "dimension",
108
+ $value: "18"
109
+ },
110
+ _step: {
111
+ $type: "dimension",
112
+ $value: "4"
113
+ }
114
+ } },
115
+ medium: { size: {
116
+ "_mode-font-size": {
117
+ $type: "dimension",
118
+ $value: "18"
119
+ },
120
+ _base: {
121
+ $type: "dimension",
122
+ $value: "18"
123
+ },
124
+ _step: {
125
+ $type: "dimension",
126
+ $value: "4"
127
+ }
128
+ } },
129
+ small: { size: {
130
+ "_mode-font-size": {
131
+ $type: "dimension",
132
+ $value: "16"
133
+ },
134
+ _base: {
135
+ $type: "dimension",
136
+ $value: "18"
137
+ },
138
+ _step: {
139
+ $type: "dimension",
140
+ $value: "4"
141
+ }
142
+ } }
143
+ };
144
+ const generateSize = (size) => sizeModes[size];
145
+ const generateSizeGlobal = () => global;
146
+ //#endregion
147
+ export { generateSize, generateSizeGlobal };
@@ -0,0 +1,4 @@
1
+ import type { SizeModes, TokenSet, Typography } from '../../../types.js';
2
+ export declare const generateTypography: (themeName: string, { fontFamily }: Typography) => TokenSet;
3
+ export declare const generateFontSizes: (size: SizeModes) => TokenSet;
4
+ //# sourceMappingURL=typography.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typography.d.ts","sourceRoot":"","sources":["../../../../../../src/tokens/create/generators/primitives/typography.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEzE,eAAO,MAAM,kBAAkB,GAAI,WAAW,MAAM,EAAE,gBAAgB,UAAU,KAAG,QAqBjF,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAAI,MAAM,SAAS,KAAG,QAA2B,CAAC"}