tailwindcss 0.0.0-insiders.fda68f7 → 0.0.0-oxide.6bf5e56

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 (195) hide show
  1. package/CHANGELOG.md +603 -2
  2. package/LICENSE +1 -2
  3. package/README.md +14 -6
  4. package/colors.d.ts +3 -0
  5. package/colors.js +2 -304
  6. package/defaultConfig.d.ts +3 -0
  7. package/defaultConfig.js +2 -4
  8. package/defaultTheme.d.ts +4 -0
  9. package/defaultTheme.js +2 -4
  10. package/lib/cli/build/deps.js +54 -0
  11. package/lib/cli/build/index.js +48 -0
  12. package/lib/cli/build/plugin.js +367 -0
  13. package/lib/cli/build/utils.js +78 -0
  14. package/lib/cli/build/watching.js +178 -0
  15. package/lib/cli/help/index.js +71 -0
  16. package/lib/cli/index.js +18 -0
  17. package/lib/cli/init/index.js +46 -0
  18. package/lib/cli/shared.js +13 -0
  19. package/lib/cli-peer-dependencies.js +22 -14
  20. package/lib/cli.js +217 -743
  21. package/lib/constants.js +41 -34
  22. package/lib/corePluginList.js +178 -5
  23. package/lib/corePlugins.js +3879 -2941
  24. package/lib/css/preflight.css +22 -9
  25. package/lib/featureFlags.js +61 -50
  26. package/lib/index.js +45 -28
  27. package/lib/lib/cacheInvalidation.js +90 -0
  28. package/lib/lib/collapseAdjacentRules.js +52 -36
  29. package/lib/lib/collapseDuplicateDeclarations.js +83 -0
  30. package/lib/lib/content.js +176 -0
  31. package/lib/lib/defaultExtractor.js +236 -0
  32. package/lib/lib/detectNesting.js +37 -0
  33. package/lib/lib/evaluateTailwindFunctions.js +203 -161
  34. package/lib/lib/expandApplyAtRules.js +502 -221
  35. package/lib/lib/expandTailwindAtRules.js +258 -243
  36. package/lib/lib/findAtConfigPath.js +44 -0
  37. package/lib/lib/generateRules.js +775 -320
  38. package/lib/lib/getModuleDependencies.js +44 -46
  39. package/lib/lib/normalizeTailwindDirectives.js +79 -60
  40. package/lib/lib/offsets.js +217 -0
  41. package/lib/lib/partitionApplyAtRules.js +56 -0
  42. package/lib/lib/regex.js +60 -0
  43. package/lib/lib/resolveDefaultsAtRules.js +150 -94
  44. package/lib/lib/setupContextUtils.js +1146 -599
  45. package/lib/lib/setupTrackingContext.js +129 -177
  46. package/lib/lib/sharedState.js +53 -21
  47. package/lib/lib/substituteScreenAtRules.js +26 -28
  48. package/{nesting → lib/postcss-plugins/nesting}/README.md +2 -2
  49. package/lib/postcss-plugins/nesting/index.js +19 -0
  50. package/lib/postcss-plugins/nesting/plugin.js +87 -0
  51. package/lib/processTailwindFeatures.js +58 -53
  52. package/lib/public/colors.js +331 -0
  53. package/lib/public/create-plugin.js +15 -0
  54. package/lib/public/default-config.js +16 -0
  55. package/lib/public/default-theme.js +16 -0
  56. package/lib/public/resolve-config.js +22 -0
  57. package/lib/util/bigSign.js +7 -6
  58. package/lib/util/buildMediaQuery.js +21 -32
  59. package/lib/util/cloneDeep.js +16 -14
  60. package/lib/util/cloneNodes.js +29 -15
  61. package/lib/util/color.js +90 -66
  62. package/lib/util/configurePlugins.js +17 -15
  63. package/lib/util/createPlugin.js +23 -26
  64. package/lib/util/createUtilityPlugin.js +46 -46
  65. package/lib/util/dataTypes.js +242 -0
  66. package/lib/util/defaults.js +20 -15
  67. package/lib/util/escapeClassName.js +18 -17
  68. package/lib/util/escapeCommas.js +7 -6
  69. package/lib/util/flattenColorPalette.js +13 -12
  70. package/lib/util/formatVariantSelector.js +285 -0
  71. package/lib/util/getAllConfigs.js +44 -18
  72. package/lib/util/hashConfig.js +15 -12
  73. package/lib/util/isKeyframeRule.js +7 -6
  74. package/lib/util/isPlainObject.js +11 -11
  75. package/lib/util/isSyntacticallyValidPropertyValue.js +72 -0
  76. package/lib/util/log.js +52 -33
  77. package/lib/util/nameClass.js +37 -26
  78. package/lib/util/negateValue.js +31 -17
  79. package/lib/util/normalizeConfig.js +281 -0
  80. package/lib/util/normalizeScreens.js +170 -0
  81. package/lib/util/parseAnimationValue.js +85 -54
  82. package/lib/util/parseBoxShadowValue.js +84 -0
  83. package/lib/util/parseDependency.js +41 -70
  84. package/lib/util/parseGlob.js +34 -0
  85. package/lib/util/parseObjectStyles.js +30 -24
  86. package/lib/util/pluginUtils.js +252 -287
  87. package/lib/util/prefixSelector.js +20 -20
  88. package/lib/util/removeAlphaVariables.js +29 -0
  89. package/lib/util/resolveConfig.js +221 -256
  90. package/lib/util/resolveConfigPath.js +43 -48
  91. package/lib/util/responsive.js +18 -14
  92. package/lib/util/splitAtTopLevelOnly.js +43 -0
  93. package/lib/util/tap.js +8 -7
  94. package/lib/util/toColorValue.js +7 -6
  95. package/lib/util/toPath.js +27 -8
  96. package/lib/util/transformThemeValue.js +67 -28
  97. package/lib/util/validateConfig.js +24 -0
  98. package/lib/util/validateFormalSyntax.js +24 -0
  99. package/lib/util/withAlphaVariable.js +67 -57
  100. package/nesting/index.js +2 -12
  101. package/package.json +60 -65
  102. package/peers/index.js +76445 -84221
  103. package/plugin.d.ts +11 -0
  104. package/plugin.js +1 -2
  105. package/resolveConfig.d.ts +12 -0
  106. package/resolveConfig.js +2 -7
  107. package/scripts/create-plugin-list.js +2 -2
  108. package/scripts/generate-types.js +105 -0
  109. package/scripts/release-channel.js +18 -0
  110. package/scripts/release-notes.js +21 -0
  111. package/scripts/type-utils.js +27 -0
  112. package/src/cli/build/deps.js +56 -0
  113. package/src/cli/build/index.js +49 -0
  114. package/src/cli/build/plugin.js +439 -0
  115. package/src/cli/build/utils.js +76 -0
  116. package/src/cli/build/watching.js +227 -0
  117. package/src/cli/help/index.js +70 -0
  118. package/src/cli/index.js +3 -0
  119. package/src/cli/init/index.js +50 -0
  120. package/src/cli/shared.js +6 -0
  121. package/src/cli-peer-dependencies.js +7 -1
  122. package/src/cli.js +50 -575
  123. package/src/corePluginList.js +1 -1
  124. package/src/corePlugins.js +2405 -1948
  125. package/src/css/preflight.css +22 -9
  126. package/src/featureFlags.js +26 -10
  127. package/src/index.js +19 -6
  128. package/src/lib/cacheInvalidation.js +52 -0
  129. package/src/lib/collapseAdjacentRules.js +21 -2
  130. package/src/lib/collapseDuplicateDeclarations.js +93 -0
  131. package/src/lib/content.js +212 -0
  132. package/src/lib/defaultExtractor.js +211 -0
  133. package/src/lib/detectNesting.js +39 -0
  134. package/src/lib/evaluateTailwindFunctions.js +84 -10
  135. package/src/lib/expandApplyAtRules.js +508 -153
  136. package/src/lib/expandTailwindAtRules.js +130 -104
  137. package/src/lib/findAtConfigPath.js +48 -0
  138. package/src/lib/generateRules.js +596 -70
  139. package/src/lib/normalizeTailwindDirectives.js +10 -3
  140. package/src/lib/offsets.js +270 -0
  141. package/src/lib/partitionApplyAtRules.js +52 -0
  142. package/src/lib/regex.js +74 -0
  143. package/src/lib/resolveDefaultsAtRules.js +105 -47
  144. package/src/lib/setupContextUtils.js +828 -196
  145. package/src/lib/setupTrackingContext.js +19 -54
  146. package/src/lib/sharedState.js +45 -7
  147. package/src/lib/substituteScreenAtRules.js +6 -3
  148. package/src/postcss-plugins/nesting/README.md +42 -0
  149. package/src/postcss-plugins/nesting/index.js +13 -0
  150. package/src/postcss-plugins/nesting/plugin.js +80 -0
  151. package/src/processTailwindFeatures.js +19 -2
  152. package/src/public/colors.js +300 -0
  153. package/src/public/create-plugin.js +2 -0
  154. package/src/public/default-config.js +4 -0
  155. package/src/public/default-theme.js +4 -0
  156. package/src/public/resolve-config.js +7 -0
  157. package/src/util/buildMediaQuery.js +14 -16
  158. package/src/util/cloneNodes.js +19 -2
  159. package/src/util/color.js +31 -14
  160. package/src/util/createUtilityPlugin.js +2 -11
  161. package/src/util/dataTypes.js +256 -0
  162. package/src/util/defaults.js +6 -0
  163. package/src/util/formatVariantSelector.js +319 -0
  164. package/src/util/getAllConfigs.js +19 -0
  165. package/src/util/isSyntacticallyValidPropertyValue.js +61 -0
  166. package/src/util/log.js +23 -22
  167. package/src/util/nameClass.js +14 -6
  168. package/src/util/negateValue.js +15 -5
  169. package/src/util/normalizeConfig.js +300 -0
  170. package/src/util/normalizeScreens.js +140 -0
  171. package/src/util/parseAnimationValue.js +7 -1
  172. package/src/util/parseBoxShadowValue.js +72 -0
  173. package/src/util/parseDependency.js +37 -38
  174. package/src/util/parseGlob.js +24 -0
  175. package/src/util/pluginUtils.js +216 -197
  176. package/src/util/prefixSelector.js +7 -8
  177. package/src/util/removeAlphaVariables.js +24 -0
  178. package/src/util/resolveConfig.js +86 -91
  179. package/src/util/splitAtTopLevelOnly.js +45 -0
  180. package/src/util/toPath.js +23 -1
  181. package/src/util/transformThemeValue.js +33 -8
  182. package/src/util/validateConfig.js +13 -0
  183. package/src/util/validateFormalSyntax.js +34 -0
  184. package/src/util/withAlphaVariable.js +14 -9
  185. package/stubs/defaultConfig.stub.js +186 -117
  186. package/stubs/simpleConfig.stub.js +1 -1
  187. package/types/config.d.ts +362 -0
  188. package/types/generated/.gitkeep +0 -0
  189. package/types/generated/colors.d.ts +276 -0
  190. package/types/generated/corePluginList.d.ts +1 -0
  191. package/types/generated/default-theme.d.ts +342 -0
  192. package/types/index.d.ts +7 -0
  193. package/lib/lib/setupWatchingContext.js +0 -331
  194. package/nesting/plugin.js +0 -41
  195. package/src/lib/setupWatchingContext.js +0 -306
