@unocss/preset-wind 0.30.7 → 0.30.11

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
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const core = require('@unocss/core');
6
+ const utils = require('@unocss/preset-mini/utils');
6
7
  const theme$1 = require('@unocss/preset-mini/theme');
7
8
  const presetMini = require('@unocss/preset-mini');
8
9
  const rules$1 = require('@unocss/preset-mini/rules');
9
- const utils = require('@unocss/preset-mini/utils');
10
10
  const variants$1 = require('@unocss/preset-mini/variants');
11
11
 
12
12
  const animations = [
@@ -26,15 +26,45 @@ ${constructCSS({ animation: `${name}` })}`;
26
26
  ${constructCSS(Object.assign({ animation: `${name} ${duration} ${timing} infinite` }, props))}`;
27
27
  }
28
28
  return { animation: utils.handler.bracket.cssvar(name) };
29
- }],
29
+ }, { autocomplete: "animate-$animation.keyframes" }],
30
30
  [/^animate-name-(.+)/, ([, d]) => ({ "animation-name": utils.handler.bracket.cssvar(d) ?? d })],
31
- [/^animate-duration-(.+)$/, ([, d], { theme }) => ({ "animation-duration": theme.duration?.[d || "DEFAULT"] ?? utils.handler.bracket.cssvar.time(d) })],
32
- [/^animate-delay-(.+)$/, ([, d], { theme }) => ({ "animation-delay": theme.duration?.[d || "DEFAULT"] ?? utils.handler.bracket.cssvar.time(d) })],
33
- [/^animate-ease(?:-(.+))?$/, ([, d], { theme }) => ({ "animation-timing-function": theme.easing?.[d || "DEFAULT"] ?? utils.handler.bracket.cssvar(d) })],
34
- [/^animate-(?:fill-|mode-|fill-mode-)?(none|forwards|backwards|both|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-fill-mode": d })],
35
- [/^animate-(?:direction-)?(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-direction": d })],
36
- [/^animate-(?:iteration-|count-|iteration-count-)(.+)$/, ([, d]) => ({ "animation-iteration-count": utils.handler.bracket.cssvar(d) ?? d.replace(/\-/g, ",") })],
37
- [/^animate-(?:play-|state-|play-state-)?(paused|running|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-play-state": d })],
31
+ [/^animate-duration-(.+)$/, ([, d], { theme }) => ({ "animation-duration": theme.duration?.[d || "DEFAULT"] ?? utils.handler.bracket.cssvar.time(d) }), { autocomplete: ["animate-duration", "animate-duration-$duration"] }],
32
+ [/^animate-delay-(.+)$/, ([, d], { theme }) => ({ "animation-delay": theme.duration?.[d || "DEFAULT"] ?? utils.handler.bracket.cssvar.time(d) }), { autocomplete: ["animate-delay", "animate-delay-$duration"] }],
33
+ [/^animate-ease(?:-(.+))?$/, ([, d], { theme }) => ({ "animation-timing-function": theme.easing?.[d || "DEFAULT"] ?? utils.handler.bracket.cssvar(d) }), { autocomplete: "animate-delay-$easing" }],
34
+ [
35
+ /^animate-(?:fill-|mode-|fill-mode-)?(none|forwards|backwards|both|inherit|initial|revert|unset)$/,
36
+ ([, d]) => ({ "animation-fill-mode": d }),
37
+ {
38
+ autocomplete: [
39
+ "animate-(fill|mode|fill-mode)",
40
+ "animate-(fill|mode|fill-mode)-(none|forwards|backwards|both|inherit|initial|revert|unset)",
41
+ "animate-(none|forwards|backwards|both|inherit|initial|revert|unset)"
42
+ ]
43
+ }
44
+ ],
45
+ [
46
+ /^animate-(?:direction-)?(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|unset)$/,
47
+ ([, d]) => ({ "animation-direction": d }),
48
+ {
49
+ autocomplete: [
50
+ "animate-direction",
51
+ "animate-direction-(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|unset)",
52
+ "animate-(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|unset)"
53
+ ]
54
+ }
55
+ ],
56
+ [/^animate-(?:iteration-|count-|iteration-count-)(.+)$/, ([, d]) => ({ "animation-iteration-count": utils.handler.bracket.cssvar(d) ?? d.replace(/\-/g, ",") }), { autocomplete: ["animate-(iteration|count|iteration-count)", "animate-(iteration|count|iteration-count)-<num>"] }],
57
+ [
58
+ /^animate-(?:play-|state-|play-state-)?(paused|running|inherit|initial|revert|unset)$/,
59
+ ([, d]) => ({ "animation-play-state": d }),
60
+ {
61
+ autocomplete: [
62
+ "animate-(play|state|play-state)",
63
+ "animate-(play|state|play-state)-(paused|running|inherit|initial|revert|unset)",
64
+ "animate-(paused|running|inherit|initial|revert|unset)"
65
+ ]
66
+ }
67
+ ],
38
68
  ["animate-none", { animation: "none" }]
39
69
  ];
40
70
 
@@ -75,7 +105,9 @@ const backgroundStyles = [
75
105
  else if (/^\[length:(.+)\]$/.test(d) && utils.handler.bracketOfLength(d) != null)
76
106
  return { "background-size": utils.handler.bracketOfLength(d).split(" ").map((e) => utils.handler.fraction.auto.px.cssvar(e)).join(" ") };
77
107
  }],
78
- [/^bg-gradient-(.+)$/, ([, d]) => ({ "--un-gradient": utils.handler.bracket(d) })],
108
+ [/^bg-gradient-(.+)$/, ([, d]) => ({ "--un-gradient": utils.handler.bracket(d) }), {
109
+ autocomplete: ["bg-gradient", "bg-gradient-(from|to|via)", "bg-gradient-(from|to|via)-$colors", "bg-gradient-(from|to|via)-(op|opacity)", "bg-gradient-(from|to|via)-(op|opacity)-<percent>"]
110
+ }],
79
111
  [/^(?:bg-gradient-)?stops-(\[.+\])$/, ([, s]) => ({ "--un-gradient-stops": utils.handler.bracket(s) })],
80
112
  [/^(?:bg-gradient-)?from-(.+)$/, bgGradientColorResolver("from")],
81
113
  [/^(?:bg-gradient-)?to-(.+)$/, bgGradientColorResolver("to")],
@@ -85,7 +117,7 @@ const backgroundStyles = [
85
117
  [/^(?:bg-gradient-)?via-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-via-opacity": utils.handler.bracket.percent(opacity) })],
86
118
  [/^bg-gradient-((?:repeating-)?(?:linear|radial|conic))$/, ([, s]) => ({
87
119
  "background-image": `${s}-gradient(var(--un-gradient, var(--un-gradient-stops, rgba(255, 255, 255, 0))))`
88
- })],
120
+ }), { autocomplete: ["bg-gradient-repeating", "bg-gradient-(linear|radial|conic)", "bg-gradient-repeating-(linear|radial|conic)"] }],
89
121
  [/^bg-gradient-to-([rltb]{1,2})$/, ([, d]) => {
90
122
  if (d in utils.positionMap) {
91
123
  return {
@@ -94,7 +126,7 @@ const backgroundStyles = [
94
126
  "background-image": "linear-gradient(var(--un-gradient))"
95
127
  };
96
128
  }
97
- }],
129
+ }, { autocomplete: `bg-gradient-to-(${Object.keys(utils.positionMap).filter((k) => k.length <= 2 && Array.from(k).every((c) => "rltb".includes(c))).join("|")})` }],
98
130
  [/^(?:bg-gradient-)?shape-(.+)$/, ([, d]) => {
99
131
  const v = d in utils.positionMap ? `to ${utils.positionMap[d]}` : utils.handler.bracket(d);
100
132
  if (v != null) {
@@ -103,7 +135,7 @@ const backgroundStyles = [
103
135
  "--un-gradient": "var(--un-gradient-shape), var(--un-gradient-stops)"
104
136
  };
105
137
  }
106
- }],
138
+ }, { autocomplete: ["bg-gradient-shape", `bg-gradient-shape-(${Object.keys(utils.positionMap).join("|")})`, `shape-(${Object.keys(utils.positionMap).join("|")})`] }],
107
139
  ["bg-none", { "background-image": "none" }],
