tailwindcss 0.0.0-insiders.ca1dfd6 → 0.0.0-insiders.d07553b

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 (82) hide show
  1. package/CHANGELOG.md +110 -1
  2. package/colors.js +2 -1
  3. package/defaultConfig.js +2 -1
  4. package/defaultTheme.js +2 -1
  5. package/lib/cli.js +47 -48
  6. package/lib/constants.js +1 -1
  7. package/lib/corePluginList.js +10 -1
  8. package/lib/corePlugins.js +425 -285
  9. package/lib/css/preflight.css +14 -1
  10. package/lib/featureFlags.js +14 -9
  11. package/lib/lib/collapseDuplicateDeclarations.js +29 -0
  12. package/lib/lib/detectNesting.js +17 -2
  13. package/lib/lib/evaluateTailwindFunctions.js +9 -5
  14. package/lib/lib/expandApplyAtRules.js +26 -9
  15. package/lib/lib/expandTailwindAtRules.js +16 -26
  16. package/lib/lib/generateRules.js +206 -27
  17. package/lib/lib/normalizeTailwindDirectives.js +3 -2
  18. package/lib/lib/resolveDefaultsAtRules.js +67 -56
  19. package/lib/lib/setupContextUtils.js +198 -186
  20. package/lib/lib/setupTrackingContext.js +3 -3
  21. package/lib/lib/setupWatchingContext.js +8 -4
  22. package/lib/lib/sharedState.js +2 -12
  23. package/lib/lib/substituteScreenAtRules.js +7 -4
  24. package/lib/processTailwindFeatures.js +4 -0
  25. package/lib/public/colors.js +4 -8
  26. package/lib/util/buildMediaQuery.js +13 -24
  27. package/lib/util/createUtilityPlugin.js +5 -5
  28. package/lib/util/dataTypes.js +38 -7
  29. package/lib/util/formatVariantSelector.js +186 -0
  30. package/lib/util/isValidArbitraryValue.js +64 -0
  31. package/lib/util/log.js +30 -18
  32. package/lib/util/nameClass.js +2 -1
  33. package/lib/util/negateValue.js +3 -1
  34. package/lib/util/normalizeConfig.js +208 -0
  35. package/lib/util/normalizeScreens.js +61 -0
  36. package/lib/util/parseBoxShadowValue.js +77 -0
  37. package/lib/util/pluginUtils.js +62 -158
  38. package/lib/util/prefixSelector.js +1 -3
  39. package/lib/util/resolveConfig.js +22 -81
  40. package/lib/util/transformThemeValue.js +23 -13
  41. package/package.json +15 -15
  42. package/peers/index.js +4495 -5499
  43. package/plugin.js +2 -1
  44. package/resolveConfig.js +2 -1
  45. package/scripts/create-plugin-list.js +2 -2
  46. package/src/cli.js +19 -13
  47. package/src/corePluginList.js +1 -1
  48. package/src/corePlugins.js +413 -422
  49. package/src/css/preflight.css +14 -1
  50. package/src/featureFlags.js +16 -6
  51. package/src/lib/collapseDuplicateDeclarations.js +28 -0
  52. package/src/lib/detectNesting.js +22 -3
  53. package/src/lib/evaluateTailwindFunctions.js +5 -2
  54. package/src/lib/expandApplyAtRules.js +29 -2
  55. package/src/lib/expandTailwindAtRules.js +17 -29
  56. package/src/lib/generateRules.js +228 -19
  57. package/src/lib/normalizeTailwindDirectives.js +3 -2
  58. package/src/lib/resolveDefaultsAtRules.js +67 -50
  59. package/src/lib/setupContextUtils.js +189 -163
  60. package/src/lib/setupTrackingContext.js +3 -5
  61. package/src/lib/setupWatchingContext.js +10 -5
  62. package/src/lib/sharedState.js +1 -4
  63. package/src/lib/substituteScreenAtRules.js +6 -3
  64. package/src/processTailwindFeatures.js +5 -0
  65. package/src/public/colors.js +4 -9
  66. package/src/util/buildMediaQuery.js +14 -18
  67. package/src/util/createUtilityPlugin.js +2 -2
  68. package/src/util/dataTypes.js +43 -11
  69. package/src/util/formatVariantSelector.js +196 -0
  70. package/src/util/isValidArbitraryValue.js +61 -0
  71. package/src/util/log.js +18 -21
  72. package/src/util/nameClass.js +2 -2
  73. package/src/util/negateValue.js +4 -2
  74. package/src/util/normalizeConfig.js +249 -0
  75. package/src/util/normalizeScreens.js +45 -0
  76. package/src/util/parseBoxShadowValue.js +71 -0
  77. package/src/util/pluginUtils.js +50 -146
  78. package/src/util/prefixSelector.js +1 -4
  79. package/src/util/resolveConfig.js +11 -64
  80. package/src/util/transformThemeValue.js +22 -7
  81. package/stubs/defaultConfig.stub.js +151 -91
  82. package/stubs/simpleConfig.stub.js +0 -1
@@ -2,21 +2,22 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.default = void 0;
5
+ exports.corePlugins = exports.variantPlugins = void 0;
6
6
  var _fs = _interopRequireDefault(require("fs"));
7
+ var path = _interopRequireWildcard(require("path"));
7
8
  var _postcss = _interopRequireDefault(require("postcss"));
8
9
  var _createUtilityPlugin = _interopRequireDefault(require("./util/createUtilityPlugin"));
9
10
  var _buildMediaQuery = _interopRequireDefault(require("./util/buildMediaQuery"));
10
- var _prefixSelector = _interopRequireDefault(require("./util/prefixSelector"));
11
11
  var _parseAnimationValue = _interopRequireDefault(require("./util/parseAnimationValue"));
12
12
  var _flattenColorPalette = _interopRequireDefault(require("./util/flattenColorPalette"));
13
13
  var _withAlphaVariable = _interopRequireWildcard(require("./util/withAlphaVariable"));
14
14
  var _toColorValue = _interopRequireDefault(require("./util/toColorValue"));
15
15
  var _isPlainObject = _interopRequireDefault(require("./util/isPlainObject"));
16
16
  var _transformThemeValue = _interopRequireDefault(require("./util/transformThemeValue"));
17
- var _pluginUtils = require("./util/pluginUtils");
18
17
  var _packageJson = require("../package.json");
19
18
  var _log = _interopRequireDefault(require("./util/log"));