package/lib/util/color.js CHANGED
@@ -1,74 +1,98 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.parseColor = parseColor;
7
- exports.formatColor = formatColor;
8
-
9
- var _colorName = _interopRequireDefault(require("color-name"));
10
-
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
-
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ parseColor: ()=>parseColor,
13
+ formatColor: ()=>formatColor
14
+ });
15
+ const _colorName = /*#__PURE__*/ _interopRequireDefault(require("color-name"));
16
+ function _interopRequireDefault(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
13
21
  let HEX = /^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i;
14
22
  let SHORT_HEX = /^#([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i;
15
- let VALUE = `(?:\\d+|\\d*\\.\\d+)%?`;
16
- let SEP = `(?:\\s*,\\s*|\\s+)`;
17
- let ALPHA_SEP = `\\s*[,/]\\s*`;
18
- let RGB_HSL = new RegExp(`^(rgb|hsl)a?\\(\\s*(${VALUE})${SEP}(${VALUE})${SEP}(${VALUE})(?:${ALPHA_SEP}(${VALUE}))?\\s*\\)$`);
19
-
20
- function parseColor(value) {
21
- if (typeof value !== 'string') {
22
- return null;
23
- }
24
-
25
- value = value.trim();
26
-
27
- if (value === 'transparent') {
28
- return {
29
- mode: 'rgb',
30
- color: ['0', '0', '0'],
31
- alpha: '0'
32
- };
33
- }
34
-
35
- if (value in _colorName.default) {
23
+ let VALUE = /(?:\d+|\d*\.\d+)%?/;
24
+ let SEP = /(?:\s*,\s*|\s+)/;
25
+ let ALPHA_SEP = /\s*[,/]\s*/;
26
+ let CUSTOM_PROPERTY = /var\(--(?:[^ )]*?)\)/;
27
+ let RGB = new RegExp(`^(rgb)a?\\(\\s*(${VALUE.source}|${CUSTOM_PROPERTY.source})(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${ALPHA_SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?\\s*\\)$`);
28
+ let HSL = new RegExp(`^(hsl)a?\\(\\s*((?:${VALUE.source})(?:deg|rad|grad|turn)?|${CUSTOM_PROPERTY.source})(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${ALPHA_SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?\\s*\\)$`);
29
+ function parseColor(value, { loose =false } = {}) {
30
+ var ref, ref1;
31
+ if (typeof value !== "string") {
32
+ return null;
33
+ }
34
+ value = value.trim();
35
+ if (value === "transparent") {
36
+ return {
37
+ mode: "rgb",
38
+ color: [
39
+ "0",
40
+ "0",
41
+ "0"
42
+ ],
43
+ alpha: "0"
44
+ };
45
+ }
46
+ if (value in _colorName.default) {
47
+ return {
48
+ mode: "rgb",
49
+ color: _colorName.default[value].map((v)=>v.toString())
50
+ };
51
+ }
52
+ let hex = value.replace(SHORT_HEX, (_, r, g, b, a)=>[
53
+ "#",
54
+ r,
55
+ r,
56
+ g,
57
+ g,
58
+ b,
59
+ b,
60
+ a ? a + a : ""
61
+ ].join("")).match(HEX);
62
+ if (hex !== null) {
63
+ return {
64
+ mode: "rgb",
65
+ color: [
66
+ parseInt(hex[1], 16),
67
+ parseInt(hex[2], 16),
68
+ parseInt(hex[3], 16)
69
+ ].map((v)=>v.toString()),
70
+ alpha: hex[4] ? (parseInt(hex[4], 16) / 255).toString() : undefined
71
+ };
72
+ }
73
+ var ref2;
74
+ let match = (ref2 = value.match(RGB)) !== null && ref2 !== void 0 ? ref2 : value.match(HSL);
75
+ if (match === null) {
76
+ return null;
77
+ }
78
+ let color = [
79
+ match[2],
80
+ match[3],
81
+ match[4]
82
+ ].filter(Boolean).map((v)=>v.toString());
83
+ if (!loose && color.length !== 3) {
84
+ return null;
85
+ }
86
+ if (color.length < 3 && !color.some((part)=>/^var\(.*?\)$/.test(part))) {
87
+ return null;
88
+ }
36
89
  return {
37
- mode: 'rgb',
38
- color: _colorName.default[value].map(v => v.toString())
90
+ mode: match[1],
91
+ color,
92
+ alpha: (ref = match[5]) === null || ref === void 0 ? void 0 : (ref1 = ref.toString) === null || ref1 === void 0 ? void 0 : ref1.call(ref)
39
93
  };
40
- }
41
-
42
- let hex = value.replace(SHORT_HEX, (_, r, g, b, a) => ['#', r, r, g, g, b, b, a ? a + a : ''].join('')).match(HEX);
43
-
44
- if (hex !== null) {
45
- return {
46
- mode: 'rgb',
47
- color: [parseInt(hex[1], 16), parseInt(hex[2], 16), parseInt(hex[3], 16)].map(v => v.toString()),
48
- alpha: hex[4] ? (parseInt(hex[4], 16) / 255).toString() : undefined
49
- };
50
- }
51
-
52
- let match = value.match(RGB_HSL);
53
-
54
- if (match !== null) {
55
- var _match$, _match$$toString;
56
-
57
- return {
58
- mode: match[1],
59
- color: [match[2], match[3], match[4]].map(v => v.toString()),
60
- alpha: (_match$ = match[5]) === null || _match$ === void 0 ? void 0 : (_match$$toString = _match$.toString) === null || _match$$toString === void 0 ? void 0 : _match$$toString.call(_match$)
61
- };
62
- }
63
-
64
- return null;
65
94
  }
66
-
67
- function formatColor({
68
- mode,
69
- color,
70
- alpha
71
- }) {
72
- let hasAlpha = alpha !== undefined;
73
- return `${mode}(${color.join(' ')}${hasAlpha ? ` / ${alpha}` : ''})`;
74
- }
95
+ function formatColor({ mode , color , alpha }) {
96
+ let hasAlpha = alpha !== undefined;
97
+ return `${mode}(${color.join(" ")}${hasAlpha ? ` / ${alpha}` : ""})`;
98
+ }
@@ -1,19 +1,21 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: ()=>_default
5
8
  });