108
140
  ["box-decoration-slice", { "box-decoration-break": "slice" }],
109
141
  ["box-decoration-clone", { "box-decoration-break": "clone" }],
@@ -138,18 +170,18 @@ const listStyle = [
138
170
  };
139
171
  }
140
172
  return { "list-style-type": style };
141
- }],
173
+ }, { autocomplete: ["list-(disc|circle|square|decimal|zero-decimal|greek|roman|upper-roman|alpha|upper-alpha)", "list-(disc|circle|square|decimal|zero-decimal|greek|roman|upper-roman|alpha|upper-alpha)-(outside|inside)"] }],
142
174
  ["list-outside", { "list-style-position": "outside" }],
143
175
  ["list-inside", { "list-style-position": "inside" }],
144
176
  ["list-none", { "list-style-type": "none" }]
145
177
  ];
146
178
  const accents = [
147
- [/^accent-(.+)$/, utils.colorResolver("accent-color", "accent")],
148
- [/^accent-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-accent-opacity": utils.handler.bracket.percent(d) })]
179
+ [/^accent-(.+)$/, utils.colorResolver("accent-color", "accent"), { autocomplete: "accent-$colors" }],
180
+ [/^accent-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-accent-opacity": utils.handler.bracket.percent(d) }), { autocomplete: ["accent-(op|opacity)", "accent-(op|opacity)-<percent>"] }]
149
181
  ];
150
182
  const carets = [
151
- [/^caret-(.+)$/, utils.colorResolver("caret-color", "caret")],
152
- [/^caret-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-caret-opacity": utils.handler.bracket.percent(d) })]
183
+ [/^caret-(.+)$/, utils.colorResolver("caret-color", "caret"), { autocomplete: "caret-$colors" }],
184
+ [/^caret-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-caret-opacity": utils.handler.bracket.percent(d) }), { autocomplete: ["caret-(op|opacity)", "caret-(op|opacity)-<percent>"] }]
153
185
  ];
154
186
  const imageRenderings = [
155
187
  ["image-render-auto", { "image-rendering": "auto" }],
@@ -179,7 +211,7 @@ const scrollBehaviors = [
179
211
  ];
180
212
 
181
213
  const columns = [
182
- [/^columns-(.+)$/, ([, v]) => ({ columns: utils.handler.bracket.global.number.auto.numberWithUnit(v) })],
214
+ [/^columns-(.+)$/, ([, v]) => ({ columns: utils.handler.bracket.global.number.auto.numberWithUnit(v) }), { autocomplete: "columns-<num>" }],
183
215
  ["break-before-auto", { "break-before": "auto" }],
184
216
  ["break-before-avoid", { "break-before": "avoid" }],
185
217
  ["break-before-all", { "break-before": "all" }],
@@ -222,8 +254,8 @@ const container = [
222
254
  ]
223
255
  ];
224
256
  const containerShortcuts = [
225
- [/^(?:(\w+)[:-])?container$/, ([, bp], { theme }) => {
226
- let points = Object.keys(theme.breakpoints || {});
257
+ [/^(?:(\w+)[:-])?container$/, ([, bp], context) => {
258
+ let points = Object.keys(utils.resolveBreakpoints(context) ?? {});
227
259
  if (bp) {
228
260
  if (!points.includes(bp))
229
261
  return;
@@ -317,18 +349,44 @@ const dropShadowResolver = ([, s], { theme }) => {
317
349
  }
318
350
  };
319
351
  const filters = [
320
- [/^(?:(backdrop-)|filter-)?blur(?:-(.+))?$/, toFilter("blur", (s, theme) => theme.blur?.[s || "DEFAULT"] || utils.handler.bracket.cssvar.px(s))],
321
- [/^(?:(backdrop-)|filter-)?brightness-(.+)$/, toFilter("brightness", (s) => utils.handler.bracket.cssvar.percent(s))],
322
- [/^(?:(backdrop-)|filter-)?contrast-(.+)$/, toFilter("contrast", (s) => utils.handler.bracket.cssvar.percent(s))],
323
- [/^(?:filter-)?drop-shadow(?:-(.+))?$/, dropShadowResolver],
352
+ [/^(?:(backdrop-)|filter-)?blur(?:-(.+))?$/, toFilter("blur", (s, theme) => theme.blur?.[s || "DEFAULT"] || utils.handler.bracket.cssvar.px(s)), { autocomplete: ["(backdrop|filter)-blur-$blur", "blur-$blur"] }],
353
+ [/^(?:(backdrop-)|filter-)?brightness-(.+)$/, toFilter("brightness", (s) => utils.handler.bracket.cssvar.percent(s)), { autocomplete: ["(backdrop|filter)-brightness-<percent>", "brightness-<percent>"] }],
354
+ [/^(?:(backdrop-)|filter-)?contrast-(.+)$/, toFilter("contrast", (s) => utils.handler.bracket.cssvar.percent(s)), { autocomplete: ["(backdrop|filter)-contrast-<percent>", "contrast-<percent>"] }],
355
+ [/^(?:filter-)?drop-shadow(?:-(.+))?$/, dropShadowResolver, {
356
+ autocomplete: [
357
+ "filter-drop",
358
+ "filter-drop-shadow",
359
+ "filter-drop-shadow-color",
360
+ "drop-shadow",
361
+ "drop-shadow-color",
362
+ "filter-drop-shadow-$dropShadow",
363
+ "drop-shadow-$dropShadow",
364
+ "filter-drop-shadow-color-$colors",
365
+ "drop-shadow-color-$colors",
366
+ "filter-drop-shadow-color-(op|opacity)",
367
+ "drop-shadow-color-(op|opacity)",
368
+ "filter-drop-shadow-color-(op|opacity)-<percent>",
369
+ "drop-shadow-color-(op|opacity)-<percent>"
370
+ ]
371
+ }],
324
372
  [/^(?:filter-)?drop-shadow-color-(.+)$/, utils.colorResolver("--un-drop-shadow-color", "drop-shadow")],
325
373
  [/^(?:filter-)?drop-shadow-color-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-drop-shadow-opacity": utils.handler.bracket.percent(opacity) })],
326
- [/^(?:(backdrop-)|filter-)?grayscale(?:-(.+))?$/, toFilter("grayscale", percentWithDefault)],
374
+ [/^(?:(backdrop-)|filter-)?grayscale(?:-(.+))?$/, toFilter("grayscale", percentWithDefault), {
375
+ autocomplete: ["(backdrop|filter)-grayscale", "(backdrop|filter)-grayscale-<percent>", "grayscale-<percent>"]
376
+ }],
327
377
  [/^(?:(backdrop-)|filter-)?hue-rotate-(.+)$/, toFilter("hue-rotate", (s) => utils.handler.bracket.cssvar.degree(s))],
328
- [/^(?:(backdrop-)|filter-)?invert(?:-(.+))?$/, toFilter("invert", percentWithDefault)],
329
- [/^(backdrop-)opacity-(.+)$/, toFilter("opacity", (s) => utils.handler.bracket.cssvar.percent(s))],
330
- [/^(?:(backdrop-)|filter-)?saturate-(.+)$/, toFilter("saturate", (s) => utils.handler.bracket.cssvar.percent(s))],
331
- [/^(?:(backdrop-)|filter-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault)],
378
+ [/^(?:(backdrop-)|filter-)?invert(?:-(.+))?$/, toFilter("invert", percentWithDefault), {
379
+ autocomplete: ["(backdrop|filter)-invert", "(backdrop|filter)-invert-<percent>", "invert-<percent>"]
380
+ }],
381
+ [/^(backdrop-)op(?:acity)-(.+)$/, toFilter("opacity", (s) => utils.handler.bracket.cssvar.percent(s)), {
382
+ autocomplete: ["backdrop-(op|opacity)", "backdrop-(op|opacity)-<percent>"]
383
+ }],
384
+ [/^(?:(backdrop-)|filter-)?saturate-(.+)$/, toFilter("saturate", (s) => utils.handler.bracket.cssvar.percent(s)), {
385
+ autocomplete: ["(backdrop|filter)-saturate", "(backdrop|filter)-saturate-<percent>", "saturate-<percent>"]
386
+ }],
387
+ [/^(?:(backdrop-)|filter-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault), {
388
+ autocomplete: ["(backdrop|filter)-sepia", "(backdrop|filter)-sepia-<percent>", "sepia-<percent>"]
389
+ }],
332
390
  [/^filter$/, () => [
333
391
  filterBase,
334
392
  { filter: "var(--un-filter)" }
@@ -339,7 +397,7 @@ const filters = [
339
397
  "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
340
398
  "backdrop-filter": "var(--un-backdrop-filter)"
341
399
  }
342
- ]],
400
+ ], { autocomplete: "backdrop-filter" }],
343
401
  ["filter-none", { filter: "none" }],
344
402
  ["backdrop-filter-none", {
345
403
  "-webkit-backdrop-filter": "none",
@@ -348,7 +406,7 @@ const filters = [
348
406
  ];
349
407
 
350
408
  const spaces = [
351
- [/^space-?([xy])-?(-?.+)$/, handlerSpace],
409
+ [/^space-?([xy])-?(-?.+)$/, handlerSpace, { autocomplete: ["space-(x|y|block|inline)", "space-(x|y|block|inline)-reverse", "space-(x|y|block|inline)-$spacing"] }],
352
410
  [/^space-?([xy])-reverse$/, ([, d]) => ({ [`--un-space-${d}-reverse`]: 1 })],
353
411
  [/^space-(block|inline)-(-?.+)$/, handlerSpace],
354
412
  [/^space-(block|inline)-reverse$/, ([, d]) => ({ [`--un-space-${d}-reverse`]: 1 })]
@@ -453,7 +511,7 @@ const objectPositions = [
453
511
  ["object-fill", { "object-fit": "fill" }],
454
512
  ["object-scale-down", { "object-fit": "scale-down" }],
455
513
  ["object-none", { "object-fit": "none" }],
456
- [/^object-([-\w]+)$/, ([, s]) => ({ "object-position": utils.positionMap[s] })]
514
+ [/^object-([-\w]+)$/, ([, s]) => ({ "object-position": utils.positionMap[s] }), { autocomplete: `object-(${Object.keys(utils.positionMap).join("|")})` }]
457
515
  ];
458
516
  const backgroundBlendModes = [
459
517
  ["bg-blend-multiply", { "background-blend-mode": "multiply" }],
@@ -505,7 +563,7 @@ const tables = [
505
563
  ["table-row-group", { display: "table-row-group" }],
506
564
  ["border-collapse", { "border-collapse": "collapse" }],
507
565
  ["border-separate", { "border-collapse": "separate" }],
508
- [/^border-spacing-(.+)$/, ([, d], { theme }) => ({ "border-spacing": theme.spacing?.[d] ?? utils.handler.bracket.cssvar.auto.fraction.rem(d) })],
566
+ [/^border-spacing-(.+)$/, ([, d], { theme }) => ({ "border-spacing": theme.spacing?.[d] ?? utils.handler.bracket.cssvar.auto.fraction.rem(d) }), { autocomplete: ["border-spacing", "border-spacing-$spacing"] }],
509
567
  ["caption-top", { "caption-side": "top" }],
510
568
  ["caption-bottom", { "caption-side": "bottom" }],
511
569
  ["table-auto", { "table-layout": "auto" }],
@@ -538,14 +596,14 @@ const cssVariables = [
538
596
  ];
539
597
 
540
598
  const divides = [
541
- [/^divide-?([xy])$/, handlerDivide],
599
+ [/^divide-?([xy])$/, handlerDivide, { autocomplete: ["divide-(x|y|block|inline)", "divide-(x|y|block|inline)-reverse", "divide-(x|y|block|inline)-$lineWidth"] }],
542
600
  [/^divide-?([xy])-?(-?.+)$/, handlerDivide],
543
601
  [/^divide-?([xy])-reverse$/, ([, d]) => ({ [`--un-divide-${d}-reverse`]: 1 })],
544
602
  [/^divide-(block|inline)$/, handlerDivide],
545
603
  [/^divide-(block|inline)-(-?.+)$/, handlerDivide],
546
604
  [/^divide-(block|inline)-reverse$/, ([, d]) => ({ [`--un-divide-${d}-reverse`]: 1 })],
547
- [/^divide-(.+)$/, utils.colorResolver("border-color", "divide")],
548
- [/^divide-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-divide-opacity": utils.handler.bracket.percent(opacity) })],
605
+ [/^divide-(.+)$/, utils.colorResolver("border-color", "divide"), { autocomplete: "divide-$colors" }],
606
+ [/^divide-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-divide-opacity": utils.handler.bracket.percent(opacity) }), { autocomplete: ["divide-(op|opacity)", "divide-(op|opacity)-<percent>"] }],
549
607
  ["divide-solid", { "border-style": "solid" }],
550
608
  ["divide-dashed", { "border-style": "dashed" }],
551
609
  ["divide-dotted", { "border-style": "dotted" }],
@@ -576,7 +634,7 @@ const lineClamps = [
576
634
  "-webkit-box-orient": "vertical",
577
635
  "-webkit-line-clamp": v,
578
636
  "line-clamp": v
579
- })],
637
+ }), { autocomplete: ["line-clamp", "line-clamp-<num>"] }],
580
638
  ["line-clamp-none", {
581
639
  "-webkit-line-clamp": "unset",
582
640
  "line-clamp": "unset"
@@ -600,14 +658,14 @@ const toEntries = (entry) => [
600
658
  }
601
659
  ];
602
660
  const fontVariantNumeric = [
603
- [/^ordinal$/, () => toEntries({ "--un-ordinal": "ordinal" })],
604
- [/^slashed-zero$/, () => toEntries({ "--un-slashed-zero": "slashed-zero" })],
605
- [/^lining-nums$/, () => toEntries({ "--un-numeric-figure": "lining-nums" })],
606
- [/^oldstyle-nums$/, () => toEntries({ "--un-numeric-figure": "oldstyle-nums" })],
607
- [/^proportional-nums$/, () => toEntries({ "--un-numeric-spacing": "proportional-nums" })],
608
- [/^tabular-nums$/, () => toEntries({ "--un-numeric-spacing": "tabular-nums" })],
609
- [/^diagonal-fractions$/, () => toEntries({ "--un-numeric-fraction": "diagonal-fractions" })],
610
- [/^stacked-fractions$/, () => toEntries({ "--un-numeric-fraction": "stacked-fractions" })],
661
+ [/^ordinal$/, () => toEntries({ "--un-ordinal": "ordinal" }), { autocomplete: "ordinal" }],
662
+ [/^slashed-zero$/, () => toEntries({ "--un-slashed-zero": "slashed-zero" }), { autocomplete: "slashed-zero" }],
663
+ [/^lining-nums$/, () => toEntries({ "--un-numeric-figure": "lining-nums" }), { autocomplete: "lining-nums" }],
664
+ [/^oldstyle-nums$/, () => toEntries({ "--un-numeric-figure": "oldstyle-nums" }), { autocomplete: "oldstyle-nums" }],
665
+ [/^proportional-nums$/, () => toEntries({ "--un-numeric-spacing": "proportional-nums" }), { autocomplete: "proportional-nums" }],
666
+ [/^tabular-nums$/, () => toEntries({ "--un-numeric-spacing": "tabular-nums" }), { autocomplete: "tabular-nums" }],
667
+ [/^diagonal-fractions$/, () => toEntries({ "--un-numeric-fraction": "diagonal-fractions" }), { autocomplete: "diagonal-fractions" }],
668
+ [/^stacked-fractions$/, () => toEntries({ "--un-numeric-fraction": "stacked-fractions" }), { autocomplete: "stacked-fractions" }],
611
669
  ["normal-nums", { "font-variant-numeric": "normal" }]
612
670
  ];
613
671
 
@@ -625,7 +683,7 @@ const touchActions = [
625
683
  "--un-pan-x": `pan-${d}`,
626
684
  "touch-action": "var(--un-touch-action)"
627
685
  }
628
- ]],
686
+ ], { autocomplete: ["touch-pan", "touch-pan-(x|left|right|y|up|down)"] }],
629
687
  [/^touch-pan-(y|up|down)$/, ([, d]) => [
630
688
  touchActionBase,
631
689
  {
@@ -639,7 +697,7 @@ const touchActions = [
639
697
  "--un-pinch-zoom": "pinch-zoom",
640
698
  "touch-action": "var(--un-touch-action)"
641
699
  }
642
- ]],
700
+ ], { autocomplete: ["touch-pinch", "touch-pinch-zoom"] }],
643
701
  ["touch-auto", { "touch-action": "auto" }],
644
702
  ["touch-manipulation", { "touch-action": "manipulation" }],
645
703
  ["touch-none", { "touch-action": "none" }]
@@ -654,7 +712,7 @@ const scrolls = [
654
712
  {
655
713
  "scroll-snap-type": `${d} var(--un-scroll-snap-strictness)`
656
714
  }
657
- ]],
715
+ ], { autocomplete: "snap-(x|y|both)" }],
658
716
  ["snap-mandatory", { "--un-scroll-snap-strictness": "mandatory" }],
659
717
  ["snap-proximity", { "--un-scroll-snap-strictness": "proximity" }],
660
718
  ["snap-none", { "scroll-snap-type": "none" }],
@@ -664,7 +722,14 @@ const scrolls = [
664
722
  ["snap-align-none", { "scroll-snap-align": "none" }],
665
723
  ["snap-normal", { "scroll-snap-stop": "normal" }],
666
724
  ["snap-always", { "scroll-snap-stop": "always" }],
667
- [/^scroll-ma?()-?(-?.+)$/, utils.directionSize("scroll-margin")],
725
+ [/^scroll-ma?()-?(-?.+)$/, utils.directionSize("scroll-margin"), {
726
+ autocomplete: [
727
+ "scroll-(m|p|ma|pa|block|inline)",
728
+ "scroll-(m|p|ma|pa|block|inline)-$spacing",
729
+ "scroll-(m|p|ma|pa|block|inline)-(x|y|r|l|t|b|bs|be|is|ie)",
730
+ "scroll-(m|p|ma|pa|block|inline)-(x|y|r|l|t|b|bs|be|is|ie)-$spacing"
731
+ ]
732
+ }],
668
733
  [/^scroll-m-?([xy])-?(-?.+)$/, utils.directionSize("scroll-margin")],
669
734
  [/^scroll-m-?([rltb])-?(-?.+)$/, utils.directionSize("scroll-margin")],
670
735
  [/^scroll-m-(block|inline)-(-?.+)$/, utils.directionSize("scroll-margin")],
@@ -677,8 +742,8 @@ const scrolls = [
677
742
  ];
678
743
 
679
744
  const placeholders = [
680
- [/^\$ placeholder-(.+)$/, utils.colorResolver("color", "placeholder")],
681
- [/^\$ placeholder-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-placeholder-opacity": utils.handler.bracket.percent(opacity) })]
745
+ [/^\$ placeholder-(.+)$/, utils.colorResolver("color", "placeholder"), { autocomplete: "placeholder-$colors" }],
746
+ [/^\$ placeholder-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-placeholder-opacity": utils.handler.bracket.percent(opacity) }), { autocomplete: ["placeholder-(op|opacity)", "placeholder-(op|opacity)-<percent>"] }]
682
747
  ];
683
748
 
684
749
  const rules = [
@@ -791,9 +856,9 @@ const theme = {
791
856
  "heart-beat": "{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}",
792
857
  "hinge": "{0%{transform-origin:top left;animation-timing-function:ease-in-out}20%,60%{transform:rotate3d(0,0,1,80deg);transform-origin:top left;animation-timing-function:ease-in-out}40%,80%{transform:rotate3d(0,0,1,60deg);transform-origin:top left;animation-timing-function:ease-in-out}to{transform:translate3d(0,700px,0);opacity:0}}",
793
858
  "jack-in-the-box": "{from{opacity:0;transform-origin:center bottom;transform:scale(0.1) rotate(30deg)}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{transform:scale(1)}}",
794
- "light-speed-in-left": "{from{opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{opacity:1;transform:skewX(20deg)}80%{transform:skewX(-5deg)}to{transform:translate3d(0,0,0)}}",
859
+ "light-speed-in-left": "{from{opacity:0;transform:translate3d(-100%,0,0) skewX(-30deg)}60%{opacity:1;transform:skewX(20deg)}80%{transform:skewX(-5deg)}to{transform:translate3d(0,0,0)}}",
795
860
  "light-speed-in-right": "{from{opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{opacity:1;transform:skewX(20deg)}80%{transform:skewX(-5deg)}to{transform:translate3d(0,0,0)}}",
796
- "light-speed-out-left": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}",
861
+ "light-speed-out-left": "{from{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0) skewX(30deg)}}",
797
862
  "light-speed-out-right": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}",
798
863
  "flip": "{from{transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);animation-timing-function:ease-out}40%{transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);animation-timing-function:ease-out}50%{transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);animation-timing-function:ease-in}80%{transform:perspective(400px) scale3d(0.95,0.95,0.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);animation-timing-function:ease-in}to{transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);animation-timing-function:ease-in}}",
799
864
  "flip-in-x": "{from{transform:perspective(400px) rotate3d(1,0,0,90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1,0,0,-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{transform:perspective(400px)}}",
package/dist/index.d.ts CHANGED
@@ -10,10 +10,10 @@ declare const shortcuts: _unocss_core.Shortcut<_unocss_preset_mini.Theme>[];
10
10
 
11
11
  declare const theme: Theme;
12
12
 
13
- declare const variants: (options: UnoOptions) => Variant<Theme>[];
13
+ declare const variants: (options: PresetWindOptions) => Variant<Theme>[];
14
14
 
15
- interface UnoOptions extends PresetMiniOptions {
15
+ interface PresetWindOptions extends PresetMiniOptions {
16
16
  }
17
- declare const presetWind: (options?: UnoOptions) => Preset<Theme>;
17
+ declare const presetWind: (options?: PresetWindOptions) => Preset<Theme>;
18
18
 
19
- export { UnoOptions, presetWind as default, presetWind, rules, shortcuts, theme, variants };
19
+ export { PresetWindOptions, presetWind as default, presetWind, rules, shortcuts, theme, variants };
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import { toArray, CONTROL_SHORTCUT_NO_MERGE } from '@unocss/core';
2
+ import { handler, positionMap, parseColor, colorToString, colorResolver, resolveBreakpoints, colorableShadows, directionMap, directionSize, variantMatcher, variantParentMatcher, hasParseableColor } from '@unocss/preset-mini/utils';
2
3
  import { theme as theme$1 } from '@unocss/preset-mini/theme';
3
4
  export { colors } from '@unocss/preset-mini';
4
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, fontStyles, textColors, textDecorations, fontSmoothings, tabSizes, textStrokes, textShadows, opacity, boxShadows, outline, rings, transitions, willChange, questionMark } from '@unocss/preset-mini/rules';
5
- import { handler, positionMap, parseColor, colorToString, colorResolver, colorableShadows, directionMap, directionSize, variantMatcher, variantParentMatcher, hasParseableColor } from '@unocss/preset-mini/utils';
6
6
  import { variants as variants$1 } from '@unocss/preset-mini/variants';
7
7
 
8
8
  const animations = [
@@ -22,15 +22,45 @@ ${constructCSS({ animation: `${name}` })}`;
22
22
  ${constructCSS(Object.assign({ animation: `${name} ${duration} ${timing} infinite` }, props))}`;
23
23
  }
24
24
  return { animation: handler.bracket.cssvar(name) };
25
- }],
25
+ }, { autocomplete: "animate-$animation.keyframes" }],
26
26
  [/^animate-name-(.+)/, ([, d]) => ({ "animation-name": handler.bracket.cssvar(d) ?? d })],
27
- [/^animate-duration-(.+)$/, ([, d], { theme }) => ({ "animation-duration": theme.duration?.[d || "DEFAULT"] ?? handler.bracket.cssvar.time(d) })],
28
- [/^animate-delay-(.+)$/, ([, d], { theme }) => ({ "animation-delay": theme.duration?.[d || "DEFAULT"] ?? handler.bracket.cssvar.time(d) })],
29
- [/^animate-ease(?:-(.+))?$/, ([, d], { theme }) => ({ "animation-timing-function": theme.easing?.[d || "DEFAULT"] ?? handler.bracket.cssvar(d) })],
30
- [/^animate-(?:fill-|mode-|fill-mode-)?(none|forwards|backwards|both|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-fill-mode": d })],
31
- [/^animate-(?:direction-)?(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-direction": d })],
32
- [/^animate-(?:iteration-|count-|iteration-count-)(.+)$/, ([, d]) => ({ "animation-iteration-count": handler.bracket.cssvar(d) ?? d.replace(/\-/g, ",") })],
33
- [/^animate-(?:play-|state-|play-state-)?(paused|running|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-play-state": d })],
27
+ [/^animate-duration-(.+)$/, ([, d], { theme }) => ({ "animation-duration": theme.duration?.[d || "DEFAULT"] ?? handler.bracket.cssvar.time(d) }), { autocomplete: ["animate-duration", "animate-duration-$duration"] }],
28
+ [/^animate-delay-(.+)$/, ([, d], { theme }) => ({ "animation-delay": theme.duration?.[d || "DEFAULT"] ?? handler.bracket.cssvar.time(d) }), { autocomplete: ["animate-delay", "animate-delay-$duration"] }],
29
+ [/^animate-ease(?:-(.+))?$/, ([, d], { theme }) => ({ "animation-timing-function": theme.easing?.[d || "DEFAULT"] ?? handler.bracket.cssvar(d) }), { autocomplete: "animate-delay-$easing" }],
30
+ [
31
+ /^animate-(?:fill-|mode-|fill-mode-)?(none|forwards|backwards|both|inherit|initial|revert|unset)$/,
32
+ ([, d]) => ({ "animation-fill-mode": d }),
33
+ {
34
+ autocomplete: [
35
+ "animate-(fill|mode|fill-mode)",
36
+ "animate-(fill|mode|fill-mode)-(none|forwards|backwards|both|inherit|initial|revert|unset)",
37
+ "animate-(none|forwards|backwards|both|inherit|initial|revert|unset)"
38
+ ]
39
+ }
40
+ ],
41
+ [
42
+ /^animate-(?:direction-)?(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|unset)$/,
43
+ ([, d]) => ({ "animation-direction": d }),
44
+ {
45
+ autocomplete: [
46
+ "animate-direction",
47
+ "animate-direction-(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|unset)",
48
+ "animate-(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|unset)"
49
+ ]
50
+ }
51
+ ],
52
+ [/^animate-(?:iteration-|count-|iteration-count-)(.+)$/, ([, d]) => ({ "animation-iteration-count": handler.bracket.cssvar(d) ?? d.replace(/\-/g, ",") }), { autocomplete: ["animate-(iteration|count|iteration-count)", "animate-(iteration|count|iteration-count)-<num>"] }],
53
+ [
54
+ /^animate-(?:play-|state-|play-state-)?(paused|running|inherit|initial|revert|unset)$/,
55
+ ([, d]) => ({ "animation-play-state": d }),
56
+ {
57
+ autocomplete: [
58
+ "animate-(play|state|play-state)",
59
+ "animate-(play|state|play-state)-(paused|running|inherit|initial|revert|unset)",
60
+ "animate-(paused|running|inherit|initial|revert|unset)"
61
+ ]
62
+ }
63
+ ],
34
64
  ["animate-none", { animation: "none" }]
35
65
  ];
36
66
 
@@ -71,7 +101,9 @@ const backgroundStyles = [
71
101
  else if (/^\[length:(.+)\]$/.test(d) && handler.bracketOfLength(d) != null)
72
102
  return { "background-size": handler.bracketOfLength(d).split(" ").map((e) => handler.fraction.auto.px.cssvar(e)).join(" ") };
73
103
  }],
74
- [/^bg-gradient-(.+)$/, ([, d]) => ({ "--un-gradient": handler.bracket(d) })],
104
+ [/^bg-gradient-(.+)$/, ([, d]) => ({ "--un-gradient": handler.bracket(d) }), {
105
+ autocomplete: ["bg-gradient", "bg-gradient-(from|to|via)", "bg-gradient-(from|to|via)-$colors", "bg-gradient-(from|to|via)-(op|opacity)", "bg-gradient-(from|to|via)-(op|opacity)-<percent>"]
106
+ }],
75
107
  [/^(?:bg-gradient-)?stops-(\[.+\])$/, ([, s]) => ({ "--un-gradient-stops": handler.bracket(s) })],
76
108
  [/^(?:bg-gradient-)?from-(.+)$/, bgGradientColorResolver("from")],
77
109
  [/^(?:bg-gradient-)?to-(.+)$/, bgGradientColorResolver("to")],
@@ -81,7 +113,7 @@ const backgroundStyles = [
81
113
  [/^(?:bg-gradient-)?via-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-via-opacity": handler.bracket.percent(opacity) })],
82
114
  [/^bg-gradient-((?:repeating-)?(?:linear|radial|conic))$/, ([, s]) => ({
83
115
  "background-image": `${s}-gradient(var(--un-gradient, var(--un-gradient-stops, rgba(255, 255, 255, 0))))`
84
- })],
116
+ }), { autocomplete: ["bg-gradient-repeating", "bg-gradient-(linear|radial|conic)", "bg-gradient-repeating-(linear|radial|conic)"] }],
85
117
  [/^bg-gradient-to-([rltb]{1,2})$/, ([, d]) => {
86
118
  if (d in positionMap) {
87
119
  return {
@@ -90,7 +122,7 @@ const backgroundStyles = [
90
122
  "background-image": "linear-gradient(var(--un-gradient))"
91
123
  };
92
124
  }
93
- }],
125
+ }, { autocomplete: `bg-gradient-to-(${Object.keys(positionMap).filter((k) => k.length <= 2 && Array.from(k).every((c) => "rltb".includes(c))).join("|")})` }],
94
126
  [/^(?:bg-gradient-)?shape-(.+)$/, ([, d]) => {
95
127
  const v = d in positionMap ? `to ${positionMap[d]}` : handler.bracket(d);
96
128
  if (v != null) {
@@ -99,7 +131,7 @@ const backgroundStyles = [
99
131
  "--un-gradient": "var(--un-gradient-shape), var(--un-gradient-stops)"
100
132
  };
101
133
  }
102
- }],
134
+ }, { autocomplete: ["bg-gradient-shape", `bg-gradient-shape-(${Object.keys(positionMap).join("|")})`, `shape-(${Object.keys(positionMap).join("|")})`] }],
103
135
  ["bg-none", { "background-image": "none" }],
104
136
  ["box-decoration-slice", { "box-decoration-break": "slice" }],
105
137
  ["box-decoration-clone", { "box-decoration-break": "clone" }],
@@ -134,18 +166,18 @@ const listStyle = [
134
166
  };
135
167
  }
136
168
  return { "list-style-type": style };
137
- }],
169
+ }, { autocomplete: ["list-(disc|circle|square|decimal|zero-decimal|greek|roman|upper-roman|alpha|upper-alpha)", "list-(disc|circle|square|decimal|zero-decimal|greek|roman|upper-roman|alpha|upper-alpha)-(outside|inside)"] }],
138
170
  ["list-outside", { "list-style-position": "outside" }],
