@ama-styling/style-dictionary 12.5.0-prerelease.10

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 (99) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +255 -0
  3. package/collection.json +14 -0
  4. package/package.json +199 -0
  5. package/schemas/design-token.extensions.schema.json +121 -0
  6. package/schematics/ng-add/index.d.ts +8 -0
  7. package/schematics/ng-add/index.d.ts.map +1 -0
  8. package/schematics/ng-add/index.js +100 -0
  9. package/schematics/ng-add/schema.d.ts +10 -0
  10. package/schematics/ng-add/schema.d.ts.map +1 -0
  11. package/schematics/ng-add/schema.js +3 -0
  12. package/schematics/ng-add/schema.json +26 -0
  13. package/schematics/ng-add/templates/config.__configExtension__ +50 -0
  14. package/schematics/ng-add/templates/token.extensions.json.template +3 -0
  15. package/schematics/package.json +3 -0
  16. package/src/constants.d.mts +5 -0
  17. package/src/constants.d.mts.map +1 -0
  18. package/src/constants.mjs +5 -0
  19. package/src/constants.mjs.map +1 -0
  20. package/src/filters/target-file.filter.d.mts +34 -0
  21. package/src/filters/target-file.filter.d.mts.map +1 -0
  22. package/src/filters/target-file.filter.mjs +49 -0
  23. package/src/filters/target-file.filter.mjs.map +1 -0
  24. package/src/formats/css-formatters/default.formatter.d.mts +7 -0
  25. package/src/formats/css-formatters/default.formatter.d.mts.map +1 -0
  26. package/src/formats/css-formatters/default.formatter.mjs +19 -0
  27. package/src/formats/css-formatters/default.formatter.mjs.map +1 -0
  28. package/src/formats/css-formatters/gradients.formatter.d.mts +7 -0
  29. package/src/formats/css-formatters/gradients.formatter.d.mts.map +1 -0
  30. package/src/formats/css-formatters/gradients.formatter.mjs +32 -0
  31. package/src/formats/css-formatters/gradients.formatter.mjs.map +1 -0
  32. package/src/formats/css-formatters/interface.formatter.d.mts +13 -0
  33. package/src/formats/css-formatters/interface.formatter.d.mts.map +1 -0
  34. package/src/formats/css-formatters/interface.formatter.mjs +2 -0
  35. package/src/formats/css-formatters/interface.formatter.mjs.map +1 -0
  36. package/src/formats/css-formatters/private.formatter.d.mts +7 -0
  37. package/src/formats/css-formatters/private.formatter.d.mts.map +1 -0
  38. package/src/formats/css-formatters/private.formatter.mjs +33 -0
  39. package/src/formats/css-formatters/private.formatter.mjs.map +1 -0
  40. package/src/formats/css.format.d.mts +3 -0
  41. package/src/formats/css.format.d.mts.map +1 -0
  42. package/src/formats/css.format.mjs +60 -0
  43. package/src/formats/css.format.mjs.map +1 -0
  44. package/src/formats/metadata.format.d.mts +3 -0
  45. package/src/formats/metadata.format.d.mts.map +1 -0
  46. package/src/formats/metadata.format.mjs +71 -0
  47. package/src/formats/metadata.format.mjs.map +1 -0
  48. package/src/helpers/config-deflatten.helpers.d.mts +6 -0
  49. package/src/helpers/config-deflatten.helpers.d.mts.map +1 -0
  50. package/src/helpers/config-deflatten.helpers.mjs +46 -0
  51. package/src/helpers/config-deflatten.helpers.mjs.map +1 -0
  52. package/src/helpers/sort-by-path.sort.helpers.d.mts +8 -0
  53. package/src/helpers/sort-by-path.sort.helpers.d.mts.map +1 -0
  54. package/src/helpers/sort-by-path.sort.helpers.mjs +33 -0
  55. package/src/helpers/sort-by-path.sort.helpers.mjs.map +1 -0
  56. package/src/interfaces/extensions.interface.d.mts +56 -0
  57. package/src/interfaces/extensions.interface.d.mts.map +1 -0
  58. package/src/interfaces/extensions.interface.mjs +2 -0
  59. package/src/interfaces/extensions.interface.mjs.map +1 -0
  60. package/src/interfaces/metadata.interface.d.mts +57 -0
  61. package/src/interfaces/metadata.interface.d.mts.map +1 -0
  62. package/src/interfaces/metadata.interface.mjs +2 -0
  63. package/src/interfaces/metadata.interface.mjs.map +1 -0
  64. package/src/interfaces/style-dictionary.interface.d.mts +11 -0
  65. package/src/interfaces/style-dictionary.interface.d.mts.map +1 -0
  66. package/src/interfaces/style-dictionary.interface.mjs +2 -0
  67. package/src/interfaces/style-dictionary.interface.mjs.map +1 -0
  68. package/src/parsers/extensions.json.parser.d.mts +6 -0
  69. package/src/parsers/extensions.json.parser.d.mts.map +1 -0
  70. package/src/parsers/extensions.json.parser.mjs +19 -0
  71. package/src/parsers/extensions.json.parser.mjs.map +1 -0
  72. package/src/parsers/one-line-token.json.parser.d.mts +6 -0
  73. package/src/parsers/one-line-token.json.parser.d.mts.map +1 -0
  74. package/src/parsers/one-line-token.json.parser.mjs +17 -0
  75. package/src/parsers/one-line-token.json.parser.mjs.map +1 -0
  76. package/src/preprocessors/extensions.preprocessor.d.mts +6 -0
  77. package/src/preprocessors/extensions.preprocessor.d.mts.map +1 -0
  78. package/src/preprocessors/extensions.preprocessor.mjs +74 -0
  79. package/src/preprocessors/extensions.preprocessor.mjs.map +1 -0
  80. package/src/presets.d.mts +12 -0
  81. package/src/presets.d.mts.map +1 -0
  82. package/src/presets.mjs +33 -0
  83. package/src/presets.mjs.map +1 -0
  84. package/src/public_api.d.mts +14 -0
  85. package/src/public_api.d.mts.map +1 -0
  86. package/src/public_api.mjs +14 -0
  87. package/src/public_api.mjs.map +1 -0
  88. package/src/transform-groups/css-recommended.transform-group.d.mts +4 -0
  89. package/src/transform-groups/css-recommended.transform-group.d.mts.map +1 -0
  90. package/src/transform-groups/css-recommended.transform-group.mjs +25 -0
  91. package/src/transform-groups/css-recommended.transform-group.mjs.map +1 -0
  92. package/src/transforms/ratio.transform.d.mts +6 -0
  93. package/src/transforms/ratio.transform.d.mts.map +1 -0
  94. package/src/transforms/ratio.transform.mjs +48 -0
  95. package/src/transforms/ratio.transform.mjs.map +1 -0
  96. package/src/transforms/unit.transform.d.mts +6 -0
  97. package/src/transforms/unit.transform.d.mts.map +1 -0
  98. package/src/transforms/unit.transform.mjs +41 -0
  99. package/src/transforms/unit.transform.mjs.map +1 -0
