tailwindcss 3.1.7 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +12 -8
  2. package/lib/cli/build/deps.js +54 -0
  3. package/lib/cli/build/index.js +44 -0
  4. package/lib/cli/build/plugin.js +335 -0
  5. package/lib/cli/build/utils.js +78 -0
  6. package/lib/cli/build/watching.js +113 -0
  7. package/lib/cli/help/index.js +71 -0
  8. package/lib/cli/index.js +18 -0
  9. package/lib/cli/init/index.js +46 -0
  10. package/lib/cli/shared.js +12 -0
  11. package/lib/cli.js +11 -590
  12. package/lib/corePlugins.js +332 -108
  13. package/lib/css/preflight.css +5 -0
  14. package/lib/featureFlags.js +7 -4
  15. package/lib/index.js +6 -1
  16. package/lib/lib/content.js +167 -0
  17. package/lib/lib/defaultExtractor.js +15 -10
  18. package/lib/lib/detectNesting.js +2 -2
  19. package/lib/lib/evaluateTailwindFunctions.js +17 -1
  20. package/lib/lib/expandApplyAtRules.js +71 -37
  21. package/lib/lib/expandTailwindAtRules.js +10 -42
  22. package/lib/lib/findAtConfigPath.js +44 -0
  23. package/lib/lib/generateRules.js +181 -96
  24. package/lib/lib/normalizeTailwindDirectives.js +1 -1
  25. package/lib/lib/offsets.js +217 -0
  26. package/lib/lib/regex.js +1 -1
  27. package/lib/lib/setupContextUtils.js +339 -100
  28. package/lib/lib/setupTrackingContext.js +5 -39
  29. package/lib/lib/sharedState.js +2 -0
  30. package/lib/public/colors.js +1 -1
  31. package/lib/util/buildMediaQuery.js +6 -3
  32. package/lib/util/configurePlugins.js +1 -1
  33. package/lib/util/dataTypes.js +15 -19
  34. package/lib/util/formatVariantSelector.js +92 -8
  35. package/lib/util/getAllConfigs.js +14 -3
  36. package/lib/util/isValidArbitraryValue.js +1 -1
  37. package/lib/util/nameClass.js +3 -0
  38. package/lib/util/negateValue.js +15 -2
  39. package/lib/util/normalizeConfig.js +17 -3
  40. package/lib/util/normalizeScreens.js +100 -3
  41. package/lib/util/parseAnimationValue.js +1 -1
  42. package/lib/util/parseBoxShadowValue.js +1 -1
  43. package/lib/util/parseDependency.js +33 -54
  44. package/lib/util/parseGlob.js +34 -0
  45. package/lib/util/parseObjectStyles.js +1 -1
  46. package/lib/util/pluginUtils.js +86 -17
  47. package/lib/util/resolveConfig.js +3 -3
  48. package/lib/util/splitAtTopLevelOnly.js +31 -81
  49. package/lib/util/transformThemeValue.js +9 -2
  50. package/lib/util/validateConfig.js +1 -1
  51. package/lib/util/validateFormalSyntax.js +24 -0
  52. package/package.json +14 -12
  53. package/peers/.DS_Store +0 -0
  54. package/peers/.svgo.yml +75 -0
  55. package/peers/index.js +3690 -2274
  56. package/peers/orders/concentric-css.json +299 -0
  57. package/peers/orders/smacss.json +299 -0
  58. package/peers/orders/source.json +295 -0
  59. package/plugin.d.ts +3 -3
  60. package/scripts/release-channel.js +18 -0
  61. package/scripts/release-notes.js +21 -0
  62. package/src/.DS_Store +0 -0
  63. package/src/cli/build/deps.js +56 -0
  64. package/src/cli/build/index.js +45 -0
  65. package/src/cli/build/plugin.js +397 -0
  66. package/src/cli/build/utils.js +76 -0
  67. package/src/cli/build/watching.js +134 -0
  68. package/src/cli/help/index.js +70 -0
  69. package/src/cli/index.js +3 -0
  70. package/src/cli/init/index.js +50 -0
  71. package/src/cli/shared.js +5 -0
  72. package/src/cli.js +4 -696
  73. package/src/corePlugins.js +262 -39
  74. package/src/css/preflight.css +5 -0
  75. package/src/featureFlags.js +12 -2
  76. package/src/index.js +5 -0
  77. package/src/lib/content.js +205 -0
  78. package/src/lib/defaultExtractor.js +3 -0
  79. package/src/lib/evaluateTailwindFunctions.js +22 -1
  80. package/src/lib/expandApplyAtRules.js +76 -29
  81. package/src/lib/expandTailwindAtRules.js +8 -46
  82. package/src/lib/findAtConfigPath.js +48 -0
  83. package/src/lib/generateRules.js +224 -105
  84. package/src/lib/offsets.js +270 -0
  85. package/src/lib/setupContextUtils.js +376 -89
  86. package/src/lib/setupTrackingContext.js +4 -45
  87. package/src/lib/sharedState.js +2 -0
  88. package/src/util/buildMediaQuery.js +5 -3
  89. package/src/util/dataTypes.js +15 -17
  90. package/src/util/formatVariantSelector.js +113 -9
  91. package/src/util/getAllConfigs.js +14 -2
  92. package/src/util/nameClass.js +4 -0
  93. package/src/util/negateValue.js +10 -2
  94. package/src/util/normalizeConfig.js +22 -2
  95. package/src/util/normalizeScreens.js +99 -4
  96. package/src/util/parseBoxShadowValue.js +1 -1
  97. package/src/util/parseDependency.js +37 -42
  98. package/src/util/parseGlob.js +24 -0
  99. package/src/util/pluginUtils.js +90 -14
  100. package/src/util/resolveConfig.js +2 -2
  101. package/src/util/splitAtTopLevelOnly.js +23 -49
  102. package/src/util/transformThemeValue.js +9 -1
  103. package/src/util/validateFormalSyntax.js +34 -0
  104. package/stubs/defaultConfig.stub.js +19 -3
  105. package/tmp.css +11 -0
  106. package/tmp.dependency-graph.js +2 -0
  107. package/tmp.in.css +3 -0
  108. package/tmp.js +0 -0
  109. package/tmp.out.css +524 -0
  110. package/types/config.d.ts +47 -13
  111. package/types/generated/default-theme.d.ts +11 -0
  112. package/CHANGELOG.md +0 -2222