139
171
  ["list-inside", { "list-style-position": "inside" }],
140
172
  ["list-none", { "list-style-type": "none" }]
141
173
  ];
142
174
  const accents = [
143
- [/^accent-(.+)$/, colorResolver("accent-color", "accent")],
144
- [/^accent-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-accent-opacity": handler.bracket.percent(d) })]
175
+ [/^accent-(.+)$/, colorResolver("accent-color", "accent"), { autocomplete: "accent-$colors" }],
176
+ [/^accent-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-accent-opacity": handler.bracket.percent(d) }), { autocomplete: ["accent-(op|opacity)", "accent-(op|opacity)-<percent>"] }]
145
177
  ];
146
178
  const carets = [
147
- [/^caret-(.+)$/, colorResolver("caret-color", "caret")],
148
- [/^caret-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-caret-opacity": handler.bracket.percent(d) })]
179
+ [/^caret-(.+)$/, colorResolver("caret-color", "caret"), { autocomplete: "caret-$colors" }],
180
+ [/^caret-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-caret-opacity": handler.bracket.percent(d) }), { autocomplete: ["caret-(op|opacity)", "caret-(op|opacity)-<percent>"] }]
149
181
  ];
150
182
  const imageRenderings = [
151
183
  ["image-render-auto", { "image-rendering": "auto" }],
@@ -175,7 +207,7 @@ const scrollBehaviors = [
175
207
  ];
176
208
 
177
209
  const columns = [
178
- [/^columns-(.+)$/, ([, v]) => ({ columns: handler.bracket.global.number.auto.numberWithUnit(v) })],
210
+ [/^columns-(.+)$/, ([, v]) => ({ columns: handler.bracket.global.number.auto.numberWithUnit(v) }), { autocomplete: "columns-<num>" }],
179
211
  ["break-before-auto", { "break-before": "auto" }],
180
212
  ["break-before-avoid", { "break-before": "avoid" }],
181
213
  ["break-before-all", { "break-before": "all" }],
@@ -218,8 +250,8 @@ const container = [
218
250
  ]
219
251
  ];
220
252
  const containerShortcuts = [
221
- [/^(?:(\w+)[:-])?container$/, ([, bp], { theme }) => {
222
- let points = Object.keys(theme.breakpoints || {});
253
+ [/^(?:(\w+)[:-])?container$/, ([, bp], context) => {
254
+ let points = Object.keys(resolveBreakpoints(context) ?? {});
223
255
  if (bp) {
224
256
  if (!points.includes(bp))
225
257
  return;
@@ -313,18 +345,44 @@ const dropShadowResolver = ([, s], { theme }) => {
313
345
  }
314
346
  };
315
347
  const filters = [
316
- [/^(?:(backdrop-)|filter-)?blur(?:-(.+))?$/, toFilter("blur", (s, theme) => theme.blur?.[s || "DEFAULT"] || handler.bracket.cssvar.px(s))],
317
- [/^(?:(backdrop-)|filter-)?brightness-(.+)$/, toFilter("brightness", (s) => handler.bracket.cssvar.percent(s))],
318
- [/^(?:(backdrop-)|filter-)?contrast-(.+)$/, toFilter("contrast", (s) => handler.bracket.cssvar.percent(s))],
319
- [/^(?:filter-)?drop-shadow(?:-(.+))?$/, dropShadowResolver],
348
+ [/^(?:(backdrop-)|filter-)?blur(?:-(.+))?$/, toFilter("blur", (s, theme) => theme.blur?.[s || "DEFAULT"] || handler.bracket.cssvar.px(s)), { autocomplete: ["(backdrop|filter)-blur-$blur", "blur-$blur"] }],
349
+ [/^(?:(backdrop-)|filter-)?brightness-(.+)$/, toFilter("brightness", (s) => handler.bracket.cssvar.percent(s)), { autocomplete: ["(backdrop|filter)-brightness-<percent>", "brightness-<percent>"] }],
350
+ [/^(?:(backdrop-)|filter-)?contrast-(.+)$/, toFilter("contrast", (s) => handler.bracket.cssvar.percent(s)), { autocomplete: ["(backdrop|filter)-contrast-<percent>", "contrast-<percent>"] }],
351
+ [/^(?:filter-)?drop-shadow(?:-(.+))?$/, dropShadowResolver, {
352
+ autocomplete: [
353
+ "filter-drop",
354
+ "filter-drop-shadow",
355
+ "filter-drop-shadow-color",
356
+ "drop-shadow",
357
+ "drop-shadow-color",
358
+ "filter-drop-shadow-$dropShadow",
359
+ "drop-shadow-$dropShadow",
360
+ "filter-drop-shadow-color-$colors",
361
+ "drop-shadow-color-$colors",
362
+ "filter-drop-shadow-color-(op|opacity)",
363
+ "drop-shadow-color-(op|opacity)",
364
+ "filter-drop-shadow-color-(op|opacity)-<percent>",
365
+ "drop-shadow-color-(op|opacity)-<percent>"
366
+ ]
367
+ }],
320
368
  [/^(?:filter-)?drop-shadow-color-(.+)$/, colorResolver("--un-drop-shadow-color", "drop-shadow")],
321
369
  [/^(?:filter-)?drop-shadow-color-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-drop-shadow-opacity": handler.bracket.percent(opacity) })],
322
- [/^(?:(backdrop-)|filter-)?grayscale(?:-(.+))?$/, toFilter("grayscale", percentWithDefault)],
370
+ [/^(?:(backdrop-)|filter-)?grayscale(?:-(.+))?$/, toFilter("grayscale", percentWithDefault), {
371
+ autocomplete: ["(backdrop|filter)-grayscale", "(backdrop|filter)-grayscale-<percent>", "grayscale-<percent>"]
372
+ }],
323
373
  [/^(?:(backdrop-)|filter-)?hue-rotate-(.+)$/, toFilter("hue-rotate", (s) => handler.bracket.cssvar.degree(s))],
324
- [/^(?:(backdrop-)|filter-)?invert(?:-(.+))?$/, toFilter("invert", percentWithDefault)],
325
- [/^(backdrop-)opacity-(.+)$/, toFilter("opacity", (s) => handler.bracket.cssvar.percent(s))],
326
- [/^(?:(backdrop-)|filter-)?saturate-(.+)$/, toFilter("saturate", (s) => handler.bracket.cssvar.percent(s))],
327
- [/^(?:(backdrop-)|filter-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault)],
374
+ [/^(?:(backdrop-)|filter-)?invert(?:-(.+))?$/, toFilter("invert", percentWithDefault), {
375
+ autocomplete: ["(backdrop|filter)-invert", "(backdrop|filter)-invert-<percent>", "invert-<percent>"]
376
+ }],
377
+ [/^(backdrop-)op(?:acity)-(.+)$/, toFilter("opacity", (s) => handler.bracket.cssvar.percent(s)), {
378
+ autocomplete: ["backdrop-(op|opacity)", "backdrop-(op|opacity)-<percent>"]
379
+ }],
380
+ [/^(?:(backdrop-)|filter-)?saturate-(.+)$/, toFilter("saturate", (s) => handler.bracket.cssvar.percent(s)), {
381
+ autocomplete: ["(backdrop|filter)-saturate", "(backdrop|filter)-saturate-<percent>", "saturate-<percent>"]
382
+ }],
383
+ [/^(?:(backdrop-)|filter-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault), {
384
+ autocomplete: ["(backdrop|filter)-sepia", "(backdrop|filter)-sepia-<percent>", "sepia-<percent>"]
385
+ }],
328
386
  [/^filter$/, () => [
329
387
  filterBase,
330
388
  { filter: "var(--un-filter)" }
@@ -335,7 +393,7 @@ const filters = [
335
393
  "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
336
394
  "backdrop-filter": "var(--un-backdrop-filter)"
337
395
  }
338
- ]],
396
+ ], { autocomplete: "backdrop-filter" }],
339
397
  ["filter-none", { filter: "none" }],
340
398
  ["backdrop-filter-none", {
341
399
  "-webkit-backdrop-filter": "none",
@@ -344,7 +402,7 @@ const filters = [
344
402
  ];
345
403
 
346
404
  const spaces = [
347
- [/^space-?([xy])-?(-?.+)$/, handlerSpace],
405
+ [/^space-?([xy])-?(-?.+)$/, handlerSpace, { autocomplete: ["space-(x|y|block|inline)", "space-(x|y|block|inline)-reverse", "space-(x|y|block|inline)-$spacing"] }],
348
406
  [/^space-?([xy])-reverse$/, ([, d]) => ({ [`--un-space-${d}-reverse`]: 1 })],
349
407
  [/^space-(block|inline)-(-?.+)$/, handlerSpace],
350
408
  [/^space-(block|inline)-reverse$/, ([, d]) => ({ [`--un-space-${d}-reverse`]: 1 })]
@@ -449,7 +507,7 @@ const objectPositions = [
449
507
  ["object-fill", { "object-fit": "fill" }],
450
508
  ["object-scale-down", { "object-fit": "scale-down" }],
451
509
  ["object-none", { "object-fit": "none" }],
452
- [/^object-([-\w]+)$/, ([, s]) => ({ "object-position": positionMap[s] })]
510
+ [/^object-([-\w]+)$/, ([, s]) => ({ "object-position": positionMap[s] }), { autocomplete: `object-(${Object.keys(positionMap).join("|")})` }]
453
511
  ];
454
512
  const backgroundBlendModes = [
455
513
  ["bg-blend-multiply", { "background-blend-mode": "multiply" }],
@@ -501,7 +559,7 @@ const tables = [
501
559
  ["table-row-group", { display: "table-row-group" }],
502
560
  ["border-collapse", { "border-collapse": "collapse" }],
503
561
  ["border-separate", { "border-collapse": "separate" }],
504
- [/^border-spacing-(.+)$/, ([, d], { theme }) => ({ "border-spacing": theme.spacing?.[d] ?? handler.bracket.cssvar.auto.fraction.rem(d) })],
562
+ [/^border-spacing-(.+)$/, ([, d], { theme }) => ({ "border-spacing": theme.spacing?.[d] ?? handler.bracket.cssvar.auto.fraction.rem(d) }), { autocomplete: ["border-spacing", "border-spacing-$spacing"] }],
505
563
  ["caption-top", { "caption-side": "top" }],
506
564
  ["caption-bottom", { "caption-side": "bottom" }],
507
565
  ["table-auto", { "table-layout": "auto" }],
@@ -534,14 +592,14 @@ const cssVariables = [
534
592
  ];
535
593
 
536
594
  const divides = [
537
- [/^divide-?([xy])$/, handlerDivide],
595
+ [/^divide-?([xy])$/, handlerDivide, { autocomplete: ["divide-(x|y|block|inline)", "divide-(x|y|block|inline)-reverse", "divide-(x|y|block|inline)-$lineWidth"] }],
538
596
  [/^divide-?([xy])-?(-?.+)$/, handlerDivide],
539
597
  [/^divide-?([xy])-reverse$/, ([, d]) => ({ [`--un-divide-${d}-reverse`]: 1 })],
540
598
  [/^divide-(block|inline)$/, handlerDivide],
541
599
  [/^divide-(block|inline)-(-?.+)$/, handlerDivide],
542
600
  [/^divide-(block|inline)-reverse$/, ([, d]) => ({ [`--un-divide-${d}-reverse`]: 1 })],
543
- [/^divide-(.+)$/, colorResolver("border-color", "divide")],
544
- [/^divide-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-divide-opacity": handler.bracket.percent(opacity) })],
601
+ [/^divide-(.+)$/, colorResolver("border-color", "divide"), { autocomplete: "divide-$colors" }],
602
+ [/^divide-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-divide-opacity": handler.bracket.percent(opacity) }), { autocomplete: ["divide-(op|opacity)", "divide-(op|opacity)-<percent>"] }],
545
603
  ["divide-solid", { "border-style": "solid" }],
546
604
  ["divide-dashed", { "border-style": "dashed" }],
547
605
  ["divide-dotted", { "border-style": "dotted" }],
@@ -572,7 +630,7 @@ const lineClamps = [
572
630
  "-webkit-box-orient": "vertical",
573
631
  "-webkit-line-clamp": v,
574
632
  "line-clamp": v
575
- })],
633
+ }), { autocomplete: ["line-clamp", "line-clamp-<num>"] }],
576
634
  ["line-clamp-none", {
577
635
  "-webkit-line-clamp": "unset",
578
636
  "line-clamp": "unset"
@@ -596,14 +654,14 @@ const toEntries = (entry) => [
596
654
  }
597
655
  ];
598
656
  const fontVariantNumeric = [
599
- [/^ordinal$/, () => toEntries({ "--un-ordinal": "ordinal" })],
600
- [/^slashed-zero$/, () => toEntries({ "--un-slashed-zero": "slashed-zero" })],
601
- [/^lining-nums$/, () => toEntries({ "--un-numeric-figure": "lining-nums" })],
602
- [/^oldstyle-nums$/, () => toEntries({ "--un-numeric-figure": "oldstyle-nums" })],
603
- [/^proportional-nums$/, () => toEntries({ "--un-numeric-spacing": "proportional-nums" })],
604
- [/^tabular-nums$/, () => toEntries({ "--un-numeric-spacing": "tabular-nums" })],
605
- [/^diagonal-fractions$/, () => toEntries({ "--un-numeric-fraction": "diagonal-fractions" })],
606
- [/^stacked-fractions$/, () => toEntries({ "--un-numeric-fraction": "stacked-fractions" })],
657
+ [/^ordinal$/, () => toEntries({ "--un-ordinal": "ordinal" }), { autocomplete: "ordinal" }],
658
+ [/^slashed-zero$/, () => toEntries({ "--un-slashed-zero": "slashed-zero" }), { autocomplete: "slashed-zero" }],
659
+ [/^lining-nums$/, () => toEntries({ "--un-numeric-figure": "lining-nums" }), { autocomplete: "lining-nums" }],
660
+ [/^oldstyle-nums$/, () => toEntries({ "--un-numeric-figure": "oldstyle-nums" }), { autocomplete: "oldstyle-nums" }],
661
+ [/^proportional-nums$/, () => toEntries({ "--un-numeric-spacing": "proportional-nums" }), { autocomplete: "proportional-nums" }],
662
+ [/^tabular-nums$/, () => toEntries({ "--un-numeric-spacing": "tabular-nums" }), { autocomplete: "tabular-nums" }],
663
+ [/^diagonal-fractions$/, () => toEntries({ "--un-numeric-fraction": "diagonal-fractions" }), { autocomplete: "diagonal-fractions" }],
664
+ [/^stacked-fractions$/, () => toEntries({ "--un-numeric-fraction": "stacked-fractions" }), { autocomplete: "stacked-fractions" }],
607
665
  ["normal-nums", { "font-variant-numeric": "normal" }]
608
666
  ];
609
667
 
@@ -621,7 +679,7 @@ const touchActions = [
621
679
  "--un-pan-x": `pan-${d}`,
622
680
  "touch-action": "var(--un-touch-action)"
623
681
  }
624
- ]],
682
+ ], { autocomplete: ["touch-pan", "touch-pan-(x|left|right|y|up|down)"] }],
625
683
  [/^touch-pan-(y|up|down)$/, ([, d]) => [
626
684
  touchActionBase,
627
685
  {
@@ -635,7 +693,7 @@ const touchActions = [
635
693
  "--un-pinch-zoom": "pinch-zoom",
636
694
  "touch-action": "var(--un-touch-action)"
637
695
  }
638
- ]],
696
+ ], { autocomplete: ["touch-pinch", "touch-pinch-zoom"] }],
639
697
  ["touch-auto", { "touch-action": "auto" }],
640
698
  ["touch-manipulation", { "touch-action": "manipulation" }],
641
699
  ["touch-none", { "touch-action": "none" }]
@@ -650,7 +708,7 @@ const scrolls = [
650
708
  {
651
709
  "scroll-snap-type": `${d} var(--un-scroll-snap-strictness)`
652
710
  }
653
- ]],
711
+ ], { autocomplete: "snap-(x|y|both)" }],
654
712
  ["snap-mandatory", { "--un-scroll-snap-strictness": "mandatory" }],
655
713
  ["snap-proximity", { "--un-scroll-snap-strictness": "proximity" }],
656
714
  ["snap-none", { "scroll-snap-type": "none" }],
@@ -660,7 +718,14 @@ const scrolls = [
660
718
  ["snap-align-none", { "scroll-snap-align": "none" }],
661
719
  ["snap-normal", { "scroll-snap-stop": "normal" }],
662
720
  ["snap-always", { "scroll-snap-stop": "always" }],
663
- [/^scroll-ma?()-?(-?.+)$/, directionSize("scroll-margin")],
721
+ [/^scroll-ma?()-?(-?.+)$/, directionSize("scroll-margin"), {
722
+ autocomplete: [
723
+ "scroll-(m|p|ma|pa|block|inline)",
724
+ "scroll-(m|p|ma|pa|block|inline)-$spacing",
725
+ "scroll-(m|p|ma|pa|block|inline)-(x|y|r|l|t|b|bs|be|is|ie)",
726
+ "scroll-(m|p|ma|pa|block|inline)-(x|y|r|l|t|b|bs|be|is|ie)-$spacing"
727
+ ]
728
+ }],
664
729
  [/^scroll-m-?([xy])-?(-?.+)$/, directionSize("scroll-margin")],
665
730
  [/^scroll-m-?([rltb])-?(-?.+)$/, directionSize("scroll-margin")],
666
731
  [/^scroll-m-(block|inline)-(-?.+)$/, directionSize("scroll-margin")],
@@ -673,8 +738,8 @@ const scrolls = [
673
738
  ];
674
739
 
675
740
  const placeholders = [
676
- [/^\$ placeholder-(.+)$/, colorResolver("color", "placeholder")],
677
- [/^\$ placeholder-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-placeholder-opacity": handler.bracket.percent(opacity) })]
741
+ [/^\$ placeholder-(.+)$/, colorResolver("color", "placeholder"), { autocomplete: "placeholder-$colors" }],
742
+ [/^\$ placeholder-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-placeholder-opacity": handler.bracket.percent(opacity) }), { autocomplete: ["placeholder-(op|opacity)", "placeholder-(op|opacity)-<percent>"] }]
678
743
  ];
679
744
 
680
745
  const rules = [
@@ -787,9 +852,9 @@ const theme = {
787
852
  "heart-beat": "{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}",
788
853
  "hinge": "{0%{transform-origin:top left;animation-timing-function:ease-in-out}20%,60%{transform:rotate3d(0,0,1,80deg);transform-origin:top left;animation-timing-function:ease-in-out}40%,80%{transform:rotate3d(0,0,1,60deg);transform-origin:top left;animation-timing-function:ease-in-out}to{transform:translate3d(0,700px,0);opacity:0}}",
789
854
  "jack-in-the-box": "{from{opacity:0;transform-origin:center bottom;transform:scale(0.1) rotate(30deg)}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{transform:scale(1)}}",
790
- "light-speed-in-left": "{from{opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{opacity:1;transform:skewX(20deg)}80%{transform:skewX(-5deg)}to{transform:translate3d(0,0,0)}}",
855
+ "light-speed-in-left": "{from{opacity:0;transform:translate3d(-100%,0,0) skewX(-30deg)}60%{opacity:1;transform:skewX(20deg)}80%{transform:skewX(-5deg)}to{transform:translate3d(0,0,0)}}",
791
856
  "light-speed-in-right": "{from{opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{opacity:1;transform:skewX(20deg)}80%{transform:skewX(-5deg)}to{transform:translate3d(0,0,0)}}",
792
- "light-speed-out-left": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}",
857
+ "light-speed-out-left": "{from{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0) skewX(30deg)}}",
793
858
  "light-speed-out-right": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}",
794
859
  "flip": "{from{transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);animation-timing-function:ease-out}40%{transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);animation-timing-function:ease-out}50%{transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);animation-timing-function:ease-in}80%{transform:perspective(400px) scale3d(0.95,0.95,0.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);animation-timing-function:ease-in}to{transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);animation-timing-function:ease-in}}",
795
860
  "flip-in-x": "{from{transform:perspective(400px) rotate3d(1,0,0,90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1,0,0,-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{transform:perspective(400px)}}",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unocss/preset-wind",
3
- "version": "0.30.7",
3
+ "version": "0.30.11",
4
4
  "description": "Tailwind / Windi CSS compact preset for UnoCSS",
5
5
  "keywords": [
6
6
  "unocss",
@@ -35,8 +35,8 @@
35
35
  ],
36
36
  "sideEffects": false,
37
37
  "dependencies": {
38
- "@unocss/core": "0.30.7",
39
- "@unocss/preset-mini": "0.30.7"
38
+ "@unocss/core": "0.30.11",
39
+ "@unocss/preset-mini": "0.30.11"
40
40
  },
41
41
  "scripts": {
42
42
  "build": "unbuild",