@digdir/designsystemet 0.1.0-alpha.18 → 0.1.0-alpha.19

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 (91) hide show
  1. package/LICENSE +7 -0
  2. package/dist/bin/designsystemet.js +24 -28
  3. package/dist/src/colors/colorUtils.js +223 -315
  4. package/dist/src/colors/index.js +3 -3
  5. package/dist/src/colors/themeUtils.js +227 -319
  6. package/dist/src/colors/types.js +0 -1
  7. package/dist/src/init/createTokensPackage.js +223 -203
  8. package/dist/src/init/generateMetadataJson.js +19 -14
  9. package/dist/src/init/generateThemesJson.js +49 -40
  10. package/dist/src/init/index.js +7 -4
  11. package/dist/src/init/nextStepsMarkdown.js +15 -13
  12. package/dist/src/init/template/prettier.config.js +5 -7
  13. package/dist/src/init/template/template-files/package.json +1 -0
  14. package/dist/src/init/utils.js +11 -7
  15. package/dist/src/migrations/beta-to-v1.js +342 -339
  16. package/dist/src/migrations/codemods/css/plugins.js +40 -36
  17. package/dist/src/migrations/codemods/css/run.js +15 -20
  18. package/dist/src/migrations/codemods/jsx/classname-prefix.js +57 -63
  19. package/dist/src/migrations/codemods/jsx/run.js +17 -19
  20. package/dist/src/migrations/index.js +6 -3
  21. package/dist/src/migrations/react-beta-to-v1.js +4 -3
  22. package/dist/src/tokens/actions.js +25 -23
  23. package/dist/src/tokens/build.js +65 -51
  24. package/dist/src/tokens/configs.js +188 -223
  25. package/dist/src/tokens/formats/css.js +143 -150
  26. package/dist/src/tokens/formats/js-tokens.js +27 -26
  27. package/dist/src/tokens/transformers.js +39 -41
  28. package/dist/src/tokens/utils/noCase.js +25 -25
  29. package/dist/src/tokens/utils/permutateThemes.js +50 -64
  30. package/dist/src/tokens/utils/utils.js +12 -25
  31. package/package.json +8 -3
  32. package/dist/src/test/a.css +0 -39
  33. package/dist/src/test/jsx-test.js +0 -12
  34. package/dist/types/bin/designsystemet.d.ts +0 -3
  35. package/dist/types/bin/designsystemet.d.ts.map +0 -1
  36. package/dist/types/src/colors/colorUtils.d.ts +0 -126
  37. package/dist/types/src/colors/colorUtils.d.ts.map +0 -1
  38. package/dist/types/src/colors/index.d.ts +0 -4
  39. package/dist/types/src/colors/index.d.ts.map +0 -1
  40. package/dist/types/src/colors/themeUtils.d.ts +0 -102
  41. package/dist/types/src/colors/themeUtils.d.ts.map +0 -1
  42. package/dist/types/src/colors/types.d.ts +0 -16
  43. package/dist/types/src/colors/types.d.ts.map +0 -1
  44. package/dist/types/src/init/createTokensPackage.d.ts +0 -5
  45. package/dist/types/src/init/createTokensPackage.d.ts.map +0 -1
  46. package/dist/types/src/init/generateMetadataJson.d.ts +0 -6
  47. package/dist/types/src/init/generateMetadataJson.d.ts.map +0 -1
  48. package/dist/types/src/init/generateThemesJson.d.ts +0 -3
  49. package/dist/types/src/init/generateThemesJson.d.ts.map +0 -1
  50. package/dist/types/src/init/index.d.ts +0 -3
  51. package/dist/types/src/init/index.d.ts.map +0 -1
  52. package/dist/types/src/init/nextStepsMarkdown.d.ts +0 -3
  53. package/dist/types/src/init/nextStepsMarkdown.d.ts.map +0 -1
  54. package/dist/types/src/init/template/prettier.config.d.mts +0 -9
  55. package/dist/types/src/init/template/prettier.config.d.mts.map +0 -1
  56. package/dist/types/src/init/utils.d.ts +0 -4
  57. package/dist/types/src/init/utils.d.ts.map +0 -1
  58. package/dist/types/src/migrations/beta-to-v1.d.ts +0 -3
  59. package/dist/types/src/migrations/beta-to-v1.d.ts.map +0 -1
  60. package/dist/types/src/migrations/codemods/css/plugins.d.ts +0 -6
  61. package/dist/types/src/migrations/codemods/css/plugins.d.ts.map +0 -1
  62. package/dist/types/src/migrations/codemods/css/run.d.ts +0 -8
  63. package/dist/types/src/migrations/codemods/css/run.d.ts.map +0 -1
  64. package/dist/types/src/migrations/codemods/jsx/classname-prefix.d.ts +0 -10
  65. package/dist/types/src/migrations/codemods/jsx/classname-prefix.d.ts.map +0 -1
  66. package/dist/types/src/migrations/codemods/jsx/run.d.ts +0 -7
  67. package/dist/types/src/migrations/codemods/jsx/run.d.ts.map +0 -1
  68. package/dist/types/src/migrations/index.d.ts +0 -6
  69. package/dist/types/src/migrations/index.d.ts.map +0 -1
  70. package/dist/types/src/migrations/react-beta-to-v1.d.ts +0 -3
  71. package/dist/types/src/migrations/react-beta-to-v1.d.ts.map +0 -1
  72. package/dist/types/src/test/jsx-test.d.ts +0 -4
  73. package/dist/types/src/test/jsx-test.d.ts.map +0 -1
  74. package/dist/types/src/tokens/actions.d.ts +0 -6
  75. package/dist/types/src/tokens/actions.d.ts.map +0 -1
  76. package/dist/types/src/tokens/build.d.ts +0 -11
  77. package/dist/types/src/tokens/build.d.ts.map +0 -1
  78. package/dist/types/src/tokens/configs.d.ts +0 -31
  79. package/dist/types/src/tokens/configs.d.ts.map +0 -1
  80. package/dist/types/src/tokens/formats/css.d.ts +0 -5
  81. package/dist/types/src/tokens/formats/css.d.ts.map +0 -1
  82. package/dist/types/src/tokens/formats/js-tokens.d.ts +0 -6
  83. package/dist/types/src/tokens/formats/js-tokens.d.ts.map +0 -1
  84. package/dist/types/src/tokens/transformers.d.ts +0 -5
  85. package/dist/types/src/tokens/transformers.d.ts.map +0 -1
  86. package/dist/types/src/tokens/utils/noCase.d.ts +0 -11
  87. package/dist/types/src/tokens/utils/noCase.d.ts.map +0 -1
  88. package/dist/types/src/tokens/utils/permutateThemes.d.ts +0 -17
  89. package/dist/types/src/tokens/utils/permutateThemes.d.ts.map +0 -1
  90. package/dist/types/src/tokens/utils/utils.d.ts +0 -24
  91. package/dist/types/src/tokens/utils/utils.d.ts.map +0 -1