@@ -30,6 +30,7 @@ const _normalizeScreens = require("./util/normalizeScreens");
30
30
  const _parseBoxShadowValue = require("./util/parseBoxShadowValue");
31
31
  const _removeAlphaVariables = require("./util/removeAlphaVariables");
32
32
  const _featureFlags = require("./featureFlags");
33
+ const _dataTypes = require("./util/dataTypes");
33
34
  function _interopRequireDefault(obj) {
34
35
  return obj && obj.__esModule ? obj : {
35
36
  default: obj
@@ -90,7 +91,7 @@ let variantPlugins = {
90
91
  "--tw-text-opacity"
91
92
  ]);
92
93
  return "&::marker";
93
- },
94
+ }
94
95
  ]);
95
96
  addVariant("selection", [
96
97
  "& *::selection",
@@ -130,7 +131,7 @@ let variantPlugins = {
130
131
  return "&::after";
131
132
  });
132
133
  },
133
- pseudoClassVariants: ({ addVariant , config })=>{
134
+ pseudoClassVariants: ({ addVariant , matchVariant , config })=>{
134
135
  let pseudoVariants = [
135
136
  // Positional
136
137
  [
@@ -163,10 +164,10 @@ let variantPlugins = {
163
164
  (0, _removeAlphaVariables.removeAlphaVariables)(container, [
164
165
  "--tw-text-opacity",
165
166
  "--tw-border-opacity",
166
- "--tw-bg-opacity",
167
+ "--tw-bg-opacity"
167
168
  ]);
168
169
  return "&:visited";
169
- },
170
+ }
170
171
  ],
171
172
  "target",
172
173
  [
@@ -192,13 +193,13 @@ let variantPlugins = {
192
193
  "focus-within",
193
194
  [
194
195
  "hover",
195
- !(0, _featureFlags.flagEnabled)(config(), "hoverOnlyWhenSupported") ? "&:hover" : "@media (hover: hover) and (pointer: fine) { &:hover }",
196
+ !(0, _featureFlags.flagEnabled)(config(), "hoverOnlyWhenSupported") ? "&:hover" : "@media (hover: hover) and (pointer: fine) { &:hover }"
196
197
  ],
197
198
  "focus",
198
199
  "focus-visible",
199
200
  "active",
200
201
  "enabled",
201
- "disabled",
202
+ "disabled"
202
203
  ].map((variant)=>Array.isArray(variant) ? variant : [
203
204
  variant,
204
205
  `&:${variant}`
@@ -209,16 +210,30 @@ let variantPlugins = {
209
210
  return result;
210
211
  });
211
212
  }
212
- for (let [variantName1, state1] of pseudoVariants){
213
- addVariant(`group-${variantName1}`, (ctx)=>{
214
- let result = typeof state1 === "function" ? state1(ctx) : state1;
215
- return result.replace(/&(\S+)/, ":merge(.group)$1 &");
216
- });
217
- }
218
- for (let [variantName2, state2] of pseudoVariants){
219
- addVariant(`peer-${variantName2}`, (ctx)=>{
220
- let result = typeof state2 === "function" ? state2(ctx) : state2;
221
- return result.replace(/&(\S+)/, ":merge(.peer)$1 ~ &");
213
+ let variants = {
214
+ group: (_, { modifier })=>modifier ? [
215
+ `:merge(.group\\/${modifier})`,
216
+ " &"
217
+ ] : [
218
+ `:merge(.group)`,
219
+ " &"
220
+ ],
221
+ peer: (_, { modifier })=>modifier ? [
222
+ `:merge(.peer\\/${modifier})`,
223
+ " ~ &"
224
+ ] : [
225
+ `:merge(.peer)`,
226
+ " ~ &"
227
+ ]
228
+ };
229
+ for (let [name, fn] of Object.entries(variants)){
230
+ matchVariant(name, (value = "", extra)=>{
231
+ let result = (0, _dataTypes.normalize)(typeof value === "function" ? value(extra) : value);
232
+ if (!result.includes("&")) result = "&" + result;
233
+ let [a, b] = fn("", extra);
234
+ return result.replace(/&(\S+)?/g, (_, pseudo = "")=>a + pseudo + b);
235
+ }, {
236
+ values: Object.fromEntries(pseudoVariants)
222
237
  });
223
238
  }
224
239
  },
@@ -226,14 +241,14 @@ let variantPlugins = {
226
241
  addVariant("ltr", ()=>{
227
242
  _log.default.warn("rtl-experimental", [
228
243
  "The RTL features in Tailwind CSS are currently in preview.",
229
- "Preview features are not covered by semver, and may be improved in breaking ways at any time.",
244
+ "Preview features are not covered by semver, and may be improved in breaking ways at any time."
230
245
  ]);
231
246
  return '[dir="ltr"] &';
232
247
  });
233
248
  addVariant("rtl", ()=>{
234
249
  _log.default.warn("rtl-experimental", [
235
250
  "The RTL features in Tailwind CSS are currently in preview.",
236
- "Preview features are not covered by semver, and may be improved in breaking ways at any time.",
251
+ "Preview features are not covered by semver, and may be improved in breaking ways at any time."
237
252
  ]);
238
253
  return '[dir="rtl"] &';
239
254
  });
@@ -249,7 +264,7 @@ let variantPlugins = {
249
264
  _log.default.warn("darkmode-false", [
250
265
  "The `darkMode` option in your Tailwind CSS configuration is set to `false`, which now behaves the same as `media`.",
251
266
  "Change `darkMode` to `media` or remove it entirely.",
252
- "https://tailwindcss.com/docs/upgrade-guide#remove-dark-mode-configuration",
267
+ "https://tailwindcss.com/docs/upgrade-guide#remove-dark-mode-configuration"
253
268
  ]);
254
269
  }
255
270
  if (mode === "class") {
@@ -261,11 +276,162 @@ let variantPlugins = {
261
276
  printVariant: ({ addVariant })=>{
262
277
  addVariant("print", "@media print");
263
278
  },
264
- screenVariants: ({ theme , addVariant })=>{
265
- for (let screen of (0, _normalizeScreens.normalizeScreens)(theme("screens"))){
266
- let query = (0, _buildMediaQuery.default)(screen);
267
- addVariant(screen.name, `@media ${query}`);
279
+ screenVariants: ({ theme , addVariant , matchVariant })=>{
280
+ var ref;
281
+ let rawScreens = (ref = theme("screens")) !== null && ref !== void 0 ? ref : {};
282
+ let areSimpleScreens = Object.values(rawScreens).every((v)=>typeof v === "string");
283
+ let screens = (0, _normalizeScreens.normalizeScreens)(theme("screens"));
284
+ /** @type {Set<string>} */ let unitCache = new Set([]);
285
+ /** @param {string} value */ function units(value) {
286
+ var ref;
287
+ var ref1;
288
+ return (ref1 = (ref = value.match(/(\D+)$/)) === null || ref === void 0 ? void 0 : ref[1]) !== null && ref1 !== void 0 ? ref1 : "(none)";
289
+ }
290
+ /** @param {string} value */ function recordUnits(value) {
291
+ if (value !== undefined) {
292
+ unitCache.add(units(value));
293
+ }
294
+ }
295
+ /** @param {string} value */ function canUseUnits(value) {
296
+ recordUnits(value);
297
+ // If the cache was empty it'll become 1 because we've just added the current unit
298
+ // If the cache was not empty and the units are the same the size doesn't change
299
+ // Otherwise, if the units are different from what is already known the size will always be > 1
300
+ return unitCache.size === 1;
301
+ }
302
+ for (const screen of screens){
303
+ for (const value of screen.values){
304
+ recordUnits(value.min);
305
+ recordUnits(value.max);
306
+ }
307
+ }
308
+ let screensUseConsistentUnits = unitCache.size <= 1;
309
+ /**
310
+ * @typedef {import('./util/normalizeScreens').Screen} Screen
311
+ */ /**
312
+ * @param {'min' | 'max'} type
313
+ * @returns {Record<string, Screen>}
314
+ */ function buildScreenValues(type) {
315
+ return Object.fromEntries(screens.filter((screen)=>(0, _normalizeScreens.isScreenSortable)(screen).result).map((screen)=>{
316
+ let { min , max } = screen.values[0];
317
+ if (type === "min" && min !== undefined) {
318
+ return screen;
319
+ } else if (type === "min" && max !== undefined) {
320
+ return {
321
+ ...screen,
322
+ not: !screen.not
323
+ };
324
+ } else if (type === "max" && max !== undefined) {
325
+ return screen;
326
+ } else if (type === "max" && min !== undefined) {
327
+ return {
328
+ ...screen,
329
+ not: !screen.not
330
+ };
331
+ }
332
+ }).map((screen)=>[
333
+ screen.name,
334
+ screen
335
+ ]));
336
+ }
337
+ /**
338
+ * @param {'min' | 'max'} type
339
+ * @returns {(a: { value: string | Screen }, z: { value: string | Screen }) => number}
340
+ */ function buildSort(type) {
341
+ return (a, z)=>(0, _normalizeScreens.compareScreens)(type, a.value, z.value);
268
342
  }
343
+ let maxSort = buildSort("max");
344
+ let minSort = buildSort("min");
345
+ /** @param {'min'|'max'} type */ function buildScreenVariant(type) {
346
+ return (value)=>{
347
+ if (!areSimpleScreens) {
348
+ _log.default.warn("complex-screen-config", [
349
+ "The `min-*` and `max-*` variants are not supported with a `screens` configuration containing objects."
350
+ ]);
351
+ return [];
352
+ } else if (!screensUseConsistentUnits) {
353
+ _log.default.warn("mixed-screen-units", [
354
+ "The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units."
355
+ ]);
356
+ return [];
357
+ } else if (typeof value === "string" && !canUseUnits(value)) {
358
+ _log.default.warn("minmax-have-mixed-units", [
359
+ "The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units."
360
+ ]);
361
+ return [];
362
+ }
363
+ return [
364
+ `@media ${(0, _buildMediaQuery.default)((0, _normalizeScreens.toScreen)(value, type))}`
365
+ ];
366
+ };
367
+ }
368
+ matchVariant("max", buildScreenVariant("max"), {
369
+ sort: maxSort,
370
+ values: areSimpleScreens ? buildScreenValues("max") : {}
371
+ });
372
+ // screens and min-* are sorted together when they can be
373
+ let id = "min-screens";
374
+ for (let screen1 of screens){
375
+ addVariant(screen1.name, `@media ${(0, _buildMediaQuery.default)(screen1)}`, {
376
+ id,
377
+ sort: areSimpleScreens && screensUseConsistentUnits ? minSort : undefined,
378
+ value: screen1
379
+ });
380
+ }
381
+ matchVariant("min", buildScreenVariant("min"), {
382
+ id,
383
+ sort: minSort
384
+ });
385
+ },
386
+ supportsVariants: ({ matchVariant , theme })=>{
387
+ var ref;
388
+ matchVariant("supports", (value = "")=>{
389
+ let check = (0, _dataTypes.normalize)(value);
390
+ let isRaw = /^\w*\s*\(/.test(check);
391
+ // Chrome has a bug where `(condtion1)or(condition2)` is not valid
392
+ // But `(condition1) or (condition2)` is supported.
393
+ check = isRaw ? check.replace(/\b(and|or|not)\b/g, " $1 ") : check;
394
+ if (isRaw) {
395
+ return `@supports ${check}`;
396
+ }
397
+ if (!check.includes(":")) {
398
+ check = `${check}: var(--tw)`;
399
+ }
400
+ if (!(check.startsWith("(") && check.endsWith(")"))) {
401
+ check = `(${check})`;
402
+ }
403
+ return `@supports ${check}`;
404
+ }, {
405
+ values: (ref = theme("supports")) !== null && ref !== void 0 ? ref : {}
406
+ });
407
+ },
408
+ ariaVariants: ({ matchVariant , theme })=>{
409
+ var ref;
410
+ matchVariant("aria", (value)=>`&[aria-${(0, _dataTypes.normalize)(value)}]`, {
411
+ values: (ref = theme("aria")) !== null && ref !== void 0 ? ref : {}
412
+ });
413
+ var ref1;
414
+ matchVariant("group-aria", (value, { modifier })=>modifier ? `:merge(.group\\/${modifier})[aria-${(0, _dataTypes.normalize)(value)}] &` : `:merge(.group)[aria-${(0, _dataTypes.normalize)(value)}] &`, {
415
+ values: (ref1 = theme("aria")) !== null && ref1 !== void 0 ? ref1 : {}
416
+ });
417
+ var ref2;
418
+ matchVariant("peer-aria", (value, { modifier })=>modifier ? `:merge(.peer\\/${modifier})[aria-${(0, _dataTypes.normalize)(value)}] ~ &` : `:merge(.peer)[aria-${(0, _dataTypes.normalize)(value)}] ~ &`, {
419
+ values: (ref2 = theme("aria")) !== null && ref2 !== void 0 ? ref2 : {}
420
+ });
421
+ },
422
+ dataVariants: ({ matchVariant , theme })=>{
423
+ var ref;
424
+ matchVariant("data", (value)=>`&[data-${(0, _dataTypes.normalize)(value)}]`, {
425
+ values: (ref = theme("data")) !== null && ref !== void 0 ? ref : {}
426
+ });
427
+ var ref1;
428
+ matchVariant("group-data", (value, { modifier })=>modifier ? `:merge(.group\\/${modifier})[data-${(0, _dataTypes.normalize)(value)}] &` : `:merge(.group)[data-${(0, _dataTypes.normalize)(value)}] &`, {
429
+ values: (ref1 = theme("data")) !== null && ref1 !== void 0 ? ref1 : {}
430
+ });
431
+ var ref2;
432
+ matchVariant("peer-data", (value, { modifier })=>modifier ? `:merge(.peer\\/${modifier})[data-${(0, _dataTypes.normalize)(value)}] ~ &` : `:merge(.peer)[data-${(0, _dataTypes.normalize)(value)}] ~ &`, {
433
+ values: (ref2 = theme("data")) !== null && ref2 !== void 0 ? ref2 : {}
434
+ });
269
435
  },
270
436
  orientationVariants: ({ addVariant })=>{
271
437
  addVariant("portrait", "@media (orientation: portrait)");
@@ -282,7 +448,7 @@ let cssTransformValue = [
282
448
  "skewX(var(--tw-skew-x))",
283
449
  "skewY(var(--tw-skew-y))",
284
450
  "scaleX(var(--tw-scale-x))",
285
- "scaleY(var(--tw-scale-y))",
451
+ "scaleY(var(--tw-scale-y))"
286
452
  ].join(" ");
287
453
  let cssFilterValue = [
288
454
  "var(--tw-blur)",
@@ -293,7 +459,7 @@ let cssFilterValue = [
293
459
  "var(--tw-invert)",
294
460
  "var(--tw-saturate)",
295
461
  "var(--tw-sepia)",
296
- "var(--tw-drop-shadow)",
462
+ "var(--tw-drop-shadow)"
297
463
  ].join(" ");
298
464
  let cssBackdropFilterValue = [
299
465
  "var(--tw-backdrop-blur)",
@@ -304,7 +470,7 @@ let cssBackdropFilterValue = [
304
470
  "var(--tw-backdrop-invert)",
305
471
  "var(--tw-backdrop-opacity)",
306
472
  "var(--tw-backdrop-saturate)",
307
- "var(--tw-backdrop-sepia)",
473
+ "var(--tw-backdrop-sepia)"
308
474
  ].join(" ");
309
475
  let corePlugins = {
310
476
  preflight: ({ addBase })=>{
@@ -313,7 +479,7 @@ let corePlugins = {
313
479
  _postcss.default.comment({
314
480
  text: `! tailwindcss v${_packageJson.version} | MIT License | https://tailwindcss.com`
315
481
  }),
316
- ...preflightStyles.nodes,
482
+ ...preflightStyles.nodes
317
483
  ]);
318
484
  },
319
485
  container: (()=>{
@@ -330,7 +496,7 @@ let corePlugins = {
330
496
  screen: "DEFAULT",
331
497
  minWidth: 0,
332
498
  padding: paddings
333
- },
499
+ }
334
500
  ];
335
501
  }
336
502
  let mapping = [];
@@ -386,7 +552,7 @@ let corePlugins = {
386
552
  marginLeft: "auto"
387
553
  } : {}, generatePaddingFor(0))
388
554
  },
389
- ...atRules,
555
+ ...atRules
390
556
  ]);
391
557
  };
392
558
  })(),
@@ -432,6 +598,9 @@ let corePlugins = {
432
598
  },
433
599
  ".invisible": {
434
600
  visibility: "hidden"
601
+ },
602
+ ".collapse": {
603
+ visibility: "collapse"
435
604
  }
436
605
  });
437
606
  },
@@ -478,7 +647,7 @@ let corePlugins = {
478
647
  "top",
479
648
  "bottom"
480
649
  ]
481
- ],
650
+ ]
482
651
  ],
