@atlaskit/codemod-cli 0.13.4 → 0.15.0

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 (89) hide show
  1. package/CHANGELOG.md +71 -52
  2. package/dist/cjs/main.js +3 -3
  3. package/dist/cjs/presets/css-to-design-tokens/css-to-design-tokens.js +65 -135
  4. package/dist/cjs/presets/css-to-design-tokens/lib/colors.js +49 -0
  5. package/dist/cjs/presets/css-to-design-tokens/lib/declaration.js +29 -0
  6. package/dist/cjs/presets/css-to-design-tokens/{utils → lib}/legacy-colors.js +13 -17
  7. package/dist/cjs/presets/css-to-design-tokens/lib/logger.js +18 -0
  8. package/dist/cjs/presets/css-to-design-tokens/lib/meta.js +157 -0
  9. package/dist/cjs/presets/css-to-design-tokens/lib/tokens.js +47 -0
  10. package/dist/cjs/presets/css-to-design-tokens/lib/value.js +80 -0
  11. package/dist/cjs/presets/index.js +1 -2
  12. package/dist/cjs/presets/styled-to-emotion/styled-to-emotion.js +1 -2
  13. package/dist/cjs/presets/theme-remove-deprecated-mixins/utils/replacements.js +2 -3
  14. package/dist/cjs/presets/theme-to-design-tokens/theme-to-design-tokens.js +348 -104
  15. package/dist/cjs/presets/theme-to-design-tokens/utils/ast.js +1 -1
  16. package/dist/cjs/presets/theme-to-design-tokens/utils/color.js +17 -17
  17. package/dist/cjs/presets/theme-to-design-tokens/utils/css-utils.js +38 -0
  18. package/dist/cjs/presets/theme-to-design-tokens/utils/fuzzy-search.js +1 -2
  19. package/dist/cjs/presets/theme-to-design-tokens/utils/legacy-colors.js +4 -7
  20. package/dist/cjs/presets/theme-to-design-tokens/utils/named-colors.js +1 -2
  21. package/dist/cjs/presets/theme-to-design-tokens/utils/string-utils.js +25 -0
  22. package/dist/cjs/presets/theme-to-design-tokens/utils/tokens.js +3 -5
  23. package/dist/cjs/sinceRef.js +1 -2
  24. package/dist/cjs/transforms.js +6 -12
  25. package/dist/cjs/types.js +3 -5
  26. package/dist/cjs/utils.js +2 -3
  27. package/dist/es2019/presets/css-to-design-tokens/css-to-design-tokens.js +61 -115
  28. package/dist/es2019/presets/css-to-design-tokens/lib/colors.js +34 -0
  29. package/dist/es2019/presets/css-to-design-tokens/lib/declaration.js +17 -0
  30. package/dist/es2019/presets/css-to-design-tokens/{utils → lib}/legacy-colors.js +9 -10
  31. package/dist/es2019/presets/css-to-design-tokens/lib/logger.js +11 -0
  32. package/dist/es2019/presets/css-to-design-tokens/lib/meta.js +133 -0
  33. package/dist/es2019/presets/css-to-design-tokens/lib/tokens.js +24 -0
  34. package/dist/es2019/presets/css-to-design-tokens/lib/value.js +68 -0
  35. package/dist/es2019/presets/theme-to-design-tokens/theme-to-design-tokens.js +191 -32
  36. package/dist/es2019/presets/theme-to-design-tokens/utils/ast.js +1 -1
  37. package/dist/es2019/presets/theme-to-design-tokens/utils/color.js +12 -10
  38. package/dist/es2019/presets/theme-to-design-tokens/utils/css-utils.js +31 -0
  39. package/dist/es2019/presets/theme-to-design-tokens/utils/string-utils.js +13 -0
  40. package/dist/esm/main.js +3 -3
  41. package/dist/esm/presets/css-to-design-tokens/css-to-design-tokens.js +65 -135
  42. package/dist/esm/presets/css-to-design-tokens/lib/colors.js +38 -0
  43. package/dist/esm/presets/css-to-design-tokens/lib/declaration.js +19 -0
  44. package/dist/esm/presets/css-to-design-tokens/{utils → lib}/legacy-colors.js +9 -10
  45. package/dist/esm/presets/css-to-design-tokens/lib/logger.js +11 -0
  46. package/dist/esm/presets/css-to-design-tokens/lib/meta.js +146 -0
  47. package/dist/esm/presets/css-to-design-tokens/lib/tokens.js +40 -0
  48. package/dist/esm/presets/css-to-design-tokens/lib/value.js +73 -0
  49. package/dist/esm/presets/theme-to-design-tokens/theme-to-design-tokens.js +346 -100
  50. package/dist/esm/presets/theme-to-design-tokens/utils/ast.js +1 -1
  51. package/dist/esm/presets/theme-to-design-tokens/utils/color.js +12 -10
  52. package/dist/esm/presets/theme-to-design-tokens/utils/css-utils.js +31 -0
  53. package/dist/esm/presets/theme-to-design-tokens/utils/string-utils.js +17 -0
  54. package/dist/types/main.d.ts +0 -1
  55. package/dist/types/presets/css-to-design-tokens/css-to-design-tokens.d.ts +1 -1
  56. package/dist/types/presets/css-to-design-tokens/lib/colors.d.ts +6 -0
  57. package/dist/types/presets/css-to-design-tokens/lib/declaration.d.ts +5 -0
  58. package/dist/types/presets/css-to-design-tokens/{utils → lib}/legacy-colors.d.ts +1 -1
  59. package/dist/types/presets/css-to-design-tokens/lib/logger.d.ts +4 -0
  60. package/dist/types/presets/css-to-design-tokens/lib/meta.d.ts +6 -0
  61. package/dist/types/presets/css-to-design-tokens/lib/tokens.d.ts +7 -0
  62. package/dist/types/presets/css-to-design-tokens/lib/value.d.ts +6 -0
  63. package/dist/types/presets/theme-to-design-tokens/theme-to-design-tokens.d.ts +1 -1
  64. package/dist/types/presets/theme-to-design-tokens/utils/ast.d.ts +1 -1
  65. package/dist/types/presets/theme-to-design-tokens/utils/color.d.ts +2 -1
  66. package/dist/types/presets/theme-to-design-tokens/utils/css-utils.d.ts +2 -0
  67. package/dist/types/presets/theme-to-design-tokens/utils/string-utils.d.ts +3 -0
  68. package/dist/types-ts4.5/main.d.ts +0 -1
  69. package/dist/types-ts4.5/presets/css-to-design-tokens/css-to-design-tokens.d.ts +1 -1
  70. package/dist/types-ts4.5/presets/css-to-design-tokens/lib/colors.d.ts +6 -0
  71. package/dist/types-ts4.5/presets/css-to-design-tokens/lib/declaration.d.ts +5 -0
  72. package/dist/types-ts4.5/presets/css-to-design-tokens/{utils → lib}/legacy-colors.d.ts +1 -1
  73. package/dist/types-ts4.5/presets/css-to-design-tokens/lib/logger.d.ts +4 -0
  74. package/dist/types-ts4.5/presets/css-to-design-tokens/lib/meta.d.ts +6 -0
  75. package/dist/types-ts4.5/presets/css-to-design-tokens/lib/tokens.d.ts +7 -0
  76. package/dist/types-ts4.5/presets/css-to-design-tokens/lib/value.d.ts +6 -0
  77. package/dist/types-ts4.5/presets/theme-to-design-tokens/theme-to-design-tokens.d.ts +1 -1
  78. package/dist/types-ts4.5/presets/theme-to-design-tokens/utils/ast.d.ts +1 -1
  79. package/dist/types-ts4.5/presets/theme-to-design-tokens/utils/color.d.ts +2 -1
  80. package/dist/types-ts4.5/presets/theme-to-design-tokens/utils/css-utils.d.ts +2 -0
  81. package/dist/types-ts4.5/presets/theme-to-design-tokens/utils/string-utils.d.ts +6 -0
  82. package/package.json +2 -2
  83. package/report.api.md +0 -2
  84. package/tmp/api-report-tmp.d.ts +0 -2
  85. package/dist/cjs/presets/css-to-design-tokens/utils/meta.js +0 -53
  86. package/dist/es2019/presets/css-to-design-tokens/utils/meta.js +0 -33
  87. package/dist/esm/presets/css-to-design-tokens/utils/meta.js +0 -46
  88. package/dist/types/presets/css-to-design-tokens/utils/meta.d.ts +0 -1
  89. package/dist/types-ts4.5/presets/css-to-design-tokens/utils/meta.d.ts +0 -1
