tailwindcss 3.3.1 → 3.3.3

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 (148) hide show
  1. package/CHANGELOG.md +47 -6
  2. package/lib/cli/build/deps.js +17 -9
  3. package/lib/cli/build/index.js +10 -8
  4. package/lib/cli/build/plugin.js +29 -27
  5. package/lib/cli/build/utils.js +18 -8
  6. package/lib/cli/build/watching.js +12 -10
  7. package/lib/cli/help/index.js +6 -4
  8. package/lib/cli/index.js +4 -4
  9. package/lib/cli/init/index.js +8 -6
  10. package/lib/cli-peer-dependencies.js +12 -4
  11. package/lib/cli.js +1 -1
  12. package/lib/corePluginList.js +3 -1
  13. package/lib/corePlugins.js +52 -42
  14. package/lib/css/preflight.css +9 -0
  15. package/lib/featureFlags.js +14 -9
  16. package/lib/index.js +1 -5
  17. package/lib/lib/cacheInvalidation.js +7 -5
  18. package/lib/lib/collapseAdjacentRules.js +3 -1
  19. package/lib/lib/collapseDuplicateDeclarations.js +10 -8
  20. package/lib/lib/content.js +18 -14
  21. package/lib/lib/defaultExtractor.js +6 -4
  22. package/lib/lib/detectNesting.js +3 -1
  23. package/lib/lib/evaluateTailwindFunctions.js +20 -16
  24. package/lib/lib/expandApplyAtRules.js +37 -40
  25. package/lib/lib/expandTailwindAtRules.js +19 -17
  26. package/lib/lib/findAtConfigPath.js +6 -4
  27. package/lib/lib/generateRules.js +52 -38
  28. package/lib/lib/getModuleDependencies.js +10 -8
  29. package/lib/lib/load-config.js +5 -3
  30. package/lib/lib/normalizeTailwindDirectives.js +5 -3
  31. package/lib/lib/offsets.js +7 -5
  32. package/lib/lib/partitionApplyAtRules.js +3 -1
  33. package/lib/lib/regex.js +21 -7
  34. package/lib/lib/remap-bitfield.js +3 -1
  35. package/lib/lib/resolveDefaultsAtRules.js +24 -20
  36. package/lib/lib/setupContextUtils.js +91 -63
  37. package/lib/lib/setupTrackingContext.js +27 -24
  38. package/lib/lib/sharedState.js +28 -24
  39. package/lib/lib/substituteScreenAtRules.js +5 -3
  40. package/lib/oxide/cli/build/deps.js +16 -8
  41. package/lib/oxide/cli/build/index.js +6 -4
  42. package/lib/oxide/cli/build/plugin.js +19 -17
  43. package/lib/oxide/cli/build/utils.js +18 -8
  44. package/lib/oxide/cli/build/watching.js +10 -8
  45. package/lib/oxide/cli/help/index.js +6 -4
  46. package/lib/oxide/cli/index.js +4 -4
  47. package/lib/oxide/cli/init/index.js +6 -4
  48. package/lib/plugin.js +9 -9
  49. package/lib/postcss-plugins/nesting/index.js +3 -1
  50. package/lib/postcss-plugins/nesting/plugin.js +8 -6
  51. package/lib/processTailwindFeatures.js +16 -14
  52. package/lib/public/colors.js +5 -3
  53. package/lib/public/create-plugin.js +5 -3
  54. package/lib/public/default-config.js +6 -4
  55. package/lib/public/default-theme.js +6 -4
  56. package/lib/public/load-config.js +5 -3
  57. package/lib/public/resolve-config.js +6 -4
  58. package/lib/util/applyImportantSelector.js +9 -10
  59. package/lib/util/bigSign.js +3 -1
  60. package/lib/util/buildMediaQuery.js +3 -1
  61. package/lib/util/cloneDeep.js +3 -1
  62. package/lib/util/cloneNodes.js +3 -1
  63. package/lib/util/color.js +10 -6
  64. package/lib/util/colorNames.js +752 -0
  65. package/lib/util/configurePlugins.js +3 -1
  66. package/lib/util/createPlugin.js +3 -1
  67. package/lib/util/createUtilityPlugin.js +5 -3
  68. package/lib/util/dataTypes.js +59 -21
  69. package/lib/util/defaults.js +6 -4
  70. package/lib/util/escapeClassName.js +7 -5
  71. package/lib/util/escapeCommas.js +3 -1
  72. package/lib/util/flattenColorPalette.js +3 -1
  73. package/lib/util/formatVariantSelector.js +30 -110
  74. package/lib/util/getAllConfigs.js +6 -4
  75. package/lib/util/hashConfig.js +6 -4
  76. package/lib/util/isKeyframeRule.js +3 -1
  77. package/lib/util/isPlainObject.js +3 -1
  78. package/lib/util/isSyntacticallyValidPropertyValue.js +3 -1
  79. package/lib/util/log.js +8 -4
  80. package/lib/util/nameClass.js +12 -6
  81. package/lib/util/negateValue.js +3 -1
  82. package/lib/util/normalizeConfig.js +7 -5
  83. package/lib/util/normalizeScreens.js +12 -4
  84. package/lib/util/parseAnimationValue.js +3 -1
  85. package/lib/util/parseBoxShadowValue.js +6 -2
  86. package/lib/util/parseDependency.js +3 -1
  87. package/lib/util/parseGlob.js +6 -4
  88. package/lib/util/parseObjectStyles.js +9 -7
  89. package/lib/util/pluginUtils.js +30 -18
  90. package/lib/util/prefixSelector.js +6 -4
  91. package/lib/util/pseudoElements.js +209 -0
  92. package/lib/util/removeAlphaVariables.js +3 -1
  93. package/lib/util/resolveConfig.js +10 -8
  94. package/lib/util/resolveConfigPath.js +9 -5
  95. package/lib/util/responsive.js +6 -4
  96. package/lib/util/splitAtTopLevelOnly.js +3 -1
  97. package/lib/util/tap.js +3 -1
  98. package/lib/util/toColorValue.js +3 -1
  99. package/lib/util/toPath.js +3 -1
  100. package/lib/util/transformThemeValue.js +6 -4
  101. package/lib/util/validateConfig.js +5 -3
  102. package/lib/util/validateFormalSyntax.js +3 -1
  103. package/lib/util/withAlphaVariable.js +6 -2
  104. package/lib/value-parser/LICENSE +22 -0
  105. package/lib/value-parser/README.md +3 -0
  106. package/lib/value-parser/index.d.js +2 -0
  107. package/lib/value-parser/index.js +22 -0
  108. package/lib/value-parser/parse.js +259 -0
  109. package/lib/value-parser/stringify.js +38 -0
  110. package/lib/value-parser/unit.js +86 -0
  111. package/lib/value-parser/walk.js +16 -0
  112. package/package.json +30 -35
  113. package/peers/index.js +65828 -48819
  114. package/src/cli/build/plugin.js +3 -3
  115. package/src/cli.js +1 -1
  116. package/src/corePlugins.js +29 -24
  117. package/src/css/preflight.css +9 -0
  118. package/src/featureFlags.js +2 -3
  119. package/src/index.js +1 -5
  120. package/src/lib/defaultExtractor.js +1 -1
  121. package/src/lib/evaluateTailwindFunctions.js +4 -1
  122. package/src/lib/expandApplyAtRules.js +2 -8
  123. package/src/lib/expandTailwindAtRules.js +12 -10
  124. package/src/lib/generateRules.js +15 -8
  125. package/src/lib/setupContextUtils.js +18 -5
  126. package/src/lib/setupTrackingContext.js +2 -4
  127. package/src/lib/sharedState.js +0 -15
  128. package/src/oxide/cli/build/plugin.ts +1 -1
  129. package/src/plugin.js +4 -4
  130. package/src/processTailwindFeatures.js +3 -2
  131. package/src/util/applyImportantSelector.js +2 -5
  132. package/src/util/color.js +1 -1
  133. package/src/util/colorNames.js +150 -0
  134. package/src/util/dataTypes.js +17 -6
  135. package/src/util/formatVariantSelector.js +4 -126
  136. package/src/util/pluginUtils.js +1 -5
  137. package/src/util/prefixSelector.js +1 -0
  138. package/src/util/pseudoElements.js +167 -0
  139. package/src/value-parser/LICENSE +22 -0
  140. package/src/value-parser/README.md +3 -0
  141. package/src/value-parser/index.d.ts +177 -0
  142. package/src/value-parser/index.js +28 -0
  143. package/src/value-parser/parse.js +303 -0
  144. package/src/value-parser/stringify.js +41 -0
  145. package/src/value-parser/unit.js +118 -0
  146. package/src/value-parser/walk.js +18 -0
  147. package/stubs/config.full.js +1 -0
  148. package/types/generated/default-theme.d.ts +1 -0
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
- get: ()=>expandApplyAtRules
7
+ get: function() {
8
+ return expandApplyAtRules;
9
+ }
8
10
  });