483
652
  [
484
653
  [
@@ -504,8 +673,8 @@ let corePlugins = {
504
673
  [
505
674
  "left"
506
675
  ]
507
- ],
508
- ],
676
+ ]
677
+ ]
509
678
  ], {
510
679
  supportsNegativeValues: true
511
680
  }),
@@ -630,7 +799,7 @@ let corePlugins = {
630
799
  "margin-top",
631
800
  "margin-bottom"
632
801
  ]
633
- ],
802
+ ]
634
803
  ],
635
804
  [
636
805
  [
@@ -656,8 +825,8 @@ let corePlugins = {
656
825
  [
657
826
  "margin-left"
658
827
  ]
659
- ],
660
- ],
828
+ ]
829
+ ]
661
830
  ], {
662
831
  supportsNegativeValues: true
663
832
  }),
@@ -807,7 +976,7 @@ let corePlugins = {
807
976
  [
808
977
  "flex-shrink"
809
978
  ]
810
- ],
979
+ ]
811
980
  ]),
812
981
  flexGrow: (0, _createUtilityPlugin.default)("flexGrow", [
813
982
  [
@@ -821,7 +990,7 @@ let corePlugins = {
821
990
  [
822
991
  "flex-grow"
823
992
  ]
824
- ],
993
+ ]
825
994
  ]),