@@ -1,77 +1,63 @@
1
1
  import * as R from "ramda";
2
2
  import { TokenSetStatus } from "@tokens-studio/types";
3
3
  function mapThemesToSetsObject(themes) {
4
- return themes.map((theme)=>({
5
- name: theme.name,
6
- selectedTokenSets: filterTokenSets(theme.selectedTokenSets)
7
- }));
4
+ return themes.map((theme) => ({ name: theme.name, selectedTokenSets: filterTokenSets(theme.selectedTokenSets) }));
8
5
  }
9
- export function permutateThemes(themes, { separator = '-' } = {}) {
10
- if (!themes.some((theme)=>theme.group)) {
11
- return mapThemesToSetsObject(themes);
6
+ function permutateThemes(themes, { separator = "-" } = {}) {
7
+ if (!themes.some((theme) => theme.group)) {
8
+ return mapThemesToSetsObject(themes);
9
+ }
10
+ const groups = {};
11
+ themes.forEach((theme) => {
12
+ if (theme.group) {
13
+ groups[theme.group] = [...groups[theme.group] ?? [], theme];
14
+ } else {
15
+ throw new Error(
16
+ `Theme ${theme.name} does not have a group property, which is required for multi-dimensional theming.`
17
+ );
12
18
  }
13
- // Sort themes by groups
14
- const groups = {};
15
- themes.forEach((theme)=>{
16
- if (theme.group) {
17
- groups[theme.group] = [
18
- ...groups[theme.group] ?? [],
19
- theme
20
- ];
21
- } else {
22
- throw new Error(`Theme ${theme.name} does not have a group property, which is required for multi-dimensional theming.`);
19
+ });
20
+ if (Object.keys(groups).length <= 1) {
21
+ return mapThemesToSetsObject(themes);
22
+ }
23
+ const permutations = cartesian(Object.values(groups));
24
+ const permutatedThemes = permutations.map((perm) => {
25
+ const permutatedTheme = perm.reduce(
26
+ (acc, theme) => {
27
+ const { group, name, selectedTokenSets } = theme;
28
+ let updatedPermutatedTheme = acc;
29
+ if (group) {
30
+ const groupProp = R.lensProp(group.toLowerCase());
31
+ updatedPermutatedTheme = R.set(groupProp, name.toLowerCase(), updatedPermutatedTheme);
23
32
  }
24
- });
25
- if (Object.keys(groups).length <= 1) {
26
- return mapThemesToSetsObject(themes);
27
- }
28
- // Create theme permutations
29
- const permutations = cartesian(Object.values(groups));
30
- const permutatedThemes = permutations.map((perm)=>{
31
- const permutatedTheme = perm.reduce((acc, theme)=>{
32
- const { group, name, selectedTokenSets } = theme;
33
- let updatedPermutatedTheme = acc;
34
- if (group) {
35
- const groupProp = R.lensProp(group.toLowerCase());
36
- updatedPermutatedTheme = R.set(groupProp, name.toLowerCase(), updatedPermutatedTheme);
37
- }
38
- const updatedName = `${String(acc.name)}${acc ? separator : ''}${name}`;
39
- const sets = [
40
- ...updatedPermutatedTheme.selectedTokenSets,
41
- ...filterTokenSets(selectedTokenSets)
42
- ];
43
- return {
44
- ...updatedPermutatedTheme,
45
- name: updatedName,
46
- selectedTokenSets: sets
47
- };
48
- }, {
49
- name: '',
50
- selectedTokenSets: []
51
- });
52
- const uniqueTokenSets = new Set(permutatedTheme.selectedTokenSets);
33
+ const updatedName = `${String(acc.name)}${acc ? separator : ""}${name}`;
34
+ const sets = [...updatedPermutatedTheme.selectedTokenSets, ...filterTokenSets(selectedTokenSets)];
53
35
  return {
54
- ...permutatedTheme,
55
- selectedTokenSets: Array.from(uniqueTokenSets)
36
+ ...updatedPermutatedTheme,
37
+ name: updatedName,
38
+ selectedTokenSets: sets
56
39
  };
57
- });
58
- return permutatedThemes;
40
+ },
41
+ { name: "", selectedTokenSets: [] }
42
+ );
43
+ const uniqueTokenSets = new Set(permutatedTheme.selectedTokenSets);
44
+ return { ...permutatedTheme, selectedTokenSets: Array.from(uniqueTokenSets) };
45
+ });
46
+ return permutatedThemes;
59
47
  }
60
48
  function filterTokenSets(tokensets) {
61
- return Object.entries(tokensets).filter(([, val])=>val !== TokenSetStatus.DISABLED)// ensure source type sets are always ordered before enabled type sets
62
- .sort((a, b)=>{
63
- if (a[1] === TokenSetStatus.SOURCE && b[1] === TokenSetStatus.ENABLED) {
64
- return -1;
65
- } else if (a[1] === TokenSetStatus.ENABLED && b[1] === TokenSetStatus.SOURCE) {
66
- return 1;
67
- }
68
- return 0;
69
- }).map((entry)=>entry[0]);
49
+ return Object.entries(tokensets).filter(([, val]) => val !== TokenSetStatus.DISABLED).sort((a, b) => {
50
+ if (a[1] === TokenSetStatus.SOURCE && b[1] === TokenSetStatus.ENABLED) {
51
+ return -1;
52
+ } else if (a[1] === TokenSetStatus.ENABLED && b[1] === TokenSetStatus.SOURCE) {
53
+ return 1;
54
+ }
55
+ return 0;
56
+ }).map((entry) => entry[0]);
70
57
  }
71
- // cartesian permutations: [[1,2], [3,4]] -> [[1,3], [1,4], [2,3], [2,4]]
72
58
  function cartesian(a) {
73
- return a.reduce((a, b)=>a.flatMap((d)=>b.map((e)=>[
74
- d,
75
- e
76
- ].flat())));
59
+ return a.reduce((a2, b) => a2.flatMap((d) => b.map((e) => [d, e].flat())));
77
60
  }
61
+ export {
62
+ permutateThemes
63
+ };
@@ -1,27 +1,14 @@
1
1
  import * as R from "ramda";
2
- /**
3
- * Returns type based on design token format used. Read more:https://v4.styledictionary.com/info/dtcg/
4
- * @param token Transformed token
5
- * @returns type
6
- */ export const getType = (token)=>(token.$type ?? token.type) || '';
7
- /**
8
- * Returns value based on design token format used. Read more:https://v4.styledictionary.com/info/dtcg/
9
- *
10
- * Use generic (`<T>`) to define return value type
11
- * @param token Transformed or Design token
12
- * @returns value
13
- */ export const getValue = (token)=>token.$value ?? token.value;
14
- /**
15
- * Check if token type matches provided type
16
- * This function is curried
17
- * @param types Type or array of types to check against
18
- * @param token Transformed token
19
- * @returns boolean
20
- */ export const typeEquals = R.curry((types, token)=>{
21
- if (R.isNil(token)) {
22
- return false;
23
- }
24
- return R.includes(R.toLower(getType(token)), R.map(R.toLower, Array.isArray(types) ? types : [
25
- types
26
- ]));
2
+ const getType = (token) => (token.$type ?? token.type) || "";
3
+ const getValue = (token) => token.$value ?? token.value;
4
+ const typeEquals = R.curry((types, token) => {
5
+ if (R.isNil(token)) {
6
+ return false;
7
+ }
8
+ return R.includes(R.toLower(getType(token)), R.map(R.toLower, Array.isArray(types) ? types : [types]));
27
9
  });
10
+ export {
11
+ getType,
12
+ getValue,
13
+ typeEquals
14
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digdir/designsystemet",
3
- "version": "0.1.0-alpha.18",
3
+ "version": "0.1.0-alpha.19",
4
4
  "description": "CLI for Designsystemet",
5
5
  "author": "Designsystemet team",
6
6
  "repository": {
@@ -31,7 +31,8 @@
31
31
  "designsystemet": "tsx ./bin/designsystemet.ts",
32
32
  "build:tokens": "yarn clean:theme && yarn designsystemet tokens -p -t ../../design-tokens -o ../../packages/theme/brand",
33
33
  "build:tokens:debug": "yarn clean:theme && tsx --inspect-brk ./bin/designsystemet.ts tokens -p -t ../../design-tokens -o ../../packages/theme/brand",
34
- "build": "yarn clean && swc src bin --copy-files -d dist && yarn build:types && chmod +x dist/bin/designsystemet.js",
34
+ "build": "tsup",
35
+ "build:swc": "yarn clean && swc src bin --copy-files -d dist && yarn build:types",
35
36
  "build:types": "tsc --emitDeclarationOnly --declaration",
36
37
  "clean": "rimraf dist",
37
38
  "clean:theme": "yarn workspace @digdir/designsystemet-theme clean"
@@ -40,6 +41,7 @@
40
41
  "@adobe/leonardo-contrast-colors": "^1.0.0",
41
42
  "@commander-js/extra-typings": "^12.0.1",
42
43
  "@tokens-studio/sd-transforms": "^0.16.1",
44
+ "apca-w3": "^0.1.9",
43
45
  "chalk": "^5.3.0",
44
46
  "change-case": "^5.3.0",
45
47
  "chroma-js": "^2.4.2",
@@ -57,6 +59,7 @@
57
59
  "devDependencies": {
58
60
  "@swc/cli": "^0.3.14",
59
61
  "@swc/core": "^1.6.5",
62
+ "@types/apca-w3": "^0.1.3",
60
63
  "@types/fs-extra": "^11.0.4",
61
64
  "@types/glob": "^8.1.0",
62
65
  "@types/jscodeshift": "^0.11.11",
@@ -65,7 +68,9 @@
65
68
  "@types/prompts": "^2.4.9",
66
69
  "@types/ramda": "^0.29.9",
67
70
  "fs-extra": "^11.2.0",
71
+ "tsup": "^8.1.0",
68
72
  "tsx": "^4.11.2",
69
73
  "typescript": "^5.4.5"
70
- }
74
+ },
75
+ "gitHead": "4a8c74286dbee8903a2b1871fb8d6998e382bfa1"
71
76
  }
@@ -1,39 +0,0 @@
1
- .fds-class {
2
- margin-top: 42px;
3
- border-width: var(--fds-border-width-default);
4
- color: var(--fds-semantic-surface-first-subtle);
5
- border-color: var(--fds-semantic-surface-first-light);
6
- background-color: #fff;
7
- }
8
-
9
- .fds-class-2 {
10
- margin-top: 42px;
11
- border-width: var(--fds-border-width-default);
12
- color: var(--fds-semantic-surface-first-subtle);
13
- border-color: var(--fds-semantic-surface-first-light);
14
- background-color: #fff;
15
- }
16
-
17
- .fds-random-name {
18
- margin-top: 42px;
19
- border-width: var(--fds-border-width-default);
20
- color: var(--fds-semantic-surface-first-subtle);
21
- border-color: var(--fds-semantic-surface-first-light);
22
- background-color: #fff;
23
- }
24
-
25
- .not-fds {
26
- margin-top: 42px;
27
- border-width: var(--fds-border-width-default);
28
- color: var(--fds-semantic-surface-first-subtle);
29
- border-color: var(--fds-semantic-surface-first-light);
30
- background-color: #fff;
31
- }
32
-
33
- .fds-double.fds-triple {
34
- margin-top: 42px;
35
- border-width: var(--fds-border-width-default);
36
- color: var(--fds-semantic-surface-first-subtle);
37
- border-color: var(--fds-semantic-surface-first-light);
38
- background-color: #fff;
39
- }
@@ -1,12 +0,0 @@
1
- import cl from "classnames";
2
- const DEFAULT = 'fds-default';
3
- export default function JsxTest({ className }) {
4
- return /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement("div", {
5
- className: "fds-hey",
6
- onMouseEnter: ()=>'fds-func'
7
- }, /*#__PURE__*/ React.createElement("button", {
8
- className: cl('fds-skrr', 'another', `fds-${DEFAULT}`, true && 'fds-hey', true && `fds-${DEFAULT}`, DEFAULT.includes('fds-') ? 'fds-yes' : 'fds-no', typeof DEFAULT === 'string' ? 'fds-yes' : typeof DEFAULT === 'function' ? 'fds-no' : 'fds-yes', className)
9
- }, "button")), /*#__PURE__*/ React.createElement("div", {
10
- className: `fds-${DEFAULT}`
11
- }));
12
- }
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=designsystemet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"designsystemet.d.ts","sourceRoot":"","sources":["../../../bin/designsystemet.ts"],"names":[],"mappings":""}
@@ -1,126 +0,0 @@
1
- import type { CssColor } from '@adobe/leonardo-contrast-colors';
2
- /**
3
- * Converts a HEX color '#xxxxxx' into a CSS HSL string 'hsl(x,x,x)'
4
- *
5
- * @param hex A hex color string
6
- * @param valuesOnly If true, only the values are returned
7
- * @returns A CSS HSL string
8
- */
9
- export declare const hexToCssHsl: (hex: string, valuesOnly?: boolean) => string;
10
- /**
11
- * Converts a HEX string '#xxxxxx' into an array of HSL values '[h,s,l]'
12
- *
13
- * @param H A Hex color string
14
- * @returns HSL values in an array
15
- */
16
- export declare const hexToHSL: (H: string) => number[];
17
- /**
18
- * Converts a HEX color '#xxxxxx' into an array of HSLuv values '[h,s,l]'
19
- *
20
- * @param hex A hex color string
21
- * @returns
22
- */
23
- export declare const hexToHsluv: (hex: string) => number[];
24
- /**
25
- * Converts a HSL number array '[h,s,l]' into HSL CSS string 'hsl(x,x,x)'
26
- *
27
- * @param HSL A HSL number array '[h,s,l]'
28
- * @returns A hex color string
29
- */
30
- export declare const hslArrToCss: (HSL: number[]) => string;
31
- /**
32
- * Converts a HSL CSS string 'hsl(x,x,x)' into an array of HSL values '[h,s,l]'
33
- *
34
- * @param h The HSL hue
35
- * @param s The HSL saturation
36
- * @param l The HSL lightness
37
- * @returns HEX color string
38
- */
39
- export declare const HSLToHex: (h: number, s: number, l: number) => string;
40
- /**
41
- * Converts a HEX color '#xxxxxx' into an array of RGB values '[R, G, B]'
42
- *
43
- * @param hex A hex color string
44
- * @returns RGB values in an array
45
- */
46
- export declare const hexToRgb: (hex: string) => {
47
- r: number;
48
- g: number;
49
- b: number;
50
- } | null;
51
- /**
52
- * Get the luminance of an RGB color
53
- *
54
- * @param r RGB red value
55
- * @param G RGB green value
56
- * @param b RGB blue value
57
- * @returns
58
- */
59
- export declare const luminanceFromRgb: (r: string, g: string, b: string) => number;
60
- /**
61
- * Get the luminance of a HEX color
62
- *
63
- * @param hex A hex color string
64
- * @returns
65
- */
66
- export declare const luminanceFromHex: (hex: CssColor) => number;
67
- /**
68
- * Get the contrast ratio between two luminance values
69
- *
70
- * @param lum1 The first luminance value
71
- * @param lum2 The second luminance value
72
- * @returns
73
- */
74
- export declare const getRatioFromLum: (lum1: number, lum2: number) => number;
75
- /**
76
- * Get the HSL lightness from a HEX color
77
- *
78
- * @param hex A hex color string
79
- * @returns
80
- */
81
- export declare const getHslLightessFromHex: (hex: CssColor) => number;
82
- export declare const getHslSaturationFromHex: (hex: CssColor) => number;
83
- /**
84
- * Get the HSLuv lightness from a HEX color
85
- *
86
- * @param hex A hex color string
87
- * @returns
88
- */
89
- export declare const getLightnessFromHex: (hex: string) => number;
90
- /**
91
- * Get the contrast ratio between two HEX colors
92
- *
93
- * @param {CssColor} color1 The first color
94
- * @param {CssColor} color2 The second color
95
- * @returns
96
- */
97
- export declare const getContrastFromHex: (color1: CssColor, color2: CssColor) => number;
98
- /**
99
- * Get the contrast ratio between two colors at a specific lightness
100
- *
101
- * @param lightness The lightness value
102
- * @param mainColor The main color
103
- * @param backgroundColor The background color
104
- * @returns The contrast ratio
105
- */
106
- export declare const getContrastFromLightness: (lightness: number, mainColor: CssColor, backgroundColor: CssColor) => number;
107
- /**
108
- * Maps the numbers from [start1 - end1] to the range [start2 - end2], maintaining the proportionality between the numbers in the ranges using lineaer interpolation.
109
- */
110
- /**
111
- * Check if two colors have enough contrast to be used together
112
- *
113
- * @param {CssColor} color1 The first color
114
- * @param {CssColor} color2 The second color
115
- * @returns {boolean} If the colors have enough contrast
116
- */
117
- export declare const areColorsContrasting: (color1: CssColor, color2: CssColor, type?: 'decorative' | 'aa' | 'aaa') => boolean;
118
- export declare const getApcaContrastLc: (textColor: CssColor, backgroundColor: CssColor) => string | number;
119
- /**
120
- * Check if aa string value is a HEX color
121
- *
122
- * @param {string} hex The string to check
123
- * @returns {boolean} If the string is a HEX color
124
- */
125
- export declare const isHexColor: (hex: string) => boolean;
126
- //# sourceMappingURL=colorUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"colorUtils.d.ts","sourceRoot":"","sources":["../../../../src/colors/colorUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAKhE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,QAAS,MAAM,iCA2CtC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,MAAO,MAAM,aAwCjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,QAAS,MAAM,aAKrC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QAAS,MAAM,EAAE,WAExC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,MAAO,MAAM,KAAK,MAAM,KAAK,MAAM,WA+CvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,QAAS,MAAM;;;;QAcnC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,MAAO,MAAM,KAAK,MAAM,KAAK,MAAM,WAM/D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QAAS,QAAQ,WAS7C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,SAAU,MAAM,QAAQ,MAAM,WAMzD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAS,QAAQ,WAElD,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAS,QAAQ,WAEpD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,QAAS,MAAM,WAK9C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,WAAY,QAAQ,UAAU,QAAQ,WAOpE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,cAAe,MAAM,aAAa,QAAQ,mBAAmB,QAAQ,WAYzG,CAAC;AAEF;;GAEG;AAKH;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,WAAY,QAAQ,UAAU,QAAQ,SAAQ,YAAY,GAAG,IAAI,GAAG,KAAK,YAYzG,CAAC;AAEF,eAAO,MAAM,iBAAiB,cAAe,QAAQ,mBAAmB,QAAQ,oBAW/E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,QAAS,MAAM,YAErC,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './colorUtils';
2
- export * from './themeUtils';
3
- export * from './types';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/colors/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -1,102 +0,0 @@
1
- import type { CssColor } from '@adobe/leonardo-contrast-colors';
2
- import type { ContrastMode, Mode, ColorInfo, ColorNumber, ThemeInfo, ColorType } from './types';
3
- export type ColorError = 'none' | 'decorative' | 'interaction';
4
- type GlobalGenType = {
5
- themeMode?: Mode | 'all';
6
- contrastMode?: ContrastMode;
7
- };
8
- type ThemeGenType = {
9
- colors: {
10
- accent: CssColor;
11
- neutral: CssColor;
12
- brand1: CssColor;
13
- brand2: CssColor;
14
- brand3: CssColor;
15
- };
16
- contrastMode?: ContrastMode;
17
- };
18
- /**
19
- *
20
- * Generates a color scale based on a base color and a mode.
21
- *
22
- * @param color The base color that is used to generate the color scale
23
- * @param mode The mode of the theme
24
- */
25
- export declare const generateScaleForColor: (color: CssColor, mode: Mode, contrastMode?: 'aa' | 'aaa') => ColorInfo[];
26
- /**
27
- *
28
- * Generates a color theme based on a base color. Light, Dark and Contrast scales are includes.
29
- *
30
- * @param color The base color that is used to generate the color theme
31
- */
32
- export declare const generateThemeForColor: (color: CssColor, contrastMode?: 'aa' | 'aaa') => ThemeInfo;
33
- export declare const generateGlobalColors: ({ contrastMode }: GlobalGenType) => {
34
- blue: ThemeInfo;
35
- green: ThemeInfo;
36
- orange: ThemeInfo;
37
- purple: ThemeInfo;
38
- red: ThemeInfo;
39
- yellow: ThemeInfo;
40
- };
41
- /**
42
- * This function generates a complete theme for a set of colors.
43
- *
44
- * @param colors Which colors to generate the theme for
45
- * @param contrastMode The contrast mode to use
46
- * @returns
47
- */
48
- export declare const generateColorTheme: ({ colors, contrastMode }: ThemeGenType) => {
49
- accent: ThemeInfo;
50
- neutral: ThemeInfo;
51
- brand1: ThemeInfo;
52
- brand2: ThemeInfo;
53
- brand3: ThemeInfo;
54
- };
55
- /**
56
- *
57
- * This function calculates a color that can be used as a strong contrast color to a base color.
58
- *
59
- * @param baseColor The base color
60
- */
61
- export declare const calculateContrastOneColor: (baseColor: CssColor) => "#ffffff" | "#000000";
62
- /**
63
- *
64
- * This function calculates a color that can be used as a subtle contrast color to a base color.
65
- *
66
- * @param color The base color
67
- */
68
- export declare const calculateContrastTwoColor: (color: CssColor) => CssColor;
69
- /**
70
- *
71
- * This function checks if white or black text can be used on 2 different colors at 4.5:1 contrast.
72
- *
73
- * @param baseDefaultColor Base default color
74
- * @param baseActiveColor Base active color
75
- */
76
- export declare const canTextBeUsedOnColors: (baseDefaultColor: CssColor, baseActiveColor: CssColor) => boolean;
77
- /**
78
- *
79
- * This function creates a color with a specific lightness value.
80
- *
81
- * @param color The base color
82
- * @param lightness The lightness value from 0 to 100
83
- */
84
- export declare const createColorWithLightness: (color: CssColor, lightness: number) => CssColor;
85
- /**
86
- *
87
- * This function returns the color number based on the color name.
88
- *
89
- * @param name The name of the color
90
- */
91
- export declare const getColorNumberFromName: (name: string) => ColorNumber;
92
- /**
93
- *
94
- * This function returns the color name based on the color number.
95
- *
96
- * @param number The number of the color
97
- */
98
- export declare const getColorNameFromNumber: (number: ColorNumber) => string;
99
- export declare const getBaseColor: (color: CssColor) => CssColor;
100
- export declare const getCssVariable: (colorType: ColorType, colorNumber: ColorNumber) => string;
101
- export {};
102
- //# sourceMappingURL=themeUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"themeUtils.d.ts","sourceRoot":"","sources":["../../../../src/colors/themeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAIhE,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAUhG,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,aAAa,CAAC;AAE/D,KAAK,aAAa,GAAG;IACnB,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ,CAAC;QACjB,OAAO,EAAE,QAAQ,CAAC;QAClB,MAAM,EAAE,QAAQ,CAAC;QACjB,MAAM,EAAE,QAAQ,CAAC;QACjB,MAAM,EAAE,QAAQ,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAoEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,UAAW,QAAQ,QAAQ,IAAI,iBAAgB,IAAI,GAAG,KAAK,KAAU,SAAS,EAuC/G,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,UAAW,QAAQ,iBAAgB,IAAI,GAAG,KAAK,cAUhF,CAAC;AAEF,eAAO,MAAM,oBAAoB,qBAA6B,aAAa;;;;;;;CAgB1E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,6BAAqC,YAAY;;;;;;CAc/E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,cAAe,QAAQ,0BAO5D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,UAAW,QAAQ,aAaxD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,qBAAsB,QAAQ,mBAAmB,QAAQ,YAc1F,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,UAAW,QAAQ,aAAa,MAAM,aAkB1E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,SAAU,MAAM,KAAG,WAmBrD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,WAAY,WAAW,KAAG,MAmB5D,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,QAAQ,aAS3C,CAAC;AAEF,eAAO,MAAM,cAAc,cAAe,SAAS,eAAe,WAAW,WAE5E,CAAC"}
@@ -1,16 +0,0 @@
1
- import type { CssColor } from '@adobe/leonardo-contrast-colors';
2
- export type Mode = 'light' | 'dark' | 'contrast';
3
- export type ContrastMode = 'aa' | 'aaa';
4
- export type ColorNumber = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15;
5
- export type ColorType = 'accent' | 'neutral' | 'brand1' | 'brand2' | 'brand3';
6
- export type ColorInfo = {
7
- hex: CssColor;
8
- number: ColorNumber;
9
- name: string;
10
- };
11
- export type ThemeInfo = {
12
- light: ColorInfo[];
13
- dark: ColorInfo[];
14
- contrast: ColorInfo[];
15
- };
16
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/colors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEhE,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AACjD,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,KAAK,CAAC;AACxC,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC1F,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC9E,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB,CAAC"}
@@ -1,5 +0,0 @@
1
- declare const MODES: readonly ["Light", "Dark", "Contrast"];
2
- export type Mode = (typeof MODES)[number];
3
- export declare function createTokensPackage(targetDir: string): Promise<void>;
4
- export {};
5
- //# sourceMappingURL=createTokensPackage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createTokensPackage.d.ts","sourceRoot":"","sources":["../../../../src/init/createTokensPackage.ts"],"names":[],"mappings":"AAaA,QAAA,MAAM,KAAK,wCAAyC,CAAC;AACrD,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AA0B1C,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,iBAuO1D"}
@@ -1,6 +0,0 @@
1
- interface Metadata {
2
- tokenSetOrder: string[];
3
- }
4
- export default function generateMetadataJson(modes: Array<'Light' | 'Dark' | 'Contrast'>, themes: string[]): Metadata;
5
- export {};
6
- //# sourceMappingURL=generateMetadataJson.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateMetadataJson.d.ts","sourceRoot":"","sources":["../../../../src/init/generateMetadataJson.ts"],"names":[],"mappings":"AAEA,UAAU,QAAQ;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC,EAC3C,MAAM,EAAE,MAAM,EAAE,GACf,QAAQ,CAiBV"}
@@ -1,3 +0,0 @@
1
- import { type ThemeObject } from '@tokens-studio/types';
2
- export default function generateThemesJson(modes: Array<'Light' | 'Dark' | 'Contrast'>, themes: string[]): ThemeObject[];
3
- //# sourceMappingURL=generateThemesJson.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateThemesJson.d.ts","sourceRoot":"","sources":["../../../../src/init/generateThemesJson.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxE,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC,EAC3C,MAAM,EAAE,MAAM,EAAE,GACf,WAAW,EAAE,CAMf"}
@@ -1,3 +0,0 @@
1
- import { type Command } from '@commander-js/extra-typings';
2
- export declare function makeInitCommand(command: Command): Command<[string], {}>;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAIrE,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,yBAQ/C"}
@@ -1,3 +0,0 @@
1
- import type { Mode } from './createTokensPackage.js';
2
- export declare function nextStepsMarkdown(themes: string[], modes: Mode[], tokensTargetDir: string, packageName: string): string;
3
- //# sourceMappingURL=nextStepsMarkdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nextStepsMarkdown.d.ts","sourceRoot":"","sources":["../../../../src/init/nextStepsMarkdown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,IAAI,EAAE,EACb,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,UA6FpB"}
@@ -1,9 +0,0 @@
1
- export default config;
2
- /**
3
- * NOTE: This config exists to ensure files in the template dir are
4
- * formatted using the default prettier rules
5
- * @see https://prettier.io/docs/en/configuration.html
6
- * @type {import("prettier").Config}
7
- */
8
- declare const config: import("prettier").Config;
9
- //# sourceMappingURL=prettier.config.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prettier.config.d.mts","sourceRoot":"","sources":["../../../../../src/init/template/prettier.config.mjs"],"names":[],"mappings":";AAAA;;;;;GAKG;AACH,sBAFU,OAAO,UAAU,EAAE,MAAM,CAEjB"}
@@ -1,4 +0,0 @@
1
- export declare function normalizeTokenSetName(name: string): string;
2
- export declare function toGeneratedCssFileName(name: string): string;
3
- export declare function toValidPackageName(projectName: string): string;
4
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/init/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,UAOrD"}
@@ -1,3 +0,0 @@
1
- declare const _default: (glob?: string) => Promise<void>;
2
- export default _default;
3
- //# sourceMappingURL=beta-to-v1.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"beta-to-v1.d.ts","sourceRoot":"","sources":["../../../../src/migrations/beta-to-v1.ts"],"names":[],"mappings":"gCAGuB,MAAM;AAA7B,wBAmVK"}
@@ -1,6 +0,0 @@
1
- import type { Plugin } from 'postcss';
2
- type PluginGenerator = (dictionary: Record<string, string>) => Plugin;
3
- export declare const cssClassRename: PluginGenerator;
4
- export declare const cssVarRename: PluginGenerator;
5
- export {};
6
- //# sourceMappingURL=plugins.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../../../../src/migrations/codemods/css/plugins.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,SAAS,CAAC;AAInD,KAAK,eAAe,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AAOtE,eAAO,MAAM,cAAc,EAAE,eAe3B,CAAC;AAEH,eAAO,MAAM,YAAY,EAAE,eA6BzB,CAAC"}