6
- exports.default = _default;
7
-
8
9
  function _default(pluginConfig, plugins) {
9
- if (pluginConfig === undefined) {
10
- return plugins;
11
- }
12
-
13
- const pluginNames = Array.isArray(pluginConfig) ? pluginConfig : [...new Set(plugins.filter(pluginName => {
14
- return pluginConfig !== false && pluginConfig[pluginName] !== false;
15
- }).concat(Object.keys(pluginConfig).filter(pluginName => {
16
- return pluginConfig[pluginName] !== false;
17
- })))];
18
- return pluginNames;
19
- }
10
+ if (pluginConfig === undefined) {
11
+ return plugins;
12
+ }
13
+ const pluginNames = Array.isArray(pluginConfig) ? pluginConfig : [
14
+ ...new Set(plugins.filter((pluginName)=>{
15
+ return pluginConfig !== false && pluginConfig[pluginName] !== false;
16
+ }).concat(Object.keys(pluginConfig).filter((pluginName)=>{
17
+ return pluginConfig[pluginName] !== false;
18
+ })))
19
+ ];
20
+ return pluginNames;
21
+ }
@@ -1,33 +1,30 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: ()=>_default
5
8
  });
6
- exports.default = void 0;
7
-
8
9
  function createPlugin(plugin, config) {
9
- return {
10
- handler: plugin,
11
- config
12
- };
13
- }
14
-
15
- createPlugin.withOptions = function (pluginFunction, configFunction = () => ({})) {
16
- const optionsFunction = function (options) {
17
10
  return {
18
- __options: options,
19
- handler: pluginFunction(options),
20
- config: configFunction(options)
11
+ handler: plugin,
12
+ config
13
+ };
14
+ }
15
+ createPlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {
16
+ const optionsFunction = function(options) {
17
+ return {
18
+ __options: options,
19
+ handler: pluginFunction(options),
20
+ config: configFunction(options)
21
+ };
21
22
  };
22
- };
23
-
24
- optionsFunction.__isOptionsFunction = true; // Expose plugin dependencies so that `object-hash` returns a different
25
- // value if anything here changes, to ensure a rebuild is triggered.
26
-
27
- optionsFunction.__pluginFunction = pluginFunction;
28
- optionsFunction.__configFunction = configFunction;
29
- return optionsFunction;
23
+ optionsFunction.__isOptionsFunction = true;
24
+ // Expose plugin dependencies so that `object-hash` returns a different
25
+ // value if anything here changes, to ensure a rebuild is triggered.
26
+ optionsFunction.__pluginFunction = pluginFunction;
27
+ optionsFunction.__configFunction = configFunction;
28
+ return optionsFunction;
30
29
  };