19
+ var _normalizeScreens = require("./util/normalizeScreens");
20
+ var _parseBoxShadowValue = require("./util/parseBoxShadowValue");
20
21
  function _interopRequireDefault(obj) {
21
22
  return obj && obj.__esModule ? obj : {
22
23
  default: obj
@@ -45,56 +46,22 @@ function _interopRequireWildcard(obj) {
45
46
  return newObj;
46
47
  }
47
48
  }
48
- var _default = {
49
- // Variant plugins
50
- pseudoElementVariants: ({ config , addVariant })=>{
51
- addVariant('first-letter', (0, _pluginUtils).transformAllSelectors((selector)=>{
52
- return (0, _pluginUtils).updateAllClasses(selector, (className, { withPseudo })=>{
53
- return withPseudo(`first-letter${config('separator')}${className}`, '::first-letter');
54
- });
55
- }));
56
- addVariant('first-line', (0, _pluginUtils).transformAllSelectors((selector)=>{
57
- return (0, _pluginUtils).updateAllClasses(selector, (className, { withPseudo })=>{
58
- return withPseudo(`first-line${config('separator')}${className}`, '::first-line');
59
- });
60
- }));
49
+ let variantPlugins = {
50
+ pseudoElementVariants: ({ addVariant })=>{
51
+ addVariant('first-letter', '&::first-letter');
52
+ addVariant('first-line', '&::first-line');
61
53
  addVariant('marker', [
62
- (0, _pluginUtils).transformAllSelectors((selector)=>{
63
- let variantSelector = (0, _pluginUtils).updateAllClasses(selector, (className)=>{
64
- return `marker${config('separator')}${className}`;
65
- });
66
- return `${variantSelector} *::marker`;
67
- }),
68
- (0, _pluginUtils).transformAllSelectors((selector)=>{
69
- return (0, _pluginUtils).updateAllClasses(selector, (className, { withPseudo })=>{
70
- return withPseudo(`marker${config('separator')}${className}`, '::marker');
71
- });
72
- }),
54
+ '& *::marker',
55
+ '&::marker'
73
56
  ]);
74
57
  addVariant('selection', [
75
- (0, _pluginUtils).transformAllSelectors((selector)=>{
76
- let variantSelector = (0, _pluginUtils).updateAllClasses(selector, (className)=>{
77
- return `selection${config('separator')}${className}`;
78
- });
79
- return `${variantSelector} *::selection`;
80
- }),
81
- (0, _pluginUtils).transformAllSelectors((selector)=>{
82
- return (0, _pluginUtils).updateAllClasses(selector, (className, { withPseudo })=>{
83
- return withPseudo(`selection${config('separator')}${className}`, '::selection');
84
- });
85
- }),
58
+ '& *::selection',
59
+ '&::selection'
86
60
  ]);
87
- addVariant('file', (0, _pluginUtils).transformAllSelectors((selector)=>{
88
- return (0, _pluginUtils).updateAllClasses(selector, (className, { withPseudo })=>{
89
- return withPseudo(`file${config('separator')}${className}`, '::file-selector-button');
90
- });
91
- }));
92
- addVariant('before', (0, _pluginUtils).transformAllSelectors((selector)=>{
93
- return (0, _pluginUtils).updateAllClasses(selector, (className, { withPseudo })=>{
94
- return withPseudo(`before${config('separator')}${className}`, '::before');
95
- });
96
- }, {
97
- withRule: (rule)=>{
61
+ addVariant('file', '&::file-selector-button');
62
+ addVariant('placeholder', '&::placeholder');
63
+ addVariant('before', ({ container })=>{
64
+ container.walkRules((rule)=>{
98
65
  let foundContent = false;
99
66
  rule.walkDecls('content', ()=>{
100
67
  foundContent = true;
@@ -102,17 +69,14 @@ var _default = {
102
69
  if (!foundContent) {
103
70
  rule.prepend(_postcss.default.decl({
104
71
  prop: 'content',
105
- value: '""'
72
+ value: 'var(--tw-content)'
106
73
  }));
107
74
  }
108
- }
109
- }));
110
- addVariant('after', (0, _pluginUtils).transformAllSelectors((selector)=>{
111
- return (0, _pluginUtils).updateAllClasses(selector, (className, { withPseudo })=>{
112
- return withPseudo(`after${config('separator')}${className}`, '::after');
113
75
  });
114
- }, {
115
- withRule: (rule)=>{
76
+ return '&::before';
77
+ });
78
+ addVariant('after', ({ container })=>{
79
+ container.walkRules((rule)=>{
116
80
  let foundContent = false;
117
81
  rule.walkDecls('content', ()=>{
118
82
  foundContent = true;
@@ -120,13 +84,14 @@ var _default = {
120
84
  if (!foundContent) {
121
85
  rule.prepend(_postcss.default.decl({
122
86
  prop: 'content',
123
- value: '""'
87
+ value: 'var(--tw-content)'
124
88
  }));
125
89
  }
126
- }
127
- }));
90
+ });
91
+ return '&::after';
92
+ });
128
93
  },
129
- pseudoClassVariants: ({ config , addVariant })=>{
94
+ pseudoClassVariants: ({ addVariant })=>{
130
95
  let pseudoVariants = [
131
96
  // Positional
132
97
  [
@@ -180,133 +145,74 @@ var _default = {
180
145
  'focus-visible',
181
146
  'active',
182
147
  'disabled',
183
- ];
184
- for (let variant of pseudoVariants){
185
- let [variantName, state] = Array.isArray(variant) ? variant : [
148
+ ].map((variant)=>Array.isArray(variant) ? variant : [
186
149
  variant,
187
150
  `:${variant}`
188
- ];
189
- addVariant(variantName, (0, _pluginUtils).transformAllClasses((className, { withAttr , withPseudo })=>{
190
- if (state.startsWith(':')) {
191
- return withPseudo(`${variantName}${config('separator')}${className}`, state);
192
- } else if (state.startsWith('[')) {
193
- return withAttr(`${variantName}${config('separator')}${className}`, state);
194
- }
195
- }));
151
+ ]
152
+ );
153
+ for (let [variantName, state] of pseudoVariants){
154
+ addVariant(variantName, `&${state}`);
196
155
  }
197
- let groupMarker = (0, _prefixSelector).default(config('prefix'), '.group');
198
- for (let variant1 of pseudoVariants){
199
- let [variantName, state] = Array.isArray(variant1) ? variant1 : [
200
- variant1,
201
- `:${variant1}`
202
- ];
203
- let groupVariantName = `group-${variantName}`;
204
- addVariant(groupVariantName, (0, _pluginUtils).transformAllSelectors((selector)=>{
205
- let variantSelector = (0, _pluginUtils).updateAllClasses(selector, (className)=>{
206
- if (`.${className}` === groupMarker) return className;
207
- return `${groupVariantName}${config('separator')}${className}`;
208
- });
209
- if (variantSelector === selector) {
210
- return null;
211
- }
212
- return (0, _pluginUtils).applyStateToMarker(variantSelector, groupMarker, state, (marker, selector)=>`${marker} ${selector}`
213
- );
214
- }));
156
+ for (let [variantName1, state1] of pseudoVariants){
157
+ addVariant(`group-${variantName1}`, `:merge(.group)${state1} &`);
215
158
  }
216
- let peerMarker = (0, _prefixSelector).default(config('prefix'), '.peer');
217
- for (let variant2 of pseudoVariants){
218
- let [variantName, state] = Array.isArray(variant2) ? variant2 : [
219
- variant2,
220
- `:${variant2}`
221
- ];
222
- let peerVariantName = `peer-${variantName}`;
223
- addVariant(peerVariantName, (0, _pluginUtils).transformAllSelectors((selector)=>{
224
- let variantSelector = (0, _pluginUtils).updateAllClasses(selector, (className)=>{
225
- if (`.${className}` === peerMarker) return className;
226
- return `${peerVariantName}${config('separator')}${className}`;
227
- });
228
- if (variantSelector === selector) {
229
- return null;
230
- }
231
- return (0, _pluginUtils).applyStateToMarker(variantSelector, peerMarker, state, (marker, selector)=>selector.trim().startsWith('~') ? `${marker}${selector}` : `${marker} ~ ${selector}`
232
- );
233
- }));
159
+ for (let [variantName2, state2] of pseudoVariants){
160
+ addVariant(`peer-${variantName2}`, `:merge(.peer)${state2} ~ &`);
234
161
  }
235
162
  },
236
- directionVariants: ({ config , addVariant })=>{
237
- addVariant('ltr', (0, _pluginUtils).transformAllSelectors((selector)=>`[dir="ltr"] ${(0, _pluginUtils).updateAllClasses(selector, (className)=>`ltr${config('separator')}${className}`
238
- )}`
239
- ));
240
- addVariant('rtl', (0, _pluginUtils).transformAllSelectors((selector)=>`[dir="rtl"] ${(0, _pluginUtils).updateAllClasses(selector, (className)=>`rtl${config('separator')}${className}`
241
- )}`
242
- ));
243
- },
244
- reducedMotionVariants: ({ config , addVariant })=>{
245
- addVariant('motion-safe', (0, _pluginUtils).transformLastClasses((className)=>{
246
- return `motion-safe${config('separator')}${className}`;
247
- }, {
248
- wrap: ()=>_postcss.default.atRule({
249
- name: 'media',
250
- params: '(prefers-reduced-motion: no-preference)'
251
- })
252
- }));
253
- addVariant('motion-reduce', (0, _pluginUtils).transformLastClasses((className)=>{
254
- return `motion-reduce${config('separator')}${className}`;
255
- }, {
256
- wrap: ()=>_postcss.default.atRule({
257
- name: 'media',
258
- params: '(prefers-reduced-motion: reduce)'
259
- })
260
- }));
163
+ directionVariants: ({ addVariant })=>{
164
+ addVariant('ltr', ()=>{
165
+ _log.default.warn('rtl-experimental', [
166
+ 'The RTL features in Tailwind CSS are currently in preview.',
167
+ 'Preview features are not covered by semver, and may be improved in breaking ways at any time.',
168
+ ]);
169
+ return '[dir="ltr"] &';
170
+ });
171
+ addVariant('rtl', ()=>{
172
+ _log.default.warn('rtl-experimental', [
173
+ 'The RTL features in Tailwind CSS are currently in preview.',
174
+ 'Preview features are not covered by semver, and may be improved in breaking ways at any time.',
175
+ ]);
176
+ return '[dir="rtl"] &';
177
+ });
178
+ },
179
+ reducedMotionVariants: ({ addVariant })=>{
180
+ addVariant('motion-safe', '@media (prefers-reduced-motion: no-preference)');
181
+ addVariant('motion-reduce', '@media (prefers-reduced-motion: reduce)');
261
182
  },
262
183
  darkVariants: ({ config , addVariant })=>{
263
184
  let mode = config('darkMode', 'media');
264
185
  if (mode === false) {
265
186
  mode = 'media';
266
- _log.default.warn([
267
- '`darkMode` is set to `false` in your config.',
268
- 'This will behave just like the `media` value.',
187
+ _log.default.warn('darkmode-false', [
188
+ 'The `darkMode` option in your Tailwind CSS configuration is set to `false`, which now behaves the same as `media`.',
189
+ 'Change `darkMode` to `media` or remove it entirely.',
269
190
  ]);
270
191
  }
271
192
  if (mode === 'class') {
272
- addVariant('dark', (0, _pluginUtils).transformAllSelectors((selector)=>{
273
- let variantSelector = (0, _pluginUtils).updateLastClasses(selector, (className)=>{
274
- return `dark${config('separator')}${className}`;
275
- });
276
- if (variantSelector === selector) {
277
- return null;
278
- }
279
- let darkSelector = (0, _prefixSelector).default(config('prefix'), `.dark`);
280
- return `${darkSelector} ${variantSelector}`;
281
- }));
193
+ addVariant('dark', '.dark &');
282
194
  } else if (mode === 'media') {
283
- addVariant('dark', (0, _pluginUtils).transformLastClasses((className)=>{
284
- return `dark${config('separator')}${className}`;
285
- }, {
286
- wrap: ()=>_postcss.default.atRule({
287
- name: 'media',
288
- params: '(prefers-color-scheme: dark)'
289
- })
290
- }));
195
+ addVariant('dark', '@media (prefers-color-scheme: dark)');
291
196
  }
292
197
  },
293
- screenVariants: ({ config , theme , addVariant })=>{
294
- for(let screen in theme('screens')){
295
- let size = theme('screens')[screen];
296
- let query = (0, _buildMediaQuery).default(size);
297
- addVariant(screen, (0, _pluginUtils).transformLastClasses((className)=>{
298
- return `${screen}${config('separator')}${className}`;
299
- }, {
300
- wrap: ()=>_postcss.default.atRule({
301
- name: 'media',
302
- params: query
303
- })
304
- }));
198
+ printVariant: ({ addVariant })=>{
199
+ addVariant('print', '@media print');
200
+ },
201
+ screenVariants: ({ theme , addVariant })=>{
202
+ for (let screen of (0, _normalizeScreens).normalizeScreens(theme('screens'))){
203
+ let query = (0, _buildMediaQuery).default(screen);
204
+ addVariant(screen.name, `@media ${query}`);
305
205
  }
306
206
  },
307
- // Actual plugins
207
+ orientationVariants: ({ addVariant })=>{
208
+ addVariant('portrait', '@media (orientation: portrait)');
209
+ addVariant('landscape', '@media (orientation: landscape)');
210
+ }
211
+ };
212
+ exports.variantPlugins = variantPlugins;
213
+ let corePlugins = {
308
214
  preflight: ({ addBase })=>{
309
- let preflightStyles = _postcss.default.parse(_fs.default.readFileSync(`${__dirname}/css/preflight.css`, 'utf8'));
215
+ let preflightStyles = _postcss.default.parse(_fs.default.readFileSync(path.join(__dirname, './css/preflight.css'), 'utf8'));
310
216
  addBase([
311
217
  _postcss.default.comment({
312
218
  text: `! tailwindcss v${_packageJson.version} | MIT License | https://tailwindcss.com`
@@ -315,27 +221,11 @@ var _default = {
315
221
  ]);
316
222
  },
317
223
  container: (()=>{
318
- function extractMinWidths(breakpoints) {
319
- return Object.values(breakpoints !== null && breakpoints !== void 0 ? breakpoints : {
320
- }).flatMap((breakpoints)=>{
321
- if (typeof breakpoints === 'string') {
322
- breakpoints = {
323
- min: breakpoints
324
- };
325
- }
326
- if (!Array.isArray(breakpoints)) {
327
- breakpoints = [
328
- breakpoints
329
- ];
330
- }
331
- return breakpoints.filter((breakpoint)=>{
332
- var ref;
333
- return (breakpoint === null || breakpoint === void 0 ? void 0 : (ref = breakpoint.hasOwnProperty) === null || ref === void 0 ? void 0 : ref.call(breakpoint, 'min')) || (breakpoint === null || breakpoint === void 0 ? void 0 : breakpoint.hasOwnProperty('min-width'));
334
- }).map((breakpoint)=>{
335
- var ref;
336
- return (ref = breakpoint['min-width']) !== null && ref !== void 0 ? ref : breakpoint.min;
337
- });
338
- });
224
+ function extractMinWidths(breakpoints = []) {
225
+ return breakpoints.flatMap((breakpoint1)=>breakpoint1.values.map((breakpoint)=>breakpoint.min
226
+ )
227
+ ).filter((v)=>v !== undefined
228
+ );
339
229
  }
340
230
  function mapMinWidthsToPadding(minWidths, screens, paddings) {
341
231
  if (typeof paddings === 'undefined') {
@@ -359,25 +249,25 @@ var _default = {
359
249
  });
360
250
  }
361
251
  for (let minWidth of minWidths){
362
- for (let [screen, value] of Object.entries(screens)){
363
- let screenMinWidth = typeof value === 'object' && value !== null ? value.min || value['min-width'] : value;
364
- if (`${screenMinWidth}` === `${minWidth}`) {
365
- mapping.push({
366
- screen,
367
- minWidth,
368
- padding: paddings[screen]
369
- });
252
+ for (let screen of screens){
253
+ for (let { min } of screen.values){
254
+ if (min === minWidth) {
255
+ mapping.push({
256
+ minWidth,
257
+ padding: paddings[screen.name]
258
+ });
259
+ }
370
260
  }
371
261
  }
372
262
  }
373
263
  return mapping;
374
264
  }
375
265
  return function({ addComponents , theme }) {
376
- let screens = theme('container.screens', theme('screens'));
266
+ let screens = (0, _normalizeScreens).normalizeScreens(theme('container.screens', theme('screens')));
377
267
  let minWidths = extractMinWidths(screens);
378
268
  let paddings = mapMinWidthsToPadding(minWidths, screens, theme('container.padding'));
379
269
  let generatePaddingFor = (minWidth)=>{
380
- let paddingConfig = paddings.find((padding)=>`${padding.minWidth}` === `${minWidth}`
270
+ let paddingConfig = paddings.find((padding)=>padding.minWidth === minWidth
381
271
  );
382
272
  if (!paddingConfig) {
383
273
  return {
@@ -528,7 +418,9 @@ var _default = {
528
418
  ]
529
419
  ],
530
420
  ],
531
- ]),
421
+ ], {
422
+ supportsNegativeValues: true
423
+ }),
532
424
  isolation: ({ addUtilities })=>{
533
425
  addUtilities({
534
426
  '.isolate': {
@@ -546,8 +438,12 @@ var _default = {
546
438
  'zIndex'
547
439
  ]
548
440
  ]
549
- ]),
550
- order: (0, _createUtilityPlugin).default('order'),
441
+ ], {
442
+ supportsNegativeValues: true
443
+ }),
444
+ order: (0, _createUtilityPlugin).default('order', undefined, {
445
+ supportsNegativeValues: true
446
+ }),
551
447
  gridColumn: (0, _createUtilityPlugin).default('gridColumn', [
552
448
  [
553
449
  'col',
@@ -674,7 +570,9 @@ var _default = {
674
570
  ]
675
571
  ],
676
572
  ],
677
- ]),
573
+ ], {
574
+ supportsNegativeValues: true
575
+ }),
678
576
  boxSizing: ({ addUtilities })=>{
679
577
  addUtilities({
680
578
  '.box-border': {
@@ -815,7 +713,13 @@ var _default = {
815
713
  [
816
714
  'flex-shrink'
817
715
  ]
818
- ]
716
+ ],
717
+ [
718
+ 'shrink',
719
+ [
720
+ 'flex-shrink'
721
+ ]
722
+ ],
819
723
  ]),
820
724
  flexGrow: (0, _createUtilityPlugin).default('flexGrow', [
821
725
  [
@@ -823,6 +727,20 @@ var _default = {
823
727
  [
824
728
  'flex-grow'
825
729
  ]
730
+ ],
731
+ [
732
+ 'grow',
733
+ [
734
+ 'flex-grow'
735
+ ]
736
+ ],
737
+ ]),
738
+ flexBasis: (0, _createUtilityPlugin).default('flexBasis', [
739
+ [
740
+ 'basis',
741
+ [
742
+ 'flex-basis'
743
+ ]
826
744
  ]
827
745
  ]),
828
746
  tableLayout: ({ addUtilities })=>{
@@ -886,7 +804,9 @@ var _default = {
886
804
  ],
887
805
  ],
888
806
  ],
889
- ]),
807
+ ], {
808
+ supportsNegativeValues: true
809
+ }),
890
810
  rotate: (0, _createUtilityPlugin).default('rotate', [
891
811
  [
892
812
  'rotate',
@@ -901,9 +821,11 @@ var _default = {
901
821
  'transform',
902
822
  'var(--tw-transform)'
903
823
  ]
904
- ]
824
+ ],
905
825
  ],
906
- ]),
826
+ ], {
827
+ supportsNegativeValues: true
828
+ }),
907
829
  skew: (0, _createUtilityPlugin).default('skew', [
908
830
  [
909
831
  [
@@ -937,7 +859,9 @@ var _default = {
937
859
  ],
938
860
  ],
939
861
  ],
940
- ]),
862
+ ], {
863
+ supportsNegativeValues: true
864
+ }),
941
865
  scale: (0, _createUtilityPlugin).default('scale', [
942
866
  [
943
867
  'scale',
@@ -987,7 +911,9 @@ var _default = {
987
911
  ],
988
912
  ],
989
913
  ],
990
- ]),
914
+ ], {
915
+ supportsNegativeValues: true
916
+ }),
991
917
  transform: ({ addBase , addUtilities })=>{
992
918
  addBase({
993
919
  '@defaults transform': {
@@ -1049,38 +975,41 @@ var _default = {
1049
975
  }).map(([key, value])=>{
1050
976
  return [
1051
977
  key,
1052
- [
1053
- {
1054
- [`@keyframes ${prefixName(key)}`]: value
1055
- }
1056
- ]
978
+ {
979
+ [`@keyframes ${prefixName(key)}`]: value
980
+ }
1057
981
  ];
1058
982
  }));
1059
983
  matchUtilities({
1060
- animate: (value, { includeRules })=>{
1061
- let animations = (0, _parseAnimationValue).default(value);
1062
- for (let { name } of animations){
1063
- if (keyframes[name] !== undefined) {
1064
- includeRules(keyframes[name], {
1065
- respectImportant: false
1066
- });
1067
- }
1068
- }
1069
- return {
1070
- animation: animations.map(({ name , value })=>{
1071
- if (name === undefined || keyframes[name] === undefined) {
1072
- return value;
1073
- }
1074
- return value.replace(name, prefixName(name));
1075
- }).join(', ')
1076
- };
984
+ animate: (value1)=>{
985
+ let animations = (0, _parseAnimationValue).default(value1);
986
+ return [
987
+ ...animations.flatMap((animation)=>keyframes[animation.name]
988
+ ),
989
+ {
990
+ animation: animations.map(({ name , value })=>{
991
+ if (name === undefined || keyframes[name] === undefined) {
992
+ return value;
993
+ }
994
+ return value.replace(name, prefixName(name));
995
+ }).join(', ')
996
+ },
997
+ ];
1077
998
  }
1078
999
  }, {
1079
1000
  values: theme('animation')
1080
1001
  });
1081
1002
  },
1082
1003
  cursor: (0, _createUtilityPlugin).default('cursor'),
1083
- touchAction: ({ addUtilities })=>{
1004
+ touchAction: ({ addBase , addUtilities })=>{
1005
+ addBase({
1006
+ '@defaults touch-action': {
1007
+ '--tw-pan-x': 'var(--tw-empty,/*!*/ /*!*/)',
1008
+ '--tw-pan-y': 'var(--tw-empty,/*!*/ /*!*/)',
1009
+ '--tw-pinch-zoom': 'var(--tw-empty,/*!*/ /*!*/)',
1010
+ '--tw-touch-action': 'var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)'
1011
+ }
1012
+ });
1084
1013
  addUtilities({
1085
1014
  '.touch-auto': {
1086
1015
  'touch-action': 'auto'
@@ -1089,25 +1018,46 @@ var _default = {
1089
1018
  'touch-action': 'none'
1090
1019
  },
1091
1020
  '.touch-pan-x': {
1092
- 'touch-action': 'pan-x'
1021
+ '@defaults touch-action': {
1022
+ },
1023
+ '--tw-pan-x': 'pan-x',
1024
+ 'touch-action': 'var(--tw-touch-action)'
1093
1025
  },
1094
1026
  '.touch-pan-left': {
1095
- 'touch-action': 'pan-left'
1027
+ '@defaults touch-action': {
1028
+ },
1029
+ '--tw-pan-x': 'pan-left',
1030
+ 'touch-action': 'var(--tw-touch-action)'
1096
1031
  },
1097
1032
  '.touch-pan-right': {
1098
- 'touch-action': 'pan-right'
1033
+ '@defaults touch-action': {
1034
+ },
1035
+ '--tw-pan-x': 'pan-right',
1036
+ 'touch-action': 'var(--tw-touch-action)'
1099
1037
  },
1100
1038
  '.touch-pan-y': {
1101
- 'touch-action': 'pan-y'
1039
+ '@defaults touch-action': {
1040
+ },
1041
+ '--tw-pan-y': 'pan-y',
1042
+ 'touch-action': 'var(--tw-touch-action)'
1102
1043
  },
1103
1044
  '.touch-pan-up': {
1104
- 'touch-action': 'pan-up'
1045
+ '@defaults touch-action': {
1046
+ },
1047
+ '--tw-pan-y': 'pan-up',
1048
+ 'touch-action': 'var(--tw-touch-action)'
1105
1049
  },
1106
1050
  '.touch-pan-down': {
1107
- 'touch-action': 'pan-down'
1051
+ '@defaults touch-action': {
1052
+ },
1053
+ '--tw-pan-y': 'pan-down',
1054
+ 'touch-action': 'var(--tw-touch-action)'
1108
1055
  },
1109
1056
  '.touch-pinch-zoom': {
1110
- 'touch-action': 'pinch-zoom'
1057
+ '@defaults touch-action': {
1058
+ },
1059
+ '--tw-pinch-zoom': 'pinch-zoom',
1060
+ 'touch-action': 'var(--tw-touch-action)'
1111
1061
  },
1112
1062
  '.touch-manipulation': {
1113
1063
  'touch-action': 'manipulation'
@@ -1254,7 +1204,9 @@ var _default = {
1254
1204
  ]
1255
1205
  ],
1256
1206
  ],
1257
- ]),
1207
+ ], {
1208
+ supportsNegativeValues: true
1209
+ }),
1258
1210
  scrollPadding: (0, _createUtilityPlugin).default('scrollPadding', [
1259
1211
  [
1260
1212
  'scroll-p',
@@ -1652,7 +1604,8 @@ var _default = {
1652
1604
  };
1653
1605
  }
1654
1606
  }, {
1655
- values: theme('space')
1607
+ values: theme('space'),
1608
+ supportsNegativeValues: true
1656
1609
  });
1657
1610
  addUtilities({
1658
1611
  '.space-y-reverse > :not([hidden]) ~ :not([hidden])': {
@@ -1728,10 +1681,10 @@ var _default = {
1728
1681
  }
1729
1682
  });
1730
1683
  },
1731
- divideColor: ({ matchUtilities , theme , corePlugins })=>{
1684
+ divideColor: ({ matchUtilities , theme , corePlugins: corePlugins1 })=>{
1732
1685
  matchUtilities({
1733
1686
  divide: (value)=>{
1734
- if (!corePlugins('divideOpacity')) {
1687
+ if (!corePlugins1('divideOpacity')) {
1735
1688
  return {
1736
1689
  ['& > :not([hidden]) ~ :not([hidden])']: {
1737
1690
  'border-color': (0, _toColorValue).default(value)
@@ -2142,8 +2095,8 @@ var _default = {
2142
2095
  }
2143
2096
  });
2144
2097
  },
2145
- borderColor: ({ addBase , matchUtilities , theme , corePlugins })=>{
2146
- if (!corePlugins('borderOpacity')) {
2098
+ borderColor: ({ addBase , matchUtilities , theme , corePlugins: corePlugins2 })=>{
2099
+ if (!corePlugins2('borderOpacity')) {
2147
2100
  let value = theme('borderColor.DEFAULT', 'currentColor');
2148
2101
  addBase({
2149
2102
  '@defaults border-width': {
@@ -2161,7 +2114,7 @@ var _default = {
2161
2114
  }
2162
2115
  matchUtilities({
2163
2116
  border: (value)=>{
2164
- if (!corePlugins('borderOpacity')) {
2117
+ if (!corePlugins2('borderOpacity')) {
2165
2118
  return {
2166
2119
  'border-color': (0, _toColorValue).default(value)
2167
2120
  };
@@ -2181,7 +2134,7 @@ var _default = {
2181
2134
  });
2182
2135
  matchUtilities({
2183
2136
  'border-x': (value)=>{
2184
- if (!corePlugins('borderOpacity')) {
2137
+ if (!corePlugins2('borderOpacity')) {
2185
2138
  return {
2186
2139
  'border-left-color': (0, _toColorValue).default(value),
2187
2140
  'border-right-color': (0, _toColorValue).default(value)
@@ -2197,7 +2150,7 @@ var _default = {
2197
2150
  });
2198
2151
  },
2199
2152
  'border-y': (value)=>{
2200
- if (!corePlugins('borderOpacity')) {
2153
+ if (!corePlugins2('borderOpacity')) {
2201
2154
  return {
2202
2155
  'border-top-color': (0, _toColorValue).default(value),
2203
2156
  'border-bottom-color': (0, _toColorValue).default(value)
@@ -2219,7 +2172,7 @@ var _default = {
2219
2172
  });
2220
2173
  matchUtilities({
2221
2174
  'border-t': (value)=>{
2222
- if (!corePlugins('borderOpacity')) {
2175
+ if (!corePlugins2('borderOpacity')) {
2223
2176
  return {
2224
2177
  'border-top-color': (0, _toColorValue).default(value)
2225
2178
  };
@@ -2231,7 +2184,7 @@ var _default = {
2231
2184
  });
2232
2185
  },
2233
2186
  'border-r': (value)=>{
2234
- if (!corePlugins('borderOpacity')) {
2187
+ if (!corePlugins2('borderOpacity')) {
2235
2188
  return {
2236
2189
  'border-right-color': (0, _toColorValue).default(value)
2237
2190
  };
@@ -2243,7 +2196,7 @@ var _default = {
2243
2196
  });
2244
2197
  },
2245
2198
  'border-b': (value)=>{
2246
- if (!corePlugins('borderOpacity')) {
2199
+ if (!corePlugins2('borderOpacity')) {
2247
2200
  return {
2248
2201
  'border-bottom-color': (0, _toColorValue).default(value)
2249
2202
  };
@@ -2255,7 +2208,7 @@ var _default = {
2255
2208
  });
2256
2209
  },
2257
2210
  'border-l': (value)=>{
2258
- if (!corePlugins('borderOpacity')) {
2211
+ if (!corePlugins2('borderOpacity')) {
2259
2212
  return {
2260
2213
  'border-left-color': (0, _toColorValue).default(value)
2261
2214
  };
@@ -2280,10 +2233,10 @@ var _default = {
2280
2233
  ]
2281
2234
  ],
2282
2235
  ]),
2283
- backgroundColor: ({ matchUtilities , theme , corePlugins })=>{
2236
+ backgroundColor: ({ matchUtilities , theme , corePlugins: corePlugins3 })=>{
2284
2237
  matchUtilities({
2285
2238
  bg: (value)=>{
2286
- if (!corePlugins('backgroundOpacity')) {
2239
+ if (!corePlugins3('backgroundOpacity')) {
2287
2240
  return {
2288
2241
  'background-color': (0, _toColorValue).default(value)
2289
2242
  };
@@ -2364,6 +2317,12 @@ var _default = {
2364
2317
  },
2365
2318
  '.decoration-clone': {
2366
2319
  'box-decoration-break': 'clone'
2320
+ },
2321
+ '.box-decoration-slice': {
2322
+ 'box-decoration-break': 'slice'
2323
+ },
2324
+ '.box-decoration-clone': {
2325
+ 'box-decoration-break': 'clone'
2367
2326
  }
2368
2327
  });
2369
2328
  },
@@ -2602,7 +2561,9 @@ var _default = {
2602
2561
  'text-indent'
2603
2562
  ]
2604
2563
  ]
2605
- ]),
2564
+ ], {
2565
+ supportsNegativeValues: true
2566
+ }),
2606
2567
  verticalAlign: ({ addUtilities , matchUtilities })=>{
2607
2568
  addUtilities({
2608
2569
  '.align-baseline': {
@@ -2722,40 +2683,64 @@ var _default = {
2722
2683
  },
2723
2684
  fontVariantNumeric: ({ addUtilities })=>{
2724
2685
  addUtilities({
2725
- '.ordinal, .slashed-zero, .lining-nums, .oldstyle-nums, .proportional-nums, .tabular-nums, .diagonal-fractions, .stacked-fractions': {
2686
+ '@defaults font-variant-numeric': {
2726
2687
  '--tw-ordinal': 'var(--tw-empty,/*!*/ /*!*/)',
2727
2688
  '--tw-slashed-zero': 'var(--tw-empty,/*!*/ /*!*/)',
2728
2689
  '--tw-numeric-figure': 'var(--tw-empty,/*!*/ /*!*/)',
2729
2690
  '--tw-numeric-spacing': 'var(--tw-empty,/*!*/ /*!*/)',
2730
2691
  '--tw-numeric-fraction': 'var(--tw-empty,/*!*/ /*!*/)',
2731
- 'font-variant-numeric': 'var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)'
2692
+ '--tw-font-variant-numeric': 'var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)'
2732
2693
  },
2733
2694
  '.normal-nums': {
2734
2695
  'font-variant-numeric': 'normal'
2735
2696
  },
2736
2697
  '.ordinal': {
2737
- '--tw-ordinal': 'ordinal'
2698
+ '@defaults font-variant-numeric': {
2699
+ },
2700
+ '--tw-ordinal': 'ordinal',
2701
+ 'font-variant-numeric': 'var(--tw-font-variant-numeric)'
2738
2702
  },
2739
2703
  '.slashed-zero': {
2740
- '--tw-slashed-zero': 'slashed-zero'
2704
+ '@defaults font-variant-numeric': {
2705
+ },
2706
+ '--tw-slashed-zero': 'slashed-zero',
2707
+ 'font-variant-numeric': 'var(--tw-font-variant-numeric)'
2741
2708
  },
2742
2709
  '.lining-nums': {
2743
- '--tw-numeric-figure': 'lining-nums'
2710
+ '@defaults font-variant-numeric': {
2711
+ },
2712
+ '--tw-numeric-figure': 'lining-nums',
2713
+ 'font-variant-numeric': 'var(--tw-font-variant-numeric)'
2744
2714
  },
2745
2715
  '.oldstyle-nums': {
2746
- '--tw-numeric-figure': 'oldstyle-nums'
2716
+ '@defaults font-variant-numeric': {
2717
+ },
2718
+ '--tw-numeric-figure': 'oldstyle-nums',
2719
+ 'font-variant-numeric': 'var(--tw-font-variant-numeric)'
2747
2720
  },
2748
2721
  '.proportional-nums': {
2749
- '--tw-numeric-spacing': 'proportional-nums'
2722
+ '@defaults font-variant-numeric': {
2723
+ },
2724
+ '--tw-numeric-spacing': 'proportional-nums',
2725
+ 'font-variant-numeric': 'var(--tw-font-variant-numeric)'
2750
2726
  },
2751
2727
  '.tabular-nums': {
2752
- '--tw-numeric-spacing': 'tabular-nums'
2728
+ '@defaults font-variant-numeric': {
2729
+ },
2730
+ '--tw-numeric-spacing': 'tabular-nums',
2731
+ 'font-variant-numeric': 'var(--tw-font-variant-numeric)'
2753
2732
  },
2754
2733
  '.diagonal-fractions': {
2755
- '--tw-numeric-fraction': 'diagonal-fractions'
2734
+ '@defaults font-variant-numeric': {
2735
+ },
2736
+ '--tw-numeric-fraction': 'diagonal-fractions',
2737
+ 'font-variant-numeric': 'var(--tw-font-variant-numeric)'
2756
2738
  },
2757
2739
  '.stacked-fractions': {
2758
- '--tw-numeric-fraction': 'stacked-fractions'
2740
+ '@defaults font-variant-numeric': {
2741
+ },
2742
+ '--tw-numeric-fraction': 'stacked-fractions',
2743
+ 'font-variant-numeric': 'var(--tw-font-variant-numeric)'
2759
2744
  }
2760
2745
  });
2761
2746
  },
@@ -2774,11 +2759,13 @@ var _default = {
2774
2759
  'letterSpacing'
2775
2760
  ]
2776
2761
  ]
2777
- ]),
2778
- textColor: ({ matchUtilities , theme , corePlugins })=>{
2762
+ ], {
2763
+ supportsNegativeValues: true
2764
+ }),
2765
+ textColor: ({ matchUtilities , theme , corePlugins: corePlugins4 })=>{
2779
2766
  matchUtilities({
2780
2767
  text: (value)=>{
2781
- if (!corePlugins('textOpacity')) {
2768
+ if (!corePlugins4('textOpacity')) {
2782
2769
  return {
2783
2770
  color: (0, _toColorValue).default(value)
2784
2771
  };
@@ -2807,6 +2794,9 @@ var _default = {
2807
2794
  '.underline': {
2808
2795
  'text-decoration': 'underline'
2809
2796
  },
2797
+ '.overline': {
2798
+ 'text-decoration': 'overline'
2799
+ },
2810
2800
  '.line-through': {
2811
2801
  'text-decoration': 'line-through'
2812
2802
  },
@@ -2815,6 +2805,65 @@ var _default = {
2815
2805
  }
2816
2806
  });
2817
2807
  },
2808
+ textDecorationColor: ({ matchUtilities , theme })=>{
2809
+ matchUtilities({
2810
+ decoration: (value)=>{
2811
+ return {
2812
+ 'text-decoration-color': (0, _toColorValue).default(value)
2813
+ };
2814
+ }
2815
+ }, {
2816
+ values: (0, _flattenColorPalette).default(theme('textDecorationColor')),
2817
+ type: [
2818
+ 'color'
2819
+ ]
2820
+ });
2821
+ },
2822
+ textDecorationStyle: ({ addUtilities })=>{
2823
+ addUtilities({
2824
+ '.decoration-solid': {
2825
+ 'text-decoration-style': 'solid'
2826
+ },
2827
+ '.decoration-double': {
2828
+ 'text-decoration-style': 'double'
2829
+ },
2830
+ '.decoration-dotted': {
2831
+ 'text-decoration-style': 'dotted'
2832
+ },
2833
+ '.decoration-dashed': {
2834
+ 'text-decoration-style': 'dashed'
2835
+ },
2836
+ '.decoration-wavy': {
2837
+ 'text-decoration-style': 'wavy'
2838
+ }
2839
+ });
2840
+ },
2841
+ textDecorationThickness: (0, _createUtilityPlugin).default('textDecorationThickness', [
2842
+ [
2843
+ 'decoration',
2844
+ [
2845
+ 'text-decoration-thickness'
2846
+ ]
2847
+ ]
2848
+ ], {
2849
+ type: [
2850
+ 'length',
2851
+ 'percentage'
2852
+ ]
2853
+ }),
2854
+ textUnderlineOffset: (0, _createUtilityPlugin).default('textUnderlineOffset', [
2855
+ [
2856
+ 'underline-offset',
2857
+ [
2858
+ 'text-underline-offset'
2859
+ ]
2860
+ ]
2861
+ ], {
2862
+ type: [
2863
+ 'length',
2864
+ 'percentage'
2865
+ ]
2866
+ }),
2818
2867
  fontSmoothing: ({ addUtilities })=>{
2819
2868
  addUtilities({
2820
2869
  '.antialiased': {
@@ -2827,10 +2876,10 @@ var _default = {
2827
2876
  }
2828
2877
  });
2829
2878
  },
2830
- placeholderColor: ({ matchUtilities , theme , corePlugins })=>{
2879
+ placeholderColor: ({ matchUtilities , theme , corePlugins: corePlugins5 })=>{
2831
2880
  matchUtilities({
2832
2881
  placeholder: (value)=>{
2833
- if (!corePlugins('placeholderOpacity')) {
2882
+ if (!corePlugins5('placeholderOpacity')) {
2834
2883
  return {
2835
2884
  '&::placeholder': {
2836
2885
  color: (0, _toColorValue).default(value)
@@ -3020,38 +3069,115 @@ var _default = {
3020
3069
  '@defaults box-shadow': {
3021
3070
  '--tw-ring-offset-shadow': '0 0 #0000',
3022
3071
  '--tw-ring-shadow': '0 0 #0000',
3023
- '--tw-shadow': '0 0 #0000'
3072
+ '--tw-shadow': '0 0 #0000',
3073
+ '--tw-shadow-colored': '0 0 #0000'
3024
3074
  }
3025
3075
  });
3026
3076
  matchUtilities({
3027
3077
  shadow: (value)=>{
3028
3078
  value = transformValue(value);
3079
+ let ast = (0, _parseBoxShadowValue).parseBoxShadowValue(value);
3080
+ for (let shadow of ast){
3081
+ // Don't override color if the whole shadow is a variable
3082
+ if (!shadow.valid) {
3083
+ continue;
3084
+ }
3085
+ shadow.color = 'var(--tw-shadow-color)';
3086
+ }
3029
3087
  return {
3030
3088
  '@defaults box-shadow': {
3031
3089
  },
3032
3090
  '--tw-shadow': value === 'none' ? '0 0 #0000' : value,
3091
+ '--tw-shadow-colored': value === 'none' ? '0 0 #0000' : (0, _parseBoxShadowValue).formatBoxShadowValue(ast),
3033
3092
  'box-shadow': defaultBoxShadow
3034
3093
  };
3035
3094
  }
3036
3095
  }, {
3037
- values: theme('boxShadow')
3096
+ values: theme('boxShadow'),
3097
+ type: [
3098
+ 'shadow'
3099
+ ]
3038
3100
  });
3039
3101
  };
3040
3102
  })(),
3041
- outline: ({ matchUtilities , theme })=>{
3103
+ boxShadowColor: ({ matchUtilities , theme })=>{
3104
+ matchUtilities({
3105
+ shadow: (value)=>{
3106
+ return {
3107
+ '--tw-shadow-color': (0, _toColorValue).default(value),
3108
+ '--tw-shadow': 'var(--tw-shadow-colored)'
3109
+ };
3110
+ }
3111
+ }, {
3112
+ values: (0, _flattenColorPalette).default(theme('boxShadowColor')),
3113
+ type: [
3114
+ 'color'
3115
+ ]
3116
+ });
3117
+ },
3118
+ outlineStyle: ({ addUtilities })=>{
3119
+ addUtilities({
3120
+ '.outline-none': {
3121
+ outline: '2px solid transparent',
3122
+ 'outline-offset': '2px'
3123
+ },
3124
+ '.outline': {
3125
+ 'outline-style': 'solid'
3126
+ },
3127
+ '.outline-dashed': {
3128
+ 'outline-style': 'dashed'
3129
+ },
3130
+ '.outline-dotted': {
3131
+ 'outline-style': 'dotted'
3132
+ },
3133
+ '.outline-double': {
3134
+ 'outline-style': 'double'
3135
+ },
3136
+ '.outline-hidden': {
3137
+ 'outline-style': 'hidden'
3138
+ }
3139
+ });
3140
+ },
3141
+ outlineWidth: (0, _createUtilityPlugin).default('outlineWidth', [
3142
+ [
3143
+ 'outline',
3144
+ [
3145
+ 'outline-width'
3146
+ ]
3147
+ ]
3148
+ ], {
3149
+ type: [
3150
+ 'length',
3151
+ 'number',
3152
+ 'percentage'
3153
+ ]
3154
+ }),
3155
+ outlineOffset: (0, _createUtilityPlugin).default('outlineOffset', [
3156
+ [
3157
+ 'outline-offset',
3158
+ [
3159
+ 'outline-offset'
3160
+ ]
3161
+ ]
3162
+ ], {
3163
+ type: [
3164
+ 'length',
3165
+ 'number',
3166
+ 'percentage'
3167
+ ]
3168
+ }),
3169
+ outlineColor: ({ matchUtilities , theme })=>{
3042
3170
  matchUtilities({
3043
3171
  outline: (value)=>{
3044
- value = Array.isArray(value) ? value : value.split(',');
3045
- let [outline, outlineOffset = '0'] = Array.isArray(value) ? value : [
3046
- value
3047
- ];
3048
3172
  return {
3049
- outline,
3050
- 'outline-offset': outlineOffset
3173
+ 'outline-color': (0, _toColorValue).default(value)
3051
3174
  };
3052
3175
  }
3053
3176
  }, {
3054
- values: theme('outline')
3177
+ values: (0, _flattenColorPalette).default(theme('outlineColor')),
3178
+ type: [
3179
+ 'color'
3180
+ ]
3055
3181
  });
3056
3182
  },
3057
3183
  ringWidth: ({ matchUtilities , addBase , addUtilities , theme })=>{
@@ -3065,7 +3191,8 @@ var _default = {
3065
3191
  '--tw-ring-color': ringColorDefault,
3066
3192
  '--tw-ring-offset-shadow': '0 0 #0000',
3067
3193
  '--tw-ring-shadow': '0 0 #0000',
3068
- '--tw-shadow': '0 0 #0000'
3194
+ '--tw-shadow': '0 0 #0000',
3195
+ '--tw-shadow-colored': '0 0 #0000'
3069
3196
  }
3070
3197
  });
3071
3198
  matchUtilities({
@@ -3223,7 +3350,8 @@ var _default = {
3223
3350
  };
3224
3351
  }
3225
3352
  }, {
3226
- values: theme('hueRotate')
3353
+ values: theme('hueRotate'),
3354
+ supportsNegativeValues: true
3227
3355
  });
3228
3356
  },
3229
3357
  invert: ({ matchUtilities , theme })=>{
@@ -3371,7 +3499,8 @@ var _default = {
3371
3499
  };
3372
3500
  }
3373
3501
  }, {
3374
- values: theme('backdropHueRotate')
3502
+ values: theme('backdropHueRotate'),
3503
+ supportsNegativeValues: true
3375
3504
  });
3376
3505
  },
3377
3506
  backdropInvert: ({ matchUtilities , theme })=>{
@@ -3520,6 +3649,17 @@ var _default = {
3520
3649
  ]
3521
3650
  ]
3522
3651
  ]),
3523
- content: (0, _createUtilityPlugin).default('content')
3652
+ content: (0, _createUtilityPlugin).default('content', [
3653
+ [
3654
+ 'content',
3655
+ [
3656
+ '--tw-content',
3657
+ [
3658
+ 'content',
3659
+ 'var(--tw-content)'
3660
+ ]
3661
+ ]
3662
+ ],
3663
+ ])
3524
3664
  };
3525
- exports.default = _default;
3665
+ exports.corePlugins = corePlugins;