9
11
  function partitionRules(root) {
10
12
  if (!root.walkAtRules) return;
package/lib/lib/regex.js CHANGED
@@ -9,13 +9,27 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- pattern: ()=>pattern,
13
- withoutCapturing: ()=>withoutCapturing,
14
- any: ()=>any,
15
- optional: ()=>optional,
16
- zeroOrMore: ()=>zeroOrMore,
17
- nestedBrackets: ()=>nestedBrackets,
18
- escape: ()=>escape
12
+ pattern: function() {
13
+ return pattern;
14
+ },
15
+ withoutCapturing: function() {
16
+ return withoutCapturing;
17
+ },
18
+ any: function() {
19
+ return any;
20
+ },
21
+ optional: function() {
22
+ return optional;
23
+ },
24
+ zeroOrMore: function() {
25
+ return zeroOrMore;
26
+ },
27
+ nestedBrackets: function() {
28
+ return nestedBrackets;
29
+ },
30
+ escape: function() {
31
+ return escape;
32
+ }
19
33
  });
20
34
  const REGEX_SPECIAL = /[\\^$.*+?()[\]{}|]/g;
21
35
  const REGEX_HAS_SPECIAL = RegExp(REGEX_SPECIAL.source);
@@ -69,7 +69,9 @@ Object.defineProperty(exports, "__esModule", {
69
69
  });
