@o3r/design 10.0.0-prerelease.11 → 10.0.0-prerelease.111

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 (53) hide show
  1. package/builders/generate-css/index.d.ts.map +1 -1
  2. package/builders/generate-css/index.js +19 -8
  3. package/builders/generate-css/schema.d.ts +2 -0
  4. package/builders/generate-css/schema.d.ts.map +1 -1
  5. package/builders/generate-css/schema.json +5 -0
  6. package/collection.json +8 -0
  7. package/package.json +42 -36
  8. package/schematics/design-token-to-component/index.d.ts +13 -0
  9. package/schematics/design-token-to-component/index.d.ts.map +1 -0
  10. package/schematics/design-token-to-component/index.js +31 -0
  11. package/schematics/design-token-to-component/schema.d.ts +8 -0
  12. package/schematics/design-token-to-component/schema.d.ts.map +1 -0
  13. package/schematics/design-token-to-component/schema.json +20 -0
  14. package/schematics/design-token-to-component/templates/__fileName__.template +8 -0
  15. package/schematics/extract-token/index.d.ts.map +1 -0
  16. package/schematics/{ extract-token/index.js → extract-token/index.js} +6 -2
  17. package/schematics/{ extract-token/schema.d.ts → extract-token/schema.d.ts} +2 -0
  18. package/schematics/extract-token/schema.d.ts.map +1 -0
  19. package/schematics/extract-token/schema.js +3 -0
  20. package/schematics/{ extract-token/schema.json → extract-token/schema.json} +5 -1
  21. package/schematics/generate-css/schema.json +3 -3
  22. package/schematics/ng-add/index.d.ts +2 -1
  23. package/schematics/ng-add/index.d.ts.map +1 -1
  24. package/schematics/ng-add/index.js +25 -4
  25. package/schematics/ng-add/register-generate-css/register-task.d.ts.map +1 -1
  26. package/schematics/ng-add/register-generate-css/register-task.js +7 -1
  27. package/schematics/ng-add/schema.d.ts +2 -0
  28. package/schematics/ng-add/schema.d.ts.map +1 -1
  29. package/schematics/ng-add/schema.json +4 -0
  30. package/src/core/design-token/design-token-specification.interface.d.ts +7 -0
  31. package/src/core/design-token/design-token-specification.interface.d.ts.map +1 -1
  32. package/src/core/design-token/design-token-specification.interface.js.map +1 -1
  33. package/src/core/design-token/parsers/design-token-parser.interface.d.ts +20 -1
  34. package/src/core/design-token/parsers/design-token-parser.interface.d.ts.map +1 -1
  35. package/src/core/design-token/parsers/design-token.parser.d.ts.map +1 -1
  36. package/src/core/design-token/parsers/design-token.parser.js +8 -7
  37. package/src/core/design-token/parsers/design-token.parser.js.map +1 -1
  38. package/src/core/design-token/renderers/css/design-token-definition.renderers.d.ts +6 -0
  39. package/src/core/design-token/renderers/css/design-token-definition.renderers.d.ts.map +1 -1
  40. package/src/core/design-token/renderers/css/design-token-definition.renderers.js +1 -1
  41. package/src/core/design-token/renderers/css/design-token-definition.renderers.js.map +1 -1
  42. package/src/core/design-token/renderers/css/design-token-value.renderers.d.ts +20 -1
  43. package/src/core/design-token/renderers/css/design-token-value.renderers.d.ts.map +1 -1
  44. package/src/core/design-token/renderers/css/design-token-value.renderers.js +14 -3
  45. package/src/core/design-token/renderers/css/design-token-value.renderers.js.map +1 -1
  46. package/src/core/design-token/renderers/sass/design-token-definition.renderers.d.ts +6 -0
  47. package/src/core/design-token/renderers/sass/design-token-definition.renderers.d.ts.map +1 -1
  48. package/src/core/design-token/renderers/sass/design-token-definition.renderers.js +3 -4
  49. package/src/core/design-token/renderers/sass/design-token-definition.renderers.js.map +1 -1
  50. package/schematics/ extract-token/index.d.ts.map +0 -1
  51. package/schematics/ extract-token/schema.d.ts.map +0 -1
  52. /package/schematics/{ extract-token → design-token-to-component}/schema.js +0 -0
  53. /package/schematics/{ extract-token → extract-token}/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../builders/generate-css/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAe5D;;;GAGG;;AACH,wBA4GG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../builders/generate-css/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAiB5D;;;GAGG;;AACH,wBAsHG"}
@@ -4,6 +4,7 @@ const architect_1 = require("@angular-devkit/architect");
4
4
  const public_api_1 = require("../../src/public_api");
5
5
  const node_path_1 = require("node:path");
6
6
  const globby = require("globby");
7
+ const node_os_1 = require("node:os");
7
8
  /**
8
9
  * Generate CSS from Design Token files
9
10
  * @param options
@@ -20,20 +21,29 @@ exports.default = (0, architect_1.createBuilder)(async (options, context) => {
20
21
  return (0, node_path_1.resolve)(context.workspaceRoot, options.defaultStyleFile);
21
22
  };
22
23
  const tokenVariableNameRenderer = options.prefix ? (variable) => options.prefix + variable.getKey() : undefined;
23
- const sassRenderer = (0, public_api_1.getSassTokenDefinitionRenderer)({ tokenVariableNameRenderer: (v) => (options?.prefixPrivate || '') + (0, public_api_1.tokenVariableNameSassRenderer)(v) });
24
+ const logger = context.logger;
25
+ const sassRenderer = (0, public_api_1.getSassTokenDefinitionRenderer)({
26
+ tokenVariableNameRenderer: (v) => (options?.prefixPrivate || '') + (0, public_api_1.tokenVariableNameSassRenderer)(v),
27
+ logger
28
+ });
24
29
  const renderDesignTokenOptionsCss = {
25
30
  determineFileToUpdate: determineCssFileToUpdate,
26
31
  tokenDefinitionRenderer: (0, public_api_1.getCssTokenDefinitionRenderer)({
27
- tokenVariableNameRenderer: options.prefix ? (variable) => options.prefix + variable.getKey() : undefined,
28
- privateDefinitionRenderer: options.renderPrivateVariableTo === 'sass' ? sassRenderer : undefined
32
+ tokenVariableNameRenderer,
33
+ privateDefinitionRenderer: options.renderPrivateVariableTo === 'sass' ? sassRenderer : undefined,
34
+ tokenValueRenderer: (0, public_api_1.getCssTokenValueRenderer)({
35
+ tokenVariableNameRenderer,
36
+ unregisteredReferenceRenderer: options.failOnMissingReference ? (refName) => { throw new Error(`The Design Token ${refName} is not registered`); } : undefined
37
+ }),
38
+ logger
29
39
  }),
30
- logger: context.logger
40
+ logger
31
41
  };
32
42
  const renderDesignTokenOptionsMetadata = {
33
43
  determineFileToUpdate: () => (0, node_path_1.resolve)(context.workspaceRoot, options.metadataOutput),
34
44
  styleContentUpdater: (0, public_api_1.getMetadataStyleContentUpdater)(),
35
45
  tokenDefinitionRenderer: (0, public_api_1.getMetadataTokenDefinitionRenderer)({ tokenVariableNameRenderer }),
36
- logger: context.logger
46
+ logger
37
47
  };
38
48
  const execute = async (renderDesignTokenOptions) => {
39
49
  const files = (await globby(designTokenFilePatterns, { cwd: context.workspaceRoot, absolute: true }));
@@ -79,16 +89,17 @@ exports.default = (0, architect_1.createBuilder)(async (options, context) => {
79
89
  ])).reduce((acc, res) => {
80
90
  if (res.status === 'fulfilled') {
81
91
  acc.success &&= res.value.success;
82
- if (!res.value.error) {
92
+ if (res.value.error) {
83
93
  acc.error ||= '';
84
- acc.error += '\n' + res.value.error;
94
+ acc.error += node_os_1.EOL + res.value.error;
85
95
  }
86
96
  }
87
97
  else {
88
98
  acc.success = false;
89
99
  if (res.reason) {
90
100
  acc.error ||= '';
91
- acc.error += '\n' + res.reason;
101
+ // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
102
+ acc.error += node_os_1.EOL + res.reason;
92
103
  }
93
104
  }
94
105
  return acc;
@@ -28,5 +28,7 @@ export interface GenerateCssSchematicsSchema extends SchematicOptionObject {
28
28
  renderPrivateVariableTo?: 'sass';
29
29
  /** Prefix to happen to generated Sass variables if generated */