826
995
  flexBasis: (0, _createUtilityPlugin.default)("flexBasis", [
827
996
  [
@@ -905,7 +1074,7 @@ let corePlugins = {
905
1074
  "transform",
906
1075
  cssTransformValue
907
1076
  ]
908
- ],
1077
+ ]
909
1078
  ],
910
1079
  [
911
1080
  "translate-y",
@@ -919,9 +1088,9 @@ let corePlugins = {
919
1088
  "transform",
920
1089
  cssTransformValue
921
1090
  ]
922
- ],
923
- ],
924
- ],
1091
+ ]
1092
+ ]
1093
+ ]
925
1094
  ], {
926
1095
  supportsNegativeValues: true
927
1096
  }),
@@ -972,8 +1141,8 @@ let corePlugins = {
972
1141
  cssTransformValue
973
1142
  ]
974
1143
  ]
975
- ],
976
- ],
1144
+ ]
1145
+ ]
977
1146
  ], {
978
1147
  supportsNegativeValues: true
979
1148
  }),
@@ -990,8 +1159,8 @@ let corePlugins = {
990
1159
  [
991
1160
  "transform",
992
1161
  cssTransformValue
993
- ],
994
- ],
1162
+ ]
1163
+ ]
995
1164
  ],
996
1165
  [
997
1166
  [
@@ -1006,7 +1175,7 @@ let corePlugins = {
1006
1175
  "transform",
1007
1176
  cssTransformValue
1008
1177
  ]
1009
- ],
1178
+ ]
1010
1179
  ],
