@o3r/design 11.0.0-next.0 → 11.0.0-next.2
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/README.md +3 -0
- package/builders/generate-css/index.d.ts.map +1 -1
- package/builders/generate-css/index.js +19 -8
- package/builders/generate-css/index.js.map +1 -1
- package/builders/generate-css/schema.d.ts +2 -0
- package/builders/generate-css/schema.d.ts.map +1 -1
- package/builders/generate-css/schema.json +5 -0
- package/cli/generate-css-from-design-token.cli.cjs +3 -3
- package/cli/generate-css-from-design-token.cli.cjs.map +1 -1
- package/collection.json +8 -0
- package/package.json +55 -49
- package/schemas/design-token.schema.json +28 -4
- package/schematics/design-token-to-component/index.d.ts +13 -0
- package/schematics/design-token-to-component/index.d.ts.map +1 -0
- package/schematics/design-token-to-component/index.js +43 -0
- package/schematics/design-token-to-component/index.js.map +1 -0
- package/schematics/design-token-to-component/schema.d.ts +8 -0
- package/schematics/design-token-to-component/schema.d.ts.map +1 -0
- package/schematics/design-token-to-component/schema.js.map +1 -0
- package/schematics/design-token-to-component/schema.json +20 -0
- package/schematics/design-token-to-component/templates/__fileName__.template +8 -0
- package/schematics/extract-token/index.d.ts.map +1 -0
- package/schematics/{ extract-token/index.js → extract-token/index.js} +6 -2
- package/schematics/extract-token/index.js.map +1 -0
- package/schematics/{ extract-token/schema.d.ts → extract-token/schema.d.ts} +2 -0
- package/schematics/extract-token/schema.d.ts.map +1 -0
- package/schematics/extract-token/schema.js +3 -0
- package/schematics/extract-token/schema.js.map +1 -0
- package/schematics/{ extract-token/schema.json → extract-token/schema.json} +5 -1
- package/schematics/generate-css/index.js.map +1 -1
- package/schematics/generate-css/schema.json +3 -3
- package/schematics/ng-add/index.d.ts +7 -1
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +44 -7
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/register-generate-css/register-task.d.ts.map +1 -1
- package/schematics/ng-add/register-generate-css/register-task.js +21 -14
- package/schematics/ng-add/register-generate-css/register-task.js.map +1 -1
- package/schematics/ng-add/schema.d.ts +4 -0
- package/schematics/ng-add/schema.d.ts.map +1 -1
- package/schematics/ng-add/schema.json +9 -0
- package/src/core/design-token/design-token-specification.interface.d.ts +7 -0
- package/src/core/design-token/design-token-specification.interface.d.ts.map +1 -1
- package/src/core/design-token/design-token-specification.interface.js.map +1 -1
- package/src/core/design-token/parsers/design-token-parser.interface.d.ts +20 -1
- package/src/core/design-token/parsers/design-token-parser.interface.d.ts.map +1 -1
- package/src/core/design-token/parsers/design-token.parser.d.ts.map +1 -1
- package/src/core/design-token/parsers/design-token.parser.js +8 -7
- package/src/core/design-token/parsers/design-token.parser.js.map +1 -1
- package/src/core/design-token/renderers/css/design-token-definition.renderers.d.ts +6 -0
- package/src/core/design-token/renderers/css/design-token-definition.renderers.d.ts.map +1 -1
- package/src/core/design-token/renderers/css/design-token-definition.renderers.js +1 -1
- package/src/core/design-token/renderers/css/design-token-definition.renderers.js.map +1 -1
- package/src/core/design-token/renderers/css/design-token-updater.renderers.js.map +1 -1
- package/src/core/design-token/renderers/css/design-token-value.renderers.d.ts +20 -1
- package/src/core/design-token/renderers/css/design-token-value.renderers.d.ts.map +1 -1
- package/src/core/design-token/renderers/css/design-token-value.renderers.js +14 -3
- package/src/core/design-token/renderers/css/design-token-value.renderers.js.map +1 -1
- package/src/core/design-token/renderers/design-token-style.renderer.js.map +1 -1
- package/src/core/design-token/renderers/sass/design-token-definition.renderers.d.ts +7 -0
- package/src/core/design-token/renderers/sass/design-token-definition.renderers.d.ts.map +1 -1
- package/src/core/design-token/renderers/sass/design-token-definition.renderers.js +4 -4
- package/src/core/design-token/renderers/sass/design-token-definition.renderers.js.map +1 -1
- package/schematics/ extract-token/index.d.ts.map +0 -1
- package/schematics/ extract-token/index.js.map +0 -1
- package/schematics/ extract-token/schema.d.ts.map +0 -1
- package/schematics/ extract-token/schema.js.map +0 -1
- /package/schematics/{ extract-token → design-token-to-component}/schema.js +0 -0
- /package/schematics/{ extract-token → extract-token}/index.d.ts +0 -0
package/README.md
CHANGED
|
@@ -9,6 +9,9 @@ This package is an [Otter Framework Module](https://github.com/AmadeusITGroup/ot
|
|
|
9
9
|
|
|
10
10
|
## Description
|
|
11
11
|
|
|
12
|
+
[](https://www.npmjs.com/package/@o3r/design)
|
|
13
|
+
[](https://www.npmjs.com/package/@o3r/design)
|
|
14
|
+
|
|
12
15
|
Set of tools to generate CSS themes and [Metadata](https://github.com/AmadeusITGroup/otter/tree/main/docs/cms-adapters/CMS_ADAPTERS.md) based on the [Design Token Specifications](https://design-tokens.github.io/community-group/format/).
|
|
13
16
|
|
|
14
17
|
## How to install
|
|
@@ -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;
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 (
|
|
92
|
+
if (res.value.error) {
|
|
83
93
|
acc.error ||= '';
|
|
84
|
-
acc.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
|
-
|
|
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../builders/generate-css/index.ts"],"names":[],"mappings":";;AACA,yDAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../builders/generate-css/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
const node_path_1 = require("node:path");
|
|
5
5
|
const node_fs_1 = require("node:fs");
|
|
6
|
-
const
|
|
6
|
+
const public_api_1 = require("../src/public_api");
|
|
7
7
|
const minimist = require("minimist");
|
|
8
8
|
const args = minimist(process.argv.splice(2));
|
|
9
9
|
void (async () => {
|
|
@@ -21,13 +21,13 @@ void (async () => {
|
|
|
21
21
|
}
|
|
22
22
|
return res;
|
|
23
23
|
})
|
|
24
|
-
.map(async (file) => ({ file, parsed: await (0,
|
|
24
|
+
.map(async (file) => ({ file, parsed: await (0, public_api_1.parseDesignTokenFile)(file) })))).reduce((acc, { file, parsed }) => {
|
|
25
25
|
parsed.forEach((variable, key) => {
|
|
26
26
|
acc.set(key, variable);
|
|
27
27
|
console.warn(`A duplication of the variable ${key} is found in ${file}`);
|
|
28
28
|
});
|
|
29
29
|
return acc;
|
|
30
30
|
}, new Map());
|
|
31
|
-
await (0,
|
|
31
|
+
await (0, public_api_1.renderDesignTokens)(tokens, renderDesignTokenOptions);
|
|
32
32
|
})();
|
|
33
33
|
//# sourceMappingURL=generate-css-from-design-token.cli.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-css-from-design-token.cli.cjs","sourceRoot":"","sources":["../../cli/generate-css-from-design-token.cli.cts"],"names":[],"mappings":";;;AAEA,yCAA2D;AAC3D,qCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"generate-css-from-design-token.cli.cjs","sourceRoot":"","sources":["../../cli/generate-css-from-design-token.cli.cts"],"names":[],"mappings":";;;AAEA,yCAA2D;AAC3D,qCAAqC;AACrC,kDAA6E;AAE7E,qCAAqC;AAErC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9C,KAAK,CAAC,KAAK,IAAI,EAAE;IACf,MAAM,wBAAwB,GAA+B,EAAE,CAAC;IAEhE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;IACrC,IAAI,MAAM,EAAE,CAAC;QACX,wBAAwB,CAAC,qBAAqB,GAAG,GAAG,EAAE,CAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,CAAC;SACH,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,sBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;SAChF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,GAAG,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,wCAAwC,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;SACD,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAA,iCAAoB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAC7E,CAAC,CAAC,MAAM,CAAyB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1D,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,iCAAiC,GAAG,gBAAgB,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAEd,MAAM,IAAA,+BAAkB,EAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;AAC7D,CAAC,CAAC,EAAE,CAAC"}
|
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,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/design",
|
|
3
|
-
"version": "11.0.0-next.
|
|
3
|
+
"version": "11.0.0-next.2",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
7
|
+
"typings": "./src/public_api.d.ts",
|
|
4
8
|
"description": "A design framework to generate theme on an Otter application based on Design Tokens.",
|
|
5
9
|
"keywords": [
|
|
6
10
|
"design",
|
|
@@ -10,14 +14,14 @@
|
|
|
10
14
|
"scripts": {
|
|
11
15
|
"nx": "nx",
|
|
12
16
|
"ng": "yarn nx",
|
|
13
|
-
"test": "yarn nx test
|
|
17
|
+
"test": "yarn nx test design",
|
|
14
18
|
"copy:templates": "yarn cpy 'schematics/**/templates/**/*' dist/schematics",
|
|
15
19
|
"copy:schemas": "yarn cpy 'schemas/**/*' dist/schemas",
|
|
16
20
|
"prepare:build:builders": "yarn cpy 'builders/**/*.json' dist/builders && yarn cpy '{builders,collection,migration}.json' dist && yarn cpy 'schematics/**/*.json' dist/schematics && yarn copy:templates",
|
|
17
21
|
"prepare:publish": "prepare-publish ./dist",
|
|
18
22
|
"build:source": "tsc -b tsconfig.build.json && yarn cpy package.json dist/",
|
|
19
23
|
"build:builders": "tsc -b tsconfig.builders.json --pretty && yarn copy:templates && generate-cjs-manifest",
|
|
20
|
-
"build": "yarn nx build
|
|
24
|
+
"build": "yarn nx build design",
|
|
21
25
|
"postbuild": "yarn copy:schemas && patch-package-json-main"
|
|
22
26
|
},
|
|
23
27
|
"exports": {
|
|
@@ -39,20 +43,21 @@
|
|
|
39
43
|
}
|
|
40
44
|
},
|
|
41
45
|
"bin": {
|
|
42
|
-
"o3r-css-from-design-token": "cli/generate-css-from-design-token.cli.cjs"
|
|
46
|
+
"o3r-css-from-design-token": "./cli/generate-css-from-design-token.cli.cjs"
|
|
43
47
|
},
|
|
44
48
|
"dependencies": {
|
|
49
|
+
"jsonschema": "~1.4.1",
|
|
50
|
+
"minimatch": "~9.0.3",
|
|
45
51
|
"minimist": "^1.2.6",
|
|
46
|
-
"tslib": "^2.
|
|
52
|
+
"tslib": "^2.6.2"
|
|
47
53
|
},
|
|
48
54
|
"peerDependencies": {
|
|
49
|
-
"@o3r/core": "^11.0.0-next.
|
|
50
|
-
"@o3r/schematics": "^11.0.0-next.
|
|
51
|
-
"@o3r/styling": "^11.0.0-next.
|
|
55
|
+
"@o3r/core": "^11.0.0-next.2",
|
|
56
|
+
"@o3r/schematics": "^11.0.0-next.2",
|
|
57
|
+
"@o3r/styling": "^11.0.0-next.2",
|
|
52
58
|
"chokidar": "^3.5.2",
|
|
53
59
|
"globby": "^11.1.0",
|
|
54
|
-
"
|
|
55
|
-
"sass": "~1.69.0"
|
|
60
|
+
"sass": "~1.76.0"
|
|
56
61
|
},
|
|
57
62
|
"peerDependenciesMeta": {
|
|
58
63
|
"@o3r/core": {
|
|
@@ -75,59 +80,60 @@
|
|
|
75
80
|
}
|
|
76
81
|
},
|
|
77
82
|
"devDependencies": {
|
|
78
|
-
"@angular-devkit/architect": "~0.
|
|
79
|
-
"@angular-devkit/build-angular": "~17.0
|
|
80
|
-
"@angular-devkit/core": "~17.0
|
|
81
|
-
"@angular-devkit/schematics": "~17.0
|
|
82
|
-
"@angular-eslint/eslint-plugin": "~17.
|
|
83
|
-
"@angular/
|
|
84
|
-
"@angular/
|
|
85
|
-
"@angular/
|
|
86
|
-
"@angular/compiler
|
|
87
|
-
"@angular/
|
|
88
|
-
"@angular/
|
|
89
|
-
"@angular/platform-browser
|
|
90
|
-
"@
|
|
91
|
-
"@babel/
|
|
83
|
+
"@angular-devkit/architect": "~0.1703.0",
|
|
84
|
+
"@angular-devkit/build-angular": "~17.3.0",
|
|
85
|
+
"@angular-devkit/core": "~17.3.0",
|
|
86
|
+
"@angular-devkit/schematics": "~17.3.0",
|
|
87
|
+
"@angular-eslint/eslint-plugin": "~17.3.0",
|
|
88
|
+
"@angular/animations": "~17.3.0",
|
|
89
|
+
"@angular/cli": "~17.3.0",
|
|
90
|
+
"@angular/common": "~17.3.0",
|
|
91
|
+
"@angular/compiler": "~17.3.0",
|
|
92
|
+
"@angular/compiler-cli": "~17.3.0",
|
|
93
|
+
"@angular/core": "~17.3.0",
|
|
94
|
+
"@angular/platform-browser": "~17.3.0",
|
|
95
|
+
"@angular/platform-browser-dynamic": "~17.3.0",
|
|
96
|
+
"@babel/core": "~7.24.0",
|
|
97
|
+
"@babel/preset-typescript": "~7.24.0",
|
|
92
98
|
"@compodoc/compodoc": "^1.1.19",
|
|
93
|
-
"@nx/eslint": "~
|
|
94
|
-
"@nx/eslint-plugin": "~
|
|
95
|
-
"@nx/jest": "~
|
|
96
|
-
"@nx/js": "~
|
|
97
|
-
"@o3r/build-helpers": "^11.0.0-next.
|
|
98
|
-
"@o3r/core": "^11.0.0-next.
|
|
99
|
-
"@o3r/eslint-plugin": "^11.0.0-next.
|
|
100
|
-
"@o3r/schematics": "^11.0.0-next.
|
|
101
|
-
"@o3r/styling": "^11.0.0-next.
|
|
102
|
-
"@o3r/test-helpers": "^11.0.0-next.
|
|
103
|
-
"@schematics/angular": "~17.0
|
|
99
|
+
"@nx/eslint": "~18.3.0",
|
|
100
|
+
"@nx/eslint-plugin": "~18.3.0",
|
|
101
|
+
"@nx/jest": "~18.3.0",
|
|
102
|
+
"@nx/js": "~18.3.0",
|
|
103
|
+
"@o3r/build-helpers": "^11.0.0-next.2",
|
|
104
|
+
"@o3r/core": "^11.0.0-next.2",
|
|
105
|
+
"@o3r/eslint-plugin": "^11.0.0-next.2",
|
|
106
|
+
"@o3r/schematics": "^11.0.0-next.2",
|
|
107
|
+
"@o3r/styling": "^11.0.0-next.2",
|
|
108
|
+
"@o3r/test-helpers": "^11.0.0-next.2",
|
|
109
|
+
"@schematics/angular": "~17.3.0",
|
|
110
|
+
"@stylistic/eslint-plugin-ts": "^1.5.4",
|
|
104
111
|
"@types/jest": "~29.5.2",
|
|
105
112
|
"@types/minimist": "^1.2.2",
|
|
106
113
|
"@types/node": "^20.0.0",
|
|
107
114
|
"@types/semver": "^7.3.13",
|
|
108
|
-
"@typescript-eslint/eslint-plugin": "
|
|
109
|
-
"@typescript-eslint/parser": "^
|
|
115
|
+
"@typescript-eslint/eslint-plugin": "^7.2.0",
|
|
116
|
+
"@typescript-eslint/parser": "^7.2.0",
|
|
110
117
|
"chokidar": "^3.5.2",
|
|
111
118
|
"cpy-cli": "^5.0.0",
|
|
112
|
-
"eslint": "^8.
|
|
113
|
-
"eslint-import-resolver-node": "^0.3.
|
|
114
|
-
"eslint-plugin-jest": "~27.
|
|
115
|
-
"eslint-plugin-jsdoc": "~48.
|
|
119
|
+
"eslint": "^8.57.0",
|
|
120
|
+
"eslint-import-resolver-node": "^0.3.9",
|
|
121
|
+
"eslint-plugin-jest": "~27.9.0",
|
|
122
|
+
"eslint-plugin-jsdoc": "~48.2.1",
|
|
116
123
|
"eslint-plugin-prefer-arrow": "~1.2.3",
|
|
117
|
-
"eslint-plugin-unicorn": "^
|
|
124
|
+
"eslint-plugin-unicorn": "^51.0.1",
|
|
118
125
|
"globby": "^11.1.0",
|
|
119
126
|
"jest": "~29.7.0",
|
|
120
127
|
"jest-junit": "~16.0.0",
|
|
121
128
|
"jsonc-eslint-parser": "~2.4.0",
|
|
122
129
|
"jsonschema": "~1.4.1",
|
|
123
|
-
"
|
|
124
|
-
"nx": "~17.1.1",
|
|
130
|
+
"nx": "~18.3.0",
|
|
125
131
|
"rxjs": "^7.8.1",
|
|
126
|
-
"sass": "~1.
|
|
127
|
-
"ts-jest": "~29.1.
|
|
128
|
-
"ts-node": "~10.9.
|
|
129
|
-
"type-fest": "^4.
|
|
130
|
-
"typescript": "~5.
|
|
132
|
+
"sass": "~1.76.0",
|
|
133
|
+
"ts-jest": "~29.1.2",
|
|
134
|
+
"ts-node": "~10.9.2",
|
|
135
|
+
"type-fest": "^4.10.2",
|
|
136
|
+
"typescript": "~5.4.2",
|
|
131
137
|
"zone.js": "~0.14.2"
|
|
132
138
|
},
|
|
133
139
|
"engines": {
|
|
@@ -23,13 +23,35 @@
|
|
|
23
23
|
"properties": {
|
|
24
24
|
"tags": {
|
|
25
25
|
"type": "array",
|
|
26
|
+
"description": "List of tags associated to the variable",
|
|
26
27
|
"items": { "type": "string" }
|
|
27
28
|
},
|
|
28
29
|
"label": {
|
|
29
|
-
"type": "string"
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Label of the variable, it will be used to display the variable name in the CMS if specified"
|
|
30
32
|
},
|
|
31
33
|
"category": {
|
|
32
|
-
"type": "string"
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Category of the variable"
|
|
36
|
+
},
|
|
37
|
+
"component": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"description": "Component reference if the variable is linked to one",
|
|
40
|
+
"properties": {
|
|
41
|
+
"library": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "Name of the library containing the component"
|
|
44
|
+
},
|
|
45
|
+
"name": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"description": "Name of the component"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"required": [
|
|
51
|
+
"library",
|
|
52
|
+
"name"
|
|
53
|
+
],
|
|
54
|
+
"additionalProperties": false
|
|
33
55
|
}
|
|
34
56
|
}
|
|
35
57
|
},
|
|
@@ -40,10 +62,12 @@
|
|
|
40
62
|
"type": "string"
|
|
41
63
|
},
|
|
42
64
|
"o3rPrivate": {
|
|
43
|
-
"type": "boolean"
|
|
65
|
+
"type": "boolean",
|
|
66
|
+
"default": false
|
|
44
67
|
},
|
|
45
68
|
"o3rImportant": {
|
|
46
|
-
"type": "boolean"
|
|
69
|
+
"type": "boolean",
|
|
70
|
+
"default": false
|
|
47
71
|
},
|
|
48
72
|
"o3rScope": {
|
|
49
73
|
"type": "string"
|
|
@@ -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) => () => Promise<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;AAEpC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAGjE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gCAAgC,GAAG,IAAI,CAelF;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,YAAa,gCAAgC,wBAWzE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
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 node_path_1 = require("node:path");
|
|
6
|
+
/**
|
|
7
|
+
* Add Design Token to an existing component
|
|
8
|
+
* @param options
|
|
9
|
+
*/
|
|
10
|
+
function ngAddDesignTokenFn(options) {
|
|
11
|
+
const fileName = (0, node_path_1.basename)(options.path.endsWith('.json') ? options.path : `${options.path}.json`);
|
|
12
|
+
const name = fileName.slice(0, fileName.indexOf('.') > -1 ? fileName.indexOf('.') : undefined);
|
|
13
|
+
const createDesignTokenFilesRule = (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./templates'), [
|
|
14
|
+
(0, schematics_1.template)({
|
|
15
|
+
name,
|
|
16
|
+
fileName,
|
|
17
|
+
stylingFile: options.stylePath ? (0, node_path_1.relative)((0, node_path_1.dirname)(options.path), options.stylePath) : undefined
|
|
18
|
+
}),
|
|
19
|
+
(0, schematics_1.renameTemplateFiles)(),
|
|
20
|
+
(0, schematics_1.move)((0, node_path_1.dirname)(options.path))
|
|
21
|
+
]), schematics_1.MergeStrategy.Overwrite);
|
|
22
|
+
return createDesignTokenFilesRule;
|
|
23
|
+
}
|
|
24
|
+
exports.ngAddDesignTokenFn = ngAddDesignTokenFn;
|
|
25
|
+
/**
|
|
26
|
+
* Add Design Token to an existing component
|
|
27
|
+
* @param options
|
|
28
|
+
*/
|
|
29
|
+
const ngAddDesignToken = (options) => async () => {
|
|
30
|
+
let createSchematicWithMetrics;
|
|
31
|
+
try {
|
|
32
|
+
({ createSchematicWithMetricsIfInstalled: createSchematicWithMetrics } = await Promise.resolve().then(() => require('@o3r/schematics')));
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// No @o3r/schematics detected
|
|
36
|
+
}
|
|
37
|
+
if (!createSchematicWithMetrics) {
|
|
38
|
+
return ngAddDesignTokenFn(options);
|
|
39
|
+
}
|
|
40
|
+
return createSchematicWithMetrics(ngAddDesignTokenFn)(options);
|
|
41
|
+
};
|
|
42
|
+
exports.ngAddDesignToken = ngAddDesignToken;
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/design-token-to-component/index.ts"],"names":[],"mappings":";;;AAAA,2DASoC;AACpC,yCAAwD;AAIxD;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,OAAyC;IAC1E,MAAM,QAAQ,GAAG,IAAA,oBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC;IAClG,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE/F,MAAM,0BAA0B,GAAS,IAAA,sBAAS,EAAC,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,aAAa,CAAC,EAAE;QAC3E,IAAA,qBAAQ,EAAC;YACP,IAAI;YACJ,QAAQ;YACR,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,oBAAQ,EAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;SAChG,CAAC;QACF,IAAA,gCAAmB,GAAE;QACrB,IAAA,iBAAI,EAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5B,CAAC,EAAE,0BAAa,CAAC,SAAS,CAAC,CAAC;IAE7B,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAfD,gDAeC;AAED;;;GAGG;AACI,MAAM,gBAAgB,GAAG,CAAC,OAAyC,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE;IACxF,IAAI,0BAAoF,CAAC;IACzF,IAAI,CAAC;QACH,CAAC,EAAE,qCAAqC,EAAE,0BAA0B,EAAE,GAAG,2CAAa,iBAAiB,EAAC,CAAC,CAAC;IAC5G,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,0BAA0B,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC,CAAC;AAXW,QAAA,gBAAgB,oBAW3B"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/design-token-to-component/schema.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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
|
|
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\(--([^)])
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/extract-token/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/extract-token/schema.ts"],"names":[],"mappings":""}
|
|
@@ -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
|
-
"
|
|
45
|
+
"componentFilePatterns"
|
|
42
46
|
]
|
|
43
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/generate-css/index.ts"],"names":[],"mappings":";;;AAEA,gDAA6C;AAC7C,wCAAuE;AAGvE;;;GAGG;AACH,SAAgB,WAAW,CAAC,OAAoC;IAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpJ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAO,CAAC,CAAC;YACpE,CAAC,KAAmC,EAAE,EAAE;gBACtC,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/generate-css/index.ts"],"names":[],"mappings":";;;AAEA,gDAA6C;AAC7C,wCAAuE;AAGvE;;;GAGG;AACH,SAAgB,WAAW,CAAC,OAAoC;IAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpJ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAO,CAAC,CAAC;YACpE,CAAC,KAAmC,EAAE,EAAE;gBACtC,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAClF,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC;gBACxC,CAAC;gBAED,OAAO,OAAO,CAAC,gBAAgB,CAAC;YAClC,CAAC,CAAC;QACJ,MAAM,wBAAwB,GAA+B;YAC3D,QAAQ;YACR,SAAS;YACT,UAAU;YACV,qBAAqB;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QAEF,MAAM,KAAK,GAAG,IAAA,uBAAU,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAErJ,MAAM,eAAe,GAAmC,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAChH,MAAM,CAAyB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;YACxD,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;gBAC/B,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,iCAAiC,GAAG,gBAAgB,IAAI,EAAE,CAAC,CAAC;gBACzH,CAAC;gBACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAChB,IAAI,OAAO,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,SAAS,eAAe,CAAC,MAAM,+BAA+B,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,IAAA,2BAAkB,EAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC;AAvCD,kCAuCC"}
|