30
30
  prefixPrivate?: string;
31
+ /** Determine if the builder should fail if a missing Design Token reference is detected */
32
+ failOnMissingReference?: boolean;
31
33
  }
32
34
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../builders/generate-css/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACxE,mDAAmD;IACnD,uBAAuB,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE3C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,CAAC;IAEzB,wBAAwB;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,0DAA0D;IAC1D,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../builders/generate-css/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACxE,mDAAmD;IACnD,uBAAuB,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE3C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,CAAC;IAEzB,wBAAwB;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,0DAA0D;IAC1D,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,2FAA2F;IAC3F,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC"}
@@ -59,6 +59,11 @@
59
59
  "sass"
60
60
  ],
61
61
  "description": "Generate the Private Variable to the given language (the variable is not generated if not specified)"
62
+ },
63
+ "failOnMissingReference": {
64
+ "type": "boolean",
65
+ "default": false,
66
+ "description": "Determine if the builder should fail if a missing Design Token reference is detected"
62
67
  }
63
68
  },
64
69
  "additionalProperties": true,
package/collection.json CHANGED
@@ -19,6 +19,14 @@
19
19
  "description": "Extract the Design Token specification from SCSS",
20
20
  "factory": "./schematics/extract-token/index#extractToken",
21
21
  "schema": "./schematics/extract-token/schema.json"
22
+ },
23
+ "design-token-to-component": {
24
+ "description": "Add design token to an Otter component",
25
+ "factory": "./schematics/design-token-to-component/index#ngAddDesignToken",
26
+ "schema": "./schematics/design-token-to-component/schema.json",
27
+ "aliases": [
28
+ "add-design-token"
29
+ ]
22
30
  }
23
31
  }
24
32
  }
package/package.json CHANGED
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "name": "@o3r/design",
3
- "version": "10.0.0-prerelease.11",
3
+ "version": "10.0.0-prerelease.111",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
4
7
  "description": "A design framework to generate theme on an Otter application based on Design Tokens.",
5
8
  "keywords": [
6
9
  "design",
@@ -39,20 +42,21 @@
39
42
  }
40
43
  },
41
44
  "bin": {
42
- "o3r-css-from-design-token": "cli/generate-css-from-design-token.cli.cjs"
45
+ "o3r-css-from-design-token": "./cli/generate-css-from-design-token.cli.cjs"
43
46
  },
44
47
  "dependencies": {
48
+ "jsonschema": "~1.4.1",
45
49
  "minimist": "^1.2.6",
46
50
  "tslib": "^2.5.3"
47
51
  },
48
52
  "peerDependencies": {
49
- "@o3r/core": "^10.0.0-prerelease.11",
50
- "@o3r/schematics": "^10.0.0-prerelease.11",
51
- "@o3r/styling": "^10.0.0-prerelease.11",
53
+ "@o3r/core": "^10.0.0-prerelease.111",
54
+ "@o3r/schematics": "^10.0.0-prerelease.111",
55
+ "@o3r/styling": "^10.0.0-prerelease.111",
52
56
  "chokidar": "^3.5.2",
53
57
  "globby": "^11.1.0",
54
58
  "minimatch": "~9.0.3",
55
- "sass": "~1.69.0"
59
+ "sass": "~1.71.0"
56
60
  },
57
61
  "peerDependenciesMeta": {
58
62
  "@o3r/core": {
@@ -75,58 +79,60 @@
75
79
  }
76
80
  },
77
81
  "devDependencies": {
78
- "@angular-devkit/architect": "~0.1700.3",
79
- "@angular-devkit/build-angular": "~17.0.3",
80
- "@angular-devkit/core": "~17.0.3",
81
- "@angular-devkit/schematics": "~17.0.3",
82
+ "@angular-devkit/architect": "~0.1702.0",
83
+ "@angular-devkit/build-angular": "~17.2.0",
84
+ "@angular-devkit/core": "~17.2.0",
85
+ "@angular-devkit/schematics": "~17.2.0",
82
86
  "@angular-eslint/eslint-plugin": "~17.2.0",
83
- "@angular/cli": "~17.0.3",
84
- "@angular/common": "~17.0.4",
85
- "@angular/compiler": "~17.0.4",
86
- "@angular/compiler-cli": "~17.0.4",
87
- "@angular/core": "~17.0.4",
88
- "@angular/platform-browser": "~17.0.4",
89
- "@angular/platform-browser-dynamic": "~17.0.4",
87
+ "@angular/animations": "~17.2.0",
88
+ "@angular/cli": "~17.2.0",
89
+ "@angular/common": "~17.2.0",
90
+ "@angular/compiler": "~17.2.0",
91
+ "@angular/compiler-cli": "~17.2.0",
92
+ "@angular/core": "~17.2.0",
93
+ "@angular/platform-browser": "~17.2.0",
94
+ "@angular/platform-browser-dynamic": "~17.2.0",
90
95
  "@babel/core": "~7.23.0",
91
96
  "@babel/preset-typescript": "~7.23.0",
92
97
  "@compodoc/compodoc": "^1.1.19",
93
- "@nx/eslint": "~17.2.0",
94
- "@nx/eslint-plugin": "~17.2.0",
95
- "@nx/jest": "~17.2.0",
96
- "@nx/js": "~17.2.0",
97
- "@o3r/build-helpers": "^10.0.0-prerelease.11",
98
- "@o3r/core": "^10.0.0-prerelease.11",
99
- "@o3r/eslint-plugin": "^10.0.0-prerelease.11",
100
- "@o3r/schematics": "^10.0.0-prerelease.11",
101
- "@o3r/styling": "^10.0.0-prerelease.11",
102
- "@o3r/test-helpers": "^10.0.0-prerelease.11",
103
- "@schematics/angular": "~17.0.3",
98
+ "@nx/eslint": "~18.0.2",
99
+ "@nx/eslint-plugin": "~18.0.2",
100
+ "@nx/jest": "~18.0.2",
101
+ "@nx/js": "~18.0.2",
102
+ "@o3r/build-helpers": "^10.0.0-prerelease.111",
103
+ "@o3r/core": "^10.0.0-prerelease.111",
104
+ "@o3r/eslint-plugin": "^10.0.0-prerelease.111",
105
+ "@o3r/schematics": "^10.0.0-prerelease.111",
106
+ "@o3r/styling": "^10.0.0-prerelease.111",
107
+ "@o3r/test-helpers": "^10.0.0-prerelease.111",
108
+ "@schematics/angular": "~17.2.0",
109
+ "@stylistic/eslint-plugin-ts": "^1.5.4",
104
110
  "@types/jest": "~29.5.2",
105
111
  "@types/minimist": "^1.2.2",
106
112
  "@types/node": "^20.0.0",
107
113
  "@types/semver": "^7.3.13",
108
- "@typescript-eslint/eslint-plugin": "^6.19.0",
109
- "@typescript-eslint/parser": "^6.11.0",
114
+ "@typescript-eslint/eslint-plugin": "^7.0.1",
115
+ "@typescript-eslint/parser": "^7.0.1",
110
116
  "chokidar": "^3.5.2",
111
117
  "cpy-cli": "^5.0.0",
112
118
  "eslint": "^8.42.0",
113
119
  "eslint-import-resolver-node": "^0.3.4",
114
- "eslint-plugin-jest": "~27.6.0",
115
- "eslint-plugin-jsdoc": "~48.0.0",
120
+ "eslint-plugin-jest": "~27.9.0",
121
+ "eslint-plugin-jsdoc": "~48.1.0",
116
122
  "eslint-plugin-prefer-arrow": "~1.2.3",
117
- "eslint-plugin-unicorn": "^50.0.0",
123
+ "eslint-plugin-unicorn": "^51.0.0",
118
124
  "globby": "^11.1.0",
119
125
  "jest": "~29.7.0",
120
126
  "jest-junit": "~16.0.0",
121
127
  "jsonc-eslint-parser": "~2.4.0",
122
128
  "jsonschema": "~1.4.1",
123
129
  "minimatch": "~9.0.3",
124
- "nx": "~17.2.0",
130
+ "nx": "~18.0.2",
125
131
  "rxjs": "^7.8.1",
126
- "sass": "~1.69.5",
132
+ "sass": "~1.71.0",
127
133
  "ts-jest": "~29.1.1",
128
134
  "ts-node": "~10.9.1",
129
- "type-fest": "^4.3.1",
135
+ "type-fest": "^4.10.2",
130
136
  "typescript": "~5.2.2",
131
137
  "zone.js": "~0.14.2"
132
138
  },
