@digdir/designsystemet 1.0.8 → 1.1.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/config.d.ts +3 -3
- package/dist/bin/config.d.ts.map +1 -1
- package/dist/bin/config.js +45 -45
- package/dist/bin/designsystemet.js +827 -748
- package/dist/config.schema.json +4 -4
- package/dist/src/colors/index.d.ts +2 -2
- package/dist/src/colors/index.d.ts.map +1 -1
- package/dist/src/colors/index.js +143 -143
- package/dist/src/colors/theme.d.ts +1 -2
- package/dist/src/colors/theme.d.ts.map +1 -1
- package/dist/src/config.d.ts +6 -21
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +43 -40
- package/dist/src/index.js +418 -430
- package/dist/src/scripts/createJsonSchema.js +23 -24
- package/dist/src/scripts/update-template.d.ts.map +1 -1
- package/dist/src/tokens/build.d.ts +1 -1
- package/dist/src/tokens/build.d.ts.map +1 -1
- package/dist/src/tokens/build.js +359 -280
- package/dist/src/tokens/create/generators/$designsystemet.js +16 -15
- package/dist/src/tokens/create/generators/color.js +21 -21
- package/dist/src/tokens/create/write.js +17 -16
- package/dist/src/tokens/create.d.ts +1 -0
- package/dist/src/tokens/create.d.ts.map +1 -1
- package/dist/src/tokens/create.js +22 -21
- package/dist/src/tokens/format.d.ts.map +1 -1
- package/dist/src/tokens/format.js +931 -944
- package/dist/src/tokens/index.d.ts +2 -2
- package/dist/src/tokens/index.d.ts.map +1 -1
- package/dist/src/tokens/index.js +295 -307
- package/dist/src/tokens/process/configs/color.d.ts.map +1 -1
- package/dist/src/tokens/process/configs/color.js +5 -5
- package/dist/src/tokens/process/configs/semantic.d.ts.map +1 -1
- package/dist/src/tokens/process/configs/semantic.js +5 -5
- package/dist/src/tokens/process/configs/storefront.d.ts.map +1 -1
- package/dist/src/tokens/process/configs/storefront.js +1 -1
- package/dist/src/tokens/process/configs/typography.d.ts.map +1 -1
- package/dist/src/tokens/process/configs/typography.js +5 -5
- package/dist/src/tokens/process/configs.d.ts.map +1 -1
- package/dist/src/tokens/process/configs.js +5 -5
- package/dist/src/tokens/process/formats/css/color.js +2 -2
- package/dist/src/tokens/process/formats/css/semantic.js +2 -2
- package/dist/src/tokens/process/formats/css/typography.js +1 -1
- package/dist/src/tokens/process/formats/css.js +5 -5
- package/dist/src/tokens/process/formats/js-tokens.js +1 -1
- package/dist/src/tokens/process/output/declarations.d.ts +4 -0
- package/dist/src/tokens/process/output/declarations.d.ts.map +1 -0
- package/dist/src/tokens/process/output/declarations.js +860 -0
- package/dist/src/tokens/process/output/tailwind.d.ts +3 -0
- package/dist/src/tokens/process/output/tailwind.d.ts.map +1 -0
- package/dist/src/tokens/process/output/tailwind.js +59 -0
- package/dist/src/tokens/process/{theme.d.ts → output/theme.d.ts} +2 -2
- package/dist/src/tokens/process/output/theme.d.ts.map +1 -0
- package/dist/src/tokens/process/{theme.js → output/theme.js} +20 -19
- package/dist/src/tokens/process/platform.d.ts +8 -4
- package/dist/src/tokens/process/platform.d.ts.map +1 -1
- package/dist/src/tokens/process/platform.js +27 -56
- package/dist/src/tokens/process/utils/getMultidimensionalThemes.d.ts +1 -0
- package/dist/src/tokens/process/utils/getMultidimensionalThemes.d.ts.map +1 -1
- package/dist/src/tokens/process/utils/getMultidimensionalThemes.js +12 -5
- package/dist/src/tokens/types.d.ts +1 -1
- package/dist/src/tokens/types.d.ts.map +1 -1
- package/dist/src/tokens/utils.d.ts.map +1 -1
- package/package.json +16 -15
- package/dist/src/tokens/process/theme.d.ts.map +0 -1
package/dist/bin/config.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Command, OptionValues } from '@commander-js/extra-typings';
|
|
2
|
-
import { type
|
|
2
|
+
import { type BuildConfigSchema, type CreateConfigSchema } from '../src/config.js';
|
|
3
3
|
export declare function readConfigFile(configPath: string, allowFileNotFound?: boolean): Promise<string>;
|
|
4
4
|
export declare function parseCreateConfig(configFile: string, options: {
|
|
5
5
|
theme: string;
|
|
6
6
|
cmd: Command<unknown[], OptionValues>;
|
|
7
7
|
configPath: string;
|
|
8
|
-
}): Promise<
|
|
8
|
+
}): Promise<CreateConfigSchema>;
|
|
9
9
|
export declare function parseBuildConfig(configFile: string, { configPath }: {
|
|
10
10
|
configPath: string;
|
|
11
|
-
}): Promise<
|
|
11
|
+
}): Promise<BuildConfigSchema>;
|
|
12
12
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/bin/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../bin/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGzE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAKxB,MAAM,kBAAkB,CAAC;AAI1B,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,UAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBlG;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACpF,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../bin/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGzE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAKxB,MAAM,kBAAkB,CAAC;AAI1B,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,UAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBlG;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACpF,OAAO,CAAC,kBAAkB,CAAC,CAiE7B;AAED,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAI5B"}
|
package/dist/bin/config.js
CHANGED
|
@@ -6,26 +6,8 @@ import * as R8 from "ramda";
|
|
|
6
6
|
// src/config.ts
|
|
7
7
|
import chalk from "chalk";
|
|
8
8
|
import * as R7 from "ramda";
|
|
9
|
-
import { fromError } from "zod-validation-error";
|
|
10
9
|
import { z } from "zod/v4";
|
|
11
|
-
|
|
12
|
-
// src/colors/utils.ts
|
|
13
|
-
import chroma from "chroma-js";
|
|
14
|
-
import Colorjs from "colorjs.io";
|
|
15
|
-
import { Hsluv } from "hsluv";
|
|
16
|
-
var convertToHex = (color) => {
|
|
17
|
-
if (!color) {
|
|
18
|
-
return "#000000";
|
|
19
|
-
}
|
|
20
|
-
if (/^#[0-9A-Fa-f]{6}$/.test(color)) {
|
|
21
|
-
return color;
|
|
22
|
-
}
|
|
23
|
-
return chroma(color).hex();
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
// src/colors/theme.ts
|
|
27
|
-
import chroma2 from "chroma-js";
|
|
28
|
-
import * as R2 from "ramda";
|
|
10
|
+
import { fromError } from "zod-validation-error/v4";
|
|
29
11
|
|
|
30
12
|
// src/colors/colorMetadata.ts
|
|
31
13
|
import * as R from "ramda";
|
|
@@ -273,6 +255,24 @@ var colorMetadata = {
|
|
|
273
255
|
};
|
|
274
256
|
var colorMetadataByNumber = R.indexBy((metadata) => metadata.number, Object.values(colorMetadata));
|
|
275
257
|
|
|
258
|
+
// src/colors/theme.ts
|
|
259
|
+
import chroma2 from "chroma-js";
|
|
260
|
+
import * as R2 from "ramda";
|
|
261
|
+
|
|
262
|
+
// src/colors/utils.ts
|
|
263
|
+
import chroma from "chroma-js";
|
|
264
|
+
import Colorjs from "colorjs.io";
|
|
265
|
+
import { Hsluv } from "hsluv";
|
|
266
|
+
var convertToHex = (color) => {
|
|
267
|
+
if (!color) {
|
|
268
|
+
return "#000000";
|
|
269
|
+
}
|
|
270
|
+
if (/^#[0-9A-Fa-f]{6}$/.test(color)) {
|
|
271
|
+
return color;
|
|
272
|
+
}
|
|
273
|
+
return chroma(color).hex();
|
|
274
|
+
};
|
|
275
|
+
|
|
276
276
|
// src/colors/theme.ts
|
|
277
277
|
var RESERVED_COLORS = [
|
|
278
278
|
"neutral",
|
|
@@ -303,6 +303,7 @@ import * as R6 from "ramda";
|
|
|
303
303
|
var cliOptions = {
|
|
304
304
|
outDir: "out-dir",
|
|
305
305
|
clean: "clean",
|
|
306
|
+
tailwind: "tailwind",
|
|
306
307
|
theme: {
|
|
307
308
|
colors: {
|
|
308
309
|
main: "main-colors",
|
|
@@ -326,16 +327,21 @@ function mapPathToOptionName(path3) {
|
|
|
326
327
|
return option;
|
|
327
328
|
}
|
|
328
329
|
function makeFriendlyError(err) {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
330
|
+
try {
|
|
331
|
+
return fromError(err, {
|
|
332
|
+
messageBuilder: (issues) => issues.map((issue) => {
|
|
333
|
+
const issuePath = issue.path.join(".");
|
|
334
|
+
const optionName = mapPathToOptionName(issue.path);
|
|
335
|
+
const errorCode = `(error code: ${issue.code})`;
|
|
336
|
+
const optionMessage = optionName ? ` or CLI option --${optionName}` : "";
|
|
337
|
+
return ` - Error in JSON value ${chalk.red(issuePath)}${optionMessage}:
|
|
338
|
+
${issue.message} ${chalk.dim(errorCode)}`;
|
|
339
|
+
}).join("\n")
|
|
340
|
+
});
|
|
341
|
+
} catch (_err2) {
|
|
342
|
+
console.error(chalk.red(err instanceof Error ? err.message : "Unknown error occurred while parsing config file"));
|
|
343
|
+
console.error(err instanceof Error ? err.stack : "No stack trace available");
|
|
344
|
+
}
|
|
339
345
|
}
|
|
340
346
|
function validateConfig(schema, unvalidatedConfig, configPath) {
|
|
341
347
|
try {
|
|
@@ -343,21 +349,20 @@ function validateConfig(schema, unvalidatedConfig, configPath) {
|
|
|
343
349
|
} catch (err) {
|
|
344
350
|
console.error(chalk.redBright(`Invalid config file at ${chalk.red(configPath)}`));
|
|
345
351
|
const validationError = makeFriendlyError(err);
|
|
346
|
-
console.error(validationError
|
|
352
|
+
console.error(validationError?.toString());
|
|
347
353
|
process.exit(1);
|
|
348
354
|
}
|
|
349
355
|
}
|
|
350
|
-
function parseConfig(
|
|
356
|
+
function parseConfig(configFile, configPath) {
|
|
351
357
|
if (!configFile) {
|
|
352
358
|
return {};
|
|
353
359
|
}
|
|
354
360
|
try {
|
|
355
|
-
|
|
356
|
-
return schema.parse(parsedConfig);
|
|
361
|
+
return JSON.parse(configFile);
|
|
357
362
|
} catch (err) {
|
|
358
363
|
console.error(chalk.redBright(`Failed parsing config file at ${chalk.red(configPath)}`));
|
|
359
364
|
const validationError = makeFriendlyError(err);
|
|
360
|
-
console.error(validationError
|
|
365
|
+
console.error(validationError?.toString());
|
|
361
366
|
process.exit(1);
|
|
362
367
|
}
|
|
363
368
|
}
|
|
@@ -395,17 +400,16 @@ var themeSchema = z.object({
|
|
|
395
400
|
}).describe("Defines the typography for a given theme").optional(),
|
|
396
401
|
borderRadius: z.number().meta({ description: "Defines the border-radius for this theme" }).optional()
|
|
397
402
|
}).meta({ description: "An object defining a theme. The property name holding the object becomes the theme name." });
|
|
398
|
-
var
|
|
403
|
+
var commonConfig = z.object({
|
|
399
404
|
clean: z.boolean().meta({ description: "Delete the output directory before building or creating tokens" }).optional()
|
|
400
405
|
});
|
|
401
|
-
var
|
|
406
|
+
var _configFileCreateSchema = z.object({
|
|
402
407
|
outDir: z.string().meta({ description: "Path to the output directory for the created design tokens" }),
|
|
403
|
-
clean: z.boolean().meta({ description: "Delete the output directory before building or creating tokens" }).optional(),
|
|
404
408
|
themes: z.record(z.string(), themeSchema).meta({
|
|
405
409
|
description: "An object with one or more themes. Each property defines a theme, and the property name is used as the theme name."
|
|
406
410
|
})
|
|
407
411
|
}).required();
|
|
408
|
-
var
|
|
412
|
+
var configFileCreateSchema = _configFileCreateSchema.extend(commonConfig.shape);
|
|
409
413
|
|
|
410
414
|
// src/utils.ts
|
|
411
415
|
import fs from "fs/promises";
|
|
@@ -456,11 +460,7 @@ async function readConfigFile(configPath, allowFileNotFound = true) {
|
|
|
456
460
|
}
|
|
457
461
|
async function parseCreateConfig(configFile, options) {
|
|
458
462
|
const { cmd, theme = "theme", configPath } = options;
|
|
459
|
-
const configParsed = parseConfig(
|
|
460
|
-
configFileCreateSchema,
|
|
461
|
-
configFile,
|
|
462
|
-
configPath
|
|
463
|
-
);
|
|
463
|
+
const configParsed = parseConfig(configFile, configPath);
|
|
464
464
|
const themeColors = Object.values(configParsed?.themes ?? {}).map(
|
|
465
465
|
(x) => /* @__PURE__ */ new Set([...R8.keys(x.colors.main), ...R8.keys(x.colors.support)])
|
|
466
466
|
);
|
|
@@ -506,8 +506,8 @@ async function parseCreateConfig(configFile, options) {
|
|
|
506
506
|
return validateConfig(configFileCreateSchema, unvalidatedConfig, configPath);
|
|
507
507
|
}
|
|
508
508
|
async function parseBuildConfig(configFile, { configPath }) {
|
|
509
|
-
const configParsed = parseConfig(
|
|
510
|
-
return validateConfig(
|
|
509
|
+
const configParsed = parseConfig(configFile, configPath);
|
|
510
|
+
return validateConfig(commonConfig, configParsed, configPath);
|
|
511
511
|
}
|
|
512
512
|
export {
|
|
513
513
|
parseBuildConfig,
|