70
70
  Object.defineProperty(exports, "remapBitfield", {
71
71
  enumerable: true,
72
- get: ()=>remapBitfield
72
+ get: function() {
73
+ return remapBitfield;
74
+ }
73
75
  });
74
76
  function remapBitfield(num, mapping) {
75
77
  // Create masks for the old and new bits that are set
@@ -9,20 +9,24 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- elementSelectorParser: ()=>elementSelectorParser,
13
- default: ()=>resolveDefaultsAtRules
12
+ elementSelectorParser: function() {
13
+ return elementSelectorParser;
14
+ },
15
+ default: function() {
16
+ return resolveDefaultsAtRules;
17
+ }
14
18
  });
15
- const _postcss = /*#__PURE__*/ _interopRequireDefault(require("postcss"));
16
- const _postcssSelectorParser = /*#__PURE__*/ _interopRequireDefault(require("postcss-selector-parser"));
19
+ const _postcss = /*#__PURE__*/ _interop_require_default(require("postcss"));
20
+ const _postcssselectorparser = /*#__PURE__*/ _interop_require_default(require("postcss-selector-parser"));
17
21
  const _featureFlags = require("../featureFlags");
18
- function _interopRequireDefault(obj) {
22
+ function _interop_require_default(obj) {
19
23
  return obj && obj.__esModule ? obj : {
20
24
  default: obj
21
25
  };
22
26
  }
23
27
  let getNode = {
24
28
  id (node) {
25
- return _postcssSelectorParser.default.attribute({
29
+ return _postcssselectorparser.default.attribute({
26
30
  attribute: "id",
27
31
  operator: "=",
28
32
  value: node.value,
@@ -60,14 +64,14 @@ function minimumImpactSelector(nodes) {
60
64
  let combinatorIdx = rest.findIndex((n)=>n.type === "combinator" && n.value === ">");
61
65
  if (combinatorIdx !== -1) {
62
66
  rest.splice(0, combinatorIdx);
63
- rest.unshift(_postcssSelectorParser.default.universal());
67
+ rest.unshift(_postcssselectorparser.default.universal());
64
68
  }
65
69
  return [
66
70
  bestNode,
67
71
  ...rest.reverse()
68
72
  ].join("").trim();
69
73
  }
70
- let elementSelectorParser = (0, _postcssSelectorParser.default)((selectors)=>{
74
+ let elementSelectorParser = (0, _postcssselectorparser.default)((selectors)=>{
71
75
  return selectors.map((s)=>{
72
76
  let nodes = s.split((n)=>n.type === "combinator" && n.value === " ").pop();
73
77
  return minimumImpactSelector(nodes);
@@ -119,12 +123,12 @@ function resolveDefaultsAtRules({ tailwindConfig }) {
119
123
  universal.remove();
120
124
  continue;
121
125
  }
122
- for (let [, selectors1] of selectorGroups){
126
+ for (let [, selectors] of selectorGroups){
123
127
  let universalRule = _postcss.default.rule({
124
128
  source: universal.source
125
129
  });
126
130
  universalRule.selectors = [
127
- ...selectors1
131
+ ...selectors
128
132
  ];
129
133
  universalRule.append(universal.nodes.map((node)=>node.clone()));
130
134
  universal.before(universalRule);
@@ -133,29 +137,29 @@ function resolveDefaultsAtRules({ tailwindConfig }) {
133
137
  universal.remove();
134
138
  }
135
139
  } else if (universals.size) {
136
- let universalRule1 = _postcss.default.rule({
140
+ let universalRule = _postcss.default.rule({
137
141
  selectors: [
138
142
  "*",
139
143
  "::before",
140
144
  "::after"
141
145
  ]
142
146
  });
143
- for (let universal1 of universals){
144
- universalRule1.append(universal1.nodes);
145
- if (!universalRule1.parent) {
146
- universal1.before(universalRule1);
147
+ for (let universal of universals){
148
+ universalRule.append(universal.nodes);
149
+ if (!universalRule.parent) {
150
+ universal.before(universalRule);
147
151
  }
148
- if (!universalRule1.source) {
149
- universalRule1.source = universal1.source;
152
+ if (!universalRule.source) {
153
+ universalRule.source = universal.source;
150
154
  }
151
- universal1.remove();
155
+ universal.remove();
152
156
  }
153
- let backdropRule = universalRule1.clone({
157
+ let backdropRule = universalRule.clone({
154
158
  selectors: [
155
159
  "::backdrop"
156
160
  ]
157
161
  });
158
- universalRule1.after(backdropRule);
162
+ universalRule.after(backdropRule);
159
163
  }
160
164
  };
161
165
  }
@@ -9,36 +9,49 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- isValidVariantFormatString: ()=>isValidVariantFormatString,
13
- parseVariant: ()=>parseVariant,
14
- getFileModifiedMap: ()=>getFileModifiedMap,
15
- createContext: ()=>createContext,
16
- getContext: ()=>getContext
12
+ INTERNAL_FEATURES: function() {
13
+ return INTERNAL_FEATURES;
14
+ },
15
+ isValidVariantFormatString: function() {
16
+ return isValidVariantFormatString;
17
+ },
18
+ parseVariant: function() {
19
+ return parseVariant;
20
+ },
21
+ getFileModifiedMap: function() {
22
+ return getFileModifiedMap;
23
+ },
24
+ createContext: function() {
25
+ return createContext;
26
+ },
27
+ getContext: function() {
28
+ return getContext;
29
+ }
17
30
  });
18
- const _fs = /*#__PURE__*/ _interopRequireDefault(require("fs"));
19
- const _url = /*#__PURE__*/ _interopRequireDefault(require("url"));
20
- const _postcss = /*#__PURE__*/ _interopRequireDefault(require("postcss"));
21
- const _dlv = /*#__PURE__*/ _interopRequireDefault(require("dlv"));
22
- const _postcssSelectorParser = /*#__PURE__*/ _interopRequireDefault(require("postcss-selector-parser"));
23
- const _transformThemeValue = /*#__PURE__*/ _interopRequireDefault(require("../util/transformThemeValue"));
24
- const _parseObjectStyles = /*#__PURE__*/ _interopRequireDefault(require("../util/parseObjectStyles"));
25
- const _prefixSelector = /*#__PURE__*/ _interopRequireDefault(require("../util/prefixSelector"));
26
- const _isPlainObject = /*#__PURE__*/ _interopRequireDefault(require("../util/isPlainObject"));
27
- const _escapeClassName = /*#__PURE__*/ _interopRequireDefault(require("../util/escapeClassName"));
28
- const _nameClass = /*#__PURE__*/ _interopRequireWildcard(require("../util/nameClass"));
31
+ const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
32
+ const _url = /*#__PURE__*/ _interop_require_default(require("url"));
33
+ const _postcss = /*#__PURE__*/ _interop_require_default(require("postcss"));
34
+ const _dlv = /*#__PURE__*/ _interop_require_default(require("dlv"));
35
+ const _postcssselectorparser = /*#__PURE__*/ _interop_require_default(require("postcss-selector-parser"));
36
+ const _transformThemeValue = /*#__PURE__*/ _interop_require_default(require("../util/transformThemeValue"));
37
+ const _parseObjectStyles = /*#__PURE__*/ _interop_require_default(require("../util/parseObjectStyles"));
38
+ const _prefixSelector = /*#__PURE__*/ _interop_require_default(require("../util/prefixSelector"));
39
+ const _isPlainObject = /*#__PURE__*/ _interop_require_default(require("../util/isPlainObject"));
40
+ const _escapeClassName = /*#__PURE__*/ _interop_require_default(require("../util/escapeClassName"));
41
+ const _nameClass = /*#__PURE__*/ _interop_require_wildcard(require("../util/nameClass"));
29
42
  const _pluginUtils = require("../util/pluginUtils");
30
43
  const _corePlugins = require("../corePlugins");
31
- const _sharedState = /*#__PURE__*/ _interopRequireWildcard(require("./sharedState"));
44
+ const _sharedState = /*#__PURE__*/ _interop_require_wildcard(require("./sharedState"));
32
45
  const _toPath = require("../util/toPath");
33
- const _log = /*#__PURE__*/ _interopRequireDefault(require("../util/log"));
34
- const _negateValue = /*#__PURE__*/ _interopRequireDefault(require("../util/negateValue"));
35
- const _isSyntacticallyValidPropertyValue = /*#__PURE__*/ _interopRequireDefault(require("../util/isSyntacticallyValidPropertyValue"));
46
+ const _log = /*#__PURE__*/ _interop_require_default(require("../util/log"));
47
+ const _negateValue = /*#__PURE__*/ _interop_require_default(require("../util/negateValue"));
48
+ const _isSyntacticallyValidPropertyValue = /*#__PURE__*/ _interop_require_default(require("../util/isSyntacticallyValidPropertyValue"));
36
49
  const _generateRules = require("./generateRules");
37
- const _cacheInvalidationJs = require("./cacheInvalidation.js");
38
- const _offsetsJs = require("./offsets.js");
39
- const _featureFlagsJs = require("../featureFlags.js");
50
+ const _cacheInvalidation = require("./cacheInvalidation.js");
51
+ const _offsets = require("./offsets.js");
52
+ const _featureFlags = require("../featureFlags.js");
40
53
  const _formatVariantSelector = require("../util/formatVariantSelector");
41
- function _interopRequireDefault(obj) {
54
+ function _interop_require_default(obj) {
42
55
  return obj && obj.__esModule ? obj : {
43
56
  default: obj
44
57
  };
@@ -51,7 +64,7 @@ function _getRequireWildcardCache(nodeInterop) {
51
64
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
52
65
  })(nodeInterop);
53
66
  }
54
- function _interopRequireWildcard(obj, nodeInterop) {
67
+ function _interop_require_wildcard(obj, nodeInterop) {
55
68
  if (!nodeInterop && obj && obj.__esModule) {
56
69
  return obj;
57
70
  }
@@ -82,6 +95,7 @@ function _interopRequireWildcard(obj, nodeInterop) {
82
95
  }
83
96
  return newObj;
84
97
  }
98
+ const INTERNAL_FEATURES = Symbol();
85
99
  const VARIANT_TYPES = {
86
100
  AddVariant: Symbol.for("ADD_VARIANT"),
87
101
  MatchVariant: Symbol.for("MATCH_VARIANT")
@@ -175,7 +189,7 @@ function parseStyles(styles) {
175
189
  });
176
190
  }
177
191
  function getClasses(selector, mutate) {
178
- let parser = (0, _postcssSelectorParser.default)((selectors)=>{
192
+ let parser = (0, _postcssselectorparser.default)((selectors)=>{
179
193
  let allClasses = [];
180
194
  if (mutate) {
181
195
  mutate(selectors);
@@ -260,11 +274,14 @@ function parseVariant(variant) {
260
274
  if (!str.startsWith("@")) {
261
275
  return ({ format })=>format(str);
262
276
  }
263
- let [, name, params] = /@(.*?)( .+|[({].*)/g.exec(str);
264
- return ({ wrap })=>wrap(_postcss.default.atRule({
277
+ let [, name, params] = /@(\S*)( .+|[({].*)?/g.exec(str);
278
+ var _params_trim;
279
+ return ({ wrap })=>{
280
+ return wrap(_postcss.default.atRule({
265
281
  name,
266
- params: params.trim()
282
+ params: (_params_trim = params === null || params === void 0 ? void 0 : params.trim()) !== null && _params_trim !== void 0 ? _params_trim : ""
267
283
  }));
284
+ };
268
285
  }).reverse();
269
286
  return (api)=>{
270
287
  for (let fn of fns){
@@ -451,7 +468,7 @@ function parseVariant(variant) {
451
468
  return utilityModifier;
452
469
  }
453
470
  };
454
- let modifiersEnabled = (0, _featureFlagsJs.flagEnabled)(tailwindConfig, "generalizedModifiers");
471
+ let modifiersEnabled = (0, _featureFlags.flagEnabled)(tailwindConfig, "generalizedModifiers");
455
472
  let ruleSets = [].concat(modifiersEnabled ? rule(value, extras) : rule(value)).filter(Boolean).map((declaration)=>({
456
473
  [(0, _nameClass.default)(identifier, modifier)]: declaration
457
474
  }));
@@ -517,7 +534,7 @@ function parseVariant(variant) {
517
534
  return utilityModifier;
518
535
  }
519
536
  };
520
- let modifiersEnabled = (0, _featureFlagsJs.flagEnabled)(tailwindConfig, "generalizedModifiers");
537
+ let modifiersEnabled = (0, _featureFlags.flagEnabled)(tailwindConfig, "generalizedModifiers");
521
538
  let ruleSets = [].concat(modifiersEnabled ? rule(value, extras) : rule(value)).filter(Boolean).map((declaration)=>({
522
539
  [(0, _nameClass.default)(identifier, modifier)]: declaration
523
540
  }));
@@ -578,7 +595,7 @@ function parseVariant(variant) {
578
595
  // This is for internal use only which is why it is not present in the types
579
596
  let id = (_options_id = options === null || options === void 0 ? void 0 : options.id) !== null && _options_id !== void 0 ? _options_id : ++variantIdentifier;
580
597
  let isSpecial = variant === "@";
581
- let modifiersEnabled = (0, _featureFlagsJs.flagEnabled)(tailwindConfig, "generalizedModifiers");
598
+ let modifiersEnabled = (0, _featureFlags.flagEnabled)(tailwindConfig, "generalizedModifiers");
582
599
  var _options_values;
583
600
  for (let [key, value] of Object.entries((_options_values = options === null || options === void 0 ? void 0 : options.values) !== null && _options_values !== void 0 ? _options_values : {})){
584
601
  if (key === "DEFAULT") continue;
@@ -689,9 +706,9 @@ function collectLayerPlugins(root) {
689
706
  }
690
707
  layerRule.remove();
691
708
  } else if (layerRule.params === "components") {
692
- for (let node1 of layerRule.nodes){
709
+ for (let node of layerRule.nodes){
693
710
  layerPlugins.push(function({ addComponents }) {
694
- addComponents(node1, {
711
+ addComponents(node, {
695
712
  respectPrefix: false,
696
713
  preserveSource: true
697
714
  });
@@ -699,9 +716,9 @@ function collectLayerPlugins(root) {
699
716
  }
700
717
  layerRule.remove();
701
718
  } else if (layerRule.params === "utilities") {
702
- for (let node2 of layerRule.nodes){
719
+ for (let node of layerRule.nodes){
703
720
  layerPlugins.push(function({ addUtilities }) {
704
- addUtilities(node2, {
721
+ addUtilities(node, {
705
722
  respectPrefix: false,
706
723
  preserveSource: true
707
724
  });
@@ -759,7 +776,7 @@ function registerPlugins(plugins, context) {
759
776
  let variantList = [];
760
777
  let variantMap = new Map();
761
778
  context.variantMap = variantMap;
762
- let offsets = new _offsetsJs.Offsets();
779
+ let offsets = new _offsets.Offsets();
763
780
  context.offsets = offsets;
764
781
  let classList = new Set();
765
782
  let pluginApi = buildPluginApi(context.tailwindConfig, context, {
@@ -850,7 +867,7 @@ function registerPlugins(plugins, context) {
850
867
  })() : [
851
868
  util
852
869
  ];
853
- for (let util1 of utils){
870
+ for (let util of utils){
854
871
  for (let { pattern , variants =[] } of checks){
855
872
  // RegExp with the /g flag are stateful, so let's reset the last
856
873
  // index pointer to reset the state.
@@ -858,15 +875,15 @@ function registerPlugins(plugins, context) {
858
875
  if (!patternMatchingCount.has(pattern)) {
859
876
  patternMatchingCount.set(pattern, 0);
860
877
  }
861
- if (!pattern.test(util1)) continue;
878
+ if (!pattern.test(util)) continue;
862
879
  patternMatchingCount.set(pattern, patternMatchingCount.get(pattern) + 1);
863
880
  context.changedContent.push({
864
- content: util1,
881
+ content: util,
865
882
  extension: "html"
866
883
  });
867
884
  for (let variant of variants){
868
885
  context.changedContent.push({
869
- content: variant + context.tailwindConfig.separator + util1,
886
+ content: variant + context.tailwindConfig.separator + util,
870
887
  extension: "html"
871
888
  });
872
889
  }
@@ -914,7 +931,11 @@ function registerPlugins(plugins, context) {
914
931
  rules = context.offsets.sort(rules);
915
932
  let idx = BigInt(parasiteUtilities.length);
916
933
  for (const [, rule] of rules){
917
- sortedClassNames.set(rule.raws.tailwind.candidate, idx++);
934
+ let candidate = rule.raws.tailwind.candidate;
935
+ var _sortedClassNames_get;
936
+ // When multiple rules match a candidate
937
+ // always take the position of the first one
938
+ sortedClassNames.set(candidate, (_sortedClassNames_get = sortedClassNames.get(candidate)) !== null && _sortedClassNames_get !== void 0 ? _sortedClassNames_get : idx++);
918
939
  }
919
940
  return classes.map((className)=>{
920
941
  var _sortedClassNames_get;
@@ -963,11 +984,11 @@ function registerPlugins(plugins, context) {
963
984
  metadata
964
985
  ] : cls);
965
986
  if ((utilOptions === null || utilOptions === void 0 ? void 0 : utilOptions.supportsNegativeValues) && (0, _negateValue.default)(value)) {
966
- let cls1 = (0, _nameClass.formatClass)(utilName, `-${key}`);
987
+ let cls = (0, _nameClass.formatClass)(utilName, `-${key}`);
967
988
  negativeClasses.push(includeMetadata ? [
968
- cls1,
989
+ cls,
969
990
  metadata
970
- ] : cls1);
991
+ ] : cls);
971
992
  }
972
993
  }
973
994
  output.push(...negativeClasses);
@@ -1060,7 +1081,7 @@ function registerPlugins(plugins, context) {
1060
1081
  // as well. E.g.: `${variant}${separator}${className}`.
1061
1082
  // However, plugin authors probably also prepend or append certain
1062
1083
  // classes, pseudos, ids, ...
1063
- let rebuiltBase = (0, _postcssSelectorParser.default)((selectors)=>{
1084
+ let rebuiltBase = (0, _postcssselectorparser.default)((selectors)=>{
1064
1085
  selectors.walkClasses((classNode)=>{
1065
1086
  classNode.value = `${name}${context.tailwindConfig.separator}${classNode.value}`;
1066
1087
  });
@@ -1085,13 +1106,20 @@ function registerPlugins(plugins, context) {
1085
1106
  }
1086
1107
  var _options_values1;
1087
1108
  let isArbitraryVariant = !(value in ((_options_values1 = options.values) !== null && _options_values1 !== void 0 ? _options_values1 : {}));
1109
+ var _options_INTERNAL_FEATURES;
1110
+ let internalFeatures = (_options_INTERNAL_FEATURES = options[INTERNAL_FEATURES]) !== null && _options_INTERNAL_FEATURES !== void 0 ? _options_INTERNAL_FEATURES : {};
1111
+ let respectPrefix = (()=>{
1112
+ if (isArbitraryVariant) return false;
1113
+ if (internalFeatures.respectPrefix === false) return false;
1114
+ return true;
1115
+ })();
1088
1116
  formatStrings = formatStrings.map((format)=>format.map((str)=>({
1089
1117
  format: str,
1090
- isArbitraryVariant
1118
+ respectPrefix
1091
1119
  })));
1092
1120
  manualFormatStrings = manualFormatStrings.map((format)=>({
1093
1121
  format,
1094
- isArbitraryVariant
1122
+ respectPrefix
1095
1123
  }));
1096
1124
  let opts = {
1097
1125
  candidate,
@@ -1184,7 +1212,7 @@ function getContext(root, result, tailwindConfig, userConfigPath, tailwindConfig
1184
1212
  contextMap.set(sourcePath, context);
1185
1213
  existingContext = context;
1186
1214
  }
1187
- let cssDidChange = (0, _cacheInvalidationJs.hasContentChanged)(sourcePath, root);
1215
+ let cssDidChange = (0, _cacheInvalidation.hasContentChanged)(sourcePath, root);
1188
1216
  // If there's already a context in the cache and we don't need to
1189
1217
  // reset the context, return the cached context.
1190
1218
  if (existingContext) {
@@ -1210,9 +1238,9 @@ function getContext(root, result, tailwindConfig, userConfigPath, tailwindConfig
1210
1238
  contextSourcesMap.get(oldContext).delete(sourcePath);
1211
1239
  if (contextSourcesMap.get(oldContext).size === 0) {
1212
1240
  contextSourcesMap.delete(oldContext);
1213
- for (let [tailwindConfigHash1, context1] of configContextMap){
1214
- if (context1 === oldContext) {
1215
- configContextMap.delete(tailwindConfigHash1);
1241
+ for (let [tailwindConfigHash, context] of configContextMap){
1242
+ if (context === oldContext) {
1243
+ configContextMap.delete(tailwindConfigHash);
1216
1244
  }
1217
1245
  }
1218
1246
  for (let disposable of oldContext.disposables.splice(0)){
@@ -1222,24 +1250,24 @@ function getContext(root, result, tailwindConfig, userConfigPath, tailwindConfig
1222
1250
  }
1223
1251
  }
1224
1252
  _sharedState.env.DEBUG && console.log("Setting up new context...");
1225
- let context2 = createContext(tailwindConfig, [], root);
1226
- Object.assign(context2, {
1253
+ let context = createContext(tailwindConfig, [], root);
1254
+ Object.assign(context, {
1227
1255
  userConfigPath
1228
1256
  });
1229
- let [, mtimesToCommit1] = trackModified([
1257
+ let [, mtimesToCommit] = trackModified([
1230
1258
  ...contextDependencies
1231
- ], getFileModifiedMap(context2));
1259
+ ], getFileModifiedMap(context));
1232
1260
  // ---
1233
1261
  // Update all context tracking state
1234
- configContextMap.set(tailwindConfigHash, context2);
1235
- contextMap.set(sourcePath, context2);
1236
- if (!contextSourcesMap.has(context2)) {
1237
- contextSourcesMap.set(context2, new Set());
1262
+ configContextMap.set(tailwindConfigHash, context);
1263
+ contextMap.set(sourcePath, context);
1264
+ if (!contextSourcesMap.has(context)) {
1265
+ contextSourcesMap.set(context, new Set());
1238
1266
  }
1239
- contextSourcesMap.get(context2).add(sourcePath);
1267
+ contextSourcesMap.get(context).add(sourcePath);
1240
1268
  return [
1241
- context2,
1269
+ context,
1242
1270
  true,
1243
- mtimesToCommit1
1271
+ mtimesToCommit
1244
1272
  ];
1245
1273
  }
@@ -9,25 +9,27 @@ Object.defineProperty(exports, // DISABLE_TOUCH = TRUE
9
9
  // plugins) then return it
10
10
  "default", {
11
11
  enumerable: true,
12
- get: ()=>setupTrackingContext
12
+ get: function() {
13
+ return setupTrackingContext;
14
+ }
13
15
  });
14
- const _fs = /*#__PURE__*/ _interopRequireDefault(require("fs"));
15
- const _quickLru = /*#__PURE__*/ _interopRequireDefault(require("quick-lru"));
16
- const _hashConfig = /*#__PURE__*/ _interopRequireDefault(require("../util/hashConfig"));
17
- const _resolveConfig = /*#__PURE__*/ _interopRequireDefault(require("../public/resolve-config"));
18
- const _resolveConfigPath = /*#__PURE__*/ _interopRequireDefault(require("../util/resolveConfigPath"));
16
+ const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
17
+ const _quicklru = /*#__PURE__*/ _interop_require_default(require("@alloc/quick-lru"));
18
+ const _hashConfig = /*#__PURE__*/ _interop_require_default(require("../util/hashConfig"));
19
+ const _resolveconfig = /*#__PURE__*/ _interop_require_default(require("../public/resolve-config"));
20
+ const _resolveConfigPath = /*#__PURE__*/ _interop_require_default(require("../util/resolveConfigPath"));
19
21
  const _setupContextUtils = require("./setupContextUtils");
20
- const _parseDependency = /*#__PURE__*/ _interopRequireDefault(require("../util/parseDependency"));
21
- const _validateConfigJs = require("../util/validateConfig.js");
22
- const _contentJs = require("./content.js");
23
- const _loadConfig = require("../lib/load-config");
24
- const _getModuleDependencies = /*#__PURE__*/ _interopRequireDefault(require("./getModuleDependencies"));
25
- function _interopRequireDefault(obj) {
22
+ const _parseDependency = /*#__PURE__*/ _interop_require_default(require("../util/parseDependency"));
23
+ const _validateConfig = require("../util/validateConfig.js");
24
+ const _content = require("./content.js");
25
+ const _loadconfig = require("../lib/load-config");
26
+ const _getModuleDependencies = /*#__PURE__*/ _interop_require_default(require("./getModuleDependencies"));
27
+ function _interop_require_default(obj) {
26
28
  return obj && obj.__esModule ? obj : {
27
29
  default: obj
28
30
  };
29
31
  }
30
- let configPathCache = new _quickLru.default({
32
+ let configPathCache = new _quicklru.default({
31
33
  maxSize: 100
32
34
  });
33
35
  let candidateFilesCache = new WeakMap();
@@ -35,7 +37,7 @@ function getCandidateFiles(context, tailwindConfig) {
35
37
  if (candidateFilesCache.has(context)) {
36
38
  return candidateFilesCache.get(context);
37
39
  }
38
- let candidateFiles = (0, _contentJs.parseCandidateFiles)(context, tailwindConfig);
40
+ let candidateFiles = (0, _content.parseCandidateFiles)(context, tailwindConfig);
39
41
  return candidateFilesCache.set(context, candidateFiles).get(context);
40
42
  }
41
43
  // Get the config object based on a path
@@ -63,10 +65,10 @@ function getTailwindConfig(configOrPath) {
63
65
  ];
64
66
  }
65
67
  // It has changed (based on timestamps), or first run
66
- for (let file1 of newDeps){
67
- delete require.cache[file1];
68
+ for (let file of newDeps){
69
+ delete require.cache[file];
68
70
  }
69
- let newConfig = (0, _validateConfigJs.validateConfig)((0, _resolveConfig.default)((0, _loadConfig.loadConfig)(userConfigPath)));
71
+ let newConfig = (0, _validateConfig.validateConfig)((0, _resolveconfig.default)((0, _loadconfig.loadConfig)(userConfigPath)));
70
72
  let newHash = (0, _hashConfig.default)(newConfig);
71
73
  configPathCache.set(userConfigPath, [
72
74
  newConfig,
@@ -81,13 +83,14 @@ function getTailwindConfig(configOrPath) {
81
83
  newDeps
82
84
  ];
83
85
  }
86
+ var _configOrPath_config, _ref;
84
87
  // It's a plain object, not a path
85
- let newConfig1 = (0, _resolveConfig.default)(configOrPath.config === undefined ? configOrPath : configOrPath.config);
86
- newConfig1 = (0, _validateConfigJs.validateConfig)(newConfig1);
88
+ let newConfig = (0, _resolveconfig.default)((_ref = (_configOrPath_config = configOrPath === null || configOrPath === void 0 ? void 0 : configOrPath.config) !== null && _configOrPath_config !== void 0 ? _configOrPath_config : configOrPath) !== null && _ref !== void 0 ? _ref : {});
89
+ newConfig = (0, _validateConfig.validateConfig)(newConfig);
87
90
  return [
88
- newConfig1,
91
+ newConfig,
89
92
  null,
90
- (0, _hashConfig.default)(newConfig1),
93
+ (0, _hashConfig.default)(newConfig),
91
94
  []
92
95
  ];
93
96
  }
@@ -127,7 +130,7 @@ function setupTrackingContext(configOrPath) {
127
130
  registerDependency(dependency);
128
131
  }
129
132
  }
130
- let [changedContent, contentMTimesToCommit] = (0, _contentJs.resolvedChangedContent)(context, candidateFiles, fileModifiedMap);
133
+ let [changedContent, contentMTimesToCommit] = (0, _content.resolvedChangedContent)(context, candidateFiles, fileModifiedMap);
131
134
  for (let content of changedContent){
132
135
  context.changedContent.push(content);
133
136
  }
@@ -154,8 +157,8 @@ function setupTrackingContext(configOrPath) {
154
157
  // "commit" the new modified time for all context deps
155
158
  // We do this here because we want content tracking to
156
159
  // read the "old" mtime even when it's a context dependency.
157
- for (let [path1, mtime1] of mTimesToCommit.entries()){
158
- fileModifiedMap.set(path1, mtime1);
160
+ for (let [path, mtime] of mTimesToCommit.entries()){
161
+ fileModifiedMap.set(path, mtime);
159
162
  }
160
163
  return context;
161
164
  };