@@ -3,20 +3,21 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isLegacyNamedColor = exports.isLegacyColor = exports.isHardCodedColor = exports.includesHardCodedColor = void 0;
6
+ exports.includesHardCodedColor = void 0;
7
+ exports.isBoldColor = isBoldColor;
8
+ exports.isLegacyNamedColor = exports.isLegacyColor = exports.isHardCodedColor = void 0;
7
9
  var _legacyColors = require("./legacy-colors");
8
10
  var _namedColors = require("./named-colors");
9
- var isLegacyColor = function isLegacyColor(value) {
11
+ var isLegacyColor = exports.isLegacyColor = function isLegacyColor(value) {
10
12
  return _legacyColors.legacyColors.includes(value);
11
13
  };
12
- exports.isLegacyColor = isLegacyColor;
13
- var isLegacyNamedColor = function isLegacyNamedColor(value) {
14
+ var isLegacyNamedColor = exports.isLegacyNamedColor = function isLegacyNamedColor(value) {
14
15
  return _legacyColors.legacyColorMixins.includes(value);
15
16
  };
16
- exports.isLegacyNamedColor = isLegacyNamedColor;
17
- var includesHardCodedColor = function includesHardCodedColor(raw) {
17
+ var colorRegexp = /#(?:[a-f0-9]{3}|[a-f0-9]{6}|[a-f0-9]{8})\b|(?:rgb|rgba|hsl|hsla|lch|lab|color)\([^\)]*\)/;
18
+ var includesHardCodedColor = exports.includesHardCodedColor = function includesHardCodedColor(raw) {
18
19
  var value = raw.toLowerCase();
19
- if (/#(?:[a-f0-9]{3}|[a-f0-9]{6}|[a-f0-9]{8})\b|(?:rgb|hsl)a?\([^\)]*\)/.exec(value.toLowerCase())) {
20
+ if (colorRegexp.exec(value)) {
20
21
  return true;
21
22
  }
22
23
  for (var i = 0; i < _namedColors.namedColors.length; i++) {
@@ -26,19 +27,18 @@ var includesHardCodedColor = function includesHardCodedColor(raw) {
26
27
  }
27
28
  return false;
28
29
  };
29
- exports.includesHardCodedColor = includesHardCodedColor;
30
- var isHardCodedColor = function isHardCodedColor(value) {
31
- if (_namedColors.namedColors.includes(value.toLowerCase())) {
32
- return true;
33
- }
34
- if (value.startsWith('rgb(') || value.startsWith('rgba(') || value.startsWith('hsl(') || value.startsWith('hsla(') || value.startsWith('lch(') || value.startsWith('lab(') || value.startsWith('color(')) {
30
+ var isHardCodedColor = exports.isHardCodedColor = function isHardCodedColor(raw) {
31
+ var value = raw.toLowerCase();
32
+ if (_namedColors.namedColors.includes(value)) {
35
33
  return true;
36
34
  }
37
- if (value.startsWith('#') && (
38
- // short hex, hex, or hex with alpha
39
- value.length === 4 || value.length === 7 || value.length === 9)) {
35
+ var match = value.toLowerCase().match(colorRegexp);
36
+ if (match && match[0] === value) {
40
37
  return true;
41
38
  }
42
39
  return false;
43
40
  };
44
- exports.isHardCodedColor = isHardCodedColor;
41
+ function isBoldColor(color) {
42
+ var number = parseInt(color.replace(/^./, ''), 10);
43
+ return number > 300;
44
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.containsReplaceableCSSDeclarations = containsReplaceableCSSDeclarations;
7
+ exports.findEndIndexOfCSSExpression = findEndIndexOfCSSExpression;
8
+ var _declaration = require("../../css-to-design-tokens/lib/declaration");
9
+ function containsReplaceableCSSDeclarations(input) {
10
+ var cssPattern = /(\S+)\s*:/g;
11
+ var match;
12
+ while ((match = cssPattern.exec(input)) !== null) {
13
+ if ((0, _declaration.isColorRelatedProperty)(match[1])) {
14
+ return true;
15
+ }
16
+ }
17
+ return false;
18
+ }
19
+ function findEndIndexOfCSSExpression(text, isAtEndOfInput) {
20
+ // CSS expression can end *on* a semicolon or *before* a brace. In either
21
+ // case we treat the remaining part of the value to cover one character
22
+ // before that symbol.
23
+ var semicolonIndex = text.indexOf(';');
24
+ var braceIndex = text.indexOf('}');
25
+ if (semicolonIndex === -1 && braceIndex === -1) {
26
+ if (isAtEndOfInput) {
27
+ return text.length;
28
+ } else {
29
+ return null;
30
+ }
31
+ } else if (semicolonIndex === -1) {
32
+ return braceIndex - 1;
33
+ } else if (braceIndex === -1) {
34
+ return semicolonIndex - 1;
35
+ } else {
36
+ return Math.min(semicolonIndex, braceIndex) - 1;
37
+ }
38
+ }
@@ -286,5 +286,4 @@ var FuzzySet = function FuzzySet() {
286
286
  }
287
287
  return fuzzyset;
288
288
  };
289
- var _default = FuzzySet;
290
- exports.default = _default;
289
+ var _default = exports.default = FuzzySet;
@@ -4,11 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.legacyColors = exports.legacyColorMixins = exports.legacyColorMetaMap = void 0;
7
- var legacyColors = ['R50', 'R75', 'R100', 'R200', 'R300', 'R400', 'R500', 'Y50', 'Y75', 'Y100', 'Y200', 'Y300', 'Y400', 'Y500', 'G50', 'G75', 'G100', 'G200', 'G300', 'G400', 'G500', 'B50', 'B75', 'B100', 'B200', 'B300', 'B400', 'B500', 'P50', 'P75', 'P100', 'P200', 'P300', 'P400', 'P500', 'T50', 'T75', 'T100', 'T200', 'T300', 'T400', 'T500', 'N0', 'N10', 'N20', 'N30', 'N40', 'N50', 'N60', 'N70', 'N80', 'N90', 'N100', 'N200', 'N300', 'N400', 'N500', 'N600', 'N700', 'N800', 'N900', 'N10A', 'N20A', 'N30A', 'N40A', 'N50A', 'N60A', 'N70A', 'N80A', 'N90A', 'N100A', 'N200A', 'N300A', 'N400A', 'N500A', 'N600A', 'N700A', 'N800A', 'DN900', 'DN800', 'DN700', 'DN600', 'DN500', 'DN400', 'DN300', 'DN200', 'DN100', 'DN90', 'DN80', 'DN70', 'DN60', 'DN50', 'DN40', 'DN30', 'DN20', 'DN10', 'DN0', 'DN800A', 'DN700A', 'DN600A', 'DN500A', 'DN400A', 'DN300A', 'DN200A', 'DN100A', 'DN90A', 'DN80A', 'DN70A', 'DN60A', 'DN50A', 'DN40A', 'DN30A', 'DN20A', 'DN10A'];
8
- exports.legacyColors = legacyColors;
9
- var legacyColorMixins = ['background', 'backgroundActive', 'backgroundHover', 'backgroundOnLayer', 'text', 'textHover', 'textActive', 'subtleText', 'placeholderText', 'heading', 'subtleHeading', 'codeBlock', 'link', 'linkHover', 'linkActive', 'linkOutline', 'primary', 'blue', 'teal', 'purple', 'red', 'yellow', 'green', 'skeleton'];
10
- exports.legacyColorMixins = legacyColorMixins;
11
- var legacyColorMetaMap = {
7
+ var legacyColors = exports.legacyColors = ['R50', 'R75', 'R100', 'R200', 'R300', 'R400', 'R500', 'Y50', 'Y75', 'Y100', 'Y200', 'Y300', 'Y400', 'Y500', 'G50', 'G75', 'G100', 'G200', 'G300', 'G400', 'G500', 'B50', 'B75', 'B100', 'B200', 'B300', 'B400', 'B500', 'P50', 'P75', 'P100', 'P200', 'P300', 'P400', 'P500', 'T50', 'T75', 'T100', 'T200', 'T300', 'T400', 'T500', 'N0', 'N10', 'N20', 'N30', 'N40', 'N50', 'N60', 'N70', 'N80', 'N90', 'N100', 'N200', 'N300', 'N400', 'N500', 'N600', 'N700', 'N800', 'N900', 'N10A', 'N20A', 'N30A', 'N40A', 'N50A', 'N60A', 'N70A', 'N80A', 'N90A', 'N100A', 'N200A', 'N300A', 'N400A', 'N500A', 'N600A', 'N700A', 'N800A', 'DN900', 'DN800', 'DN700', 'DN600', 'DN500', 'DN400', 'DN300', 'DN200', 'DN100', 'DN90', 'DN80', 'DN70', 'DN60', 'DN50', 'DN40', 'DN30', 'DN20', 'DN10', 'DN0', 'DN800A', 'DN700A', 'DN600A', 'DN500A', 'DN400A', 'DN300A', 'DN200A', 'DN100A', 'DN90A', 'DN80A', 'DN70A', 'DN60A', 'DN50A', 'DN40A', 'DN30A', 'DN20A', 'DN10A'];
8
+ var legacyColorMixins = exports.legacyColorMixins = ['background', 'backgroundActive', 'backgroundHover', 'backgroundOnLayer', 'text', 'textHover', 'textActive', 'subtleText', 'placeholderText', 'heading', 'subtleHeading', 'codeBlock', 'link', 'linkHover', 'linkActive', 'linkOutline', 'primary', 'blue', 'teal', 'purple', 'red', 'yellow', 'green', 'skeleton'];
9
+ var legacyColorMetaMap = exports.legacyColorMetaMap = {
12
10
  R50: ['danger'],
13
11
  R75: ['danger'],
14
12
  R100: ['danger'],
@@ -95,5 +93,4 @@ var legacyColorMetaMap = {
95
93
  grey: ['background', 'neutral'],
96
94
  skeleton: ['skeleton'],
97
95
  white: ['inverse']
98
- };
99
- exports.legacyColorMetaMap = legacyColorMetaMap;
96
+ };
@@ -4,5 +4,4 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.namedColors = void 0;
7
- var namedColors = ['black', 'silver', 'gray', 'white', 'maroon', 'red', 'purple', 'fuchsia', 'green', 'lime', 'olive', 'yellow', 'navy', 'blue', 'teal', 'aqua', 'orange', 'aliceblue', 'antiquewhite', 'aquamarine', 'azure', 'beige', 'bisque', 'blanchedalmond', 'blueviolet', 'brown', 'burlywood', 'cadetblue', 'chartreuse', 'chocolate', 'coral', 'cornflowerblue', 'cornsilk', 'crimson', 'cyan', 'darkblue', 'darkcyan', 'darkgoldenrod', 'darkgray', 'darkgreen', 'darkgrey', 'darkkhaki', 'darkmagenta', 'darkolivegreen', 'darkorange', 'darkorchid', 'darkred', 'darksalmon', 'darkseagreen', 'darkslateblue', 'darkslategray', 'darkslategrey', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue', 'dimgray', 'dimgrey', 'dodgerblue', 'firebrick', 'floralwhite', 'forestgreen', 'gainsboro', 'ghostwhite', 'gold', 'goldenrod', 'greenyellow', 'grey', 'honeydew', 'hotpink', 'indianred', 'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush', 'lawngreen', 'lemonchiffon', 'lightblue', 'lightcoral', 'lightcyan', 'lightgoldenrodyellow', 'lightgray', 'lightgreen', 'lightgrey', 'lightpink', 'lightsalmon', 'lightseagreen', 'lightskyblue', 'lightslategray', 'lightslategrey', 'lightsteelblue', 'lightyellow', 'limegreen', 'linen', 'magenta', 'mediumaquamarine', 'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen', 'mediumslateblue', 'mediumspringgreen', 'mediumturquoise', 'mediumvioletred', 'midnightblue', 'mintcream', 'mistyrose', 'moccasin', 'navajowhite', 'oldlace', 'olivedrab', 'orangered', 'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise', 'palevioletred', 'papayawhip', 'peachpuff', 'peru', 'pink', 'plum', 'powderblue', 'rosybrown', 'royalblue', 'saddlebrown', 'salmon', 'sandybrown', 'seagreen', 'seashell', 'sienna', 'skyblue', 'slateblue', 'slategray', 'slategrey', 'snow', 'springgreen', 'steelblue', 'tan', 'thistle', 'tomato', 'turquoise', 'violet', 'wheat', 'whitesmoke', 'yellowgreen', 'rebeccapurple'];
8
- exports.namedColors = namedColors;
7
+ var namedColors = exports.namedColors = ['black', 'silver', 'gray', 'white', 'maroon', 'red', 'purple', 'fuchsia', 'green', 'lime', 'olive', 'yellow', 'navy', 'blue', 'teal', 'aqua', 'orange', 'aliceblue', 'antiquewhite', 'aquamarine', 'azure', 'beige', 'bisque', 'blanchedalmond', 'blueviolet', 'brown', 'burlywood', 'cadetblue', 'chartreuse', 'chocolate', 'coral', 'cornflowerblue', 'cornsilk', 'crimson', 'cyan', 'darkblue', 'darkcyan', 'darkgoldenrod', 'darkgray', 'darkgreen', 'darkgrey', 'darkkhaki', 'darkmagenta', 'darkolivegreen', 'darkorange', 'darkorchid', 'darkred', 'darksalmon', 'darkseagreen', 'darkslateblue', 'darkslategray', 'darkslategrey', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue', 'dimgray', 'dimgrey', 'dodgerblue', 'firebrick', 'floralwhite', 'forestgreen', 'gainsboro', 'ghostwhite', 'gold', 'goldenrod', 'greenyellow', 'grey', 'honeydew', 'hotpink', 'indianred', 'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush', 'lawngreen', 'lemonchiffon', 'lightblue', 'lightcoral', 'lightcyan', 'lightgoldenrodyellow', 'lightgray', 'lightgreen', 'lightgrey', 'lightpink', 'lightsalmon', 'lightseagreen', 'lightskyblue', 'lightslategray', 'lightslategrey', 'lightsteelblue', 'lightyellow', 'limegreen', 'linen', 'magenta', 'mediumaquamarine', 'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen', 'mediumslateblue', 'mediumspringgreen', 'mediumturquoise', 'mediumvioletred', 'midnightblue', 'mintcream', 'mistyrose', 'moccasin', 'navajowhite', 'oldlace', 'olivedrab', 'orangered', 'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise', 'palevioletred', 'papayawhip', 'peachpuff', 'peru', 'pink', 'plum', 'powderblue', 'rosybrown', 'royalblue', 'saddlebrown', 'salmon', 'sandybrown', 'seagreen', 'seashell', 'sienna', 'skyblue', 'slateblue', 'slategray', 'slategrey', 'snow', 'springgreen', 'steelblue', 'tan', 'thistle', 'tomato', 'turquoise', 'violet', 'wheat', 'whitesmoke', 'yellowgreen', 'rebeccapurple'];
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.findFirstNonspaceIndexAfter = findFirstNonspaceIndexAfter;
7
+ exports.kebabize = void 0;
8
+ exports.splitAtIndex = splitAtIndex;
9
+ var kebabize = exports.kebabize = function kebabize(str) {
10
+ return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, function ($, ofs) {
11
+ return (ofs ? '-' : '') + $.toLowerCase();
12
+ });
13
+ };
14
+ function findFirstNonspaceIndexAfter(text, index) {
15
+ var rest = text.slice(index + 1);
16
+ var indexInRest = rest.search(/\S/);
17
+ if (indexInRest === -1) {
18
+ return text.length;
19
+ } else {
20
+ return index + 1 + indexInRest;
21
+ }
22
+ }
23
+ function splitAtIndex(text, index) {
24
+ return [text.slice(0, index), text.slice(index)];
25
+ }
@@ -7,15 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.tokens = exports.getUniqueWordsFromTokens = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
9
  var _tokensRaw = require("@atlaskit/tokens/tokens-raw");
10
- var tokens = _tokensRaw.light.filter(function (t) {
10
+ var tokens = exports.tokens = _tokensRaw.light.filter(function (t) {
11
11
  return t.attributes.state === 'active';
12
12
  }).map(function (t) {
13
13
  return t.name.replace(/\.\[default\]/g, '');
14
14
  }).filter(function (t) {
15
15
  return !t.includes('UNSAFE') && !t.includes('interaction') && !t.includes('chart') && !t.includes('elevation.shadow.overflow');
16
16
  });
17
- exports.tokens = tokens;
18
- var getUniqueWordsFromTokens = tokens.reduce(function (accum, val) {
17
+ var getUniqueWordsFromTokens = exports.getUniqueWordsFromTokens = tokens.reduce(function (accum, val) {
19
18
  return [].concat((0, _toConsumableArray2.default)(accum), (0, _toConsumableArray2.default)(val.split('.')));
20
19
  }, []).reduce(function (accum, val) {
21
20
  return [].concat((0, _toConsumableArray2.default)(accum), (0, _toConsumableArray2.default)(val.split(/(?=[A-Z])/g).map(function (e) {
@@ -26,5 +25,4 @@ var getUniqueWordsFromTokens = tokens.reduce(function (accum, val) {
26
25
  accum.push(val);
27
26
  }
28
27
  return accum;
29
- }, []);
30
- exports.getUniqueWordsFromTokens = getUniqueWordsFromTokens;
28
+ }, []);
@@ -26,7 +26,7 @@ var parseDiffLine = function parseDiffLine(line) {
26
26
  /** Returns packages that have been upgraded in package.json since ref. The version refers to their previous
27
27
  * version
28
28
  */
29
- var getPackagesSinceRef = /*#__PURE__*/function () {
29
+ var getPackagesSinceRef = exports.getPackagesSinceRef = /*#__PURE__*/function () {
30
30
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(ref) {
31
31
  var git, commit, diff, modifiedPackages, addedPackages, upgradedPackages;
32
32
  return _regenerator.default.wrap(function _callee$(_context) {
@@ -85,7 +85,6 @@ var getPackagesSinceRef = /*#__PURE__*/function () {
85
85
  return _ref.apply(this, arguments);
86
86
  };
87
87
  }();
88
- exports.getPackagesSinceRef = getPackagesSinceRef;
89
88
  if (require.main === module) {
90
89
  // eslint-disable-next-line no-console
91
90
  getPackagesSinceRef(process.argv[2]).then(function (res) {
@@ -16,13 +16,12 @@ var basePath = function basePath(packages) {
16
16
  }).join(','), ",}")] : ['@{atlaskit,atlassian,atlassiansox}', '*'];
17
17
  return _path.default.join.apply(_path.default, [process.cwd(), 'node_modules'].concat(packageDirectory, ['codemods']));
18
18
  };
19
- var hasTransform = function hasTransform(transformPath) {
19
+ var hasTransform = exports.hasTransform = function hasTransform(transformPath) {
20
20
  return _glob.default.sync(transformPath).length > 0;
21
21
  };
22
22
 
23
23
  /** Retrieves transforms for `packages` if provided, otherwise all transforms including presets */
24
- exports.hasTransform = hasTransform;
25
- var getTransforms = function getTransforms(packages) {
24
+ var getTransforms = exports.getTransforms = function getTransforms(packages) {
26
25
  var transforms = [_path.default.join(basePath(packages), '*.@(ts|tsx|js)'), _path.default.join(basePath(packages), '*', 'index.@(ts|tsx|js)')];
27
26
  if (!packages) {
28
27
  transforms.unshift.apply(transforms, (0, _toConsumableArray2.default)(_presets.default));
@@ -35,25 +34,21 @@ var getTransforms = function getTransforms(packages) {
35
34
  return parseTransformPath(transform);
36
35
  }).filter(filterTransforms(packages)).sort();
37
36
  };
38
- exports.getTransforms = getTransforms;
39
- var parseTransformPath = function parseTransformPath(transformPath) {
37
+ var parseTransformPath = exports.parseTransformPath = function parseTransformPath(transformPath) {
40
38
  return _path.default.parse(transformPath);
41
39
  };
42
- exports.parseTransformPath = parseTransformPath;
43
- var getTransformPath = function getTransformPath(_ref) {
40
+ var getTransformPath = exports.getTransformPath = function getTransformPath(_ref) {
44
41
  var dir = _ref.dir,
45
42
  base = _ref.base;
46
43
  return "".concat(dir, "/").concat(base);
47
44
  };
48
- exports.getTransformPath = getTransformPath;
49
- var getTransformModule = function getTransformModule(transform) {
45
+ var getTransformModule = exports.getTransformModule = function getTransformModule(transform) {
50
46
  var pathSegments = transform.dir.split(_path.default.sep);
51
47
  var nodeModulesIdx = pathSegments.indexOf('node_modules');
52
48
  // pathSegments will be of the form [node_modules, '@atlaskit', 'avatar', 'codemods']
53
49
  return pathSegments.slice(nodeModulesIdx + 1, nodeModulesIdx + 3).join('/');
54
50
  };
55
- exports.getTransformModule = getTransformModule;
56
- var getTransformVersion = function getTransformVersion(transform) {
51
+ var getTransformVersion = exports.getTransformVersion = function getTransformVersion(transform) {
57
52
  var transformName = transform.base;
58
53
  if (transformName.startsWith('index.')) {
59
54
  var pathSegments = transform.dir.split(_path.default.sep);
@@ -61,7 +56,6 @@ var getTransformVersion = function getTransformVersion(transform) {
61
56
  }
62
57
  return transformName.split('-')[0];
63
58
  };
64
- exports.getTransformVersion = getTransformVersion;
65
59
  var filterTransforms = function filterTransforms(packages) {
66
60
  if (!packages || packages.length === 0) {
67
61
  return function () {
package/dist/cjs/types.js CHANGED
@@ -16,7 +16,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
16
16
  /** Converts required args to optional if they have a default
17
17
  * Example: export type UserFlags = Default<Flags, keyof typeof defaultFlags>;
18
18
  */
19
- var ValidationError = /*#__PURE__*/function (_Error) {
19
+ var ValidationError = exports.ValidationError = /*#__PURE__*/function (_Error) {
20
20
  (0, _inherits2.default)(ValidationError, _Error);
21
21
  var _super = _createSuper(ValidationError);
22
22
  function ValidationError() {
@@ -25,8 +25,7 @@ var ValidationError = /*#__PURE__*/function (_Error) {
25
25
  }
26
26
  return (0, _createClass2.default)(ValidationError);
27
27
  }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
28
- exports.ValidationError = ValidationError;
29
- var NoTransformsExistError = /*#__PURE__*/function (_Error2) {
28
+ var NoTransformsExistError = exports.NoTransformsExistError = /*#__PURE__*/function (_Error2) {
30
29
  (0, _inherits2.default)(NoTransformsExistError, _Error2);
31
30
  var _super2 = _createSuper(NoTransformsExistError);
32
31
  function NoTransformsExistError() {
@@ -34,5 +33,4 @@ var NoTransformsExistError = /*#__PURE__*/function (_Error2) {
34
33
  return _super2.apply(this, arguments);
35
34
  }
36
35
  return (0, _createClass2.default)(NoTransformsExistError);
37
- }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
38
- exports.NoTransformsExistError = NoTransformsExistError;
36
+ }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
package/dist/cjs/utils.js CHANGED
@@ -36,7 +36,7 @@ var getLineEndingRegex = function getLineEndingRegex(type) {
36
36
  return '\r\n';
37
37
  }
38
38
  };
39
- var fixLineEnding = function fixLineEnding(source, lineEnding) {
39
+ var fixLineEnding = exports.fixLineEnding = function fixLineEnding(source, lineEnding) {
40
40
  var current = returnLineEnding(source);
41
41
  if (current === lineEnding) {
42
42
  return source;
@@ -47,5 +47,4 @@ var fixLineEnding = function fixLineEnding(source, lineEnding) {
47
47
  return source.replace(new RegExp(regexCurrentLineEnding, 'g'), regexLineEnding);
48
48
  }
49
49
  return source;
50
- };
51
- exports.fixLineEnding = fixLineEnding;
50
+ };
@@ -1,67 +1,14 @@
1
1
  import postcss from 'postcss';
2
2
  // @ts-ignore
3
3
  import lessSyntax from 'postcss-less';
4
- import { light as rawTokens } from '@atlaskit/tokens/tokens-raw';
5
- import designTokens from '@atlaskit/tokens/token-names';
6
- import Search from '../theme-to-design-tokens/utils/fuzzy-search';
7
- import { knownVariables, knownColors, knownRawColors } from './utils/legacy-colors';
8
- import { cleanMeta } from './utils/meta';
9
- const tokens = rawTokens.filter(t => t.attributes.state === 'active').map(t => t.name.replace(/\.\[default\]/g, '')).filter(t => !t.includes('UNSAFE') && !t.includes('interaction'));
10
- const search = Search(tokens, false);
11
- function isRule(node) {
12
- return node.type === 'rule';
13
- }
14
- function getParentSelectors(node) {
15
- if (isRule(node)) {
16
- // @ts-expect-error
17
- return getParentSelectors(node.parent) + ' ' + node.selector;
18
- }
19
- if (node.parent) {
20
- return getParentSelectors(node.parent);
21
- }
22
- return '';
23
- }
24
- function stripVar(prop) {
25
- return prop.substring(prop.indexOf('(') + 1).split(/\,|\)/)[0];
26
- }
27
- function stripLessVar(prop) {
28
- return prop.substring(1);
29
- }
30
- function isColorProperty(prop) {
31
- return prop === 'color' || prop === 'background' || prop === 'background-color' || prop === 'box-shadow' || prop === 'border' || prop === 'border-left' || prop === 'border-right' || prop === 'border-top' || prop === 'border-bottom' || prop === 'border-color';
32
- }
33
- function getDeclarationMeta(decl) {
34
- if (decl.prop === 'color') {
35
- return 'text';
36
- }
37
- if (decl.prop.startsWith('background')) {
38
- return 'background';
39
- }
40
- if (decl.prop.includes('shadow')) {
41
- return 'shadow';
42
- }
43
- if (decl.prop.includes('border')) {
44
- return 'border';
45
- }
46
- return '';
47
- }
48
- function isDesignToken(tokenName) {
49
- return Boolean(Object.entries(designTokens).find(([_, value]) => tokenName === value));
50
- }
51
- function getMetaFromCssVar(tokenName) {
52
- const meta = knownVariables[tokenName];
53
- if (!meta || meta.length === 0) {
54
- return tokenName.split('-');
55
- }
56
- return meta;
57
- }
58
- function getMetaFromRawColor(rawColor) {
59
- let cleanColor = rawColor.toLowerCase();
60
- if (cleanColor.length === 4) {
61
- cleanColor = cleanColor + cleanColor.substring(cleanColor.indexOf('#') + 1);
62
- }
63
- return knownRawColors[cleanColor];
64
- }
4
+ import { isColorRelatedProperty, isCssDeclaration, splitCssValue } from './lib/declaration';
5
+ import { getBaseDeclarationMeta } from './lib/meta';
6
+ import findToken from './lib/tokens';
7
+ import parseValue from './lib/value';
8
+ const POSTCSS_OPTIONS = {
9
+ syntax: lessSyntax,
10
+ from: undefined
11
+ };
65
12
 
66
13
  // https://github.com/postcss/postcss/blob/main/docs/writing-a-plugin.md
67
14
  // https://astexplorer.net/#/2uBU1BLuJ1
@@ -69,66 +16,62 @@ const plugin = () => {
69
16
  const processed = Symbol('processed');
70
17
  return {
71
18
  postcssPlugin: 'UsingTokens',
72
- Declaration: decl => {
19
+ AtRule(atRule, helper) {
73
20
  // @ts-expect-error
74
- if (decl[processed]) {
75
- return;
76
- }
77
- if (!isColorProperty(decl.prop)) {
21
+ if (atRule[processed]) {
78
22
  return;
79
23
  }
80
- const searchTerms = [getDeclarationMeta(decl), ...getParentSelectors(decl).split(/\-|\.|\,|\ |\:|\&/).filter(el => !!el)];
81
- let match;
82
- const cssVarRe = /var\([^\)]+\)/g;
83
- const lessVarRe = /@[a-zA-Z0-9-]+/g;
84
- const rawColorRe = /(#([0-9a-f]{3}){1,2}|(rgba|hsla)\(\d{1,3}%?(,\s?\d{1,3}%?){2},\s?(1|0|0?\.\d+)\)|(rgb|hsl)\(\d{1,3}%?(,\s?\d{1,3}%?){2}\))/i;
85
-
86
- // CSS variables
87
- const cssVarMatch = decl.value.match(cssVarRe);
88
- if (cssVarMatch) {
89
- var _getMetaFromCssVar;
90
- match = cssVarMatch[0];
91
- if (isDesignToken(stripVar(match))) {
92
- return;
93
- }
94
- searchTerms.push(...((_getMetaFromCssVar = getMetaFromCssVar(stripVar(match))) !== null && _getMetaFromCssVar !== void 0 ? _getMetaFromCssVar : []));
95
- }
96
-
97
- // Less variables
98
- const lassVarMatch = decl.value.match(lessVarRe);
99
- if (lassVarMatch) {
100
- var _getMetaFromCssVar2;
101
- match = lassVarMatch[0];
102
- searchTerms.push(...((_getMetaFromCssVar2 = getMetaFromCssVar(`--${stripLessVar(match)}`)) !== null && _getMetaFromCssVar2 !== void 0 ? _getMetaFromCssVar2 : []));
103
- }
104
24
 
105
- // Raw colors
106
- const rawColorMatch = decl.value.match(rawColorRe);
107
- if (rawColorMatch) {
108
- var _getMetaFromRawColor;
109
- match = rawColorMatch[0];
110
- searchTerms.push(...((_getMetaFromRawColor = getMetaFromRawColor(match)) !== null && _getMetaFromRawColor !== void 0 ? _getMetaFromRawColor : []));
25
+ // @ts-expect-error: The 'variable' property does not exist on 'AtRule' according to the TypeScript definitions.
26
+ // However, the 'postcss-less' library adds a 'variable' property to 'AtRule' when parsing LESS variables.
27
+ // This property indicates whether the 'AtRule' is a LESS variable.
28
+ if (atRule.variable) {
29
+ // TODO https://hello.atlassian.net/browse/DCA11Y-637
111
30
  }
112
31
 
113
- // Named colors
114
- if (knownColors.hasOwnProperty(decl.value)) {
115
- var _knownColors$decl$val;
116
- match = decl.value;
117
- searchTerms.push(...((_knownColors$decl$val = knownColors[decl.value.toLowerCase()]) !== null && _knownColors$decl$val !== void 0 ? _knownColors$decl$val : []));
32
+ // @ts-expect-error
33
+ atRule[processed] = true;
34
+ },
35
+ Declaration: decl => {
36
+ // @ts-expect-error
37
+ if (decl[processed]) {
38
+ return;
118
39
  }
119
- if (!match) {
120
- // eslint-disable-next-line no-console
121
- console.warn(`Unable to find match for declaration: ${decl.prop}: ${decl.value}`);
40
+ if (decl.value === 'none') {
122
41
  return;
123
42
  }
124
- const cleanSearchTerms = cleanMeta(searchTerms).join(' ');
125
- const results = search.get(cleanSearchTerms);
126
- const candidates = results.map(result => result[1]);
127
- const replacement = candidates.length ? designTokens[candidates[0]] : 'MISSING_TOKEN';
128
- if (decl.prop === 'box-shadow') {
129
- decl.value = `var(${replacement}, ${decl.value})`;
130
- } else {
131
- decl.value = decl.value.split(match).join(`var(${replacement}, ${match})`);
43
+ const baseMeta = getBaseDeclarationMeta(decl);
44
+ if (isCssDeclaration(decl.prop)) {
45
+ // TODO https://hello.atlassian.net/browse/DCA11Y-637
46
+ }
47
+ if (isColorRelatedProperty(decl.prop)) {
48
+ const values = splitCssValue(decl.value);
49
+ if (!values) {
50
+ return;
51
+ }
52
+ switch (decl.prop) {
53
+ case 'box-shadow':
54
+ const meta = values.reduce((acc, curr) => {
55
+ const parsedValue = parseValue(curr);
56
+ if (!parsedValue) {
57
+ return acc;
58
+ }
59
+ return [...acc, ...parsedValue.getMeta()];
60
+ }, baseMeta);
61
+ const token = findToken(meta);
62
+ decl.value = `var(${token}, ${decl.value})`;
63
+ break;
64
+ default:
65
+ const replacedValues = values.map(value => {
66
+ const parsedValue = parseValue(value);
67
+ if (!parsedValue) {
68
+ return value;
69
+ }
70
+ return parsedValue.getReplacement(baseMeta);
71
+ });
72
+ decl.value = replacedValues.join(' ');
73
+ break;
74
+ }
132
75
  }
133
76
 
134
77
  // @ts-expect-error
@@ -137,7 +80,10 @@ const plugin = () => {
137
80
  };
138
81
  };
139
82
  export default async function transformer(file) {
140
- return await postcss([plugin()]).process(file.source, {
141
- syntax: lessSyntax
142
- }).css;
83
+ const processor = postcss([plugin()]);
84
+ const src = typeof file === 'string' ? file : file.source;
85
+ const {
86
+ css
87
+ } = await processor.process(src, POSTCSS_OPTIONS);
88
+ return css;
143
89
  }
@@ -0,0 +1,34 @@
1
+ import { knownNamedColors, knownVariables } from './legacy-colors';
2
+ const NAMED_COLORS = Object.keys(knownNamedColors);
3
+ const GRADIENT_TYPES = ['linear', 'radial', 'conic'];
4
+ const LESS_COLOR_FUNCTIONS = ['lighten', 'darken', 'saturate', 'desaturate', 'fadein', 'fadeout', 'fade', 'spin', 'mix', 'greyscale', 'contrast', 'multiply', 'screen', 'overlay', 'softlight', 'hardlight', 'difference', 'exclusion', 'average', 'negation', 'tint', 'shade', 'luma', 'hue', 'saturation', 'lightness', 'alpha', 'red', 'green', 'blue'];
5
+ const REGEXES = {
6
+ // The CSS regular expression matches CSS variable declarations.
7
+ // It looks for the string "var(" followed by any characters except a closing parenthesis, and ending with a closing parenthesis.
8
+ CSS: /var\([^\)]+\)/g,
9
+ // The RAW_COLOR regular expression matches various CSS color formats including hexadecimal, RGB(A), HSL(A), LAB, LCH, and HWB.
10
+ // It allows for optional leading and trailing white spaces.
11
+ // For RGBA and HSLA, it allows any number (including negative numbers and numbers greater than 1) for the alpha channel.
12
+ // For RGB, HSL, LAB, LCH, and HWB, it expects three comma-separated values.
13
+ // It also allows optional white spaces around the commas and the values.
14
+ RAW_COLOR: /^\s*(#([0-9a-f]{3}){1,2}|(rgba|hsla)\(\s*\d{1,3}%?\s*(,\s*\d{1,3}%?\s*){2},\s*-?\d*\.?\d+\s*\)|(rgb|hsl)\(\s*\d{1,3}%?\s*(,\s*\d{1,3}%?\s*){2}\)\s*|(lab|lch)\(\s*\d{1,3}%?\s+\d{1,3}%?\s+\d{1,3}%?\s*\)|hwb\(\s*\d{1,3}\s+\d{1,3}%?\s+\d{1,3}%?\s*\))\s*$/i
15
+ };
16
+ export function isKnownCssVariable(value) {
17
+ return value in knownVariables;
18
+ }
19
+ export function isRawColor(value) {
20
+ return REGEXES.RAW_COLOR.test(value);
21
+ }
22
+ export function isNamedColor(value) {
23
+ return NAMED_COLORS.includes(value);
24
+ }
25
+ export function isGradient(value) {
26
+ return GRADIENT_TYPES.some(gradient => value.startsWith(`${gradient}-gradient(`));
27
+ }
28
+ export function extractBetweenParentheses(value) {
29
+ const match = value.match(/\((.*?)\)/);
30
+ return match ? match[1] : '';
31
+ }
32
+ export function isLessFunction(value) {
33
+ return LESS_COLOR_FUNCTIONS.some(func => value.startsWith(`${func}(`));
34
+ }
@@ -0,0 +1,17 @@
1
+ const COLOR_PROPERTIES = ['color', 'background', 'background-color', 'box-shadow', 'border', 'border-left', 'border-right', 'border-top', 'border-bottom', 'border-color', 'border-left-color', 'border-right-color', 'border-top-color', 'border-bottom-color', 'outline', 'outline-color', 'accent-color', 'caret-color', 'scrollbar-color', 'text-stroke'];
2
+ export function isColorRelatedProperty(prop) {
3
+ return COLOR_PROPERTIES.some(property => property === prop);
4
+ }
5
+ export function isCssDeclaration(prop) {
6
+ return prop.startsWith('--');
7
+ }
8
+ export function extractCssVarName(prop) {
9
+ return prop.substring(prop.indexOf('(') + 1).split(/\,|\)/)[0];
10
+ }
11
+ export function extractLessVarName(prop) {
12
+ return prop.substring(1);
13
+ }
14
+ export function splitCssValue(value) {
15
+ const regex = /(?:[^\s()]+|\((?:[^()]+|\([^()]*\))*\))+/g;
16
+ return value.match(regex);
17
+ }
@@ -163,7 +163,7 @@ export const knownVariables = {
163
163
  '--jpo-border-default-color': ['border'],
164
164
  '--jpo-border-secondary-color': ['border', 'subtle']
165
165
  };
166
- export const knownColors = {
166
+ export const knownNamedColors = {
167
167
  aliceblue: ['blue'],
168
168
  antiquewhite: [],
169
169
  aqua: ['teal'],
@@ -183,7 +183,7 @@ export const knownColors = {
183
183
  coral: [],
184
184
  cornflowerblue: ['blue'],
185
185
  cornsilk: [],
186
- crimson: ['accent', 'red'],
186
+ crimson: ['red'],
187
187
  cyan: ['accent', 'teal', 'subtle'],
188
188
  darkblue: ['accent', 'blue', 'bold'],
189
189
  darkcyan: ['accent', 'teal', 'bold'],
@@ -237,11 +237,11 @@ export const knownColors = {
237
237
  lightgoldenrodyellow: [],
238
238
  lightgray: [],
239
239
  lightgrey: [],
240
- lightgreen: ['green'],
240
+ lightgreen: ['green', 'accent'],
241
241
  lightpink: ['magenta'],
242
242
  lightsalmon: ['pink', 'subtler'],
243
243
  lightseagreen: ['green'],
244
- lightskyblue: ['blue'],
244
+ lightskyblue: ['blue', 'accent'],
245
245
  lightslategray: [],
246
246
  lightslategrey: [],
247
247
  lightsteelblue: ['blue'],
@@ -283,7 +283,8 @@ export const knownColors = {
283
283
  plum: [],
284
284
  powderblue: ['blue', 'subtle'],
285
285
  purple: ['purple'],
286
- red: ['accent', 'red', 'subtle'],
286
+ rebeccapurple: ['purple', 'accent'],
287
+ red: ['red', 'accent'],
287
288
  rosybrown: [],
288
289
  royalblue: [],
289
290
  saddlebrown: [],
@@ -313,10 +314,9 @@ export const knownColors = {
313
314
  yellowgreen: ['yellow']
314
315
  };
315
316
  export const knownRawColors = {
316
- '#000000': ['text'],
317
- '#cccccc': ['border'],
318
- '#aaaaaa': ['border'],
319
- '#bbbbbb': ['border'],
317
+ '#cccccc': ['gray'],
318
+ '#aaaaaa': ['gray', 'subtlest'],
319
+ '#bbbbbb': ['gray', 'subtle'],
320
320
  '#ffffff': ['elevation', 'surface'],
321
321
  '#f0f0f0': ['elevation', 'surface'],
322
322
  '#eeeeee': ['elevation', 'surface', 'sunken'],
@@ -325,7 +325,6 @@ export const knownRawColors = {
325
325
  '#c00c00': ['danger'],
326
326
  '#5243aa': ['discovery'],
327
327
  '#ffc712': ['warning'],
328
- '#292929': ['text'],
329
328
  '#00f00f': ['brand'],
330
329
  '#3b73af': ['brand'],
331
330
  '#326ca6': ['brand'],