@digdir/designsystemet 1.8.0 → 1.10.0

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 (51) hide show
  1. package/configs/test-tokens.config.json +10 -0
  2. package/dist/bin/config.js +12 -1
  3. package/dist/bin/designsystemet.js +56 -22
  4. package/dist/{color.base.template-QGZJKXMN.json → color.base.template-Z7YWN2TF.json} +2 -2
  5. package/dist/config.schema.json +63 -30
  6. package/dist/src/config.d.ts +30 -0
  7. package/dist/src/config.d.ts.map +1 -1
  8. package/dist/src/config.js +12 -1
  9. package/dist/src/index.js +56 -22
  10. package/dist/src/scripts/createJsonSchema.js +12 -1
  11. package/dist/src/scripts/update-preview-tokens.js +50 -58
  12. package/dist/src/scripts/update-template.js +12 -2
  13. package/dist/src/tokens/build.js +14 -17
  14. package/dist/src/tokens/create/generators/$designsystemet.js +7 -16
  15. package/dist/src/tokens/create/generators/color.d.ts.map +1 -1
  16. package/dist/src/tokens/create/generators/color.js +18 -2
  17. package/dist/src/tokens/create/generators/semantic.js +2 -2
  18. package/dist/src/tokens/create/generators/theme.d.ts.map +1 -1
  19. package/dist/src/tokens/create/generators/theme.js +10 -0
  20. package/dist/src/tokens/create/write.js +7 -16
  21. package/dist/src/tokens/create.js +30 -4
  22. package/dist/src/tokens/format.js +44 -21
  23. package/dist/src/tokens/index.js +44 -21
  24. package/dist/src/tokens/process/configs/color.js +0 -1
  25. package/dist/src/tokens/process/configs/semantic.js +0 -1
  26. package/dist/src/tokens/process/configs/size-mode.js +0 -1
  27. package/dist/src/tokens/process/configs/size.js +0 -1
  28. package/dist/src/tokens/process/configs/type-scale.js +0 -1
  29. package/dist/src/tokens/process/configs/typography.js +0 -1
  30. package/dist/src/tokens/process/configs.js +0 -1
  31. package/dist/src/tokens/process/formats/css/color.js +0 -1
  32. package/dist/src/tokens/process/formats/css/semantic.js +0 -1
  33. package/dist/src/tokens/process/formats/css/size-mode.js +0 -1
  34. package/dist/src/tokens/process/formats/css/size.js +0 -1
  35. package/dist/src/tokens/process/formats/css/type-scale.js +0 -1
  36. package/dist/src/tokens/process/formats/css/typography.js +0 -1
  37. package/dist/src/tokens/process/formats/css.js +0 -1
  38. package/dist/src/tokens/process/output/declarations.js +7 -17
  39. package/dist/src/tokens/process/output/theme.js +7 -16
  40. package/dist/src/tokens/process/platform.js +0 -1
  41. package/dist/src/tokens/process/utils/getMultidimensionalThemes.d.ts.map +1 -1
  42. package/dist/src/tokens/process/utils/getMultidimensionalThemes.js +5 -1
  43. package/dist/src/tokens/process/utils/kebab-case.d.ts +5 -0
  44. package/dist/src/tokens/process/utils/kebab-case.d.ts.map +1 -0
  45. package/dist/src/tokens/process/utils/kebab-case.js +7 -0
  46. package/dist/src/tokens/template/design-tokens/semantic/color.base.template.js +1 -1
  47. package/package.json +8 -17
  48. package/configs/digdir.config.json +0 -63
  49. package/dist/src/scripts/update-design-tokens.d.ts +0 -2
  50. package/dist/src/scripts/update-design-tokens.d.ts.map +0 -1
  51. package/dist/src/scripts/update-design-tokens.js +0 -37
@@ -5,7 +5,7 @@ import * as R2 from "ramda";
5
5
  // package.json