31
-
32
- var _default = createPlugin;
33
- exports.default = _default;
30
+ const _default = createPlugin;
@@ -1,51 +1,51 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.default = createUtilityPlugin;
7
-
8
- var _transformThemeValue = _interopRequireDefault(require("./transformThemeValue"));
9
-
10
- var _pluginUtils = require("../util/pluginUtils");
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- let asMap = new Map([[_pluginUtils.asValue, 'any'], [_pluginUtils.asColor, 'color'], [_pluginUtils.asAngle, 'angle'], [_pluginUtils.asLength, 'length'], [_pluginUtils.asLookupValue, 'lookup']]);
15
-
16
- function createUtilityPlugin(themeKey, utilityVariations = [[themeKey, [themeKey]]], {
17
- filterDefault = false,
18
- resolveArbitraryValue = _pluginUtils.asValue
19
- } = {}) {
20
- let transformValue = (0, _transformThemeValue.default)(themeKey);
21
- return function ({
22
- matchUtilities,
23
- theme
24
- }) {
25
- for (let utilityVariation of utilityVariations) {
26
- var _theme, _asMap$get;
27
-
28
- let group = Array.isArray(utilityVariation[0]) ? utilityVariation : [utilityVariation];
29
- matchUtilities(group.reduce((obj, [classPrefix, properties]) => {
30
- return Object.assign(obj, {
31
- [classPrefix]: value => {
32
- return properties.reduce((obj, name) => {
33
- if (Array.isArray(name)) {
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: ()=>createUtilityPlugin
8
+ });
9
+ const _transformThemeValue = /*#__PURE__*/ _interopRequireDefault(require("./transformThemeValue"));
10
+ function _interopRequireDefault(obj) {
11
+ return obj && obj.__esModule ? obj : {
12
+ default: obj
13
+ };
14
+ }
15
+ function createUtilityPlugin(themeKey, utilityVariations = [
16
+ [
17
+ themeKey,
18
+ [
19
+ themeKey
20
+ ]
21
+ ]
22
+ ], { filterDefault =false , ...options } = {}) {
23
+ let transformValue = (0, _transformThemeValue.default)(themeKey);
24
+ return function({ matchUtilities , theme }) {
25
+ for (let utilityVariation of utilityVariations){
26
+ let group = Array.isArray(utilityVariation[0]) ? utilityVariation : [
27
+ utilityVariation
28
+ ];
29
+ var ref;
30
+ matchUtilities(group.reduce((obj, [classPrefix, properties])=>{
34
31
  return Object.assign(obj, {
35
- [name[0]]: name[1]
32
+ [classPrefix]: (value)=>{
33
+ return properties.reduce((obj, name)=>{
34
+ if (Array.isArray(name)) {
35
+ return Object.assign(obj, {
36
+ [name[0]]: name[1]
37
+ });
38
+ }
39
+ return Object.assign(obj, {
40
+ [name]: transformValue(value)
41
+ });
42
+ }, {});
43
+ }
36
44
  });
37
- }
38
-
39
- return Object.assign(obj, {
40
- [name]: transformValue(value)
41
- });
42
- }, {});
43
- }
44
- });
45
- }, {}), {
46
- values: filterDefault ? Object.fromEntries(Object.entries((_theme = theme(themeKey)) !== null && _theme !== void 0 ? _theme : {}).filter(([modifier]) => modifier !== 'DEFAULT')) : theme(themeKey),
47
- type: (_asMap$get = asMap.get(resolveArbitraryValue)) !== null && _asMap$get !== void 0 ? _asMap$get : 'any'
48
- });
49
- }
50
- };
51
- }
45
+ }, {}), {
46
+ ...options,
47
+ values: filterDefault ? Object.fromEntries(Object.entries((ref = theme(themeKey)) !== null && ref !== void 0 ? ref : {}).filter(([modifier])=>modifier !== "DEFAULT")) : theme(themeKey)
48
+ });
49
+ }
50
+ };
51
+ }
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ normalize: ()=>normalize,
13
+ url: ()=>url,
14
+ number: ()=>number,
15
+ percentage: ()=>percentage,
16
+ length: ()=>length,
17
+ lineWidth: ()=>lineWidth,
18
+ shadow: ()=>shadow,
19
+ color: ()=>color,
20
+ image: ()=>image,
21
+ gradient: ()=>gradient,
22
+ position: ()=>position,
23
+ familyName: ()=>familyName,
24
+ genericName: ()=>genericName,
25
+ absoluteSize: ()=>absoluteSize,
26
+ relativeSize: ()=>relativeSize
27
+ });
28
+ const _color = require("./color");
29
+ const _parseBoxShadowValue = require("./parseBoxShadowValue");
30
+ const _splitAtTopLevelOnly = require("./splitAtTopLevelOnly");
31
+ let cssFunctions = [
32
+ "min",
33
+ "max",
34
+ "clamp",
35
+ "calc"
36
+ ];
37
+ // Ref: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Types
38
+ function isCSSFunction(value) {
39
+ return cssFunctions.some((fn)=>new RegExp(`^${fn}\\(.*\\)`).test(value));
40
+ }
41
+ function normalize(value, isRoot = true) {
42
+ if (value.startsWith("--")) {
43
+ return `var(${value})`;
44
+ }
45
+ // Keep raw strings if it starts with `url(`
46
+ if (value.includes("url(")) {
47
+ return value.split(/(url\(.*?\))/g).filter(Boolean).map((part)=>{
48
+ if (/^url\(.*?\)$/.test(part)) {
49
+ return part;
50
+ }
51
+ return normalize(part, false);
52
+ }).join("");
53
+ }
54
+ // Convert `_` to ` `, except for escaped underscores `\_`
55
+ value = value.replace(/([^\\])_+/g, (fullMatch, characterBefore)=>characterBefore + " ".repeat(fullMatch.length - 1)).replace(/^_/g, " ").replace(/\\_/g, "_");
56
+ // Remove leftover whitespace
57
+ if (isRoot) {
58
+ value = value.trim();
59
+ }
60
+ // Add spaces around operators inside math functions like calc() that do not follow an operator
61
+ // or '('.
62
+ value = value.replace(/(calc|min|max|clamp)\(.+\)/g, (match)=>{
63
+ return match.replace(/(-?\d*\.?\d(?!\b-.+[,)](?![^+\-/*])\D)(?:%|[a-z]+)?|\))([+\-/*])/g, "$1 $2 ");
64
+ });
65
+ return value;
66
+ }
67
+ function url(value) {
68
+ return value.startsWith("url(");
69
+ }
70
+ function number(value) {
71
+ return !isNaN(Number(value)) || isCSSFunction(value);
72
+ }
73
+ function percentage(value) {
74
+ return value.endsWith("%") && number(value.slice(0, -1)) || isCSSFunction(value);
75
+ }
76
+ let lengthUnits = [
77
+ "cm",
78
+ "mm",
79
+ "Q",
80
+ "in",
81
+ "pc",
82
+ "pt",
83
+ "px",
84
+ "em",
85
+ "ex",
86
+ "ch",
87
+ "rem",
88
+ "lh",
89
+ "vw",
90
+ "vh",
91
+ "vmin",
92
+ "vmax"
93
+ ];
94
+ let lengthUnitsPattern = `(?:${lengthUnits.join("|")})`;
95
+ function length(value) {
96
+ return value === "0" || new RegExp(`^[+-]?[0-9]*\.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`).test(value) || isCSSFunction(value);
97
+ }
98
+ let lineWidths = new Set([
99
+ "thin",
100
+ "medium",
101
+ "thick"
102
+ ]);
103
+ function lineWidth(value) {
104
+ return lineWidths.has(value);
105
+ }
106
+ function shadow(value) {
107
+ let parsedShadows = (0, _parseBoxShadowValue.parseBoxShadowValue)(normalize(value));
108
+ for (let parsedShadow of parsedShadows){
109
+ if (!parsedShadow.valid) {
110
+ return false;
111
+ }
112
+ }
113
+ return true;
114
+ }
115
+ function color(value) {
116
+ let colors = 0;
117
+ let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, "_").every((part)=>{
118
+ part = normalize(part);
119
+ if (part.startsWith("var(")) return true;
120
+ if ((0, _color.parseColor)(part, {
121
+ loose: true
122
+ }) !== null) return colors++, true;
123
+ return false;
124
+ });
125
+ if (!result) return false;
126
+ return colors > 0;
127
+ }
128
+ function image(value) {
129
+ let images = 0;
130
+ let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, ",").every((part)=>{
131
+ part = normalize(part);
132
+ if (part.startsWith("var(")) return true;
133
+ if (url(part) || gradient(part) || [
134
+ "element(",
135
+ "image(",
136
+ "cross-fade(",
137
+ "image-set("
138
+ ].some((fn)=>part.startsWith(fn))) {
139
+ images++;
140
+ return true;
141
+ }
142
+ return false;
143
+ });
144
+ if (!result) return false;
145
+ return images > 0;
146
+ }
147
+ let gradientTypes = new Set([
148
+ "linear-gradient",
149
+ "radial-gradient",
150
+ "repeating-linear-gradient",
151
+ "repeating-radial-gradient",
152
+ "conic-gradient"
153
+ ]);
154
+ function gradient(value) {
155
+ value = normalize(value);
156
+ for (let type of gradientTypes){
157
+ if (value.startsWith(`${type}(`)) {
158
+ return true;
159
+ }
160
+ }
161
+ return false;
162
+ }
163
+ let validPositions = new Set([
164
+ "center",
165
+ "top",
166
+ "right",
167
+ "bottom",
168
+ "left"
169
+ ]);
170
+ function position(value) {
171
+ let positions = 0;
172
+ let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, "_").every((part)=>{
173
+ part = normalize(part);
174
+ if (part.startsWith("var(")) return true;
175
+ if (validPositions.has(part) || length(part) || percentage(part)) {
176
+ positions++;
177
+ return true;
178
+ }
179
+ return false;
180
+ });
181
+ if (!result) return false;
182
+ return positions > 0;
183
+ }
184
+ function familyName(value) {
185
+ let fonts = 0;
186
+ let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, ",").every((part)=>{
187
+ part = normalize(part);
188
+ if (part.startsWith("var(")) return true;
189
+ // If it contains spaces, then it should be quoted
190
+ if (part.includes(" ")) {
191
+ if (!/(['"])([^"']+)\1/g.test(part)) {
192
+ return false;
193
+ }
194
+ }
195
+ // If it starts with a number, it's invalid
196
+ if (/^\d/g.test(part)) {
197
+ return false;
198
+ }
199
+ fonts++;
200
+ return true;
201
+ });
202
+ if (!result) return false;
203
+ return fonts > 0;
204
+ }
205
+ let genericNames = new Set([
206
+ "serif",
207
+ "sans-serif",
208
+ "monospace",
209
+ "cursive",
210
+ "fantasy",
211
+ "system-ui",
212
+ "ui-serif",
213
+ "ui-sans-serif",
214
+ "ui-monospace",
215
+ "ui-rounded",
216
+ "math",
217
+ "emoji",
218
+ "fangsong"
219
+ ]);
220
+ function genericName(value) {
221
+ return genericNames.has(value);
222
+ }
223
+ let absoluteSizes = new Set([
224
+ "xx-small",
225
+ "x-small",
226
+ "small",
227
+ "medium",
228
+ "large",
229
+ "x-large",
230
+ "x-large",
231
+ "xxx-large"
232
+ ]);
233
+ function absoluteSize(value) {
234
+ return absoluteSizes.has(value);
235
+ }
236
+ let relativeSizes = new Set([
237
+ "larger",
238
+ "smaller"
239
+ ]);
240
+ function relativeSize(value) {
241
+ return relativeSizes.has(value);
242
+ }
@@ -1,20 +1,25 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "defaults", {
6
+ enumerable: true,
7
+ get: ()=>defaults
5
8
  });
6
- exports.defaults = defaults;
7
-
8
9
  function defaults(target, ...sources) {
9
- for (let source of sources) {
10
- for (let k in source) {
11
- var _target$hasOwnPropert;
12
-
13
- if (!(target !== null && target !== void 0 && (_target$hasOwnPropert = target.hasOwnProperty) !== null && _target$hasOwnPropert !== void 0 && _target$hasOwnPropert.call(target, k))) {
14
- target[k] = source[k];
15
- }
10
+ for (let source of sources){
11
+ for(let k in source){
12
+ var ref;
13
+ if (!(target === null || target === void 0 ? void 0 : (ref = target.hasOwnProperty) === null || ref === void 0 ? void 0 : ref.call(target, k))) {
14
+ target[k] = source[k];
15
+ }
16
+ }
17
+ for (let k1 of Object.getOwnPropertySymbols(source)){
18
+ var ref1;
19
+ if (!(target === null || target === void 0 ? void 0 : (ref1 = target.hasOwnProperty) === null || ref1 === void 0 ? void 0 : ref1.call(target, k1))) {
20
+ target[k1] = source[k1];
21
+ }
22
+ }
16
23
  }
17
- }
18
-
19
- return target;
20
- }
24
+ return target;
25
+ }
@@ -1,21 +1,22 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.default = escapeClassName;
7
-
8
- var _postcssSelectorParser = _interopRequireDefault(require("postcss-selector-parser"));
9
-
10
- var _escapeCommas = _interopRequireDefault(require("./escapeCommas"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: ()=>escapeClassName
8
+ });
9
+ const _postcssSelectorParser = /*#__PURE__*/ _interopRequireDefault(require("postcss-selector-parser"));
10
+ const _escapeCommas = /*#__PURE__*/ _interopRequireDefault(require("./escapeCommas"));
11
+ function _interopRequireDefault(obj) {
12
+ return obj && obj.__esModule ? obj : {
13
+ default: obj
14
+ };
15
+ }
14
16
  function escapeClassName(className) {
15
- var _node$raws$value, _node$raws;
16
-
17
- let node = _postcssSelectorParser.default.className();
18
-
19
- node.value = className;
20
- return (0, _escapeCommas.default)((_node$raws$value = node === null || node === void 0 ? void 0 : (_node$raws = node.raws) === null || _node$raws === void 0 ? void 0 : _node$raws.value) !== null && _node$raws$value !== void 0 ? _node$raws$value : node.value);
21
- }
17
+ var ref;
18
+ let node = _postcssSelectorParser.default.className();
19
+ node.value = className;
20
+ var ref1;
21
+ return (0, _escapeCommas.default)((ref1 = node === null || node === void 0 ? void 0 : (ref = node.raws) === null || ref === void 0 ? void 0 : ref.value) !== null && ref1 !== void 0 ? ref1 : node.value);
22
+ }