1011
1180
  [
1012
1181
  "scale-y",
@@ -1020,9 +1189,9 @@ let corePlugins = {
1020
1189
  "transform",
1021
1190
  cssTransformValue
1022
1191
  ]
1023
- ],
1024
- ],
1025
- ],
1192
+ ]
1193
+ ]
1194
+ ]
1026
1195
  ], {
1027
1196
  supportsNegativeValues: true
1028
1197
  }),
@@ -1075,7 +1244,7 @@ let corePlugins = {
1075
1244
  }
1076
1245
  return value.replace(name, prefixName(name));
1077
1246
  }).join(", ")
1078
- },
1247
+ }
1079
1248
  ];
1080
1249
  }
1081
1250
  }, {
@@ -1244,7 +1413,7 @@ let corePlugins = {
1244
1413
  "scroll-margin-top",
1245
1414
  "scroll-margin-bottom"
1246
1415
  ]
1247
- ],
1416
+ ]
1248
1417
  ],
1249
1418
  [
1250
1419
  [
@@ -1270,8 +1439,8 @@ let corePlugins = {
1270
1439
  [
1271
1440
  "scroll-margin-left"
1272
1441
  ]
1273
- ],
1274
- ],
1442
+ ]
1443
+ ]
1275
1444
  ], {
1276
1445
  supportsNegativeValues: true
1277
1446
  }),
