@digdir/designsystemet 1.4.0 → 1.5.1
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.
- package/dist/bin/designsystemet.js +485 -163
- package/dist/global-Y35YADVH.json +100 -0
- package/dist/src/index.js +524 -200
- package/dist/src/scripts/update-preview-tokens.js +429 -118
- package/dist/src/tokens/build.js +426 -108
- package/dist/src/tokens/create/defaults.js +27 -23
- package/dist/src/tokens/create/generators/$designsystemet.js +3 -3
- package/dist/src/tokens/create/write.js +3 -3
- package/dist/src/tokens/create.js +27 -23
- package/dist/src/tokens/format.js +524 -200
- package/dist/src/tokens/index.js +524 -200
- package/dist/src/tokens/process/configs/color.js +366 -66
- package/dist/src/tokens/process/configs/semantic.d.ts.map +1 -1
- package/dist/src/tokens/process/configs/semantic.js +368 -68
- package/dist/src/tokens/process/configs/shared.js +9 -2
- package/dist/src/tokens/process/configs/size-mode.d.ts +3 -0
- package/dist/src/tokens/process/configs/size-mode.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/size-mode.js +1067 -0
- package/dist/src/tokens/process/configs/size.d.ts +3 -0
- package/dist/src/tokens/process/configs/size.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/size.js +1069 -0
- package/dist/src/tokens/process/configs/type-scale.d.ts +3 -0
- package/dist/src/tokens/process/configs/type-scale.d.ts.map +1 -0
- package/dist/src/tokens/process/configs/type-scale.js +1067 -0
- package/dist/src/tokens/process/configs/typography.d.ts.map +1 -1
- package/dist/src/tokens/process/configs/typography.js +364 -64
- package/dist/src/tokens/process/configs.d.ts +3 -0
- package/dist/src/tokens/process/configs.d.ts.map +1 -1
- package/dist/src/tokens/process/configs.js +373 -71
- package/dist/src/tokens/process/formats/css/color.js +381 -79
- package/dist/src/tokens/process/formats/css/semantic.d.ts +0 -14
- package/dist/src/tokens/process/formats/css/semantic.d.ts.map +1 -1
- package/dist/src/tokens/process/formats/css/semantic.js +407 -109
- package/dist/src/tokens/process/formats/css/size-mode.d.ts +4 -0
- package/dist/src/tokens/process/formats/css/size-mode.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/size-mode.js +1068 -0
- package/dist/src/tokens/process/formats/css/size.d.ts +17 -0
- package/dist/src/tokens/process/formats/css/size.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/size.js +1069 -0
- package/dist/src/tokens/process/formats/css/type-scale.d.ts +3 -0
- package/dist/src/tokens/process/formats/css/type-scale.d.ts.map +1 -0
- package/dist/src/tokens/process/formats/css/type-scale.js +1069 -0
- package/dist/src/tokens/process/formats/css/typography.js +365 -63
- package/dist/src/tokens/process/formats/css.d.ts +3 -0
- package/dist/src/tokens/process/formats/css.d.ts.map +1 -1
- package/dist/src/tokens/process/formats/css.js +364 -64
- package/dist/src/tokens/process/output/declarations.js +373 -71
- package/dist/src/tokens/process/output/theme.d.ts.map +1 -1
- package/dist/src/tokens/process/output/theme.js +60 -11
- package/dist/src/tokens/process/platform.d.ts +16 -0
- package/dist/src/tokens/process/platform.d.ts.map +1 -1
- package/dist/src/tokens/process/platform.js +402 -95
- package/dist/src/tokens/process/transformers.js +9 -2
- package/dist/src/tokens/process/utils/getMultidimensionalThemes.js +373 -71
- package/dist/src/tokens/template/design-tokens/primitives/modes/size/global.js +1 -1
- package/dist/src/tokens/utils.d.ts +4 -1
- package/dist/src/tokens/utils.d.ts.map +1 -1
- package/dist/src/tokens/utils.js +24 -1
- package/package.json +3 -3
- package/dist/global-XVXVBKM6.json +0 -96
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// src/tokens/process/output/theme.ts
|
|
2
2
|
import pc from "picocolors";
|
|
3
|
-
import * as
|
|
3
|
+
import * as R2 from "ramda";
|
|
4
4
|
|
|
5
5
|
// package.json
|
|
6
6
|
var package_default = {
|
|
7
7
|
name: "@digdir/designsystemet",
|
|
8
|
-
version: "1.
|
|
8
|
+
version: "1.5.1",
|
|
9
9
|
description: "CLI for Designsystemet",
|
|
10
10
|
author: "Designsystemet team",
|
|
11
11
|
engines: {
|
|
@@ -88,9 +88,9 @@ var package_default = {
|
|
|
88
88
|
"@types/apca-w3": "^0.1.3",
|
|
89
89
|
"@types/chroma-js": "^3.1.1",
|
|
90
90
|
"@types/fs-extra": "^11.0.4",
|
|
91
|
-
"@types/node": "^22.18.
|
|
91
|
+
"@types/node": "^22.18.1",
|
|
92
92
|
"@types/object-hash": "^3.0.6",
|
|
93
|
-
"@types/ramda": "^0.31.
|
|
93
|
+
"@types/ramda": "^0.31.1",
|
|
94
94
|
"fs-extra": "^11.3.1",
|
|
95
95
|
tslib: "^2.8.1",
|
|
96
96
|
tsup: "^8.5.0",
|
|
@@ -99,8 +99,50 @@ var package_default = {
|
|
|
99
99
|
}
|
|
100
100
|
};
|
|
101
101
|
|
|
102
|
+
// src/tokens/utils.ts
|
|
103
|
+
import * as R from "ramda";
|
|
104
|
+
var mapToLowerCase = R.map(R.toLower);
|
|
105
|
+
var hasAnyTruth = R.any(R.equals(true));
|
|
106
|
+
var getType = (token) => (token.$type ?? token.type) || "";
|
|
107
|
+
var typeEquals = R.curry(
|
|
108
|
+
(types, token) => {
|
|
109
|
+
if (R.isNil(token)) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
return R.includes(R.toLower(getType(token)), R.map(R.toLower, Array.isArray(types) ? types : [types]));
|
|
113
|
+
}
|
|
114
|
+
);
|
|
115
|
+
var pathStartsWithOneOf = R.curry(
|
|
116
|
+
(paths, token) => {
|
|
117
|
+
if (R.isNil(token)) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
const tokenPath = mapToLowerCase(token.path);
|
|
121
|
+
const matchPathsStartingWith = R.map((pathOrString) => {
|
|
122
|
+
const path = typeof pathOrString === "string" ? [pathOrString] : pathOrString;
|
|
123
|
+
return R.startsWith(mapToLowerCase(path), tokenPath);
|
|
124
|
+
}, paths);
|
|
125
|
+
return hasAnyTruth(matchPathsStartingWith);
|
|
126
|
+
}
|
|
127
|
+
);
|
|
128
|
+
var sizeMap = {
|
|
129
|
+
xsmall: "xs",
|
|
130
|
+
small: "sm",
|
|
131
|
+
medium: "md",
|
|
132
|
+
large: "lg",
|
|
133
|
+
xlarge: "xl"
|
|
134
|
+
};
|
|
135
|
+
var sizeComparator = (size) => {
|
|
136
|
+
const sortIndex = Object.entries(sizeMap).findIndex(([key, val]) => key === size || val === size);
|
|
137
|
+
return sortIndex ?? 0;
|
|
138
|
+
};
|
|
139
|
+
|
|
102
140
|
// src/tokens/process/output/theme.ts
|
|
103
141
|
var defaultFileHeader = `build: v${package_default.version}`;
|
|
142
|
+
var getFileNameWithoutExtension = (path) => {
|
|
143
|
+
const pathSegments = path.split("/");
|
|
144
|
+
return pathSegments[pathSegments.length - 1].split(".").slice(0, -1).join(".");
|
|
145
|
+
};
|
|
104
146
|
var createThemeCSSFiles = ({
|
|
105
147
|
processedBuilds,
|
|
106
148
|
fileHeader = defaultFileHeader
|
|
@@ -110,22 +152,25 @@ var createThemeCSSFiles = ({
|
|
|
110
152
|
for (const buildResult of buildResults) {
|
|
111
153
|
const themeName = buildResult.permutation.theme;
|
|
112
154
|
const newOutputs = buildResult.formatted;
|
|
113
|
-
if (
|
|
155
|
+
if (R2.isNotEmpty(newOutputs)) {
|
|
114
156
|
const currentOutputs = groupedByTheme[themeName] ?? [];
|
|
115
|
-
groupedByTheme[themeName] =
|
|
157
|
+
groupedByTheme[themeName] = R2.concat(currentOutputs, newOutputs);
|
|
116
158
|
}
|
|
117
159
|
}
|
|
118
160
|
}
|
|
119
161
|
const sortOrder = [
|
|
162
|
+
"size-mode/",
|
|
163
|
+
"type-scale",
|
|
120
164
|
"color-scheme/light",
|
|
121
165
|
"typography/secondary",
|
|
166
|
+
"size",
|
|
122
167
|
"semantic",
|
|
123
168
|
"color-scheme/dark",
|
|
124
169
|
"color-scheme/contrast",
|
|
125
170
|
"typography/primary",
|
|
126
171
|
"color/"
|
|
127
172
|
];
|
|
128
|
-
const sortByDefinedOrder =
|
|
173
|
+
const sortByDefinedOrder = R2.sortBy((file) => {
|
|
129
174
|
const filePath = file.destination || "";
|
|
130
175
|
const sortIndex = sortOrder.findIndex((sortElement) => {
|
|
131
176
|
if (sortElement.endsWith("/")) {
|
|
@@ -154,13 +199,17 @@ ${fileHeader}
|
|
|
154
199
|
*/
|
|
155
200
|
|
|
156
201
|
`;
|
|
157
|
-
const sortAlphabetically =
|
|
158
|
-
const
|
|
159
|
-
|
|
202
|
+
const sortAlphabetically = R2.sort(R2.ascend((x) => x.destination || ""));
|
|
203
|
+
const sortBySize = R2.sortBy(
|
|
204
|
+
R2.pipe((s) => getFileNameWithoutExtension(s.destination ?? ""), sizeComparator)
|
|
205
|
+
);
|
|
206
|
+
const pickOutputs = R2.map(R2.view(R2.lensProp("output")));
|
|
207
|
+
const themeCSSFile = R2.pipe(
|
|
160
208
|
sortAlphabetically,
|
|
209
|
+
sortBySize,
|
|
161
210
|
sortByDefinedOrder,
|
|
162
211
|
pickOutputs,
|
|
163
|
-
|
|
212
|
+
R2.join("\n"),
|
|
164
213
|
(content) => header + content
|
|
165
214
|
);
|
|
166
215
|
const themeCSSFiles = Object.entries(groupedByTheme).map(([theme, files]) => ({
|
|
@@ -7,6 +7,10 @@ type SharedOptions = {
|
|
|
7
7
|
verbose: boolean;
|
|
8
8
|
/** Set the default color for ":root" */
|
|
9
9
|
defaultColor?: string;
|
|
10
|
+
/** Set the default size mode */
|
|
11
|
+
defaultSize?: string;
|
|
12
|
+
/** Set the available size modes */
|
|
13
|
+
sizeModes?: string[];
|
|
10
14
|
/** Dry run, no files will be written */
|
|
11
15
|
dry?: boolean;
|
|
12
16
|
/** Token Studio `$themes.json` content */
|
|
@@ -47,6 +51,18 @@ declare const buildConfigs: {
|
|
|
47
51
|
getConfig: import("./configs/shared.js").GetStyleDictionaryConfig;
|
|
48
52
|
dimensions: "typography"[];
|
|
49
53
|
};
|
|
54
|
+
sizeMode: {
|
|
55
|
+
getConfig: import("./configs/shared.js").GetStyleDictionaryConfig;
|
|
56
|
+
dimensions: "size"[];
|
|
57
|
+
};
|
|
58
|
+
size: {
|
|
59
|
+
getConfig: import("./configs/shared.js").GetStyleDictionaryConfig;
|
|
60
|
+
dimensions: "semantic"[];
|
|
61
|
+
};
|
|
62
|
+
typeScale: {
|
|
63
|
+
getConfig: import("./configs/shared.js").GetStyleDictionaryConfig;
|
|
64
|
+
dimensions: "semantic"[];
|
|
65
|
+
};
|
|
50
66
|
'color-scheme': {
|
|
51
67
|
getConfig: import("./configs/shared.js").GetStyleDictionaryConfig;
|
|
52
68
|
dimensions: "color-scheme"[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/tokens/process/platform.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAqC,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvF,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAElG,KAAK,aAAa,GAAG;IACnB,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,0CAA0C;IAC1C,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;IACzC,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,6BAA6B;IAC7B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,gBAAgB,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CACrF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,aAAa,CAAC;AAElB,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,gBAAgB;IAChB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAClC,GAAG,aAAa,CAAC;AAElB,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC;AAE1D,KAAK,qBAAqB,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC;AAErE,MAAM,MAAM,aAAa,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjE,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B,CAAC;AAgBF,eAAO,IAAI,YAAY,EAAE,aAIxB,CAAC;AAOF,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/tokens/process/platform.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAqC,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvF,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAElG,KAAK,aAAa,GAAG;IACnB,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,wCAAwC;IACxC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,0CAA0C;IAC1C,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;IACzC,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,6BAA6B;IAC7B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,gBAAgB,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CACrF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,aAAa,CAAC;AAElB,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,gBAAgB;IAChB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAClC,GAAG,aAAa,CAAC;AAElB,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC;AAE1D,KAAK,qBAAqB,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC;AAErE,MAAM,MAAM,aAAa,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjE,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B,CAAC;AAgBF,eAAO,IAAI,YAAY,EAAE,aAIxB,CAAC;AAOF,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCqB,CAAC;AAExC,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA2IrF"}
|