@@ -0,0 +1,25 @@
1
+ import { transforms, } from 'style-dictionary/enums';
2
+ import { OTTER_NAME_PREFIX, } from '../constants.mjs';
3
+ /** Transform group recommended by Otter */
4
+ export const cssRecommendedTransformGroup = {
5
+ name: `${OTTER_NAME_PREFIX}/css/recommended`,
6
+ transforms: [
7
+ transforms.attributeCti,
8
+ transforms.nameKebab,
9
+ transforms.timeSeconds,
10
+ transforms.htmlIcon,
11
+ transforms.sizeRem,
12
+ transforms.colorCss,
13
+ transforms.assetUrl,
14
+ transforms.fontFamilyCss,
15
+ transforms.cubicBezierCss,
16
+ transforms.strokeStyleCssShorthand,
17
+ transforms.borderCssShorthand,
18
+ transforms.typographyCssShorthand,
19
+ transforms.transitionCssShorthand,
20
+ transforms.shadowCssShorthand,
21
+ `${OTTER_NAME_PREFIX}/transform/ratio`,
22
+ `${OTTER_NAME_PREFIX}/transform/unit`
23
+ ]
24
+ };
25
+ //# sourceMappingURL=css-recommended.transform-group.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-recommended.transform-group.mjs","sourceRoot":"","sources":["../../../src/transform-groups/css-recommended.transform-group.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAK1B,2CAA2C;AAC3C,MAAM,CAAC,MAAM,4BAA4B,GAAmB;IAC1D,IAAI,EAAE,GAAG,iBAAiB,kBAAkB;IAC5C,UAAU,EAAE;QACV,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,QAAQ;QACnB,UAAU,CAAC,OAAO;QAClB,UAAU,CAAC,QAAQ;QACnB,UAAU,CAAC,QAAQ;QACnB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,uBAAuB;QAClC,UAAU,CAAC,kBAAkB;QAC7B,UAAU,CAAC,sBAAsB;QACjC,UAAU,CAAC,sBAAsB;QACjC,UAAU,CAAC,kBAAkB;QAC7B,GAAG,iBAAiB,kBAAkB;QACtC,GAAG,iBAAiB,iBAAiB;KACtC;CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * Apply the given `o3rRatio` to the numeric values of the Token(s) it refer to.
4
+ */
5
+ export declare const ratioTransform: Transform;
6
+ //# sourceMappingURL=ratio.transform.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ratio.transform.d.mts","sourceRoot":"","sources":["../../../src/transforms/ratio.transform.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACV,MAAM,wBAAwB,CAAC;AA4ChC;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAU5B,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { OTTER_NAME_PREFIX, } from '../constants.mjs';
2
+ const numberPossiblePattern = /^(.*?)\s*[a-z]*$/;
3
+ const applyRatio = (value, ratio) => {
4
+ if (typeof value === 'number') {
5
+ return value * ratio;
6
+ }
7
+ else if (typeof value === 'string') {
8
+ const match = value.match(numberPossiblePattern);
9
+ if (!match) {
10
+ return value;
11
+ }
12
+ const [, strNumber] = match;
13
+ const parsedNumber = Number.parseFloat(strNumber);
14
+ if (Number.isNaN(parsedNumber)) {
15
+ return value;
16
+ }
17
+ return value.replace(strNumber, Number.parseFloat((parsedNumber * ratio).toFixed(3)).toString());
18
+ }
19
+ return value;
20
+ };
21
+ const rec = (item, ratio) => {
22
+ if (typeof item === 'object') {
23
+ if (item === null) {
24
+ return item;
25
+ }
26
+ if (Array.isArray(item)) {
27
+ return item.map((value) => rec(value, ratio));
28
+ }
29
+ return Object.fromEntries(Object.entries(item)
30
+ .map(([name, value]) => ([name, rec(value, ratio)])));
31
+ }
32
+ return applyRatio(item, ratio);
33
+ };
34
+ /**
35
+ * Apply the given `o3rRatio` to the numeric values of the Token(s) it refer to.
36
+ */
37
+ export const ratioTransform = {
38
+ name: `${OTTER_NAME_PREFIX}/transform/ratio`,
39
+ type: 'value',
40
+ filter: ({ attributes }) => {
41
+ const hasRatio = attributes && attributes.o3rRatio !== undefined;
42
+ return !!hasRatio;
43
+ },
44
+ transform: (token, _config, options) => {
45
+ return rec(options.usesDtcg ? token.$value : token.value, token.attributes.o3rRatio);
46
+ }
47
+ };
48
+ //# sourceMappingURL=ratio.transform.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ratio.transform.mjs","sourceRoot":"","sources":["../../../src/transforms/ratio.transform.mts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAK1B,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEjD,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;QAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,GAAG,GAAG,CAAC,IAAS,EAAE,KAAa,EAAO,EAAE;IAC5C,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,KAAK,CAAC,CAAC,CAAC;QAChD,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,KAAK,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,IAAI,EAAE,GAAG,iBAAiB,kBAAkB;IAC5C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;QACzB,MAAM,QAAQ,GAAG,UAAU,IAAK,UAAoC,CAAC,QAAQ,KAAK,SAAS,CAAC;QAC5F,OAAO,CAAC,CAAC,QAAQ,CAAC;IACpB,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,QAAS,CAAC,CAAC;IACnH,CAAC;CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * Replace the unit of the values of the Token(s) it refer to, by the provided given `o3rUnit`
4
+ */
5
+ export declare const unitTransform: Transform;
6
+ //# sourceMappingURL=unit.transform.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit.transform.d.mts","sourceRoot":"","sources":["../../../src/transforms/unit.transform.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACV,MAAM,wBAAwB,CAAC;AAsChC;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAU3B,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { OTTER_NAME_PREFIX, } from '../constants.mjs';
2
+ const numberPossiblePattern = /^[0-9.]*?\s*([a-z]+)$/;
3
+ const applyUnit = (value, unit) => {
4
+ const match = value.match(numberPossiblePattern);
5
+ if (!match) {
6
+ if (!Number.isNaN(Number.parseFloat(value))) {
7
+ return `${value}${unit}`;
8
+ }
9
+ return value;
10
+ }
11
+ const [, strUnit] = match;
12
+ return value.replace(strUnit, unit);
13
+ };
14
+ const rec = (item, unit) => {
15
+ if (typeof item === 'object') {
16
+ if (item === null) {
17
+ return item;
18
+ }
19
+ if (Array.isArray(item)) {
20
+ return item.map((value) => rec(value, unit));
21
+ }
22
+ return Object.fromEntries(Object.entries(item)
23
+ .map(([name, value]) => ([name, rec(value, unit)])));
24
+ }
25
+ return typeof item === 'string' ? applyUnit(item, unit) : item;
26
+ };
27
+ /**
28
+ * Replace the unit of the values of the Token(s) it refer to, by the provided given `o3rUnit`
29
+ */
30
+ export const unitTransform = {
31
+ name: `${OTTER_NAME_PREFIX}/transform/unit`,
32
+ type: 'value',
33
+ filter: ({ attributes }) => {
34
+ const hasUnit = attributes && attributes.o3rUnit !== undefined;
35
+ return !!hasUnit;
36
+ },
37
+ transform: (token, _config, options) => {
38
+ return rec(options.usesDtcg ? token.$value : token.value, token.attributes.o3rUnit);
39
+ }
40
+ };
41
+ //# sourceMappingURL=unit.transform.mjs.map
@@ -0,0 +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,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"}