@@ -1296,7 +1465,7 @@ let corePlugins = {
1296
1465
  "scroll-padding-top",
1297
1466
  "scroll-padding-bottom"
1298
1467
  ]
1299
- ],
1468
+ ]
1300
1469
  ],
1301
1470
  [
1302
1471
  [
@@ -1322,8 +1491,8 @@ let corePlugins = {
1322
1491
  [
1323
1492
  "scroll-padding-left"
1324
1493
  ]
1325
- ],
1326
- ],
1494
+ ]
1495
+ ]
1327
1496
  ]),
1328
1497
  listStylePosition: ({ addUtilities })=>{
1329
1498
  addUtilities({
@@ -1471,7 +1640,7 @@ let corePlugins = {
1471
1640
  [
1472
1641
  "gridTemplateColumns"
1473
1642
  ]
1474
- ],
1643
+ ]
1475
1644
  ]),
1476
1645
  gridTemplateRows: (0, _createUtilityPlugin.default)("gridTemplateRows", [
1477
1646
  [
@@ -1530,6 +1699,9 @@ let corePlugins = {
1530
1699
  ".place-content-evenly": {
1531
1700
  "place-content": "space-evenly"
1532
1701
  },
1702
+ ".place-content-baseline": {
1703
+ "place-content": "baseline"
1704
+ },
1533
1705
  ".place-content-stretch": {
1534
1706
  "place-content": "stretch"
1535
1707
  }
@@ -1546,6 +1718,9 @@ let corePlugins = {
1546
1718
  ".place-items-center": {
1547
1719
  "place-items": "center"
1548
1720
  },
1721
+ ".place-items-baseline": {
1722
+ "place-items": "baseline"
1723
+ },
1549
1724
  ".place-items-stretch": {
1550
1725
  "place-items": "stretch"
1551
1726
  }
@@ -1570,6 +1745,9 @@ let corePlugins = {
1570
1745
  },
1571
1746
  ".content-evenly": {
1572
1747
  "align-content": "space-evenly"
1748
+ },
1749
+ ".content-baseline": {
1750
+ "align-content": "baseline"
1573
1751
  }
1574
1752
  });
1575
1753
  },
@@ -1649,8 +1827,8 @@ let corePlugins = {
1649
1827
  [
1650
1828
  "rowGap"
1651
1829
  ]
1652
- ],
1653
- ],
1830
+ ]
1831
+ ]
1654
1832
  ]),
1655
1833
  space: ({ matchUtilities , addUtilities , theme })=>{
1656
1834
  matchUtilities({
@@ -1715,7 +1893,8 @@ let corePlugins = {
1715
1893
  values: theme("divideWidth"),
1716
1894
  type: [
1717
1895
  "line-width",
1718
- "length"
1896
+ "length",
1897
+ "any"
1719
1898
  ]
1720
1899
  });
1721
1900
  addUtilities({
@@ -1768,7 +1947,10 @@ let corePlugins = {
1768
1947
  }
1769
1948
  }, {
1770
1949
  values: (({ DEFAULT: _ , ...colors })=>colors)((0, _flattenColorPalette.default)(theme("divideColor"))),
1771
- type: "color"
1950
+ type: [
1951
+ "color",
1952
+ "any"
1953
+ ]
1772
1954
  });
1773
1955
  },
1774
1956
  divideOpacity: ({ matchUtilities , theme })=>{
@@ -1982,6 +2164,9 @@ let corePlugins = {
1982
2164
  },
1983
2165
  ".break-all": {
1984
2166
  "word-break": "break-all"
2167
+ },
2168
+ ".break-keep": {
2169
+ "word-break": "keep-all"
1985
2170
  }
1986
2171
  });
1987
2172
  },
@@ -2020,7 +2205,7 @@ let corePlugins = {
2020
2205
  "border-top-left-radius",
2021
2206
  "border-bottom-left-radius"
2022
2207
  ]
2023
- ],
2208
+ ]
2024
2209
  ],
2025
2210
  [
2026
2211
  [
@@ -2046,8 +2231,8 @@ let corePlugins = {
2046
2231
  [
2047
2232
  "border-bottom-left-radius"
2048
2233
  ]
2049
- ],
2050
- ],
2234
+ ]
2235
+ ]
2051
2236
  ]),
2052
2237
  borderWidth: (0, _createUtilityPlugin.default)("borderWidth", [
2053
2238
  [
@@ -2082,7 +2267,7 @@ let corePlugins = {
2082
2267
  "border-top-width",
2083
2268
  "border-bottom-width"
2084
2269
  ]
2085
- ],
2270
+ ]
2086
2271
  ],