6
6
  var package_default = {
7
7
  name: "@digdir/designsystemet",
8
- version: "1.8.0",
8
+ version: "1.10.0",
9
9
  description: "CLI for Designsystemet",
10
10
  author: "Designsystemet team",
11
11
  engines: {
@@ -57,23 +57,18 @@ var package_default = {
57
57
  "test:tokens-build-config-tailwind": "pnpm run designsystemet tokens build -t ./temp/config/design-tokens -o ./temp/config/build --clean --experimental-tailwind",
58
58
  "test:tokens-create-and-build-options": "pnpm test:tokens-create-options && pnpm test:tokens-build",
59
59
  "test:tokens-create-and-build-config": "pnpm test:tokens-create-config && pnpm test:tokens-build-config",
60
- "test:generate-config-from-tokens": "pnpm run designsystemet generate-config-from-tokens -d ../../internal/design-tokens --dry",
60
+ "test:generate-config-from-tokens": "pnpm run designsystemet generate-config-from-tokens -d ../../internal/digdir/design-tokens --dry",
61
61
  test: "node -v && pnpm test:tokens-create-and-build-options && pnpm test:generate-config-from-tokens && pnpm test:tokens-create-and-build-config",
62
- "digdir:tokens-build": "pnpm run designsystemet tokens build -t ../../internal/design-tokens -o ../../packages/theme/brand --clean --experimental-tailwind",
63
- "digdir:tokens-create": "pnpm run designsystemet tokens create --config ./configs/digdir.config.json",
64
62
  "update:template": "tsx ./src/scripts/update-template.ts",
65
63
  "update:preview-tokens": "tsx ./src/scripts/update-preview-tokens.ts",
66
- "update:theme-digdir": "pnpm digdir:tokens-create && tsx ./src/scripts/update-design-tokens.ts && pnpm digdir:tokens-build",
67
- verify: "pnpm test && pnpm update:template && pnpm update:theme-digdir && pnpm build:tokens"
64
+ verify: "pnpm test && pnpm update:template && pnpm --filter @internal/digdir update:theme-digdir"
68
65
  },
69
66
  dependencies: {
70
67
  "@commander-js/extra-typings": "^14.0.0",
71
68
  "@digdir/designsystemet-types": "workspace:^",
72
- "@tokens-studio/sd-transforms": "2.0.2",
73
- "apca-w3": "^0.1.9",
74
- "change-case": "^5.4.4",
69
+ "@tokens-studio/sd-transforms": "2.0.3",
75
70
  "chroma-js": "^3.2.0",
76
- "colorjs.io": "^0.6.0-alpha.1",
71
+ "colorjs.io": "^0.6.0",
77
72
  commander: "^14.0.2",
78
73
  "fast-glob": "^3.3.3",
79
74
  hsluv: "^1.0.1",
@@ -82,19 +77,15 @@ var package_default = {
82
77
  postcss: "^8.5.6",
83
78
  ramda: "^0.32.0",
84
79
  "style-dictionary": "^5.1.1",
85
- zod: "^4.1.13",
80
+ zod: "^4.3.5",
86
81
  "zod-validation-error": "^4.0.2"
87
82
  },
88
83
  devDependencies: {
89
84
  "@tokens-studio/types": "0.5.2",
90
- "@types/apca-w3": "^0.1.3",
91
85
  "@types/chroma-js": "^3.1.2",
92
- "@types/fs-extra": "^11.0.4",
93
- "@types/node": "^22.19.1",
86
+ "@types/node": "^22.19.3",
94
87
  "@types/object-hash": "^3.0.6",
95
88
  "@types/ramda": "^0.31.1",
96
- "fs-extra": "^11.3.2",
97
- tslib: "^2.8.1",
98
89
  tsup: "^8.5.1",
99
90
  tsx: "^4.21.0",
100
91
  typescript: "^5.9.3"
@@ -1017,7 +1017,6 @@ var TypographyValues;
1017
1017
  })(TypographyValues || (TypographyValues = {}));
1018
1018
 
1019
1019
  // src/tokens/process/utils/getMultidimensionalThemes.ts
1020
- import { kebabCase } from "change-case";
1021
1020
  import pc from "picocolors";
1022
1021
  import * as R13 from "ramda";
1023
1022
  var getMultidimensionalThemes = (processed$themes, dimensions) => {
@@ -1 +1 @@
1
- {"version":3,"file":"getMultidimensionalThemes.d.ts","sourceRoot":"","sources":["../../../../../src/tokens/process/utils/getMultidimensionalThemes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,GAAI,kBAAkB,oBAAoB,EAAE,EAAE,YAAY,cAAc,EAAE,sBAe/G,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,OAAO,MAAsD,CAAC;AAC/E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG;IAAE,CAAC,SAAS,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAMvE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,GAAG,oBAAoB,CAUlG;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,gBAAgB,EAAE,oBAAoB,EAAE,CAAC,CAAC;AA8FnF,eAAO,MAAM,eAAe,GAAI,kBAAkB,oBAAoB,EAAE,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,aASnF,CAAC"}
1
+ {"version":3,"file":"getMultidimensionalThemes.d.ts","sourceRoot":"","sources":["../../../../../src/tokens/process/utils/getMultidimensionalThemes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,GAAI,kBAAkB,oBAAoB,EAAE,EAAE,YAAY,cAAc,EAAE,sBAe/G,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,OAAO,MAAsD,CAAC;AAC/E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG;IAAE,CAAC,SAAS,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAMvE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,GAAG,oBAAoB,CAUlG;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,gBAAgB,EAAE,oBAAoB,EAAE,CAAC,CAAC;AA8FnF,eAAO,MAAM,eAAe,GAAI,kBAAkB,oBAAoB,EAAE,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,aASnF,CAAC"}
@@ -162,7 +162,6 @@ var TypographyValues;
162
162
  })(TypographyValues || (TypographyValues = {}));
163
163
 
164
164
  // src/tokens/process/utils/getMultidimensionalThemes.ts
165
- import { kebabCase } from "change-case";
166
165
  import pc2 from "picocolors";
167
166
  import * as R15 from "ramda";
168
167
 
@@ -1077,6 +1076,11 @@ var buildConfigs = {
1077
1076
  semantic: { getConfig: configs.semanticVariables, dimensions: ["semantic"] }
1078
1077
  };
1079
1078
 
1079
+ // src/tokens/process/utils/kebab-case.ts
1080
+ function kebabCase(str) {
1081
+ return str.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/[\s_]+/g, "-").toLowerCase();
1082
+ }
1083
+
1080
1084
  // src/tokens/process/utils/getMultidimensionalThemes.ts
1081
1085
  var getMultidimensionalThemes = (processed$themes, dimensions) => {
1082
1086
  const verboseLogging = buildOptions?.verbose;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Function to convert a string to kebab-case.
3
+ */
4
+ export declare function kebabCase(str: string): string;
5
+ //# sourceMappingURL=kebab-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kebab-case.d.ts","sourceRoot":"","sources":["../../../../../src/tokens/process/utils/kebab-case.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK7C"}
@@ -0,0 +1,7 @@
1
+ // src/tokens/process/utils/kebab-case.ts
2
+ function kebabCase(str) {
3
+ return str.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/[\s_]+/g, "-").toLowerCase();
4
+ }
5
+ export {
6
+ kebabCase
7
+ };
@@ -1,5 +1,5 @@
1
1
  // src/tokens/template/design-tokens/semantic/color.base.template.json
2
- var color_base_template_default = "../../../../../color.base.template-QGZJKXMN.json";
2
+ var color_base_template_default = "../../../../../color.base.template-Z7YWN2TF.json";
3
3
  export {
4
4
  color_base_template_default as default
5
5
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digdir/designsystemet",
3
- "version": "1.8.0",
3
+ "version": "1.10.0",
4
4
  "description": "CLI for Designsystemet",
5
5
  "author": "Designsystemet team",
6
6
  "engines": {
@@ -38,11 +38,9 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@commander-js/extra-typings": "^14.0.0",
41
- "@tokens-studio/sd-transforms": "2.0.2",
42
- "apca-w3": "^0.1.9",
43
- "change-case": "^5.4.4",
41
+ "@tokens-studio/sd-transforms": "2.0.3",
44
42
  "chroma-js": "^3.2.0",
45
- "colorjs.io": "^0.6.0-alpha.1",
43
+ "colorjs.io": "^0.6.0",
46
44
  "commander": "^14.0.2",
47
45
  "fast-glob": "^3.3.3",
48
46
  "hsluv": "^1.0.1",
@@ -51,20 +49,16 @@
51
49
  "postcss": "^8.5.6",
52
50
  "ramda": "^0.32.0",
53
51
  "style-dictionary": "^5.1.1",
54
- "zod": "^4.1.13",
52
+ "zod": "^4.3.5",
55
53
  "zod-validation-error": "^4.0.2",
56
- "@digdir/designsystemet-types": "^1.8.0"
54
+ "@digdir/designsystemet-types": "^1.10.0"
57
55
  },
58
56
  "devDependencies": {
59
57
  "@tokens-studio/types": "0.5.2",
60
- "@types/apca-w3": "^0.1.3",
61
58
  "@types/chroma-js": "^3.1.2",
62
- "@types/fs-extra": "^11.0.4",
63
- "@types/node": "^22.19.1",
59
+ "@types/node": "^22.19.3",
64
60
  "@types/object-hash": "^3.0.6",
65
61
  "@types/ramda": "^0.31.1",
66
- "fs-extra": "^11.3.2",
67
- "tslib": "^2.8.1",
68
62
  "tsup": "^8.5.1",
69
63
  "tsx": "^4.21.0",
70
64
  "typescript": "^5.9.3"
@@ -85,13 +79,10 @@
85
79
  "test:tokens-build-config-tailwind": "pnpm run designsystemet tokens build -t ./temp/config/design-tokens -o ./temp/config/build --clean --experimental-tailwind",
86
80
  "test:tokens-create-and-build-options": "pnpm test:tokens-create-options && pnpm test:tokens-build",
87
81
  "test:tokens-create-and-build-config": "pnpm test:tokens-create-config && pnpm test:tokens-build-config",
88
- "test:generate-config-from-tokens": "pnpm run designsystemet generate-config-from-tokens -d ../../internal/design-tokens --dry",
82
+ "test:generate-config-from-tokens": "pnpm run designsystemet generate-config-from-tokens -d ../../internal/digdir/design-tokens --dry",
89
83
  "test": "node -v && pnpm test:tokens-create-and-build-options && pnpm test:generate-config-from-tokens && pnpm test:tokens-create-and-build-config",
90
- "digdir:tokens-build": "pnpm run designsystemet tokens build -t ../../internal/design-tokens -o ../../packages/theme/brand --clean --experimental-tailwind",
91
- "digdir:tokens-create": "pnpm run designsystemet tokens create --config ./configs/digdir.config.json",
92
84
  "update:template": "tsx ./src/scripts/update-template.ts",
93
85
  "update:preview-tokens": "tsx ./src/scripts/update-preview-tokens.ts",
94
- "update:theme-digdir": "pnpm digdir:tokens-create && tsx ./src/scripts/update-design-tokens.ts && pnpm digdir:tokens-build",
95
- "verify": "pnpm test && pnpm update:template && pnpm update:theme-digdir && pnpm build:tokens"
86
+ "verify": "pnpm test && pnpm update:template && pnpm --filter @internal/digdir update:theme-digdir"
96
87
  }
97
88
  }
@@ -1,63 +0,0 @@
1
- {
2
- "$schema": "../dist/config.schema.json",
3
- "outDir": "./temp/digdir/design-tokens",
4
- "clean": true,
5
- "themes": {
6
- "digdir": {
7
- "colors": {
8
- "main": {
9
- "accent": "#0062BA"
10
- },
11
- "support": {
12
- "brand1": "#F45F63",
13
- "brand2": "#E5AA20",
14
- "brand3": "#1E98F5"
15
- },
16
- "neutral": "#1E2B3C"
17
- },
18
- "borderRadius": 4,
19
- "typography": {
20
- "fontFamily": "Inter"
21
- }
22
- },
23
- "altinn": {
24
- "colors": {
25
- "main": {
26
- "accent": "#0062BA"
27
- },
28
- "support": {
29
- "brand1": "#0162BA",
30
- "brand2": "#3F3161",
31
- "brand3": "#E02F4A"
32
- },
33
- "neutral": "#1E2B3C"
34
- }
35
- },
36
- "uutilsynet": {
37
- "colors": {
38
- "main": {
39
- "accent": "#0062BA"
40
- },
41
- "support": {
42
- "brand1": "#5B60D1",
43
- "brand2": "#FEA769",
44
- "brand3": "#5DA290"
45
- },
46
- "neutral": "#1E2B3C"
47
- }
48
- },
49
- "portal": {
50
- "colors": {
51
- "main": {
52
- "accent": "#38628C"
53
- },
54
- "support": {
55
- "brand1": "#D9ECFF",
56
- "brand2": "#FFCA99",
57
- "brand3": "#D96C79"
58
- },
59
- "neutral": "#203040"
60
- }
61
- }
62
- }
63
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=update-design-tokens.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-design-tokens.d.ts","sourceRoot":"","sources":["../../../src/scripts/update-design-tokens.ts"],"names":[],"mappings":""}
@@ -1,37 +0,0 @@
1
- // src/scripts/update-design-tokens.ts
2
- import path from "path";
3
-
4
- // src/utils.ts
5
- import fs from "fs/promises";
6
- import pc from "picocolors";
7
- var cp = async (src, dest, dry, filter) => {
8
- if (dry) {
9
- console.log(`${pc.blue("cp")} ${src} ${dest}`);
10
- return Promise.resolve();
11
- }
12
- return fs.cp(src, dest, { recursive: true, filter });
13
- };
14
-
15
- // src/scripts/update-design-tokens.ts
16
- var DIRNAME = import.meta.dirname || __dirname;
17
- var TARGET = path.join(DIRNAME, "../../../../internal/design-tokens");
18
- var INTERNAL = path.join(DIRNAME, "../../temp/digdir/design-tokens");
19
- async function updateDesignTokens() {
20
- console.log("\n\u{1F4C1} Copying design tokens");
21
- await cp(path.join(INTERNAL, "primitives/modes/color-scheme"), path.join(TARGET, "primitives/modes/color-scheme"));
22
- await cp(path.join(INTERNAL, "primitives/modes/size"), path.join(TARGET, "primitives/modes/size"));
23
- await cp(
24
- path.join(INTERNAL, "primitives/modes/typography/primary"),
25
- path.join(TARGET, "primitives/modes/typography/primary")
26
- );
27
- await cp(
28
- path.join(INTERNAL, "primitives/modes/typography/size"),
29
- path.join(TARGET, "primitives/modes/typography/size")
30
- );
31
- await cp(path.join(INTERNAL, "primitives/globals.json"), path.join(TARGET, "primitives/globals.json"));
32
- await cp(path.join(INTERNAL, "semantic"), path.join(TARGET, "semantic"));
33
- await cp(path.join(INTERNAL, "themes"), path.join(TARGET, "themes"));
34
- await cp(path.join(INTERNAL, "$designsystemet.jsonc"), path.join(TARGET, "$designsystemet.jsonc"));
35
- console.log("\u2705 Finished copying design tokens");
36
- }
37
- await updateDesignTokens();