@@ -0,0 +1,13 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import type { NgAddDesignTokenSchematicsSchema } from './schema';
3
+ /**
4
+ * Add Design Token to an existing component
5
+ * @param options
6
+ */
7
+ export declare function ngAddDesignTokenFn(options: NgAddDesignTokenSchematicsSchema): Rule;
8
+ /**
9
+ * Add Design Token to an existing component
10
+ * @param options
11
+ */
12
+ export declare const ngAddDesignToken: (options: NgAddDesignTokenSchematicsSchema) => Rule;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/design-token-to-component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,IAAI,EAGL,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gCAAgC,GAAG,IAAI,CAelF;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,qDAA4D,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ngAddDesignToken = exports.ngAddDesignTokenFn = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const schematics_2 = require("@o3r/schematics");
6
+ const node_path_1 = require("node:path");
7
+ /**
8
+ * Add Design Token to an existing component
9
+ * @param options
10
+ */
11
+ function ngAddDesignTokenFn(options) {
12
+ const fileName = (0, node_path_1.basename)(options.path.endsWith('.json') ? options.path : `${options.path}.json`);
13
+ const name = fileName.slice(0, fileName.indexOf('.') > -1 ? fileName.indexOf('.') : undefined);
14
+ const createDesignTokenFilesRule = (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./templates'), [
15
+ (0, schematics_1.template)({
16
+ name,
17
+ fileName,
18
+ stylingFile: options.stylePath ? (0, node_path_1.relative)((0, node_path_1.dirname)(options.path), options.stylePath) : undefined
19
+ }),
20
+ (0, schematics_1.renameTemplateFiles)(),
21
+ (0, schematics_1.move)((0, node_path_1.dirname)(options.path))
22
+ ]), schematics_1.MergeStrategy.Overwrite);
23
+ return createDesignTokenFilesRule;
24
+ }
25
+ exports.ngAddDesignTokenFn = ngAddDesignTokenFn;
26
+ /**
27
+ * Add Design Token to an existing component
28
+ * @param options
29
+ */
30
+ exports.ngAddDesignToken = (0, schematics_2.createSchematicWithMetricsIfInstalled)(ngAddDesignTokenFn);
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,8 @@
1
+ import type { SchematicOptionObject } from '@o3r/schematics';
2
+ export interface NgAddDesignTokenSchematicsSchema extends SchematicOptionObject {
3
+ /** Path to the component's design token file */
4
+ path: string;
5
+ /** Path to the Style file to update */
6
+ stylePath?: string;
7
+ }
8
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/design-token-to-component/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,gCAAiC,SAAQ,qBAAqB;IAC7E,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "NgAddDesignTokenSchematicsSchema",
4
+ "title": "Add Otter Design Token to an existing component",
5
+ "description": "Add Otter Design Token to an existing component",
6
+ "properties": {
7
+ "path": {
8
+ "type": "string",
9
+ "description": "Path to the component's Design Token specification file"
10
+ },
11
+ "stylePath": {
12
+ "type": "string",
13
+ "description": "Path to the Style file to update"
14
+ }
15
+ },
16
+ "additionalProperties": true,
17
+ "required": [
18
+ "path"
19
+ ]
20
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/AmadeusITGroup/otter/main/packages/@o3r/design/schemas/design-token.schema.json",
3
+ "<%= name %>": {
4
+ "$extensions": {
5
+ <% if (stylingFile) { %>"o3rTargetFile": "<%= stylingFile %>"<% } %>
6
+ }
7
+ }
8
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/extract-token/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAM7D;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI,CA8FxE"}
@@ -43,13 +43,16 @@ function extractToken(options) {
43
43
  const isPrivate = file.endsWith('theme.scss');
44
44
  const tokenSpecification = variables
45
45
  .reduce((node, variable) => {
46
- const namePath = variable.name.split('-');
46
+ const nameSplit = variable.name.split('-');
47
+ const namePath = options.flattenLevel === undefined
48
+ ? nameSplit
49
+ : [...nameSplit.slice(0, options.flattenLevel), nameSplit.slice(options.flattenLevel).join('.')].filter((item) => !!item);
47
50
  let targetNode = node;
48
51
  namePath.forEach((name) => {
49
52
  targetNode[name] ||= {};
50
53
  targetNode = targetNode[name];
51
54
  });
52
- const valueWithVariable = [...variable.defaultValue.matchAll(/var\(--([^)])\)/g)]
55
+ const valueWithVariable = [...variable.defaultValue.matchAll(/var\(--([^,)]+),?[^)]*\)/g)]
53
56
  .reduce((acc, [variableString, variableName]) => {
54
57
  return acc.replaceAll(variableString, `{${variableName.replaceAll('-', '.')}}`);
55
58
  }, variable.defaultValue);
@@ -75,6 +78,7 @@ function extractToken(options) {
75
78
  designTokenNode.$extensions.o3rPrivate = isPrivate;
76
79
  designTokenNode.$extensions.o3rTargetFile = node_path_1.posix.join('.', node_path_1.posix.basename(file));
77
80
  });
81
+ tokenSpecification.$schema = 'https://raw.githubusercontent.com/AmadeusITGroup/otter/main/packages/@o3r/design/schemas/design-token.schema.json';
78
82
  tree.create(file.replace(/\.scss$/, '.json'), JSON.stringify(tokenSpecification, null, 2));
79
83
  });
80
84
  return () => tree;
@@ -10,5 +10,7 @@ export interface ExtractTokenSchematicsSchema extends SchematicOptionObject {
10
10
  };
11
11
  /** List of file pattern of component theme files */
12
12
  componentFilePatterns: string[];
13
+ /** Level from which to flatten the token nodes */
14
+ flattenLevel?: number;
13
15
  }
14
16
  //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/extract-token/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACzE;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7D,oDAAoD;IACpD,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAEhC,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -34,10 +34,14 @@
34
34
  "items": {
35
35
  "type": "string"
36
36
  }
37
+ },
38
+ "flattenLevel": {
39
+ "description": "Level from which to flatten the token nodes (let it empty to not flatten the token nodes)",
40
+ "type": "number"
37
41
  }
38
42
  },
39
43
  "additionalProperties": true,