2087
2272
  [
2088
2273
  [
@@ -2124,8 +2309,8 @@ let corePlugins = {
2124
2309
  ],
2125
2310
  "border-left-width"
2126
2311
  ]
2127
- ],
2128
- ],
2312
+ ]
2313
+ ]
2129
2314
  ], {
2130
2315
  type: [
2131
2316
  "line-width",
@@ -2171,7 +2356,8 @@ let corePlugins = {
2171
2356
  }, {
2172
2357
  values: (({ DEFAULT: _ , ...colors })=>colors)((0, _flattenColorPalette.default)(theme("borderColor"))),
2173
2358
  type: [
2174
- "color"
2359
+ "color",
2360
+ "any"
2175
2361
  ]
2176
2362
  });
2177
2363
  matchUtilities({
@@ -2209,7 +2395,10 @@ let corePlugins = {
2209
2395
  }
2210
2396
  }, {
2211
2397
  values: (({ DEFAULT: _ , ...colors })=>colors)((0, _flattenColorPalette.default)(theme("borderColor"))),
2212
- type: "color"
2398
+ type: [
2399
+ "color",
2400
+ "any"
2401
+ ]
2213
2402
  });
2214
2403
  matchUtilities({
2215
2404
  "border-t": (value)=>{
@@ -2262,7 +2451,10 @@ let corePlugins = {
2262
2451
  }
2263
2452
  }, {
2264
2453
  values: (({ DEFAULT: _ , ...colors })=>colors)((0, _flattenColorPalette.default)(theme("borderColor"))),
2265
- type: "color"
2454
+ type: [
2455
+ "color",
2456
+ "any"
2457
+ ]
2266
2458
  });
2267
2459
  },
2268
2460
  borderOpacity: (0, _createUtilityPlugin.default)("borderOpacity", [
@@ -2271,7 +2463,7 @@ let corePlugins = {
2271
2463
  [
2272
2464
  "--tw-border-opacity"
2273
2465
  ]
2274
- ],
2466
+ ]
2275
2467
  ]),
2276
2468
  backgroundColor: ({ matchUtilities , theme , corePlugins })=>{
2277
2469
  matchUtilities({
@@ -2289,7 +2481,10 @@ let corePlugins = {
2289
2481
  }
2290
2482
  }, {
2291
2483
  values: (0, _flattenColorPalette.default)(theme("backgroundColor")),
2292
- type: "color"
2484
+ type: [
2485
+ "color",
2486
+ "any"
2487
+ ]
2293
2488
  });
2294
2489
  },
2295
2490
  backgroundOpacity: (0, _createUtilityPlugin.default)("backgroundOpacity", [
@@ -2298,7 +2493,7 @@ let corePlugins = {
2298
2493
  [
2299
2494
  "--tw-bg-opacity"
2300
2495
  ]
2301
- ],
2496
+ ]
2302
2497
  ]),
2303
2498
  backgroundImage: (0, _createUtilityPlugin.default)("backgroundImage", [
2304
2499
  [
@@ -2379,7 +2574,8 @@ let corePlugins = {
2379
2574
  type: [
2380
2575
  "lookup",
2381
2576
  "length",
2382
- "percentage"
2577
+ "percentage",
2578
+ "size"
2383
2579
  ]
2384
2580
  }),
2385
2581
  backgroundAttachment: ({ addUtilities })=>{
@@ -2421,7 +2617,12 @@ let corePlugins = {
2421
2617
  ], {
2422
2618
  type: [
2423
2619
  "lookup",
2424
- "position"
2620
+ [
2621
+ "position",
2622
+ {
2623
+ preferOnConflict: true
2624
+ }
2625
+ ]
2425
2626
  ]
2426
2627
  }),
2427
2628
  backgroundRepeat: ({ addUtilities })=>{
@@ -2485,7 +2686,8 @@ let corePlugins = {
2485
2686
  values: (0, _flattenColorPalette.default)(theme("stroke")),
2486
2687
  type: [
2487
2688
  "color",
2488
- "url"
2689
+ "url",
2690
+ "any"
2489
2691
  ]
2490
2692
  });
2491
2693
  },
@@ -2551,7 +2753,7 @@ let corePlugins = {
2551
2753
  "padding-top",
2552
2754
  "padding-bottom"
2553
2755
  ]
2554
- ],
2756
+ ]
2555
2757
  ],
2556
2758
  [
2557
2759
  [
@@ -2577,8 +2779,8 @@ let corePlugins = {
2577
2779
  [
2578
2780
  "padding-left"
2579
2781
  ]
2580
- ],
2581
- ],
2782
+ ]
2783
+ ]
2582
2784
  ]),
2583
2785
  textAlign: ({ addUtilities })=>{
2584
2786
  addUtilities({
@@ -2645,20 +2847,29 @@ let corePlugins = {
2645
2847
  })
2646
2848
  });
2647
2849
  },
