@o3r/style-dictionary 12.2.0-prerelease.6 → 12.2.0-prerelease.7
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/package.json +10 -10
- package/schematics/ng-add/templates/config.__configExtension__ +16 -12
- package/src/filters/target-file.filter.d.mts +1 -1
- package/src/filters/target-file.filter.d.mts.map +1 -1
- package/src/filters/target-file.filter.mjs +11 -4
- package/src/filters/target-file.filter.mjs.map +1 -1
- package/src/formats/css-formatters/default.formatter.d.mts +7 -0
- package/src/formats/css-formatters/default.formatter.d.mts.map +1 -0
- package/src/formats/css-formatters/default.formatter.mjs +19 -0
- package/src/formats/css-formatters/default.formatter.mjs.map +1 -0
- package/src/formats/css-formatters/gradients.formatter.d.mts +7 -0
- package/src/formats/css-formatters/gradients.formatter.d.mts.map +1 -0
- package/src/formats/css-formatters/gradients.formatter.mjs +32 -0
- package/src/formats/css-formatters/gradients.formatter.mjs.map +1 -0
- package/src/formats/css-formatters/interface.formatter.d.mts +13 -0
- package/src/formats/css-formatters/interface.formatter.d.mts.map +1 -0
- package/src/formats/css-formatters/interface.formatter.mjs +2 -0
- package/src/formats/css-formatters/interface.formatter.mjs.map +1 -0
- package/src/formats/css-formatters/private.formatter.d.mts +7 -0
- package/src/formats/css-formatters/private.formatter.d.mts.map +1 -0
- package/src/formats/css-formatters/private.formatter.mjs +33 -0
- package/src/formats/css-formatters/private.formatter.mjs.map +1 -0
- package/src/formats/css.format.d.mts.map +1 -1
- package/src/formats/css.format.mjs +20 -36
- package/src/formats/css.format.mjs.map +1 -1
- package/src/formats/metadata.format.d.mts.map +1 -1
- package/src/formats/metadata.format.mjs +14 -28
- package/src/formats/metadata.format.mjs.map +1 -1
- package/src/transforms/unit.transform.mjs +1 -1
- package/src/transforms/unit.transform.mjs.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/style-dictionary",
|
|
3
|
-
"version": "12.2.0-prerelease.
|
|
3
|
+
"version": "12.2.0-prerelease.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@angular-devkit/architect": "~0.1902.0",
|
|
44
44
|
"@angular-devkit/schematics": "~19.2.0",
|
|
45
|
-
"@o3r/schematics": "^12.2.0-prerelease.
|
|
45
|
+
"@o3r/schematics": "^12.2.0-prerelease.7",
|
|
46
46
|
"@schematics/angular": "~19.2.0",
|
|
47
47
|
"tslib": "^2.6.2"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@o3r/core": "^12.2.0-prerelease.
|
|
51
|
-
"@o3r/telemetry": "^12.2.0-prerelease.
|
|
50
|
+
"@o3r/core": "^12.2.0-prerelease.7",
|
|
51
|
+
"@o3r/telemetry": "^12.2.0-prerelease.7",
|
|
52
52
|
"style-dictionary": "^4.3.2",
|
|
53
53
|
"type-fest": "^4.30.1"
|
|
54
54
|
},
|
|
@@ -82,12 +82,12 @@
|
|
|
82
82
|
"@nx/eslint-plugin": "~20.4.0",
|
|
83
83
|
"@nx/jest": "~20.4.0",
|
|
84
84
|
"@nx/js": "~20.4.0",
|
|
85
|
-
"@o3r/build-helpers": "^12.2.0-prerelease.
|
|
86
|
-
"@o3r/core": "^12.2.0-prerelease.
|
|
87
|
-
"@o3r/eslint-plugin": "^12.2.0-prerelease.
|
|
88
|
-
"@o3r/schematics": "^12.2.0-prerelease.
|
|
89
|
-
"@o3r/telemetry": "^12.2.0-prerelease.
|
|
90
|
-
"@o3r/test-helpers": "^12.2.0-prerelease.
|
|
85
|
+
"@o3r/build-helpers": "^12.2.0-prerelease.7",
|
|
86
|
+
"@o3r/core": "^12.2.0-prerelease.7",
|
|
87
|
+
"@o3r/eslint-plugin": "^12.2.0-prerelease.7",
|
|
88
|
+
"@o3r/schematics": "^12.2.0-prerelease.7",
|
|
89
|
+
"@o3r/telemetry": "^12.2.0-prerelease.7",
|
|
90
|
+
"@o3r/test-helpers": "^12.2.0-prerelease.7",
|
|
91
91
|
"@schematics/angular": "~19.2.0",
|
|
92
92
|
"@stylistic/eslint-plugin": "~3.1.0",
|
|
93
93
|
"@types/jest": "~29.5.2",
|
|
@@ -8,36 +8,40 @@ const fileRules = {
|
|
|
8
8
|
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
+
/** @type {import('style-dictionary').Config} */
|
|
11
12
|
export default {
|
|
12
13
|
...baseConfig, // Use basic Otter configuration setup
|
|
13
14
|
usesDtcg: true, // Use Design Token Standard format
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
source: [
|
|
17
|
+
// Design Token files
|
|
18
|
+
'*.tokens.json',
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
// Custom application extension setup
|
|
21
|
+
'token.extensions.json'
|
|
22
|
+
],
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
platforms: {
|
|
24
25
|
css: {
|
|
25
26
|
options: {
|
|
26
27
|
outputReferences: true
|
|
27
28
|
},
|
|
28
|
-
transformGroup: 'css',
|
|
29
|
+
transformGroup: 'o3r/css/recommended',
|
|
29
30
|
files: [
|
|
30
|
-
...getTargetFiles(fileRules, {
|
|
31
|
+
...getTargetFiles(fileRules, {
|
|
32
|
+
format: 'o3r/css/variable',
|
|
33
|
+
defaultFile: 'default.tokens.css' // default CSS file
|
|
34
|
+
}),
|
|
31
35
|
|
|
32
|
-
//
|
|
33
|
-
{ destination: '
|
|
36
|
+
// All CSS outputted in a single file:
|
|
37
|
+
{ destination: 'all.tokens.css', format: 'o3r/css/variable' }
|
|
34
38
|
]
|
|
35
39
|
},
|
|
36
40
|
cms: {
|
|
37
41
|
options: {
|
|
38
42
|
outputReferences: true
|
|
39
43
|
},
|
|
40
|
-
transformGroup: 'css',
|
|
44
|
+
transformGroup: 'o3r/css/recommended',
|
|
41
45
|
files: [
|
|
42
46
|
{ destination: 'style.metadata.json', format: 'o3r/json/metadata' }
|
|
43
47
|
]
|
|
@@ -6,7 +6,7 @@ interface TargetFileOptions {
|
|
|
6
6
|
/** Root path to calculate the target file */
|
|
7
7
|
rootPath?: string;
|
|
8
8
|
/** Default file if not matching any rule */
|
|
9
|
-
|
|
9
|
+
defaultFile?: string;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Legacy configuration to support inputs from @o3r/design templates
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target-file.filter.d.mts","sourceRoot":"","sources":["../../../src/filters/target-file.filter.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"target-file.filter.d.mts","sourceRoot":"","sources":["../../../src/filters/target-file.filter.mts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACT,MAAM,wBAAwB,CAAC;AAKhC,kCAAkC;AAClC,UAAU,iBAAiB;IACzB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,UAAU,gBAAiB,SAAQ,YAAY;IAC7C,+BAA+B;IAC/B,WAAW,EAAE;QACX,oDAAoD;QACpD,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,mDAAmD;AACnD,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAAC;CAC1D;AAsBD;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,YAAY,EAAE,UAAU,iBAAiB,KAAG,IAAI,EAgCzF,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolve, } from 'node:path';
|
|
1
|
+
import { normalize, resolve, } from 'node:path';
|
|
2
2
|
import { deflatten, } from '../helpers/config-deflatten.helpers.mjs';
|
|
3
3
|
const isLegacyConfig = (config) => typeof config.$extensions?.o3rTargetFile === 'string';
|
|
4
4
|
const getPathMap = (rule, path = [], map = new Map()) => {
|
|
@@ -25,8 +25,9 @@ const getPathMap = (rule, path = [], map = new Map()) => {
|
|
|
25
25
|
export const getTargetFiles = (fileRules, options) => {
|
|
26
26
|
const flatterRules = deflatten(fileRules);
|
|
27
27
|
const fileMap = getPathMap(flatterRules);
|
|
28
|
+
const fileMapEntries = [...fileMap.entries()];
|
|
28
29
|
return [
|
|
29
|
-
...
|
|
30
|
+
...fileMapEntries
|
|
30
31
|
.map(([filePath, nodes]) => {
|
|
31
32
|
return {
|
|
32
33
|
destination: options?.rootPath ? resolve(options.rootPath, filePath) : filePath,
|
|
@@ -34,8 +35,14 @@ export const getTargetFiles = (fileRules, options) => {
|
|
|
34
35
|
filter: (token) => nodes.some((path) => path.every((item, idx) => token.path[idx] === item))
|
|
35
36
|
};
|
|
36
37
|
}),
|
|
37
|
-
...(options?.
|
|
38
|
-
? [{
|
|
38
|
+
...(options?.defaultFile
|
|
39
|
+
? [{
|
|
40
|
+
destination: options.rootPath ? resolve(options.rootPath, options.defaultFile) : options.defaultFile,
|
|
41
|
+
format: options?.format,
|
|
42
|
+
filter: (token) => !fileMapEntries
|
|
43
|
+
.filter(([filePath]) => normalize(filePath) !== normalize(options.defaultFile))
|
|
44
|
+
.some(([, nodes]) => nodes.some((path) => path.every((item, idx) => token.path[idx] === item)))
|
|
45
|
+
}]
|
|
39
46
|
: [])
|
|
40
47
|
];
|
|
41
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target-file.filter.mjs","sourceRoot":"","sources":["../../../src/filters/target-file.filter.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,GACR,MAAM,WAAW,CAAC;AAKnB,OAAO,EACL,SAAS,GACV,MAAM,yCAAyC,CAAC;AA8BjD,MAAM,cAAc,GAAG,CAAC,MAAoB,EAA8B,EAAE,CAAC,OAAQ,MAAM,CAAC,WAAmB,EAAE,aAAa,KAAK,QAAQ,CAAC;AAE5I,MAAM,UAAU,GAAG,CAAC,IAAkB,EAAE,OAAiB,EAAE,EAAE,MAA+B,IAAI,GAAG,EAAE,EAA2B,EAAE;IAChI,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACpG,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC;SAC1C,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC7B,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;YACzD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC,EAAE,GAAG,CAAC,CAAC;AACZ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAuB,EAAE,OAA2B,EAAU,EAAE;IAC7F,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"target-file.filter.mjs","sourceRoot":"","sources":["../../../src/filters/target-file.filter.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.formatter.d.mts","sourceRoot":"","sources":["../../../../src/formats/css-formatters/default.formatter.mts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,gBAAgB,EAEjB,MAAM,2BAA2B,CAAC;AAKnC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,gBAkBpC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createPropertyFormatter, } from 'style-dictionary/utils';
|
|
2
|
+
import { createGradientFormatter, } from './gradients.formatter.mjs';
|
|
3
|
+
import { createPrivateFormatter, } from './private.formatter.mjs';
|
|
4
|
+
/**
|
|
5
|
+
* Get default CSS Formatter
|
|
6
|
+
* @param options Options
|
|
7
|
+
*/
|
|
8
|
+
export const getDefaultCssFormatter = (options) => {
|
|
9
|
+
const formatters = [];
|
|
10
|
+
const propertyFormatter = (token) => formatters.reduce((acc, formatter) => formatter(token, acc), undefined);
|
|
11
|
+
const formatterOptions = {
|
|
12
|
+
...options,
|
|
13
|
+
formatter: propertyFormatter
|
|
14
|
+
};
|
|
15
|
+
// formatter list to chain
|
|
16
|
+
formatters.push(createPropertyFormatter(formatterOptions), createGradientFormatter(formatterOptions), createPrivateFormatter(formatterOptions));
|
|
17
|
+
return propertyFormatter;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=default.formatter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.formatter.mjs","sourceRoot":"","sources":["../../../../src/formats/css-formatters/default.formatter.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EACL,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAqB,CAAC,OAAO,EAAE,EAAE;IAClE,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,MAAM,iBAAiB,GAAc,CAAC,KAAK,EAAE,EAAE,CAC7C,UAAU,CAAC,MAAM,CAAC,CAAC,GAAuB,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,SAAS,CAAE,CAAC;IAE/F,MAAM,gBAAgB,GAAqB;QACzC,GAAG,OAAO;QACV,SAAS,EAAE,iBAAiB;KAC7B,CAAC;IAEF,0BAA0B;IAC1B,UAAU,CAAC,IAAI,CACb,uBAAuB,CAAC,gBAAgB,CAAC,EACzC,uBAAuB,CAAC,gBAAgB,CAAC,EACzC,sBAAsB,CAAC,gBAAgB,CAAC,CACzC,CAAC;IAEF,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { FormatterFactory } from './interface.formatter.mjs';
|
|
2
|
+
/**
|
|
3
|
+
* Retrieve a formatter for a Token with Gradient type
|
|
4
|
+
* @param options Option of gradient formatter generator
|
|
5
|
+
*/
|
|
6
|
+
export declare const createGradientFormatter: FormatterFactory;
|
|
7
|
+
//# sourceMappingURL=gradients.formatter.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gradients.formatter.d.mts","sourceRoot":"","sources":["../../../../src/formats/css-formatters/gradients.formatter.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAqBnC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBA4BrC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { getReferences, } from 'style-dictionary/utils';
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/no-base-to-string -- get the value of serialized object
|
|
3
|
+
const objectString = new Object().toString();
|
|
4
|
+
/**
|
|
5
|
+
* Retrieve a formatter for a Token with Gradient type
|
|
6
|
+
* @param options Option of gradient formatter generator
|
|
7
|
+
*/
|
|
8
|
+
export const createGradientFormatter = (options) => {
|
|
9
|
+
const tokens = options.dictionary.tokens;
|
|
10
|
+
const prefix = options.formatting?.prefix ?? '--';
|
|
11
|
+
return (token, str) => {
|
|
12
|
+
const type = options.usesDtcg ? token.$type : token.type;
|
|
13
|
+
if (!str || !str.includes(objectString) || type !== 'gradient') {
|
|
14
|
+
return str || '';
|
|
15
|
+
}
|
|
16
|
+
const value = options.usesDtcg ? token.original.$value : token.original.value;
|
|
17
|
+
const angle = typeof value.angle === 'number' ? value.angle + 'deg' : value.angle;
|
|
18
|
+
let gradientValue = `${value.type || 'linear'}-gradient(${angle || '0deg'}, ${value.stops
|
|
19
|
+
?.map(({ color, position }) => `${color} ${typeof position === 'number' ? position + '%' : position}`)
|
|
20
|
+
.join(', ')})`;
|
|
21
|
+
if (options.outputReferences && options.formatter) {
|
|
22
|
+
const refs = getReferences(value, options.dictionary.unfilteredTokens || tokens, options);
|
|
23
|
+
if (refs.length > 0) {
|
|
24
|
+
gradientValue = refs.reduce((acc, ref) => {
|
|
25
|
+
return acc.replaceAll(`{${ref.path.join('.')}}`, `var(${prefix}${ref.name})`);
|
|
26
|
+
}, gradientValue);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return str.replace(objectString, gradientValue);
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=gradients.formatter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gradients.formatter.mjs","sourceRoot":"","sources":["../../../../src/formats/css-formatters/gradients.formatter.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,GACd,MAAM,wBAAwB,CAAC;AAqBhC,sGAAsG;AACtG,MAAM,YAAY,GAAG,IAAI,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAqB,CAAC,OAAO,EAAE,EAAE;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,IAAI,CAAC;IAElD,OAAO,CAAC,KAAK,EAAE,GAAG,EAAU,EAAE;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAEzD,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/D,OAAO,GAAG,IAAI,EAAE,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAiC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC5G,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAClF,IAAI,aAAa,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,QAAQ,aAAa,KAAK,IAAI,MAAM,KAAK,KAAK,CAAC,KAAK;YACvF,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aACrG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAEjB,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,gBAAgB,IAAI,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1F,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBACvC,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;gBAChF,CAAC,EAAE,aAAa,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TransformedToken } from 'style-dictionary/types';
|
|
2
|
+
import { type createPropertyFormatter } from 'style-dictionary/utils';
|
|
3
|
+
/** Type of a formatter function */
|
|
4
|
+
export type Formatter = ReturnType<typeof createPropertyFormatter>;
|
|
5
|
+
/** Type of a formatter function part of a formatter chain */
|
|
6
|
+
export type ChainFormatter = (token: TransformedToken, str?: string) => string;
|
|
7
|
+
/** Options supported by a formatter factory */
|
|
8
|
+
export type FormatterOptions = Parameters<typeof createPropertyFormatter>['0'] & {
|
|
9
|
+
formatter?: Formatter;
|
|
10
|
+
};
|
|
11
|
+
/** Formatter factory type */
|
|
12
|
+
export type FormatterFactory = (options: FormatterOptions) => ChainFormatter;
|
|
13
|
+
//# sourceMappingURL=interface.formatter.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.formatter.d.mts","sourceRoot":"","sources":["../../../../src/formats/css-formatters/interface.formatter.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,mCAAmC;AACnC,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEnE,6DAA6D;AAC7D,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAE/E,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,GAAG,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAE3G,6BAA6B;AAC7B,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.formatter.mjs","sourceRoot":"","sources":["../../../../src/formats/css-formatters/interface.formatter.mts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { FormatterFactory } from './interface.formatter.mjs';
|
|
2
|
+
/**
|
|
3
|
+
* Retrieve a formatter for a private Token
|
|
4
|
+
* @param options Option of private formatter generator
|
|
5
|
+
*/
|
|
6
|
+
export declare const createPrivateFormatter: FormatterFactory;
|
|
7
|
+
//# sourceMappingURL=private.formatter.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"private.formatter.d.mts","sourceRoot":"","sources":["../../../../src/formats/css-formatters/private.formatter.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,gBAAgB,EAEjB,MAAM,2BAA2B,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,gBA8BpC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { getReferences, } from 'style-dictionary/utils';
|
|
2
|
+
/**
|
|
3
|
+
* Retrieve a formatter for a private Token
|
|
4
|
+
* @param options Option of private formatter generator
|
|
5
|
+
*/
|
|
6
|
+
export const createPrivateFormatter = (options) => {
|
|
7
|
+
const tokens = options.dictionary.tokens;
|
|
8
|
+
const prefix = options.formatting?.prefix ?? '--';
|
|
9
|
+
const separator = options.formatting?.separator ?? ':';
|
|
10
|
+
const suffix = options.formatting?.suffix ?? ';';
|
|
11
|
+
const replacePrivateTokenReferences = (token, str) => {
|
|
12
|
+
if (!str) {
|
|
13
|
+
return '';
|
|
14
|
+
}
|
|
15
|
+
let strValue = str;
|
|
16
|
+
const originalValue = options.usesDtcg ? token.original.$value : token.original.value;
|
|
17
|
+
if (options.outputReferences && options.formatter) {
|
|
18
|
+
const refs = getReferences(originalValue, options.dictionary.unfilteredTokens || tokens, options);
|
|
19
|
+
const privateRefs = refs.filter((ref) => ref.attributes?.o3rPrivate);
|
|
20
|
+
if (privateRefs.length > 0) {
|
|
21
|
+
privateRefs.forEach((ref) => {
|
|
22
|
+
const refValue = options.formatter(ref);
|
|
23
|
+
const suffixIdx = refValue.indexOf(suffix);
|
|
24
|
+
strValue = strValue.replaceAll(`${prefix}${ref.name}`, `${prefix}${ref.name}, ${refValue.substring(refValue.indexOf(separator) + 1, suffixIdx === -1 ? undefined : suffixIdx).trim()}`);
|
|
25
|
+
strValue = replacePrivateTokenReferences(ref, strValue);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return strValue;
|
|
30
|
+
};
|
|
31
|
+
return replacePrivateTokenReferences;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=private.formatter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"private.formatter.mjs","sourceRoot":"","sources":["../../../../src/formats/css-formatters/private.formatter.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,GACd,MAAM,wBAAwB,CAAC;AAOhC;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAqB,CAAC,OAAyB,EAAE,EAAE;IACpF,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,IAAI,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,IAAI,GAAG,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,GAAG,CAAC;IAEjD,MAAM,6BAA6B,GAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACnE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,QAAQ,GAAG,GAAG,CAAC;QACnB,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEtF,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,gBAAgB,IAAI,MAAM,EAAE,OAAO,CAAC,CAAC;YAClG,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACrE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAU,CAAC,GAAG,CAAC,CAAC;oBACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC3C,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACxL,QAAQ,GAAG,6BAA6B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC1D,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,6BAA6B,CAAC;AACvC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.format.d.mts","sourceRoot":"","sources":["../../../src/formats/css.format.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,
|
|
1
|
+
{"version":3,"file":"css.format.d.mts","sourceRoot":"","sources":["../../../src/formats/css.format.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACP,MAAM,wBAAwB,CAAC;AAehC,eAAO,MAAM,SAAS,EAAE,MA+DvB,CAAC"}
|
|
@@ -1,60 +1,44 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { fileHeader, sortByReference, } from 'style-dictionary/utils';
|
|
2
2
|
import { OTTER_NAME_PREFIX, } from '../constants.mjs';
|
|
3
|
+
import { getDefaultCssFormatter, } from './css-formatters/default.formatter.mjs';
|
|
3
4
|
export const cssFormat = {
|
|
4
5
|
name: `${OTTER_NAME_PREFIX}/css/variable`,
|
|
5
6
|
format: async ({ dictionary, file, options }) => {
|
|
6
7
|
const selector = options.selector || ':root';
|
|
7
|
-
const { outputReferences, usesDtcg, formatting } = options;
|
|
8
|
+
const { outputReferences: outRef, usesDtcg, formatting } = options;
|
|
9
|
+
const outputReferences = outRef ?? true;
|
|
8
10
|
const header = await fileHeader({ file, formatting, options });
|
|
9
11
|
const { lineSeparator } = { lineSeparator: '\n', ...formatting };
|
|
10
12
|
const format = 'css';
|
|
11
13
|
const suffix = ';';
|
|
12
14
|
const prefix = '--';
|
|
13
15
|
const separator = ':';
|
|
16
|
+
const baseFormatterOptions = {
|
|
17
|
+
outputReferences,
|
|
18
|
+
outputReferenceFallbacks: false,
|
|
19
|
+
dictionary,
|
|
20
|
+
format,
|
|
21
|
+
formatting: {
|
|
22
|
+
...formatting,
|
|
23
|
+
suffix,
|
|
24
|
+
prefix,
|
|
25
|
+
separator
|
|
26
|
+
},
|
|
27
|
+
themeable: false,
|
|
28
|
+
usesDtcg
|
|
29
|
+
};
|
|
14
30
|
const formattedVariables = () => {
|
|
15
31
|
let allTokens = dictionary.allTokens;
|
|
16
32
|
const tokens = dictionary.tokens;
|
|
17
33
|
if (outputReferences) {
|
|
18
34
|
allTokens = [...allTokens].sort(sortByReference(tokens, { unfilteredTokens: dictionary.unfilteredTokens, usesDtcg }));
|
|
19
35
|
}
|
|
20
|
-
const propertyFormatter =
|
|
21
|
-
outputReferences: outputReferences ?? true,
|
|
22
|
-
outputReferenceFallbacks: false,
|
|
23
|
-
dictionary,
|
|
24
|
-
format,
|
|
25
|
-
formatting: {
|
|
26
|
-
...formatting,
|
|
27
|
-
suffix,
|
|
28
|
-
prefix,
|
|
29
|
-
separator
|
|
30
|
-
},
|
|
31
|
-
themeable: false,
|
|
32
|
-
usesDtcg
|
|
33
|
-
});
|
|
34
|
-
const replacePrivateTokenReferences = (token, strValue) => {
|
|
35
|
-
const originalValue = usesDtcg ? token.original.$value : token.original.value;
|
|
36
|
-
if (outputReferences) {
|
|
37
|
-
const refs = getReferences(originalValue, dictionary.unfilteredTokens || tokens, options);
|
|
38
|
-
const privateRefs = refs.filter((ref) => ref.attributes?.o3rPrivate);
|
|
39
|
-
if (privateRefs.length > 0) {
|
|
40
|
-
privateRefs.forEach((ref) => {
|
|
41
|
-
const refValue = propertyFormatter(ref);
|
|
42
|
-
strValue = strValue.replaceAll(`${prefix}${ref.name}`, `${prefix}${ref.name}, ${refValue.substring(refValue.indexOf(separator) + 1).trim()}`);
|
|
43
|
-
strValue = replacePrivateTokenReferences(ref, strValue);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return strValue;
|
|
48
|
-
};
|
|
49
|
-
const privatePropertyFormatter = (token) => {
|
|
50
|
-
const strValue = propertyFormatter(token);
|
|
51
|
-
return strValue && replacePrivateTokenReferences(token, strValue);
|
|
52
|
-
};
|
|
36
|
+
const propertyFormatter = getDefaultCssFormatter(baseFormatterOptions);
|
|
53
37
|
return allTokens
|
|
54
38
|
.filter(({ attributes }) => !attributes?.private)
|
|
55
39
|
.map((token) => ({
|
|
56
40
|
token,
|
|
57
|
-
strValue:
|
|
41
|
+
strValue: propertyFormatter(token)
|
|
58
42
|
}))
|
|
59
43
|
.filter(({ strValue }) => !!strValue)
|
|
60
44
|
.map(({ token, strValue }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.format.mjs","sourceRoot":"","sources":["../../../src/formats/css.format.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"css.format.mjs","sourceRoot":"","sources":["../../../src/formats/css.format.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.format.d.mts","sourceRoot":"","sources":["../../../src/formats/metadata.format.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAEP,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"metadata.format.d.mts","sourceRoot":"","sources":["../../../src/formats/metadata.format.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAEP,MAAM,wBAAwB,CAAC;AAoBhC,eAAO,MAAM,cAAc,EAAE,MA0E5B,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getReferences, sortByReference, } from 'style-dictionary/utils';
|
|
2
2
|
import { OTTER_NAME_PREFIX, } from '../constants.mjs';
|
|
3
|
+
import { getDefaultCssFormatter, } from './css-formatters/default.formatter.mjs';
|
|
3
4
|
export const metadataFormat = {
|
|
4
5
|
name: `${OTTER_NAME_PREFIX}/json/metadata`,
|
|
5
6
|
format: ({ dictionary, options }) => {
|
|
6
|
-
const { outputReferences, usesDtcg, formatting, keepPrivate } = options;
|
|
7
|
+
const { outputReferences: outRef, usesDtcg, formatting, keepPrivate } = options;
|
|
8
|
+
const outputReferences = outRef ?? true;
|
|
7
9
|
const format = 'css';
|
|
8
10
|
const suffix = ';';
|
|
9
11
|
const prefix = '--';
|
|
@@ -11,13 +13,8 @@ export const metadataFormat = {
|
|
|
11
13
|
const commentStyle = options.formatting?.commentStyle ?? 'none';
|
|
12
14
|
const indentation = options.formatting?.indentation ?? '';
|
|
13
15
|
const { lineSeparator } = { lineSeparator: '\n', ...formatting };
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (outputReferences) {
|
|
17
|
-
allTokens = [...allTokens].sort(sortByReference(tokens, { unfilteredTokens: dictionary.unfilteredTokens, usesDtcg }));
|
|
18
|
-
}
|
|
19
|
-
const propertyFormatter = createPropertyFormatter({
|
|
20
|
-
outputReferences: outputReferences ?? true,
|
|
16
|
+
const baseFormatterOptions = {
|
|
17
|
+
outputReferences,
|
|
21
18
|
outputReferenceFallbacks: false,
|
|
22
19
|
dictionary,
|
|
23
20
|
format,
|
|
@@ -31,31 +28,20 @@ export const metadataFormat = {
|
|
|
31
28
|
},
|
|
32
29
|
themeable: false,
|
|
33
30
|
usesDtcg
|
|
34
|
-
});
|
|
35
|
-
const replacePrivateTokenReferences = (token, strValue) => {
|
|
36
|
-
const originalValue = usesDtcg ? token.original.$value : token.original.value;
|
|
37
|
-
const refs = getReferences(originalValue, tokens);
|
|
38
|
-
const privateRefs = refs.filter((ref) => ref.attributes?.o3rPrivate);
|
|
39
|
-
if (privateRefs.length > 0) {
|
|
40
|
-
privateRefs.forEach((ref) => {
|
|
41
|
-
const refValue = propertyFormatter(ref);
|
|
42
|
-
strValue = strValue.replaceAll(`${prefix}${ref.name}`, `${prefix}${ref.name}, ${refValue.substring(refValue.indexOf(separator) + 1).trim()}`);
|
|
43
|
-
strValue = replacePrivateTokenReferences(ref, strValue);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
return strValue;
|
|
47
|
-
};
|
|
48
|
-
const privatePropertyFormatter = (token) => {
|
|
49
|
-
const strValue = propertyFormatter(token);
|
|
50
|
-
return strValue && replacePrivateTokenReferences(token, strValue);
|
|
51
31
|
};
|
|
32
|
+
let allTokens = dictionary.allTokens;
|
|
33
|
+
const tokens = dictionary.tokens;
|
|
34
|
+
if (outputReferences) {
|
|
35
|
+
allTokens = [...allTokens].sort(sortByReference(tokens, { unfilteredTokens: dictionary.unfilteredTokens, usesDtcg }));
|
|
36
|
+
}
|
|
37
|
+
const propertyFormatter = getDefaultCssFormatter(baseFormatterOptions);
|
|
52
38
|
const getValueFromCssVariable = (strValue) => strValue.replace(new RegExp(`^.*?${separator}(.*)$`), '$1').trim();
|
|
53
39
|
const getMetadataReferences = (token) => {
|
|
54
40
|
const originalValue = usesDtcg ? token.original.$value : token.original.value;
|
|
55
41
|
const refs = getReferences(originalValue, tokens);
|
|
56
42
|
return refs
|
|
57
43
|
.map((ref) => ({
|
|
58
|
-
defaultValue: getValueFromCssVariable(
|
|
44
|
+
defaultValue: getValueFromCssVariable(propertyFormatter(ref)),
|
|
59
45
|
name: ref.name,
|
|
60
46
|
references: getMetadataReferences(ref)
|
|
61
47
|
}));
|
|
@@ -64,7 +50,7 @@ export const metadataFormat = {
|
|
|
64
50
|
.filter(({ attributes }) => !!keepPrivate || !attributes?.private)
|
|
65
51
|
.map((token) => ({
|
|
66
52
|
token,
|
|
67
|
-
strValue:
|
|
53
|
+
strValue: propertyFormatter(token)
|
|
68
54
|
}))
|
|
69
55
|
.filter(({ strValue }) => !!strValue)
|
|
70
56
|
.reduce((acc, { token, strValue }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.format.mjs","sourceRoot":"","sources":["../../../src/formats/metadata.format.mts"],"names":[],"mappings":"AAIA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"metadata.format.mjs","sourceRoot":"","sources":["../../../src/formats/metadata.format.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit.transform.mjs","sourceRoot":"","sources":["../../../src/transforms/unit.transform.mts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAK1B,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"unit.transform.mjs","sourceRoot":"","sources":["../../../src/transforms/unit.transform.mts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAK1B,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;IAC1B,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,GAAG,GAAG,CAAC,IAAS,EAAE,IAAY,EAAO,EAAE;IAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aACjB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,IAAI,EAAE,GAAG,iBAAiB,iBAAiB;IAC3C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;QACzB,MAAM,OAAO,GAAG,UAAU,IAAK,UAAoC,CAAC,OAAO,KAAK,SAAS,CAAC;QAC1F,OAAO,CAAC,CAAC,OAAO,CAAC;IACnB,CAAC;IACD,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACrC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAG,KAAK,CAAC,UAAoC,CAAC,OAAQ,CAAC,CAAC;IAClH,CAAC;CACF,CAAC"}
|