40
44
  "required": [
41
- "componentFilePattern"
45
+ "componentFilePatterns"
42
46
  ]
43
47
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "ngAddSchematicsSchema",
4
- "title": "Add Otter Design",
5
- "description": "ngAdd Otter Design",
3
+ "$id": "generateCssSchematicsSchema",
4
+ "title": "Generate CSS from design token",
5
+ "description": "Generate CSS from design token",
6
6
  "properties": {
7
7
  "designTokenFilePatterns": {
8
8
  "description": "Path patterns to the Design Token JSON files",
@@ -1,7 +1,8 @@
1
1
  import { type Rule } from '@angular-devkit/schematics';
2
+ import type { NgAddSchematicsSchema } from './schema';
2
3
  /**
3
4
  * Add Otter design to an Angular Project
4
5
  * @param options
5
6
  */
6
- export declare function ngAdd(): Rule;
7
+ export declare function ngAdd(options: NgAddSchematicsSchema): Rule;
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAI9D;;;GAGG;AACH,wBAAgB,KAAK,IAAI,IAAI,CAM5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKtD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAwB1D"}
@@ -3,16 +3,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ngAdd = void 0;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
5
  const register_generate_css_1 = require("./register-generate-css");
6
- const _extract_token_1 = require("../ extract-token");
6
+ const extract_token_1 = require("../extract-token");
7
+ const schematics_2 = require("@o3r/schematics");
8
+ const path = require("node:path");
9
+ const packageJsonPath = path.resolve(__dirname, '..', '..', 'package.json');
7
10
  /**
8
11
  * Add Otter design to an Angular Project
9
12
  * @param options
10
13
  */
11
- function ngAdd() {
14
+ function ngAdd(options) {
12
15
  /* ng add rules */
13
- return (0, schematics_1.chain)([
16
+ return (tree) => (0, schematics_1.chain)([
14
17
  (0, register_generate_css_1.registerGenerateCssBuilder)(),
15
- (0, _extract_token_1.extractToken)({ componentFilePatterns: ['**/*.scss'], includeTags: true })
18
+ (0, schematics_2.setupSchematicsDefaultParams)({
19
+ // eslint-disable-next-line @typescript-eslint/naming-convention
20
+ '@o3r/core:component': {
21
+ useOtterDesignToken: true
22
+ },
23
+ // eslint-disable-next-line @typescript-eslint/naming-convention
24
+ '@o3r/core:component-presenter': {
25
+ useOtterDesignToken: true
26
+ },
27
+ // eslint-disable-next-line @typescript-eslint/naming-convention
28
+ '*:*': {
29
+ useOtterDesignToken: true
30
+ }
31
+ }),
32
+ (0, schematics_2.setupDependencies)({
33
+ projectName: options.projectName,
34
+ dependencies: (0, schematics_2.getPackageInstallConfig)(packageJsonPath, tree, options.projectName)
35
+ }),
36
+ options.extractDesignToken ? (0, extract_token_1.extractToken)({ componentFilePatterns: ['**/*.scss'], includeTags: true }) : schematics_1.noop
16
37
  ]);
17
38
  }
18
39
  exports.ngAdd = ngAdd;
@@ -1 +1 @@
1
- {"version":3,"file":"register-task.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-add/register-generate-css/register-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqE,KAAK,IAAI,EAAiB,MAAM,4BAA4B,CAAC;AAKzI;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,iBAAkB,MAAM,wBAA8B,IAmD5F,CAAC"}
1
+ {"version":3,"file":"register-task.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-add/register-generate-css/register-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqE,KAAK,IAAI,EAAiB,MAAM,4BAA4B,CAAC;AAKzI;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,iBAAkB,MAAM,wBAA8B,IAyD5F,CAAC"}
@@ -14,7 +14,7 @@ const registerGenerateCssBuilder = (projectName, taskName = 'generate-css') => {
14
14
  const workspaceProject = projectName ? (0, schematics_2.getWorkspaceConfig)(tree)?.projects[projectName] : undefined;
15
15
  const srcBasePath = workspaceProject?.sourceRoot || (workspaceProject?.root ? node_path_1.posix.resolve(workspaceProject.root, 'src') : '');
16
16
  const themeFile = node_path_1.posix.resolve(srcBasePath, 'style', 'theme.scss');
17
- const taskParameters = {
17
+ const taskOptions = {
18
18
  defaultStyleFile: themeFile,
19
19
  renderPrivateVariableTo: 'sass',
20
20
  designTokenFilePatterns: [
@@ -22,6 +22,12 @@ const registerGenerateCssBuilder = (projectName, taskName = 'generate-css') => {
22
22
  `${node_path_1.posix.resolve(srcBasePath, '**', '*.theme.json')}`
23
23
  ]
24
24
  };
25
+ const taskParameters = {
26
+ options: taskOptions,
27
+ configuration: {
28
+ watch: { watch: true }
29
+ }
30
+ };
25
31
  if (!workspaceProject) {
26
32
  logger.warn(`No angular.json found, the task ${taskName} will not be created`);
27
33
  return tree;
@@ -2,5 +2,7 @@ import type { SchematicOptionObject } from '@o3r/schematics';
2
2
  export interface NgAddSchematicsSchema extends SchematicOptionObject {
3
3
  /** Project name */
4
4
  projectName?: string | undefined;
5
+ /** Extract the design token from Sass file in the project */
6
+ extractDesignToken?: boolean;
5
7
  }
6
8
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
@@ -10,6 +10,10 @@
10
10
  "$default": {
11
11
  "$source": "projectName"
12
12
  }
13
+ },
14
+ "extractDesignToken": {
15
+ "type": "boolean",
16
+ "description": "Extract the design token from Sass file in the project"
13
17
  }
14
18
  },
15
19
  "additionalProperties": true,
@@ -5,6 +5,13 @@ export interface DesignTokenMetadata {
5
5
  label?: string;
6
6
  /** Name of a group of variables */
7
7
  category?: string;
8
+ /** Component reference if the variable is linked to one */
9
+ component?: {
10
+ /** Name of the component */
11
+ name: string;
12
+ /** Name of the library containing the component */
13
+ library: string;
14
+ };
8
15
  }
9
16
  /** Design Token Group Extension fields supported by the default renderer */
10
17
  export interface DesignTokenGroupExtensions {
@@ -1 +1 @@
1
- {"version":3,"file":"design-token-specification.interface.d.ts","sourceRoot":"","sources":["../../../../src/core/design-token/design-token-specification.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design-token-specification.interface.d.ts","sourceRoot":"","sources":["../../../../src/core/design-token/design-token-specification.interface.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"design-token-specification.interface.js","sourceRoot":"","sources":["../../../../src/core/design-token/design-token-specification.interface.ts"],"names":[],"mappings":";;;AAsOA;;;GAGG;AACI,MAAM,aAAa,GAAG,CAAC,IAAU,EAAuB,EAAE;IAC/D,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;AAC1F,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAA4B,EAAE;IACzE,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AAEF;;;;GAIG;AACH,6EAA6E;AACtE,MAAM,kCAAkC,GAAG,CAAC,KAAgD,EAAmD,EAAE;IACtJ,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AAC9C,CAAC,CAAC;AAFW,QAAA,kCAAkC,sCAE7C;AAEF;;;;GAIG;AACI,MAAM,6BAA6B,GAAG,CAAC,IAAiC,EAA8E,EAAE;IAC7J,OAAO,CAAC,CAAC,IAAI,IAAI,IAAA,0CAAkC,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnE,CAAC,CAAC;AAFW,QAAA,6BAA6B,iCAExC"}
1
+ {"version":3,"file":"design-token-specification.interface.js","sourceRoot":"","sources":["../../../../src/core/design-token/design-token-specification.interface.ts"],"names":[],"mappings":";;;AA6OA;;;GAGG;AACI,MAAM,aAAa,GAAG,CAAC,IAAU,EAAuB,EAAE;IAC/D,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;AAC1F,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAA4B,EAAE;IACzE,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AAEF;;;;GAIG;AACH,6EAA6E;AACtE,MAAM,kCAAkC,GAAG,CAAC,KAAgD,EAAmD,EAAE;IACtJ,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AAC9C,CAAC,CAAC;AAFW,QAAA,kCAAkC,sCAE7C;AAEF;;;;GAIG;AACI,MAAM,6BAA6B,GAAG,CAAC,IAAiC,EAA8E,EAAE;IAC7J,OAAO,CAAC,CAAC,IAAI,IAAI,IAAA,0CAAkC,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnE,CAAC,CAAC;AAFW,QAAA,6BAA6B,iCAExC"}
@@ -10,8 +10,27 @@ export interface ParentReference {
10
10
  * Function rendering the Design Token Value
11
11
  * @param tokenStructure Parsed Design Token
12
12
  * @param variableSet Complete list of the parsed Design Token
13
+ * @param enforceReferenceRendering Renderer the variable as reference
13
14
  */
14
- export type TokenValueRenderer = (tokenStructure: DesignTokenVariableStructure, variableSet: Map<string, DesignTokenVariableStructure>) => string;
15
+ export type TokenValueRenderer = (tokenStructure: DesignTokenVariableStructure, variableSet: Map<string, DesignTokenVariableStructure>, enforceReferenceRendering?: boolean) => string;
16
+ /**
17
+ * Function rendering the Design Token Reference
18
+ * @param tokenStructure Parsed Design Token
19
+ * @param variableSet Complete list of the parsed Design Token
20
+ */
21
+ export type TokenReferenceRender = (tokenStructure: DesignTokenVariableStructure, variableSet: Map<string, DesignTokenVariableStructure>) => string;
22
+ /**
23
+ * Function rendering the Design Token Reference not registered
24
+ * @param referenceName Name of the un registered variable
25
+ * @param variableSet Complete list of the parsed Design Token
26
+ */
27
+ export type UnregisteredTokenReferenceRender = (referenceName: string, variableSet: Map<string, DesignTokenVariableStructure>) => string;
28
+ /**
29
+ * Function rendering the Design Token Reference
30
+ * @param tokenStructure Parsed Design Token
31
+ * @param variableSet Complete list of the parsed Design Token
32
+ */
33
+ export type TokenReferenceRenderer = (tokenStructure: DesignTokenVariableStructure, variableSet: Map<string, DesignTokenVariableStructure>) => string;
15
34
  /**
16
35
  * Function rendering the Design Token Key
17
36
  * @param tokenStructure Parsed Design Token
@@ -1 +1 @@
1
- {"version":3,"file":"design-token-parser.interface.d.ts","sourceRoot":"","sources":["../../../../../src/core/design-token/parsers/design-token-parser.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAEpK,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED;;;;GAIG;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,4BAA4B,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,KAAK,MAAM,CAAC;AAElJ;;;GAGG;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,cAAc,EAAE,4BAA4B,KAAK,MAAM,CAAC;AAExF,+CAA+C;AAE/C,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;AAE/E,mCAAmC;AACnC,MAAM,WAAW,4BAA4B;IAC3C,6EAA6E;IAC7E,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,6BAA6B;IAC7B,UAAU,EAAE,0BAA0B,GAAG,qBAAqB,CAAC;IAC/D,yCAAyC;IACzC,IAAI,EAAE,WAAW,CAAC;IAClB,sCAAsC;IACtC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;OAGG;IACH,aAAa,EAAE,CAAC,WAAW,CAAC,EAAE,sBAAsB,KAAK,MAAM,EAAE,CAAC;IAClE;;;OAGG;IACH,cAAc,EAAE,CAAC,WAAW,CAAC,EAAE,sBAAsB,KAAK,MAAM,CAAC;IACjE;;;OAGG;IACH,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,sBAAsB,KAAK,OAAO,CAAC;IAC9D;;;;OAIG;IACH,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,sBAAsB,EAAE,eAAe,CAAC,EAAE,OAAO,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC;IACnG;;;OAGG;IACH,iBAAiB,EAAE,CAAC,WAAW,CAAC,EAAE,sBAAsB,KAAK,4BAA4B,EAAE,CAAC;IAC5F;;;OAGG;IACH,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC;CACpD"}
1
+ {"version":3,"file":"design-token-parser.interface.d.ts","sourceRoot":"","sources":["../../../../../src/core/design-token/parsers/design-token-parser.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAEpK,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED;;;;;GAKG;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,4BAA4B,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,EAAE,yBAAyB,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;AAEvL;;;;GAIG;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,cAAc,EAAE,4BAA4B,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,KAAK,MAAM,CAAC;AAEpJ;;;;GAIG;AAEH,MAAM,MAAM,gCAAgC,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,KAAK,MAAM,CAAC;AAEzI;;;;GAIG;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,cAAc,EAAE,4BAA4B,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,KAAK,MAAM,CAAC;AAGtJ;;;GAGG;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,cAAc,EAAE,4BAA4B,KAAK,MAAM,CAAC;AAExF,+CAA+C;AAE/C,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;AAE/E,mCAAmC;AACnC,MAAM,WAAW,4BAA4B;IAC3C,6EAA6E;IAC7E,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,6BAA6B;IAC7B,UAAU,EAAE,0BAA0B,GAAG,qBAAqB,CAAC;IAC/D,yCAAyC;IACzC,IAAI,EAAE,WAAW,CAAC;IAClB,sCAAsC;IACtC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;OAGG;IACH,aAAa,EAAE,CAAC,WAAW,CAAC,EAAE,sBAAsB,KAAK,MAAM,EAAE,CAAC;IAClE;;;OAGG;IACH,cAAc,EAAE,CAAC,WAAW,CAAC,EAAE,sBAAsB,KAAK,MAAM,CAAC;IACjE;;;OAGG;IACH,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,sBAAsB,KAAK,OAAO,CAAC;IAC9D;;;;OAIG;IACH,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,sBAAsB,EAAE,eAAe,CAAC,EAAE,OAAO,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC;IACnG;;;OAGG;IACH,iBAAiB,EAAE,CAAC,WAAW,CAAC,EAAE,sBAAsB,KAAK,4BAA4B,EAAE,CAAC;IAC5F;;;OAGG;IACH,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC;CACpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"design-token.parser.d.ts","sourceRoot":"","sources":["../../../../../src/core/design-token/parsers/design-token.parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAiD,MAAM,iCAAiC,CAAC;AAC7H,OAAO,KAAK,EAEV,kBAAkB,EAKlB,wBAAwB,EACzB,MAAM,yCAAyC,CAAC;AA4IjD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,kBAAmB,wBAAwB,2BAEvE,CAAC;AAEF,UAAU,2BAA2B;IACnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1D,yHAAyH;IACzH,oBAAoB,CAAC,EAAE,kBAAkB,CAAC;CAC3C;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,0BAAiC,MAAM,YAAY,2BAA2B,oCAM9G,CAAC"}
1
+ {"version":3,"file":"design-token.parser.d.ts","sourceRoot":"","sources":["../../../../../src/core/design-token/parsers/design-token.parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAiD,MAAM,iCAAiC,CAAC;AAC7H,OAAO,KAAK,EAEV,kBAAkB,EAKlB,wBAAwB,EACzB,MAAM,yCAAyC,CAAC;AA6IjD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,kBAAmB,wBAAwB,2BAEvE,CAAC;AAEF,UAAU,2BAA2B;IACnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1D,yHAAyH;IACzH,oBAAoB,CAAC,EAAE,kBAAkB,CAAC;CAC3C;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,0BAAiC,MAAM,YAAY,2BAA2B,oCAM9G,CAAC"}
@@ -6,7 +6,12 @@ const design_token_specification_interface_1 = require("../design-token-specific
6
6
  const node_path_1 = require("node:path");
7
7
  const tokenReferenceRegExp = /\{([^}]+)\}/g;
8
8
  const getTokenReferenceName = (tokenName, parents) => (`${parents.join('.')}.${tokenName}`);
9
- const getExtensions = (parentNode) => parentNode.reduce((acc, node) => ({ ...acc, ...node.$extensions }), {});
9
+ const getExtensions = (parentNode) => {
10
+ return parentNode.reduce((acc, node) => {
11
+ const o3rMetadata = { ...acc.o3rMetadata, ...node.$extensions?.o3rMetadata };
12
+ return ({ ...acc, ...node.$extensions, o3rMetadata });
13
+ }, {});
14
+ };
10
15
  const getReferences = (cssRawValue) => Array.from(cssRawValue.matchAll(tokenReferenceRegExp)).map(([, tokenRef]) => tokenRef);
11
16
  // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
12
17
  const renderCssTypeStrokeStyleValue = (value) => (0, design_token_specification_interface_1.isTokenTypeStrokeStyleValueComplex)(value) ? `${value.lineCap} ${value.dashArray.join(' ')}` : value;
@@ -94,12 +99,8 @@ const walkThroughDesignTokenNodes = (node, context, ancestors, mem, nodeName) =>
94
99
  },
95
100
  getReferencesNode: function (variableSet = mem) {
96
101
  return this.getReferences(variableSet)
97
- .map((ref) => {
98
- if (!variableSet.has(ref)) {
99
- throw new Error(`Reference to ${ref} not found`);
100
- }
101
- return variableSet.get(ref);
102
- });
102
+ .filter((ref) => variableSet.has(ref))
103
+ .map((ref) => variableSet.get(ref));
103
104
  },
104
105
  getType: function (variableSet = mem, followReference = true) {
105
106
  return node.$type ||
@@ -1 +1 @@
1
- {"version":3,"file":"design-token.parser.js","sourceRoot":"","sources":["../../../../../src/core/design-token/parsers/design-token.parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design-token.parser.js","sourceRoot":"","sources":["../../../../../src/core/design-token/parsers/design-token.parser.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { DesignTokenVariableStructure, TokenKeyRenderer, TokenValueRenderer } from '../../parsers/design-token-parser.interface';
2
2
  import { TokenDefinitionRenderer } from '../design-token.renderer.interface';
3
+ import type { Logger } from '@o3r/core';
3
4
  /** Options for {@link CssTokenDefinitionRendererOptions} */
4
5
  export interface CssTokenDefinitionRendererOptions {
5
6
  /**
@@ -18,6 +19,11 @@ export interface CssTokenDefinitionRendererOptions {
18
19
  * The private variable will not be rendered if not provided
19
20
  */
20
21
  privateDefinitionRenderer?: TokenDefinitionRenderer;
22
+ /**
23
+ * Custom logger
24
+ * Nothing will be logged if not provided
25
+ */
26
+ logger?: Logger;
21
27
  }
22
28
  /**
23
29
  * Retrieve the Design Token variable renderer for CSS
@@ -1 +1 @@
1
- {"version":3,"file":"design-token-definition.renderers.d.ts","sourceRoot":"","sources":["../../../../../../src/core/design-token/renderers/css/design-token-definition.renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEtI,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAG7E,4DAA4D;AAC5D,MAAM,WAAW,iCAAiC;IAChD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,4BAA4B,KAAK,OAAO,CAAC;IAExE,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC;;OAEG;IACH,yBAAyB,CAAC,EAAE,gBAAgB,CAAC;IAE7C;;;OAGG;IACH,yBAAyB,CAAC,EAAE,uBAAuB,CAAC;CACrD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,6BAA6B,aAAc,iCAAiC,KAAG,uBAqB3F,CAAC"}
1
+ {"version":3,"file":"design-token-definition.renderers.d.ts","sourceRoot":"","sources":["../../../../../../src/core/design-token/renderers/css/design-token-definition.renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEtI,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,4DAA4D;AAC5D,MAAM,WAAW,iCAAiC;IAChD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,4BAA4B,KAAK,OAAO,CAAC;IAExE,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC;;OAEG;IACH,yBAAyB,CAAC,EAAE,gBAAgB,CAAC;IAE7C;;;OAGG;IACH,yBAAyB,CAAC,EAAE,uBAAuB,CAAC;IAEpD;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,6BAA6B,aAAc,iCAAiC,KAAG,uBAqB3F,CAAC"}
@@ -30,7 +30,7 @@ const design_token_value_renderers_1 = require("./design-token-value.renderers")
30
30
  const getCssTokenDefinitionRenderer = (options) => {
31
31
  const isPrivateVariable = options?.isPrivateVariable || design_token_renderer_helpers_1.isO3rPrivateVariable;
32
32
  const tokenVariableNameRenderer = options?.tokenVariableNameRenderer;
33
- const tokenValueRenderer = options?.tokenValueRenderer || (0, design_token_value_renderers_1.getCssTokenValueRenderer)({ isPrivateVariable, tokenVariableNameRenderer });
33
+ const tokenValueRenderer = options?.tokenValueRenderer || (0, design_token_value_renderers_1.getCssTokenValueRenderer)({ isPrivateVariable, tokenVariableNameRenderer, logger: options?.logger });
34
34
  const renderer = (variable, variableSet) => {
35
35
  let variableString;
36
36
  if (!isPrivateVariable(variable)) {
@@ -1 +1 @@
1
- {"version":3,"file":"design-token-definition.renderers.js","sourceRoot":"","sources":["../../../../../../src/core/design-token/renderers/css/design-token-definition.renderers.ts"],"names":[],"mappings":";;;AACA,oFAAwE;AAExE,iFAA0E;AAyB1E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,MAAM,6BAA6B,GAAG,CAAC,OAA2C,EAA2B,EAAE;IACpH,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,IAAI,oDAAoB,CAAC;IAC7E,MAAM,yBAAyB,GAAG,OAAO,EAAE,yBAAyB,CAAC;IACrE,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,IAAI,IAAA,uDAAwB,EAAC,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAErI,MAAM,QAAQ,GAAG,CAAC,QAAsC,EAAE,WAAsD,EAAE,EAAE;QAClH,IAAI,cAAkC,CAAC;QACvC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YAChC,cAAc,GAAG,KAAK,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC;YAClH,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAChC,cAAc,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,MAAM,cAAc,IAAI,CAAC;aAC1E;SACF;aAAM,IAAI,OAAO,EAAE,yBAAyB,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE;YAC/E,cAAc,GAAG,OAAO,CAAC,yBAAyB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;SAC3E;QACD,IAAI,cAAc,IAAI,QAAQ,CAAC,WAAW,EAAE;YAC1C,cAAc,GAAG,MAAM,QAAQ,CAAC,WAAW,QAAQ,cAAc,EAAE,CAAC;SACrE;QACD,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AArBW,QAAA,6BAA6B,iCAqBxC"}
1
+ {"version":3,"file":"design-token-definition.renderers.js","sourceRoot":"","sources":["../../../../../../src/core/design-token/renderers/css/design-token-definition.renderers.ts"],"names":[],"mappings":";;;AACA,oFAAwE;AAExE,iFAA0E;AAgC1E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,MAAM,6BAA6B,GAAG,CAAC,OAA2C,EAA2B,EAAE;IACpH,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,IAAI,oDAAoB,CAAC;IAC7E,MAAM,yBAAyB,GAAG,OAAO,EAAE,yBAAyB,CAAC;IACrE,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,IAAI,IAAA,uDAAwB,EAAC,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9J,MAAM,QAAQ,GAAG,CAAC,QAAsC,EAAE,WAAsD,EAAE,EAAE;QAClH,IAAI,cAAkC,CAAC;QACvC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YAChC,cAAc,GAAG,KAAK,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC;YAClH,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAChC,cAAc,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,MAAM,cAAc,IAAI,CAAC;aAC1E;SACF;aAAM,IAAI,OAAO,EAAE,yBAAyB,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE;YAC/E,cAAc,GAAG,OAAO,CAAC,yBAAyB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;SAC3E;QACD,IAAI,cAAc,IAAI,QAAQ,CAAC,WAAW,EAAE;YAC1C,cAAc,GAAG,MAAM,QAAQ,CAAC,WAAW,QAAQ,cAAc,EAAE,CAAC;SACrE;QACD,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AArBW,QAAA,6BAA6B,iCAqBxC"}
@@ -1,4 +1,5 @@
1
- import type { DesignTokenVariableStructure, TokenKeyRenderer, TokenValueRenderer } from '../../parsers/design-token-parser.interface';
1
+ import type { DesignTokenVariableStructure, TokenKeyRenderer, TokenReferenceRender, TokenValueRenderer, UnregisteredTokenReferenceRender } from '../../parsers/design-token-parser.interface';
2
+ import type { Logger } from '@o3r/core';
2
3
  /** Options for {@link getCssTokenValueRenderer} */
3
4
  export interface CssTokenValueRendererOptions {
4
5
  /**
@@ -10,10 +11,28 @@ export interface CssTokenValueRendererOptions {
10
11
  * Renderer the name of the CSS Variable (without initial --)
11
12
  */
12
13
  tokenVariableNameRenderer?: TokenKeyRenderer;
14
+ /**
15
+ * Render for the reference to Design Token
16
+ */
17
+ referenceRenderer?: TokenReferenceRender;
18
+ /**
19
+ * Render for the reference to unregistered Design Token
20
+ * Note: the default renderer display a warning message when called
21
+ */
22
+ unregisteredReferenceRenderer?: UnregisteredTokenReferenceRender;
23
+ /**
24
+ * Custom logger
25
+ * Nothing will be logged if not provided
26
+ */
27
+ logger?: Logger;
13
28
  }
14
29
  /**
15
30
  * Retrieve the Design Token value renderer
16
31
  * @param options
32
+ * @example Throw on unregistered Design Token reference
33
+ * ```typescript
34
+ * getCssTokenValueRenderer({ unregisteredReferenceRenderer: (varName) => { throw new Error(`var ${varName} not registered`) } })
35
+ * ```
17
36
  */
18
37
  export declare const getCssTokenValueRenderer: (options?: CssTokenValueRendererOptions) => TokenValueRenderer;
19
38
  //# sourceMappingURL=design-token-value.renderers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-token-value.renderers.d.ts","sourceRoot":"","sources":["../../../../../../src/core/design-token/renderers/css/design-token-value.renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAGtI,mDAAmD;AACnD,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,4BAA4B,KAAK,OAAO,CAAC;IAExE;;OAEG;IACH,yBAAyB,CAAC,EAAE,gBAAgB,CAAC;CAC9C;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,aAAc,4BAA4B,KAAG,kBAoBjF,CAAC"}
1
+ {"version":3,"file":"design-token-value.renderers.d.ts","sourceRoot":"","sources":["../../../../../../src/core/design-token/renderers/css/design-token-value.renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,gCAAgC,EAAE,MAAM,6CAA6C,CAAC;AAE9L,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,mDAAmD;AACnD,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,4BAA4B,KAAK,OAAO,CAAC;IAExE;;OAEG;IACH,yBAAyB,CAAC,EAAE,gBAAgB,CAAC;IAE7C;;OAEG;IACH,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;IAEzC;;;OAGG;IACH,6BAA6B,CAAC,EAAE,gCAAgC,CAAC;IAEjE;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,aAAc,4BAA4B,KAAG,kBA8BjF,CAAC"}
@@ -5,11 +5,15 @@ const design_token_renderer_helpers_1 = require("../design-token.renderer.helper
5
5
  /**
6
6
  * Retrieve the Design Token value renderer
7
7
  * @param options
8
+ * @example Throw on unregistered Design Token reference
9
+ * ```typescript
10
+ * getCssTokenValueRenderer({ unregisteredReferenceRenderer: (varName) => { throw new Error(`var ${varName} not registered`) } })
11
+ * ```
8
12
  */
9
13
  const getCssTokenValueRenderer = (options) => {
10
14
  const isPrivateVariable = options?.isPrivateVariable || design_token_renderer_helpers_1.isO3rPrivateVariable;
11
15
  const tokenVariableNameRenderer = options?.tokenVariableNameRenderer;
12
- const referenceRenderer = (variable, variableSet) => {
16
+ const defaultReferenceRenderer = (variable, variableSet) => {
13
17
  if (!isPrivateVariable(variable)) {
14
18
  return `var(--${variable.getKey(tokenVariableNameRenderer)})`;
15
19
  }
@@ -18,8 +22,15 @@ const getCssTokenValueRenderer = (options) => {
18
22
  return `var(--${variable.getKey(tokenVariableNameRenderer)}, ${renderer(variable, variableSet)})`;
19
23
  }
20
24
  };
21
- const renderer = (variable, variableSet) => {
22
- let variableValue = variable.getCssRawValue(variableSet).replaceAll(/\{([^}]*)\}/g, (defaultValue, matcher) => (variableSet.has(matcher) ? referenceRenderer(variableSet.get(matcher), variableSet) : defaultValue));
25
+ const defaultUnregisteredReferenceRenderer = (variableName, _variableSet) => {
26
+ const cssVarName = `var(--${variableName.replace(/[. ]+/g, '-')})`;
27
+ options?.logger?.debug?.(`Variable "${variableName}" not registered, will be renderer as "${cssVarName}"`);
28
+ return cssVarName;
29
+ };
30
+ const referenceRenderer = options?.referenceRenderer || defaultReferenceRenderer;
31
+ const unregisteredReferenceRenderer = options?.unregisteredReferenceRenderer || defaultUnregisteredReferenceRenderer;
32
+ const renderer = (variable, variableSet, enforceReferenceRendering = false) => {
33
+ let variableValue = enforceReferenceRendering ? referenceRenderer(variable, variableSet) : variable.getCssRawValue(variableSet).replaceAll(/\{([^}]*)\}/g, (_defaultValue, matcher) => (variableSet.has(matcher) ? referenceRenderer(variableSet.get(matcher), variableSet) : unregisteredReferenceRenderer(matcher, variableSet)));
23
34
  variableValue += variableValue && variable.extensions.o3rImportant ? ' !important' : '';
24
35
  return variableValue;
25
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"design-token-value.renderers.js","sourceRoot":"","sources":["../../../../../../src/core/design-token/renderers/css/design-token-value.renderers.ts"],"names":[],"mappings":";;;AACA,oFAAwE;AAgBxE;;;GAGG;AACI,MAAM,wBAAwB,GAAG,CAAC,OAAsC,EAAsB,EAAE;IACrG,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,IAAI,oDAAoB,CAAC;IAC7E,MAAM,yBAAyB,GAAG,OAAO,EAAE,yBAAyB,CAAC;IAErE,MAAM,iBAAiB,GAAG,CAAC,QAAsC,EAAE,WAAsD,EAAU,EAAE;QACnI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YAChC,OAAO,SAAS,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC;SAC/D;aAAM;YACL,gDAAgD;YAChD,OAAO,SAAS,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC;SACnG;IACH,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,QAAsC,EAAE,WAAsD,EAAE,EAAE;QAClH,IAAI,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,CAC5G,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CACtG,CAAC;QACF,aAAa,IAAI,aAAa,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AApBW,QAAA,wBAAwB,4BAoBnC"}
1
+ {"version":3,"file":"design-token-value.renderers.js","sourceRoot":"","sources":["../../../../../../src/core/design-token/renderers/css/design-token-value.renderers.ts"],"names":[],"mappings":";;;AACA,oFAAwE;AAkCxE;;;;;;;GAOG;AACI,MAAM,wBAAwB,GAAG,CAAC,OAAsC,EAAsB,EAAE;IACrG,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,IAAI,oDAAoB,CAAC;IAC7E,MAAM,yBAAyB,GAAG,OAAO,EAAE,yBAAyB,CAAC;IAErE,MAAM,wBAAwB,GAAG,CAAC,QAAsC,EAAE,WAAsD,EAAU,EAAE;QAC1I,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YAChC,OAAO,SAAS,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC;SAC/D;aAAM;YACL,gDAAgD;YAChD,OAAO,SAAS,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC;SACnG;IACH,CAAC,CAAC;IAEF,MAAM,oCAAoC,GAAG,CAAC,YAAoB,EAAE,YAAuD,EAAU,EAAE;QACrI,MAAM,UAAU,GAAG,SAAS,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC;QACnE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,aAAa,YAAY,0CAA0C,UAAU,GAAG,CAAC,CAAC;QAC3G,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,CAAC;IACjF,MAAM,6BAA6B,GAAG,OAAO,EAAE,6BAA6B,IAAI,oCAAoC,CAAC;IAErH,MAAM,QAAQ,GAAG,CAAC,QAAsC,EAAE,WAAsD,EAAE,yBAAyB,GAAG,KAAK,EAAE,EAAE;QACrJ,IAAI,aAAa,GAAG,yBAAyB,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,aAAa,EAAE,OAAe,EAAE,EAAE,CAC5L,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAC7I,CAAC;QACF,aAAa,IAAI,aAAa,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA9BW,QAAA,wBAAwB,4BA8BnC"}
@@ -1,5 +1,6 @@
1
1
  import type { TokenKeyRenderer, TokenValueRenderer } from '../../parsers/design-token-parser.interface';
2
2
  import type { TokenDefinitionRenderer } from '../design-token.renderer.interface';
3
+ import type { Logger } from '@o3r/core';
3
4
  export interface SassTokenDefinitionRendererOptions {
4
5
  /** Custom Design Token value renderer */
5
6
  tokenValueRenderer?: TokenValueRenderer;
@@ -8,6 +9,11 @@ export interface SassTokenDefinitionRendererOptions {
8
9
  * @default {@see tokenVariableNameSassRenderer}
9
10
  */
10
11
  tokenVariableNameRenderer?: TokenKeyRenderer;
12
+ /**
13
+ * Custom logger
14
+ * Nothing will be logged if not provided
15
+ */
16
+ logger?: Logger;
11
17
  }
12
18
  /**
13
19
  * Default Sass variable name renderer
@@ -1 +1 @@
1
- {"version":3,"file":"design-token-definition.renderers.d.ts","sourceRoot":"","sources":["../../../../../../src/core/design-token/renderers/sass/design-token-definition.renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACtI,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAGlF,MAAM,WAAW,kCAAkC;IAEjD,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,gBAAgB,CAAC;CAC9C;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,gBAG3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,aAAc,kCAAkC,KAAG,uBAQ7F,CAAC"}
1
+ {"version":3,"file":"design-token-definition.renderers.d.ts","sourceRoot":"","sources":["../../../../../../src/core/design-token/renderers/sass/design-token-definition.renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACtI,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAElF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,kCAAkC;IAEjD,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,gBAAgB,CAAC;IAE7C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,gBAE3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,aAAc,kCAAkC,KAAG,uBAQ7F,CAAC"}
@@ -7,8 +7,7 @@ const design_token_value_renderers_1 = require("../css/design-token-value.render
7
7
  * @param variable
8
8
  */
9
9
  const tokenVariableNameSassRenderer = (variable) => {
10
- const tokens = variable.getKey().split('-');
11
- return tokens[0] + tokens.slice(1).map((token) => token.charAt(0).toUpperCase() + token.slice(1)).join('');
10
+ return variable.getKey();
12
11
  };
13
12
  exports.tokenVariableNameSassRenderer = tokenVariableNameSassRenderer;
14
13
  /**
@@ -17,10 +16,10 @@ exports.tokenVariableNameSassRenderer = tokenVariableNameSassRenderer;
17
16
  * @returns
18
17
  */
19
18
  const getSassTokenDefinitionRenderer = (options) => {
20
- const tokenValueRenderer = options?.tokenValueRenderer || (0, design_token_value_renderers_1.getCssTokenValueRenderer)();
19
+ const tokenValueRenderer = options?.tokenValueRenderer || (0, design_token_value_renderers_1.getCssTokenValueRenderer)({ logger: options?.logger });
21
20
  const keyRenderer = options?.tokenVariableNameRenderer || exports.tokenVariableNameSassRenderer;
22
21
  const renderer = (variable, variableSet) => {
23
- return `$${variable.getKey(keyRenderer)}: ${tokenValueRenderer(variable, variableSet)};`;
22
+ return `$${variable.getKey(keyRenderer)}: ${tokenValueRenderer(variable, variableSet, true)};`;
24
23
  };
25
24
  return renderer;
26
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"design-token-definition.renderers.js","sourceRoot":"","sources":["../../../../../../src/core/design-token/renderers/sass/design-token-definition.renderers.ts"],"names":[],"mappings":";;;AAEA,sFAA+E;AAc/E;;;GAGG;AACI,MAAM,6BAA6B,GAAqB,CAAC,QAAQ,EAAE,EAAE;IAC1E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7G,CAAC,CAAC;AAHW,QAAA,6BAA6B,iCAGxC;AAEF;;;;GAIG;AACI,MAAM,8BAA8B,GAAG,CAAC,OAA4C,EAA2B,EAAE;IACtH,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,IAAI,IAAA,uDAAwB,GAAE,CAAC;IACrF,MAAM,WAAW,GAAG,OAAO,EAAE,yBAAyB,IAAI,qCAA6B,CAAC;IAExF,MAAM,QAAQ,GAAG,CAAC,QAAsC,EAAE,WAAsD,EAAE,EAAE;QAClH,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,KAAM,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAE,GAAG,CAAC;IAC7F,CAAC,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AARW,QAAA,8BAA8B,kCAQzC"}
1
+ {"version":3,"file":"design-token-definition.renderers.js","sourceRoot":"","sources":["../../../../../../src/core/design-token/renderers/sass/design-token-definition.renderers.ts"],"names":[],"mappings":";;;AAEA,sFAA+E;AAqB/E;;;GAGG;AACI,MAAM,6BAA6B,GAAqB,CAAC,QAAQ,EAAE,EAAE;IAC1E,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC3B,CAAC,CAAC;AAFW,QAAA,6BAA6B,iCAExC;AAEF;;;;GAIG;AACI,MAAM,8BAA8B,GAAG,CAAC,OAA4C,EAA2B,EAAE;IACtH,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,IAAI,IAAA,uDAAwB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAChH,MAAM,WAAW,GAAG,OAAO,EAAE,yBAAyB,IAAI,qCAA6B,CAAC;IAExF,MAAM,QAAQ,GAAG,CAAC,QAAsC,EAAE,WAAsD,EAAE,EAAE;QAClH,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,KAAM,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAE,GAAG,CAAC;IACnG,CAAC,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AARW,QAAA,8BAA8B,kCAQzC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ extract-token/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAM7D;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI,CA0FxE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/ extract-token/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACzE;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7D,oDAAoD;IACpD,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC"}