2648
- fontFamily: (0, _createUtilityPlugin.default)("fontFamily", [
2649
- [
2650
- "font",
2651
- [
2652
- "fontFamily"
2850
+ fontFamily: ({ matchUtilities , theme })=>{
2851
+ matchUtilities({
2852
+ font: (value)=>{
2853
+ let [families, options = {}] = Array.isArray(value) && (0, _isPlainObject.default)(value[1]) ? value : [
2854
+ value
2855
+ ];
2856
+ let { fontFeatureSettings } = options;
2857
+ return {
2858
+ "font-family": Array.isArray(families) ? families.join(", ") : families,
2859
+ ...fontFeatureSettings === undefined ? {} : {
2860
+ "font-feature-settings": fontFeatureSettings
2861
+ }
2862
+ };
2863
+ }
2864
+ }, {
2865
+ values: theme("fontFamily"),
2866
+ type: [
2867
+ "lookup",
2868
+ "generic-name",
2869
+ "family-name"
2653
2870
  ]
2654
- ]
2655
- ], {
2656
- type: [
2657
- "lookup",
2658
- "generic-name",
2659
- "family-name"
2660
- ]
2661
- }),
2871
+ });
2872
+ },
2662
2873
  fontSize: ({ matchUtilities , theme })=>{
2663
2874
  matchUtilities({
2664
2875
  text: (value)=>{
@@ -2701,7 +2912,8 @@ let corePlugins = {
2701
2912
  ], {
2702
2913
  type: [
2703
2914
  "lookup",
2704
- "number"
2915
+ "number",
2916
+ "any"
2705
2917
  ]
2706
2918
  }),
2707
2919
  textTransform: ({ addUtilities })=>{
@@ -2819,7 +3031,10 @@ let corePlugins = {
2819
3031
  }
2820
3032
  }, {
2821
3033
  values: (0, _flattenColorPalette.default)(theme("textColor")),
2822
- type: "color"
3034
+ type: [
3035
+ "color",
3036
+ "any"
3037
+ ]
2823
3038
  });
2824
3039
  },
2825
3040
  textOpacity: (0, _createUtilityPlugin.default)("textOpacity", [
@@ -2856,7 +3071,8 @@ let corePlugins = {
2856
3071
  }, {
2857
3072
  values: (0, _flattenColorPalette.default)(theme("textDecorationColor")),
2858
3073
  type: [
2859
- "color"
3074
+ "color",
3075
+ "any"
2860
3076
  ]
2861
3077
  });
2862
3078
  },
@@ -2902,7 +3118,8 @@ let corePlugins = {
2902
3118
  ], {
2903
3119
  type: [
2904
3120
  "length",
2905
- "percentage"
3121
+ "percentage",
3122
+ "any"
2906
3123
  ]
2907
3124
  }),
2908
3125
  fontSmoothing: ({ addUtilities })=>{
@@ -3106,7 +3323,7 @@ let corePlugins = {
3106
3323
  let defaultBoxShadow = [
3107
3324
  `var(--tw-ring-offset-shadow, 0 0 #0000)`,
3108
3325
  `var(--tw-ring-shadow, 0 0 #0000)`,
3109
- `var(--tw-shadow)`,
3326
+ `var(--tw-shadow)`
3110
3327
  ].join(", ");
3111
3328
  return function({ matchUtilities , addDefaults , theme }) {
3112
3329
  addDefaults(" box-shadow", {
@@ -3152,7 +3369,8 @@ let corePlugins = {
3152
3369
  }, {
3153
3370
  values: (0, _flattenColorPalette.default)(theme("boxShadowColor")),
3154
3371
  type: [
3155
- "color"
3372
+ "color",
3373
+ "any"
3156
3374
  ]
3157
3375
  });
3158
3376
  },
@@ -3173,9 +3391,6 @@ let corePlugins = {
3173
3391
  },
3174
3392
  ".outline-double": {
3175
3393
  "outline-style": "double"
3176
- },
3177
- ".outline-hidden": {
3178
- "outline-style": "hidden"
3179
3394
  }
3180
3395
  });
3181
3396
  },
@@ -3204,8 +3419,10 @@ let corePlugins = {
3204
3419
  type: [
3205
3420
  "length",
3206
3421
  "number",
3207
- "percentage"
3208
- ]
3422
+ "percentage",
3423
+ "any"
3424
+ ],
3425
+ supportsNegativeValues: true
3209
3426
  }),
3210
3427
  outlineColor: ({ matchUtilities , theme })=>{
3211
3428
  matchUtilities({
@@ -3217,7 +3434,8 @@ let corePlugins = {
3217
3434
  }, {
3218
3435
  values: (0, _flattenColorPalette.default)(theme("outlineColor")),
3219
3436
  type: [
3220
- "color"
3437
+ "color",
3438
+ "any"
3221
3439
  ]
3222
3440
  });
3223
3441
  },
@@ -3252,7 +3470,7 @@ let corePlugins = {
3252
3470
  "box-shadow": [
3253
3471
  `var(--tw-ring-offset-shadow)`,
3254
3472
  `var(--tw-ring-shadow)`,
3255
- `var(--tw-shadow, 0 0 #0000)`,
3473
+ `var(--tw-shadow, 0 0 #0000)`
3256
3474
  ].join(", ")
3257
3475
  };
3258
3476
  }
@@ -3283,7 +3501,10 @@ let corePlugins = {
3283
3501
  }
3284
3502
  }, {
3285
3503
  values: Object.fromEntries(Object.entries((0, _flattenColorPalette.default)(theme("ringColor"))).filter(([modifier])=>modifier !== "DEFAULT")),
3286
- type: "color"
3504
+ type: [
3505
+ "color",
3506
+ "any"
3507
+ ]
3287
3508
  });
3288
3509
  },
3289
3510
  ringOpacity: (helpers)=>{
@@ -3318,7 +3539,10 @@ let corePlugins = {
3318
3539
  }
3319
3540
  }, {
3320
3541
  values: (0, _flattenColorPalette.default)(theme("ringOffsetColor")),
3321
- type: "color"
3542
+ type: [
3543
+ "color",
3544
+ "any"
3545
+ ]
3322
3546
  });
3323
3547
  },
3324
3548
  blur: ({ matchUtilities , theme })=>{
@@ -3664,6 +3888,6 @@ let corePlugins = {
3664
3888
  "var(--tw-content)"
3665
3889
  ]
3666
3890
  ]
3667
- ],
3891
+ ]
3668
3892
  ])
3669
3893
  };