@unocss/preset-wind 0.35.4 → 0.37.1

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.
package/dist/index.cjs CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ const presetMini = require('@unocss/preset-mini');
5
6
  const core = require('@unocss/core');
6
7
  const utils = require('@unocss/preset-mini/utils');
7
- const theme$1 = require('@unocss/preset-mini/theme');
8
- const presetMini = require('@unocss/preset-mini');
9
8
  const rules$1 = require('@unocss/preset-mini/rules');
9
+ const theme$1 = require('@unocss/preset-mini/theme');
10
10
  const variants$1 = require('@unocss/preset-mini/variants');
11
11
 
12
12
  const animations = [
@@ -150,10 +150,10 @@ const backgroundStyles = [
150
150
  ["bg-fixed", { "background-attachment": "fixed" }],
151
151
  ["bg-local", { "background-attachment": "local" }],
152
152
  ["bg-scroll", { "background-attachment": "scroll" }],
153
- ["bg-clip-border", { "-webkit-background-clip": "border-box", "background-attachment": "border-box" }],
154
- ["bg-clip-content", { "-webkit-background-clip": "content-box", "background-attachment": "content-box" }],
155
- ["bg-clip-padding", { "-webkit-background-clip": "padding-box", "background-attachment": "padding-box" }],
156
- ["bg-clip-text", { "-webkit-background-clip": "text", "background-attachment": "text" }],
153
+ ["bg-clip-border", { "-webkit-background-clip": "border-box", "background-clip": "border-box" }],
154
+ ["bg-clip-content", { "-webkit-background-clip": "content-box", "background-clip": "content-box" }],
155
+ ["bg-clip-padding", { "-webkit-background-clip": "padding-box", "background-clip": "padding-box" }],
156
+ ["bg-clip-text", { "-webkit-background-clip": "text", "background-clip": "text" }],
157
157
  [/^bg-([-\w]{3,})$/, ([, s]) => ({ "background-position": utils.positionMap[s] })],
158
158
  ["bg-repeat", { "background-repeat": "repeat" }],
159
159
  ["bg-no-repeat", { "background-repeat": "no-repeat" }],
@@ -297,8 +297,7 @@ const filterBase = {
297
297
  "--un-invert": rules$1.varEmpty,
298
298
  "--un-saturate": rules$1.varEmpty,
299
299
  "--un-sepia": rules$1.varEmpty,
300
- "--un-filter": "var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)",
301
- [core.CONTROL_SHORTCUT_NO_MERGE]: ""
300
+ "--un-filter": "var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)"
302
301
  };
303
302
  const backdropFilterBase = {
304
303
  "--un-backdrop-blur": rules$1.varEmpty,
@@ -310,8 +309,7 @@ const backdropFilterBase = {
310
309
  "--un-backdrop-opacity": rules$1.varEmpty,
311
310
  "--un-backdrop-saturate": rules$1.varEmpty,
312
311
  "--un-backdrop-sepia": rules$1.varEmpty,
313
- "--un-backdrop-filter": "var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)",
314
- [core.CONTROL_SHORTCUT_NO_MERGE]: ""
312
+ "--un-backdrop-filter": "var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)"
315
313
  };
316
314
  const percentWithDefault = (str) => {
317
315
  let v = utils.handler.bracket.cssvar(str || "");
@@ -325,22 +323,16 @@ const toFilter = (varName, resolver) => ([, b, s], { theme }) => {
325
323
  const value = resolver(s, theme) ?? (s === "none" ? "0" : "");
326
324
  if (value !== "") {
327
325
  if (b) {
328
- return [
329
- backdropFilterBase,
330
- {
331
- [`--un-${b}${varName}`]: `${varName}(${value})`,
332
- "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
333
- "backdrop-filter": "var(--un-backdrop-filter)"
334
- }
335
- ];
326
+ return {
327
+ [`--un-${b}${varName}`]: `${varName}(${value})`,
328
+ "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
329
+ "backdrop-filter": "var(--un-backdrop-filter)"
330
+ };
336
331
  } else {
337
- return [
338
- filterBase,
339
- {
340
- [`--un-${varName}`]: `${varName}(${value})`,
341
- filter: "var(--un-filter)"
342
- }
343
- ];
332
+ return {
333
+ [`--un-${varName}`]: `${varName}(${value})`,
334
+ filter: "var(--un-filter)"
335
+ };
344
336
  }
345
337
  }
346
338
  };
@@ -348,23 +340,17 @@ const dropShadowResolver = ([, s], { theme }) => {
348
340
  let v = theme.dropShadow?.[s || "DEFAULT"];
349
341
  if (v != null) {
350
342
  const shadows = utils.colorableShadows(v, "--un-drop-shadow-color");
351
- return [
352
- filterBase,
353
- {
354
- "--un-drop-shadow": `drop-shadow(${shadows.join(") drop-shadow(")})`,
355
- "filter": "var(--un-filter)"
356
- }
357
- ];
343
+ return {
344
+ "--un-drop-shadow": `drop-shadow(${shadows.join(") drop-shadow(")})`,
345
+ "filter": "var(--un-filter)"
346
+ };
358
347
  }
359
348
  v = utils.handler.bracket.cssvar(s);
360
349
  if (v != null) {
361
- return [
362
- filterBase,
363
- {
364
- "--un-drop-shadow": `drop-shadow(${v})`,
365
- "filter": "var(--un-filter)"
366
- }
367
- ];
350
+ return {
351
+ "--un-drop-shadow": `drop-shadow(${v})`,
352
+ "filter": "var(--un-filter)"
353
+ };
368
354
  }
369
355
  };
370
356
  const filters = [
@@ -390,33 +376,17 @@ const filters = [
390
376
  }],
391
377
  [/^(?:filter-)?drop-shadow-color-(.+)$/, utils.colorResolver("--un-drop-shadow-color", "drop-shadow")],
392
378
  [/^(?:filter-)?drop-shadow-color-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-drop-shadow-opacity": utils.handler.bracket.percent(opacity) })],
393
- [/^(?:(backdrop-)|filter-)?grayscale(?:-(.+))?$/, toFilter("grayscale", percentWithDefault), {
394
- autocomplete: ["(backdrop|filter)-grayscale", "(backdrop|filter)-grayscale-<percent>", "grayscale-<percent>"]
395
- }],
379
+ [/^(?:(backdrop-)|filter-)?grayscale(?:-(.+))?$/, toFilter("grayscale", percentWithDefault), { autocomplete: ["(backdrop|filter)-grayscale", "(backdrop|filter)-grayscale-<percent>", "grayscale-<percent>"] }],
396
380
  [/^(?:(backdrop-)|filter-)?hue-rotate-(.+)$/, toFilter("hue-rotate", (s) => utils.handler.bracket.cssvar.degree(s))],
397
- [/^(?:(backdrop-)|filter-)?invert(?:-(.+))?$/, toFilter("invert", percentWithDefault), {
398
- autocomplete: ["(backdrop|filter)-invert", "(backdrop|filter)-invert-<percent>", "invert-<percent>"]
399
- }],
400
- [/^(backdrop-)op(?:acity)-(.+)$/, toFilter("opacity", (s) => utils.handler.bracket.cssvar.percent(s)), {
401
- autocomplete: ["backdrop-(op|opacity)", "backdrop-(op|opacity)-<percent>"]
381
+ [/^(?:(backdrop-)|filter-)?invert(?:-(.+))?$/, toFilter("invert", percentWithDefault), { autocomplete: ["(backdrop|filter)-invert", "(backdrop|filter)-invert-<percent>", "invert-<percent>"] }],
382
+ [/^(backdrop-)op(?:acity)-(.+)$/, toFilter("opacity", (s) => utils.handler.bracket.cssvar.percent(s)), { autocomplete: ["backdrop-(op|opacity)", "backdrop-(op|opacity)-<percent>"] }],
383
+ [/^(?:(backdrop-)|filter-)?saturate-(.+)$/, toFilter("saturate", (s) => utils.handler.bracket.cssvar.percent(s)), { autocomplete: ["(backdrop|filter)-saturate", "(backdrop|filter)-saturate-<percent>", "saturate-<percent>"] }],
384
+ [/^(?:(backdrop-)|filter-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault), { autocomplete: ["(backdrop|filter)-sepia", "(backdrop|filter)-sepia-<percent>", "sepia-<percent>"] }],
385
+ ["filter", { filter: "var(--un-filter)" }],
386
+ ["backdrop-filter", {
387
+ "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
388
+ "backdrop-filter": "var(--un-backdrop-filter)"
402
389
  }],
403
- [/^(?:(backdrop-)|filter-)?saturate-(.+)$/, toFilter("saturate", (s) => utils.handler.bracket.cssvar.percent(s)), {
404
- autocomplete: ["(backdrop|filter)-saturate", "(backdrop|filter)-saturate-<percent>", "saturate-<percent>"]
405
- }],
406
- [/^(?:(backdrop-)|filter-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault), {
407
- autocomplete: ["(backdrop|filter)-sepia", "(backdrop|filter)-sepia-<percent>", "sepia-<percent>"]
408
- }],
409
- [/^filter$/, () => [
410
- filterBase,
411
- { filter: "var(--un-filter)" }
412
- ]],
413
- [/^backdrop-filter$/, () => [
414
- backdropFilterBase,
415
- {
416
- "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
417
- "backdrop-filter": "var(--un-backdrop-filter)"
418
- }
419
- ], { autocomplete: "backdrop-filter" }],
420
390
  ["filter-none", { filter: "none" }],
421
391
  ["backdrop-filter-none", {
422
392
  "-webkit-backdrop-filter": "none",
@@ -560,6 +530,10 @@ const mixBlendModes = [
560
530
  ["mix-blend-normal", { "mix-blend-mode": "normal" }]
561
531
  ];
562
532
 
533
+ const borderSpacingBase = {
534
+ "--un-border-spacing-x": 0,
535
+ "--un-border-spacing-y": 0
536
+ };
563
537
  const tables = [
564
538
  ["inline-table", { display: "inline-table" }],
565
539
  ["table", { display: "table" }],
@@ -573,7 +547,25 @@ const tables = [
573
547
  ["table-row-group", { display: "table-row-group" }],
574
548
  ["border-collapse", { "border-collapse": "collapse" }],
575
549
  ["border-separate", { "border-collapse": "separate" }],
576
- [/^border-spacing-(.+)$/, ([, d], { theme }) => ({ "border-spacing": theme.spacing?.[d] ?? utils.handler.bracket.cssvar.auto.fraction.rem(d) }), { autocomplete: ["border-spacing", "border-spacing-$spacing"] }],
550
+ [/^border-spacing-(.+)$/, ([, s], { theme }) => {
551
+ const v = theme.spacing?.[s] ?? utils.handler.bracket.cssvar.global.auto.fraction.rem(s);
552
+ if (v != null) {
553
+ return {
554
+ "--un-border-spacing-x": v,
555
+ "--un-border-spacing-y": v,
556
+ "border-spacing": "var(--un-border-spacing-x) var(--un-border-spacing-y)"
557
+ };
558
+ }
559
+ }, { autocomplete: ["border-spacing", "border-spacing-$spacing"] }],
560
+ [/^border-spacing-([xy])-(.+)$/, ([, d, s], { theme }) => {
561
+ const v = theme.spacing?.[s] ?? utils.handler.bracket.cssvar.global.auto.fraction.rem(s);
562
+ if (v != null) {
563
+ return {
564
+ [`--un-border-spacing-${d}`]: v,
565
+ "border-spacing": "var(--un-border-spacing-x) var(--un-border-spacing-y)"
566
+ };
567
+ }
568
+ }, { autocomplete: ["border-spacing-(x|y)", "border-spacing-(x|y)-$spacing"] }],
577
569
  ["caption-top", { "caption-side": "top" }],
578
570
  ["caption-bottom", { "caption-side": "bottom" }],
579
571
  ["table-auto", { "table-layout": "auto" }],
@@ -657,16 +649,12 @@ const fontVariantNumericBase = {
657
649
  "--un-numeric-figure": rules$1.varEmpty,
658
650
  "--un-numeric-spacing": rules$1.varEmpty,
659
651
  "--un-numeric-fraction": rules$1.varEmpty,
660
- "--un-font-variant-numeric": "var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)",
661
- [core.CONTROL_SHORTCUT_NO_MERGE]: ""
652
+ "--un-font-variant-numeric": "var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)"
662
653
  };
663
- const toEntries = (entry) => [
664
- fontVariantNumericBase,
665
- {
666
- ...entry,
667
- "font-variant-numeric": "var(--un-font-variant-numeric)"
668
- }
669
- ];
654
+ const toEntries = (entry) => ({
655
+ ...entry,
656
+ "font-variant-numeric": "var(--un-font-variant-numeric)"
657
+ });
670
658
  const fontVariantNumeric = [
671
659
  [/^ordinal$/, () => toEntries({ "--un-ordinal": "ordinal" }), { autocomplete: "ordinal" }],
672
660
  [/^slashed-zero$/, () => toEntries({ "--un-slashed-zero": "slashed-zero" }), { autocomplete: "slashed-zero" }],
@@ -683,46 +671,36 @@ const touchActionBase = {
683
671
  "--un-pan-x": rules$1.varEmpty,
684
672
  "--un-pan-y": rules$1.varEmpty,
685
673
  "--un-pinch-zoom": rules$1.varEmpty,
686
- "--un-touch-action": "var(--un-pan-x) var(--un-pan-y) var(--un-pinch-zoom)",
687
- [core.CONTROL_SHORTCUT_NO_MERGE]: ""
674
+ "--un-touch-action": "var(--un-pan-x) var(--un-pan-y) var(--un-pinch-zoom)"
688
675
  };
689
676
  const touchActions = [
690
- [/^touch-pan-(x|left|right)$/, ([, d]) => [
691
- touchActionBase,
692
- {
693
- "--un-pan-x": `pan-${d}`,
694
- "touch-action": "var(--un-touch-action)"
695
- }
696
- ], { autocomplete: ["touch-pan", "touch-pan-(x|left|right|y|up|down)"] }],
697
- [/^touch-pan-(y|up|down)$/, ([, d]) => [
698
- touchActionBase,
699
- {
700
- "--un-pan-y": `pan-${d}`,
701
- "touch-action": "var(--un-touch-action)"
702
- }
703
- ]],
704
- [/^touch-pinch-zoom$/, () => [
705
- touchActionBase,
706
- {
707
- "--un-pinch-zoom": "pinch-zoom",
708
- "touch-action": "var(--un-touch-action)"
709
- }
710
- ], { autocomplete: ["touch-pinch", "touch-pinch-zoom"] }],
677
+ [/^touch-pan-(x|left|right)$/, ([, d]) => ({
678
+ "--un-pan-x": `pan-${d}`,
679
+ "touch-action": "var(--un-touch-action)"
680
+ }), { autocomplete: ["touch-pan", "touch-pan-(x|left|right|y|up|down)"] }],
681
+ [/^touch-pan-(y|up|down)$/, ([, d]) => ({
682
+ "--un-pan-y": `pan-${d}`,
683
+ "touch-action": "var(--un-touch-action)"
684
+ })],
685
+ ["touch-pinch-zoom", {
686
+ "--un-pinch-zoom": "pinch-zoom",
687
+ "touch-action": "var(--un-touch-action)"
688
+ }],
711
689
  ["touch-auto", { "touch-action": "auto" }],
712
690
  ["touch-manipulation", { "touch-action": "manipulation" }],
713
691
  ["touch-none", { "touch-action": "none" }]
714
692
  ];
715
693
 
694
+ const scrollSnapTypeBase = {
695
+ "--un-scroll-snap-strictness": "proximity"
696
+ };
716
697
  const scrolls = [
717
- [/^snap-(x|y|both)$/, ([, d]) => [
718
- {
719
- "--un-scroll-snap-strictness": "proximity",
720
- [core.CONTROL_SHORTCUT_NO_MERGE]: ""
721
- },
722
- {
723
- "scroll-snap-type": `${d} var(--un-scroll-snap-strictness)`
724
- }
725
- ], { autocomplete: "snap-(x|y|both)" }],
698
+ [/^snap-(x|y)$/, ([, d]) => ({
699
+ "scroll-snap-type": `${d} var(--un-scroll-snap-strictness)`
700
+ }), { autocomplete: "snap-(x|y|both)" }],
701
+ [/^snap-both$/, () => ({
702
+ "scroll-snap-type": "both var(--un-scroll-snap-strictness)"
703
+ })],
726
704
  ["snap-mandatory", { "--un-scroll-snap-strictness": "mandatory" }],
727
705
  ["snap-proximity", { "--un-scroll-snap-strictness": "proximity" }],
728
706
  ["snap-none", { "scroll-snap-type": "none" }],
@@ -1015,6 +993,17 @@ const theme = {
1015
993
  pointer: "(hover) and (pointer: coarse)",
1016
994
  mouse: "(hover) and (pointer: fine)",
1017
995
  hd_color: "(dynamic-range: high)"
996
+ },
997
+ preflightBase: {
998
+ ...rules$1.transformBase,
999
+ ...touchActionBase,
1000
+ ...scrollSnapTypeBase,
1001
+ ...fontVariantNumericBase,
1002
+ ...borderSpacingBase,
1003
+ ...rules$1.boxShadowsBase,
1004
+ ...rules$1.ringBase,
1005
+ ...filterBase,
1006
+ ...backdropFilterBase
1018
1007
  }
1019
1008
  };
1020
1009
 
@@ -1091,11 +1080,13 @@ const presetWind = (options = {}) => {
1091
1080
  rules,
1092
1081
  shortcuts,
1093
1082
  variants: variants(options),
1094
- options
1083
+ options,
1084
+ preflights: presetMini.preflights
1095
1085
  };
1096
1086
  };
1097
1087
 
1098
1088
  exports.colors = presetMini.colors;
1089
+ exports.preflights = presetMini.preflights;
1099
1090
  exports["default"] = presetWind;
1100
1091
  exports.presetWind = presetWind;
1101
1092
  exports.rules = rules;
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import * as _unocss_core from '@unocss/core';
2
2
  import { Rule, Variant, Preset } from '@unocss/core';
3
3
  import * as _unocss_preset_mini from '@unocss/preset-mini';
4
4
  import { Theme, PresetMiniOptions } from '@unocss/preset-mini';
5
- export { Theme, colors } from '@unocss/preset-mini';
5
+ export { Theme, colors, preflights } from '@unocss/preset-mini';
6
6
 
7
7
  declare const rules: Rule[];
8
8
 
package/dist/index.mjs CHANGED
@@ -1,8 +1,9 @@
1
- import { toArray, CONTROL_SHORTCUT_NO_MERGE } from '@unocss/core';
1
+ import { preflights } from '@unocss/preset-mini';
2
+ export { colors, preflights } from '@unocss/preset-mini';
3
+ import { toArray } from '@unocss/core';
2
4
  import { handler, positionMap, parseColor, colorToString, colorResolver, resolveBreakpoints, colorableShadows, directionMap, directionSize, variantMatcher, variantParentMatcher, hasParseableColor } from '@unocss/preset-mini/utils';
5
+ import { varEmpty, cssVariables as cssVariables$1, cssProperty, pointerEvents, appearances, positions, insets, zIndexes, orders, grids, floats, margins, boxSizing, displays, aspectRatio, sizes, flex, transforms, cursors, userSelects, resizes, appearance, placements, alignments, justifies, gaps, overflows, textOverflows, whitespaces, breaks, borders, bgColors, svgUtilities, paddings, textAligns, textIndents, verticalAligns, fonts, textTransforms as textTransforms$1, fontStyles, textColors, textDecorations, fontSmoothings, tabSizes, textStrokes, textShadows, opacity, boxShadows, outline, rings, transitions, willChange, contents, questionMark, transformBase, boxShadowsBase, ringBase } from '@unocss/preset-mini/rules';
3
6
  import { theme as theme$1 } from '@unocss/preset-mini/theme';
4
- export { colors } from '@unocss/preset-mini';
5
- import { varEmpty, cssVariables as cssVariables$1, cssProperty, pointerEvents, appearances, positions, insets, zIndexes, orders, grids, floats, margins, boxSizing, displays, aspectRatio, sizes, flex, transforms, cursors, userSelects, resizes, appearance, placements, alignments, justifies, gaps, overflows, textOverflows, whitespaces, breaks, borders, bgColors, svgUtilities, paddings, textAligns, textIndents, verticalAligns, fonts, textTransforms as textTransforms$1, fontStyles, textColors, textDecorations, fontSmoothings, tabSizes, textStrokes, textShadows, opacity, boxShadows, outline, rings, transitions, willChange, contents, questionMark } from '@unocss/preset-mini/rules';
6
7
  import { variants as variants$1 } from '@unocss/preset-mini/variants';
7
8
 
8
9
  const animations = [
@@ -146,10 +147,10 @@ const backgroundStyles = [
146
147
  ["bg-fixed", { "background-attachment": "fixed" }],
147
148
  ["bg-local", { "background-attachment": "local" }],
148
149
  ["bg-scroll", { "background-attachment": "scroll" }],
149
- ["bg-clip-border", { "-webkit-background-clip": "border-box", "background-attachment": "border-box" }],
150
- ["bg-clip-content", { "-webkit-background-clip": "content-box", "background-attachment": "content-box" }],
151
- ["bg-clip-padding", { "-webkit-background-clip": "padding-box", "background-attachment": "padding-box" }],
152
- ["bg-clip-text", { "-webkit-background-clip": "text", "background-attachment": "text" }],
150
+ ["bg-clip-border", { "-webkit-background-clip": "border-box", "background-clip": "border-box" }],
151
+ ["bg-clip-content", { "-webkit-background-clip": "content-box", "background-clip": "content-box" }],
152
+ ["bg-clip-padding", { "-webkit-background-clip": "padding-box", "background-clip": "padding-box" }],
153
+ ["bg-clip-text", { "-webkit-background-clip": "text", "background-clip": "text" }],
153
154
  [/^bg-([-\w]{3,})$/, ([, s]) => ({ "background-position": positionMap[s] })],
154
155
  ["bg-repeat", { "background-repeat": "repeat" }],
155
156
  ["bg-no-repeat", { "background-repeat": "no-repeat" }],
@@ -293,8 +294,7 @@ const filterBase = {
293
294
  "--un-invert": varEmpty,
294
295
  "--un-saturate": varEmpty,
295
296
  "--un-sepia": varEmpty,
296
- "--un-filter": "var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)",
297
- [CONTROL_SHORTCUT_NO_MERGE]: ""
297
+ "--un-filter": "var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)"
298
298
  };
299
299
  const backdropFilterBase = {
300
300
  "--un-backdrop-blur": varEmpty,
@@ -306,8 +306,7 @@ const backdropFilterBase = {
306
306
  "--un-backdrop-opacity": varEmpty,
307
307
  "--un-backdrop-saturate": varEmpty,
308
308
  "--un-backdrop-sepia": varEmpty,
309
- "--un-backdrop-filter": "var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)",
310
- [CONTROL_SHORTCUT_NO_MERGE]: ""
309
+ "--un-backdrop-filter": "var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)"
311
310
  };
312
311
  const percentWithDefault = (str) => {
313
312
  let v = handler.bracket.cssvar(str || "");
@@ -321,22 +320,16 @@ const toFilter = (varName, resolver) => ([, b, s], { theme }) => {
321
320
  const value = resolver(s, theme) ?? (s === "none" ? "0" : "");
322
321
  if (value !== "") {
323
322
  if (b) {
324
- return [
325
- backdropFilterBase,
326
- {
327
- [`--un-${b}${varName}`]: `${varName}(${value})`,
328
- "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
329
- "backdrop-filter": "var(--un-backdrop-filter)"
330
- }
331
- ];
323
+ return {
324
+ [`--un-${b}${varName}`]: `${varName}(${value})`,
325
+ "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
326
+ "backdrop-filter": "var(--un-backdrop-filter)"
327
+ };
332
328
  } else {
333
- return [
334
- filterBase,
335
- {
336
- [`--un-${varName}`]: `${varName}(${value})`,
337
- filter: "var(--un-filter)"
338
- }
339
- ];
329
+ return {
330
+ [`--un-${varName}`]: `${varName}(${value})`,
331
+ filter: "var(--un-filter)"
332
+ };
340
333
  }
341
334
  }
342
335
  };
@@ -344,23 +337,17 @@ const dropShadowResolver = ([, s], { theme }) => {
344
337
  let v = theme.dropShadow?.[s || "DEFAULT"];
345
338
  if (v != null) {
346
339
  const shadows = colorableShadows(v, "--un-drop-shadow-color");
347
- return [
348
- filterBase,
349
- {
350
- "--un-drop-shadow": `drop-shadow(${shadows.join(") drop-shadow(")})`,
351
- "filter": "var(--un-filter)"
352
- }
353
- ];
340
+ return {
341
+ "--un-drop-shadow": `drop-shadow(${shadows.join(") drop-shadow(")})`,
342
+ "filter": "var(--un-filter)"
343
+ };
354
344
  }
355
345
  v = handler.bracket.cssvar(s);
356
346
  if (v != null) {
357
- return [
358
- filterBase,
359
- {
360
- "--un-drop-shadow": `drop-shadow(${v})`,
361
- "filter": "var(--un-filter)"
362
- }
363
- ];
347
+ return {
348
+ "--un-drop-shadow": `drop-shadow(${v})`,
349
+ "filter": "var(--un-filter)"
350
+ };
364
351
  }
365
352
  };
366
353
  const filters = [
@@ -386,33 +373,17 @@ const filters = [
386
373
  }],
387
374
  [/^(?:filter-)?drop-shadow-color-(.+)$/, colorResolver("--un-drop-shadow-color", "drop-shadow")],
388
375
  [/^(?:filter-)?drop-shadow-color-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-drop-shadow-opacity": handler.bracket.percent(opacity) })],
389
- [/^(?:(backdrop-)|filter-)?grayscale(?:-(.+))?$/, toFilter("grayscale", percentWithDefault), {
390
- autocomplete: ["(backdrop|filter)-grayscale", "(backdrop|filter)-grayscale-<percent>", "grayscale-<percent>"]
391
- }],
376
+ [/^(?:(backdrop-)|filter-)?grayscale(?:-(.+))?$/, toFilter("grayscale", percentWithDefault), { autocomplete: ["(backdrop|filter)-grayscale", "(backdrop|filter)-grayscale-<percent>", "grayscale-<percent>"] }],
392
377
  [/^(?:(backdrop-)|filter-)?hue-rotate-(.+)$/, toFilter("hue-rotate", (s) => handler.bracket.cssvar.degree(s))],
393
- [/^(?:(backdrop-)|filter-)?invert(?:-(.+))?$/, toFilter("invert", percentWithDefault), {
394
- autocomplete: ["(backdrop|filter)-invert", "(backdrop|filter)-invert-<percent>", "invert-<percent>"]
395
- }],
396
- [/^(backdrop-)op(?:acity)-(.+)$/, toFilter("opacity", (s) => handler.bracket.cssvar.percent(s)), {
397
- autocomplete: ["backdrop-(op|opacity)", "backdrop-(op|opacity)-<percent>"]
378
+ [/^(?:(backdrop-)|filter-)?invert(?:-(.+))?$/, toFilter("invert", percentWithDefault), { autocomplete: ["(backdrop|filter)-invert", "(backdrop|filter)-invert-<percent>", "invert-<percent>"] }],
379
+ [/^(backdrop-)op(?:acity)-(.+)$/, toFilter("opacity", (s) => handler.bracket.cssvar.percent(s)), { autocomplete: ["backdrop-(op|opacity)", "backdrop-(op|opacity)-<percent>"] }],
380
+ [/^(?:(backdrop-)|filter-)?saturate-(.+)$/, toFilter("saturate", (s) => handler.bracket.cssvar.percent(s)), { autocomplete: ["(backdrop|filter)-saturate", "(backdrop|filter)-saturate-<percent>", "saturate-<percent>"] }],
381
+ [/^(?:(backdrop-)|filter-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault), { autocomplete: ["(backdrop|filter)-sepia", "(backdrop|filter)-sepia-<percent>", "sepia-<percent>"] }],
382
+ ["filter", { filter: "var(--un-filter)" }],
383
+ ["backdrop-filter", {
384
+ "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
385
+ "backdrop-filter": "var(--un-backdrop-filter)"
398
386
  }],
399
- [/^(?:(backdrop-)|filter-)?saturate-(.+)$/, toFilter("saturate", (s) => handler.bracket.cssvar.percent(s)), {
400
- autocomplete: ["(backdrop|filter)-saturate", "(backdrop|filter)-saturate-<percent>", "saturate-<percent>"]
401
- }],
402
- [/^(?:(backdrop-)|filter-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault), {
403
- autocomplete: ["(backdrop|filter)-sepia", "(backdrop|filter)-sepia-<percent>", "sepia-<percent>"]
404
- }],
405
- [/^filter$/, () => [
406
- filterBase,
407
- { filter: "var(--un-filter)" }
408
- ]],
409
- [/^backdrop-filter$/, () => [
410
- backdropFilterBase,
411
- {
412
- "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
413
- "backdrop-filter": "var(--un-backdrop-filter)"
414
- }
415
- ], { autocomplete: "backdrop-filter" }],
416
387
  ["filter-none", { filter: "none" }],
417
388
  ["backdrop-filter-none", {
418
389
  "-webkit-backdrop-filter": "none",
@@ -556,6 +527,10 @@ const mixBlendModes = [
556
527
  ["mix-blend-normal", { "mix-blend-mode": "normal" }]
557
528
  ];
558
529
 
530
+ const borderSpacingBase = {
531
+ "--un-border-spacing-x": 0,
532
+ "--un-border-spacing-y": 0
533
+ };
559
534
  const tables = [
560
535
  ["inline-table", { display: "inline-table" }],
561
536
  ["table", { display: "table" }],
@@ -569,7 +544,25 @@ const tables = [
569
544
  ["table-row-group", { display: "table-row-group" }],
570
545
  ["border-collapse", { "border-collapse": "collapse" }],
571
546
  ["border-separate", { "border-collapse": "separate" }],
572
- [/^border-spacing-(.+)$/, ([, d], { theme }) => ({ "border-spacing": theme.spacing?.[d] ?? handler.bracket.cssvar.auto.fraction.rem(d) }), { autocomplete: ["border-spacing", "border-spacing-$spacing"] }],
547
+ [/^border-spacing-(.+)$/, ([, s], { theme }) => {
548
+ const v = theme.spacing?.[s] ?? handler.bracket.cssvar.global.auto.fraction.rem(s);
549
+ if (v != null) {
550
+ return {
551
+ "--un-border-spacing-x": v,
552
+ "--un-border-spacing-y": v,
553
+ "border-spacing": "var(--un-border-spacing-x) var(--un-border-spacing-y)"
554
+ };
555
+ }
556
+ }, { autocomplete: ["border-spacing", "border-spacing-$spacing"] }],
557
+ [/^border-spacing-([xy])-(.+)$/, ([, d, s], { theme }) => {
558
+ const v = theme.spacing?.[s] ?? handler.bracket.cssvar.global.auto.fraction.rem(s);
559
+ if (v != null) {
560
+ return {
561
+ [`--un-border-spacing-${d}`]: v,
562
+ "border-spacing": "var(--un-border-spacing-x) var(--un-border-spacing-y)"
563
+ };
564
+ }
565
+ }, { autocomplete: ["border-spacing-(x|y)", "border-spacing-(x|y)-$spacing"] }],
573
566
  ["caption-top", { "caption-side": "top" }],
574
567
  ["caption-bottom", { "caption-side": "bottom" }],
575
568
  ["table-auto", { "table-layout": "auto" }],
@@ -653,16 +646,12 @@ const fontVariantNumericBase = {
653
646
  "--un-numeric-figure": varEmpty,
654
647
  "--un-numeric-spacing": varEmpty,
655
648
  "--un-numeric-fraction": varEmpty,
656
- "--un-font-variant-numeric": "var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)",
657
- [CONTROL_SHORTCUT_NO_MERGE]: ""
649
+ "--un-font-variant-numeric": "var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)"
658
650
  };
659
- const toEntries = (entry) => [
660
- fontVariantNumericBase,
661
- {
662
- ...entry,
663
- "font-variant-numeric": "var(--un-font-variant-numeric)"
664
- }
665
- ];
651
+ const toEntries = (entry) => ({
652
+ ...entry,
653
+ "font-variant-numeric": "var(--un-font-variant-numeric)"
654
+ });
666
655
  const fontVariantNumeric = [
667
656
  [/^ordinal$/, () => toEntries({ "--un-ordinal": "ordinal" }), { autocomplete: "ordinal" }],
668
657
  [/^slashed-zero$/, () => toEntries({ "--un-slashed-zero": "slashed-zero" }), { autocomplete: "slashed-zero" }],
@@ -679,46 +668,36 @@ const touchActionBase = {
679
668
  "--un-pan-x": varEmpty,
680
669
  "--un-pan-y": varEmpty,
681
670
  "--un-pinch-zoom": varEmpty,
682
- "--un-touch-action": "var(--un-pan-x) var(--un-pan-y) var(--un-pinch-zoom)",
683
- [CONTROL_SHORTCUT_NO_MERGE]: ""
671
+ "--un-touch-action": "var(--un-pan-x) var(--un-pan-y) var(--un-pinch-zoom)"
684
672
  };
685
673
  const touchActions = [
686
- [/^touch-pan-(x|left|right)$/, ([, d]) => [
687
- touchActionBase,
688
- {
689
- "--un-pan-x": `pan-${d}`,
690
- "touch-action": "var(--un-touch-action)"
691
- }
692
- ], { autocomplete: ["touch-pan", "touch-pan-(x|left|right|y|up|down)"] }],
693
- [/^touch-pan-(y|up|down)$/, ([, d]) => [
694
- touchActionBase,
695
- {
696
- "--un-pan-y": `pan-${d}`,
697
- "touch-action": "var(--un-touch-action)"
698
- }
699
- ]],
700
- [/^touch-pinch-zoom$/, () => [
701
- touchActionBase,
702
- {
703
- "--un-pinch-zoom": "pinch-zoom",
704
- "touch-action": "var(--un-touch-action)"
705
- }
706
- ], { autocomplete: ["touch-pinch", "touch-pinch-zoom"] }],
674
+ [/^touch-pan-(x|left|right)$/, ([, d]) => ({
675
+ "--un-pan-x": `pan-${d}`,
676
+ "touch-action": "var(--un-touch-action)"
677
+ }), { autocomplete: ["touch-pan", "touch-pan-(x|left|right|y|up|down)"] }],
678
+ [/^touch-pan-(y|up|down)$/, ([, d]) => ({
679
+ "--un-pan-y": `pan-${d}`,
680
+ "touch-action": "var(--un-touch-action)"
681
+ })],
682
+ ["touch-pinch-zoom", {
683
+ "--un-pinch-zoom": "pinch-zoom",
684
+ "touch-action": "var(--un-touch-action)"
685
+ }],
707
686
  ["touch-auto", { "touch-action": "auto" }],
708
687
  ["touch-manipulation", { "touch-action": "manipulation" }],
709
688
  ["touch-none", { "touch-action": "none" }]
710
689
  ];
711
690
 
691
+ const scrollSnapTypeBase = {
692
+ "--un-scroll-snap-strictness": "proximity"
693
+ };
712
694
  const scrolls = [
713
- [/^snap-(x|y|both)$/, ([, d]) => [
714
- {
715
- "--un-scroll-snap-strictness": "proximity",
716
- [CONTROL_SHORTCUT_NO_MERGE]: ""
717
- },
718
- {
719
- "scroll-snap-type": `${d} var(--un-scroll-snap-strictness)`
720
- }
721
- ], { autocomplete: "snap-(x|y|both)" }],
695
+ [/^snap-(x|y)$/, ([, d]) => ({
696
+ "scroll-snap-type": `${d} var(--un-scroll-snap-strictness)`
697
+ }), { autocomplete: "snap-(x|y|both)" }],
698
+ [/^snap-both$/, () => ({
699
+ "scroll-snap-type": "both var(--un-scroll-snap-strictness)"
700
+ })],
722
701
  ["snap-mandatory", { "--un-scroll-snap-strictness": "mandatory" }],
723
702
  ["snap-proximity", { "--un-scroll-snap-strictness": "proximity" }],
724
703
  ["snap-none", { "scroll-snap-type": "none" }],
@@ -1011,6 +990,17 @@ const theme = {
1011
990
  pointer: "(hover) and (pointer: coarse)",
1012
991
  mouse: "(hover) and (pointer: fine)",
1013
992
  hd_color: "(dynamic-range: high)"
993
+ },
994
+ preflightBase: {
995
+ ...transformBase,
996
+ ...touchActionBase,
997
+ ...scrollSnapTypeBase,
998
+ ...fontVariantNumericBase,
999
+ ...borderSpacingBase,
1000
+ ...boxShadowsBase,
1001
+ ...ringBase,
1002
+ ...filterBase,
1003
+ ...backdropFilterBase
1014
1004
  }
1015
1005
  };
1016
1006
 
@@ -1087,7 +1077,8 @@ const presetWind = (options = {}) => {
1087
1077
  rules,
1088
1078
  shortcuts,
1089
1079
  variants: variants(options),
1090
- options
1080
+ options,
1081
+ preflights
1091
1082
  };
1092
1083
  };
1093
1084
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unocss/preset-wind",
3
- "version": "0.35.4",
3
+ "version": "0.37.1",
4
4
  "description": "Tailwind / Windi CSS compact preset for UnoCSS",
5
5
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
6
6
  "license": "MIT",
@@ -35,8 +35,8 @@
35
35
  "*.css"
36
36
  ],
37
37
  "dependencies": {
38
- "@unocss/core": "0.35.4",
39
- "@unocss/preset-mini": "0.35.4"
38
+ "@unocss/core": "0.37.1",
39
+ "@unocss/preset-mini": "0.37.1"
40
40
  },
41
41
  "scripts": {
42
42
  "build": "unbuild",