@unocss/preset-wind 0.37.2 → 0.38.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.
package/dist/index.cjs CHANGED
@@ -22,8 +22,9 @@ ${constructCSS({ animation: `${name}` })}`;
22
22
  const duration = theme.animation?.durations?.[name] ?? "1s";
23
23
  const timing = theme.animation?.timingFns?.[name] ?? "linear";
24
24
  const props = theme.animation?.properties?.[name];
25
+ const count = theme.animation?.counts?.[name] ?? 1;
25
26
  return `@keyframes ${name}${kf}
26
- ${constructCSS(Object.assign({ animation: `${name} ${duration} ${timing} infinite` }, props))}`;
27
+ ${constructCSS(Object.assign({ animation: `${name} ${duration} ${timing} ${count}` }, props))}`;
27
28
  }
28
29
  return { animation: utils.handler.bracket.cssvar(name) };
29
30
  }, { autocomplete: "animate-$animation.keyframes" }],
@@ -68,6 +69,20 @@ ${constructCSS(Object.assign({ animation: `${name} ${duration} ${timing} infinit
68
69
  ["animate-none", { animation: "none" }]
69
70
  ];
70
71
 
72
+ const bgGradientToValue = (cssColor) => {
73
+ if (cssColor)
74
+ return utils.colorToString(cssColor, 0);
75
+ return "rgba(255,255,255,0)";
76
+ };
77
+ const bgGradientColorValue = (mode, cssColor, color, alpha) => {
78
+ if (cssColor) {
79
+ if (alpha != null)
80
+ return utils.colorToString(cssColor, alpha);
81
+ else
82
+ return utils.colorToString(cssColor, `var(--un-${mode}-opacity, ${utils.colorOpacityToString(cssColor)})`);
83
+ }
84
+ return utils.colorToString(color, alpha);
85
+ };
71
86
  const bgGradientColorResolver = (mode) => ([, body], { theme }) => {
72
87
  const data = utils.parseColor(body, theme);
73
88
  if (!data)
@@ -75,22 +90,18 @@ const bgGradientColorResolver = (mode) => ([, body], { theme }) => {
75
90
  const { alpha, color, cssColor } = data;
76
91
  if (!color)
77
92
  return;
78
- let colorString = color;
79
- if (cssColor) {
80
- if (alpha != null)
81
- colorString = utils.colorToString(cssColor, alpha);
82
- else
83
- colorString = utils.colorToString(cssColor, `var(--un-${mode}-opacity, ${cssColor.alpha ?? 1})`);
84
- }
93
+ const colorString = bgGradientColorValue(mode, cssColor, color, alpha);
85
94
  switch (mode) {
86
95
  case "from":
87
96
  return {
88
97
  "--un-gradient-from": colorString,
89
- "--un-gradient-stops": "var(--un-gradient-from), var(--un-gradient-to, rgba(255, 255, 255, 0))"
98
+ "--un-gradient-to": bgGradientToValue(cssColor),
99
+ "--un-gradient-stops": "var(--un-gradient-from), var(--un-gradient-to)"
90
100
  };
91
101
  case "via":
92
102
  return {
93
- "--un-gradient-stops": `var(--un-gradient-from), ${colorString}, var(--un-gradient-to, rgba(255, 255, 255, 0))`
103
+ "--un-gradient-to": bgGradientToValue(cssColor),
104
+ "--un-gradient-stops": `var(--un-gradient-from), ${colorString}, var(--un-gradient-to)`
94
105
  };
95
106
  case "to":
96
107
  return {
@@ -296,9 +307,9 @@ const filterBase = {
296
307
  "--un-hue-rotate": rules$1.varEmpty,
297
308
  "--un-invert": rules$1.varEmpty,
298
309
  "--un-saturate": rules$1.varEmpty,
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)"
310
+ "--un-sepia": rules$1.varEmpty
301
311
  };
312
+ const filterProperty = "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
313
  const backdropFilterBase = {
303
314
  "--un-backdrop-blur": rules$1.varEmpty,
304
315
  "--un-backdrop-brightness": rules$1.varEmpty,
@@ -308,9 +319,9 @@ const backdropFilterBase = {
308
319
  "--un-backdrop-invert": rules$1.varEmpty,
309
320
  "--un-backdrop-opacity": rules$1.varEmpty,
310
321
  "--un-backdrop-saturate": rules$1.varEmpty,
311
- "--un-backdrop-sepia": rules$1.varEmpty,
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)"
322
+ "--un-backdrop-sepia": rules$1.varEmpty
313
323
  };
324
+ const backdropFilterProperty = "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
325
  const percentWithDefault = (str) => {
315
326
  let v = utils.handler.bracket.cssvar(str || "");
316
327
  if (v != null)
@@ -325,13 +336,13 @@ const toFilter = (varName, resolver) => ([, b, s], { theme }) => {
325
336
  if (b) {
326
337
  return {
327
338
  [`--un-${b}${varName}`]: `${varName}(${value})`,
328
- "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
329
- "backdrop-filter": "var(--un-backdrop-filter)"
339
+ "-webkit-backdrop-filter": backdropFilterProperty,
340
+ "backdrop-filter": backdropFilterProperty
330
341
  };
331
342
  } else {
332
343
  return {
333
344
  [`--un-${varName}`]: `${varName}(${value})`,
334
- filter: "var(--un-filter)"
345
+ filter: filterProperty
335
346
  };
336
347
  }
337
348
  }
@@ -342,14 +353,14 @@ const dropShadowResolver = ([, s], { theme }) => {
342
353
  const shadows = utils.colorableShadows(v, "--un-drop-shadow-color");
343
354
  return {
344
355
  "--un-drop-shadow": `drop-shadow(${shadows.join(") drop-shadow(")})`,
345
- "filter": "var(--un-filter)"
356
+ "filter": filterProperty
346
357
  };
347
358
  }
348
359
  v = utils.handler.bracket.cssvar(s);
349
360
  if (v != null) {
350
361
  return {
351
362
  "--un-drop-shadow": `drop-shadow(${v})`,
352
- "filter": "var(--un-filter)"
363
+ "filter": filterProperty
353
364
  };
354
365
  }
355
366
  };
@@ -382,10 +393,10 @@ const filters = [
382
393
  [/^(backdrop-)op(?:acity)-(.+)$/, toFilter("opacity", (s) => utils.handler.bracket.cssvar.percent(s)), { autocomplete: ["backdrop-(op|opacity)", "backdrop-(op|opacity)-<percent>"] }],
383
394
  [/^(?:(backdrop-)|filter-)?saturate-(.+)$/, toFilter("saturate", (s) => utils.handler.bracket.cssvar.percent(s)), { autocomplete: ["(backdrop|filter)-saturate", "(backdrop|filter)-saturate-<percent>", "saturate-<percent>"] }],
384
395
  [/^(?:(backdrop-)|filter-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault), { autocomplete: ["(backdrop|filter)-sepia", "(backdrop|filter)-sepia-<percent>", "sepia-<percent>"] }],
385
- ["filter", { filter: "var(--un-filter)" }],
396
+ ["filter", { filter: filterProperty }],
386
397
  ["backdrop-filter", {
387
- "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
388
- "backdrop-filter": "var(--un-backdrop-filter)"
398
+ "-webkit-backdrop-filter": backdropFilterProperty,
399
+ "backdrop-filter": backdropFilterProperty
389
400
  }],
390
401
  ["filter-none", { filter: "none" }],
391
402
  ["backdrop-filter-none", {
@@ -534,6 +545,7 @@ const borderSpacingBase = {
534
545
  "--un-border-spacing-x": 0,
535
546
  "--un-border-spacing-y": 0
536
547
  };
548
+ const borderSpacingProperty = "var(--un-border-spacing-x) var(--un-border-spacing-y)";
537
549
  const tables = [
538
550
  ["inline-table", { display: "inline-table" }],
539
551
  ["table", { display: "table" }],
@@ -553,7 +565,7 @@ const tables = [
553
565
  return {
554
566
  "--un-border-spacing-x": v,
555
567
  "--un-border-spacing-y": v,
556
- "border-spacing": "var(--un-border-spacing-x) var(--un-border-spacing-y)"
568
+ "border-spacing": borderSpacingProperty
557
569
  };
558
570
  }
559
571
  }, { autocomplete: ["border-spacing", "border-spacing-$spacing"] }],
@@ -562,7 +574,7 @@ const tables = [
562
574
  if (v != null) {
563
575
  return {
564
576
  [`--un-border-spacing-${d}`]: v,
565
- "border-spacing": "var(--un-border-spacing-x) var(--un-border-spacing-y)"
577
+ "border-spacing": borderSpacingProperty
566
578
  };
567
579
  }
568
580
  }, { autocomplete: ["border-spacing-(x|y)", "border-spacing-(x|y)-$spacing"] }],
@@ -648,12 +660,11 @@ const fontVariantNumericBase = {
648
660
  "--un-slashed-zero": rules$1.varEmpty,
649
661
  "--un-numeric-figure": rules$1.varEmpty,
650
662
  "--un-numeric-spacing": rules$1.varEmpty,
651
- "--un-numeric-fraction": rules$1.varEmpty,
652
- "--un-font-variant-numeric": "var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)"
663
+ "--un-numeric-fraction": rules$1.varEmpty
653
664
  };
654
665
  const toEntries = (entry) => ({
655
666
  ...entry,
656
- "font-variant-numeric": "var(--un-font-variant-numeric)"
667
+ "font-variant-numeric": "var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)"
657
668
  });
658
669
  const fontVariantNumeric = [
659
670
  [/^ordinal$/, () => toEntries({ "--un-ordinal": "ordinal" }), { autocomplete: "ordinal" }],
@@ -670,21 +681,21 @@ const fontVariantNumeric = [
670
681
  const touchActionBase = {
671
682
  "--un-pan-x": rules$1.varEmpty,
672
683
  "--un-pan-y": rules$1.varEmpty,
673
- "--un-pinch-zoom": rules$1.varEmpty,
674
- "--un-touch-action": "var(--un-pan-x) var(--un-pan-y) var(--un-pinch-zoom)"
684
+ "--un-pinch-zoom": rules$1.varEmpty
675
685
  };
686
+ const touchActionProperty = "var(--un-pan-x) var(--un-pan-y) var(--un-pinch-zoom)";
676
687
  const touchActions = [
677
688
  [/^touch-pan-(x|left|right)$/, ([, d]) => ({
678
689
  "--un-pan-x": `pan-${d}`,
679
- "touch-action": "var(--un-touch-action)"
690
+ "touch-action": touchActionProperty
680
691
  }), { autocomplete: ["touch-pan", "touch-pan-(x|left|right|y|up|down)"] }],
681
692
  [/^touch-pan-(y|up|down)$/, ([, d]) => ({
682
693
  "--un-pan-y": `pan-${d}`,
683
- "touch-action": "var(--un-touch-action)"
694
+ "touch-action": touchActionProperty
684
695
  })],
685
696
  ["touch-pinch-zoom", {
686
697
  "--un-pinch-zoom": "pinch-zoom",
687
- "touch-action": "var(--un-touch-action)"
698
+ "touch-action": touchActionProperty
688
699
  }],
689
700
  ["touch-auto", { "touch-action": "auto" }],
690
701
  ["touch-manipulation", { "touch-action": "manipulation" }],
@@ -973,6 +984,14 @@ const theme = {
973
984
  "zoom-out-left": { "transform-origin": "left center" },
974
985
  "zoom-out-right": { "transform-origin": "right center" },
975
986
  "zoom-out-up": { "transform-origin": "center bottom" }
987
+ },
988
+ counts: {
989
+ "spin": "infinite",
990
+ "ping": "infinite",
991
+ "pulse": "infinite",
992
+ "pulse-alt": "infinite",
993
+ "bounce": "infinite",
994
+ "bounce-alt": "infinite"
976
995
  }
977
996
  },
978
997
  media: {
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { preflights } from '@unocss/preset-mini';
2
2
  export { colors, preflights } from '@unocss/preset-mini';
3
3
  import { toArray } from '@unocss/core';
4
- import { handler, positionMap, parseColor, colorToString, colorResolver, resolveBreakpoints, colorableShadows, directionMap, directionSize, variantMatcher, variantParentMatcher, hasParseableColor } from '@unocss/preset-mini/utils';
4
+ import { handler, positionMap, parseColor, colorToString, colorOpacityToString, colorResolver, resolveBreakpoints, colorableShadows, directionMap, directionSize, variantMatcher, variantParentMatcher, hasParseableColor } from '@unocss/preset-mini/utils';
5
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';
6
6
  import { theme as theme$1 } from '@unocss/preset-mini/theme';
7
7
  import { variants as variants$1 } from '@unocss/preset-mini/variants';
@@ -19,8 +19,9 @@ ${constructCSS({ animation: `${name}` })}`;
19
19
  const duration = theme.animation?.durations?.[name] ?? "1s";
20
20
  const timing = theme.animation?.timingFns?.[name] ?? "linear";
21
21
  const props = theme.animation?.properties?.[name];
22
+ const count = theme.animation?.counts?.[name] ?? 1;
22
23
  return `@keyframes ${name}${kf}
23
- ${constructCSS(Object.assign({ animation: `${name} ${duration} ${timing} infinite` }, props))}`;
24
+ ${constructCSS(Object.assign({ animation: `${name} ${duration} ${timing} ${count}` }, props))}`;
24
25
  }
25
26
  return { animation: handler.bracket.cssvar(name) };
26
27
  }, { autocomplete: "animate-$animation.keyframes" }],
@@ -65,6 +66,20 @@ ${constructCSS(Object.assign({ animation: `${name} ${duration} ${timing} infinit
65
66
  ["animate-none", { animation: "none" }]
66
67
  ];
67
68
 
69
+ const bgGradientToValue = (cssColor) => {
70
+ if (cssColor)
71
+ return colorToString(cssColor, 0);
72
+ return "rgba(255,255,255,0)";
73
+ };
74
+ const bgGradientColorValue = (mode, cssColor, color, alpha) => {
75
+ if (cssColor) {
76
+ if (alpha != null)
77
+ return colorToString(cssColor, alpha);
78
+ else
79
+ return colorToString(cssColor, `var(--un-${mode}-opacity, ${colorOpacityToString(cssColor)})`);
80
+ }
81
+ return colorToString(color, alpha);
82
+ };
68
83
  const bgGradientColorResolver = (mode) => ([, body], { theme }) => {
69
84
  const data = parseColor(body, theme);
70
85
  if (!data)
@@ -72,22 +87,18 @@ const bgGradientColorResolver = (mode) => ([, body], { theme }) => {
72
87
  const { alpha, color, cssColor } = data;
73
88
  if (!color)
74
89
  return;
75
- let colorString = color;
76
- if (cssColor) {
77
- if (alpha != null)
78
- colorString = colorToString(cssColor, alpha);
79
- else
80
- colorString = colorToString(cssColor, `var(--un-${mode}-opacity, ${cssColor.alpha ?? 1})`);
81
- }
90
+ const colorString = bgGradientColorValue(mode, cssColor, color, alpha);
82
91
  switch (mode) {
83
92
  case "from":
84
93
  return {
85
94
  "--un-gradient-from": colorString,
86
- "--un-gradient-stops": "var(--un-gradient-from), var(--un-gradient-to, rgba(255, 255, 255, 0))"
95
+ "--un-gradient-to": bgGradientToValue(cssColor),
96
+ "--un-gradient-stops": "var(--un-gradient-from), var(--un-gradient-to)"
87
97
  };
88
98
  case "via":
89
99
  return {
90
- "--un-gradient-stops": `var(--un-gradient-from), ${colorString}, var(--un-gradient-to, rgba(255, 255, 255, 0))`
100
+ "--un-gradient-to": bgGradientToValue(cssColor),
101
+ "--un-gradient-stops": `var(--un-gradient-from), ${colorString}, var(--un-gradient-to)`
91
102
  };
92
103
  case "to":
93
104
  return {
@@ -293,9 +304,9 @@ const filterBase = {
293
304
  "--un-hue-rotate": varEmpty,
294
305
  "--un-invert": varEmpty,
295
306
  "--un-saturate": varEmpty,
296
- "--un-sepia": varEmpty,
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)"
307
+ "--un-sepia": varEmpty
298
308
  };
309
+ const filterProperty = "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)";
299
310
  const backdropFilterBase = {
300
311
  "--un-backdrop-blur": varEmpty,
301
312
  "--un-backdrop-brightness": varEmpty,
@@ -305,9 +316,9 @@ const backdropFilterBase = {
305
316
  "--un-backdrop-invert": varEmpty,
306
317
  "--un-backdrop-opacity": varEmpty,
307
318
  "--un-backdrop-saturate": varEmpty,
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)"
319
+ "--un-backdrop-sepia": varEmpty
310
320
  };
321
+ const backdropFilterProperty = "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
322
  const percentWithDefault = (str) => {
312
323
  let v = handler.bracket.cssvar(str || "");
313
324
  if (v != null)
@@ -322,13 +333,13 @@ const toFilter = (varName, resolver) => ([, b, s], { theme }) => {
322
333
  if (b) {
323
334
  return {
324
335
  [`--un-${b}${varName}`]: `${varName}(${value})`,
325
- "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
326
- "backdrop-filter": "var(--un-backdrop-filter)"
336
+ "-webkit-backdrop-filter": backdropFilterProperty,
337
+ "backdrop-filter": backdropFilterProperty
327
338
  };
328
339
  } else {
329
340
  return {
330
341
  [`--un-${varName}`]: `${varName}(${value})`,
331
- filter: "var(--un-filter)"
342
+ filter: filterProperty
332
343
  };
333
344
  }
334
345
  }
@@ -339,14 +350,14 @@ const dropShadowResolver = ([, s], { theme }) => {
339
350
  const shadows = colorableShadows(v, "--un-drop-shadow-color");
340
351
  return {
341
352
  "--un-drop-shadow": `drop-shadow(${shadows.join(") drop-shadow(")})`,
342
- "filter": "var(--un-filter)"
353
+ "filter": filterProperty
343
354
  };
344
355
  }
345
356
  v = handler.bracket.cssvar(s);
346
357
  if (v != null) {
347
358
  return {
348
359
  "--un-drop-shadow": `drop-shadow(${v})`,
349
- "filter": "var(--un-filter)"
360
+ "filter": filterProperty
350
361
  };
351
362
  }
352
363
  };
@@ -379,10 +390,10 @@ const filters = [
379
390
  [/^(backdrop-)op(?:acity)-(.+)$/, toFilter("opacity", (s) => handler.bracket.cssvar.percent(s)), { autocomplete: ["backdrop-(op|opacity)", "backdrop-(op|opacity)-<percent>"] }],
380
391
  [/^(?:(backdrop-)|filter-)?saturate-(.+)$/, toFilter("saturate", (s) => handler.bracket.cssvar.percent(s)), { autocomplete: ["(backdrop|filter)-saturate", "(backdrop|filter)-saturate-<percent>", "saturate-<percent>"] }],
381
392
  [/^(?:(backdrop-)|filter-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault), { autocomplete: ["(backdrop|filter)-sepia", "(backdrop|filter)-sepia-<percent>", "sepia-<percent>"] }],
382
- ["filter", { filter: "var(--un-filter)" }],
393
+ ["filter", { filter: filterProperty }],
383
394
  ["backdrop-filter", {
384
- "-webkit-backdrop-filter": "var(--un-backdrop-filter)",
385
- "backdrop-filter": "var(--un-backdrop-filter)"
395
+ "-webkit-backdrop-filter": backdropFilterProperty,
396
+ "backdrop-filter": backdropFilterProperty
386
397
  }],
387
398
  ["filter-none", { filter: "none" }],
388
399
  ["backdrop-filter-none", {
@@ -531,6 +542,7 @@ const borderSpacingBase = {
531
542
  "--un-border-spacing-x": 0,
532
543
  "--un-border-spacing-y": 0
533
544
  };
545
+ const borderSpacingProperty = "var(--un-border-spacing-x) var(--un-border-spacing-y)";
534
546
  const tables = [
535
547
  ["inline-table", { display: "inline-table" }],
536
548
  ["table", { display: "table" }],
@@ -550,7 +562,7 @@ const tables = [
550
562
  return {
551
563
  "--un-border-spacing-x": v,
552
564
  "--un-border-spacing-y": v,
553
- "border-spacing": "var(--un-border-spacing-x) var(--un-border-spacing-y)"
565
+ "border-spacing": borderSpacingProperty
554
566
  };
555
567
  }
556
568
  }, { autocomplete: ["border-spacing", "border-spacing-$spacing"] }],
@@ -559,7 +571,7 @@ const tables = [
559
571
  if (v != null) {
560
572
  return {
561
573
  [`--un-border-spacing-${d}`]: v,
562
- "border-spacing": "var(--un-border-spacing-x) var(--un-border-spacing-y)"
574
+ "border-spacing": borderSpacingProperty
563
575
  };
564
576
  }
565
577
  }, { autocomplete: ["border-spacing-(x|y)", "border-spacing-(x|y)-$spacing"] }],
@@ -645,12 +657,11 @@ const fontVariantNumericBase = {
645
657
  "--un-slashed-zero": varEmpty,
646
658
  "--un-numeric-figure": varEmpty,
647
659
  "--un-numeric-spacing": varEmpty,
648
- "--un-numeric-fraction": varEmpty,
649
- "--un-font-variant-numeric": "var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)"
660
+ "--un-numeric-fraction": varEmpty
650
661
  };
651
662
  const toEntries = (entry) => ({
652
663
  ...entry,
653
- "font-variant-numeric": "var(--un-font-variant-numeric)"
664
+ "font-variant-numeric": "var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)"
654
665
  });
655
666
  const fontVariantNumeric = [
656
667
  [/^ordinal$/, () => toEntries({ "--un-ordinal": "ordinal" }), { autocomplete: "ordinal" }],
@@ -667,21 +678,21 @@ const fontVariantNumeric = [
667
678
  const touchActionBase = {
668
679
  "--un-pan-x": varEmpty,
669
680
  "--un-pan-y": varEmpty,
670
- "--un-pinch-zoom": varEmpty,
671
- "--un-touch-action": "var(--un-pan-x) var(--un-pan-y) var(--un-pinch-zoom)"
681
+ "--un-pinch-zoom": varEmpty
672
682
  };
683
+ const touchActionProperty = "var(--un-pan-x) var(--un-pan-y) var(--un-pinch-zoom)";
673
684
  const touchActions = [
674
685
  [/^touch-pan-(x|left|right)$/, ([, d]) => ({
675
686
  "--un-pan-x": `pan-${d}`,
676
- "touch-action": "var(--un-touch-action)"
687
+ "touch-action": touchActionProperty
677
688
  }), { autocomplete: ["touch-pan", "touch-pan-(x|left|right|y|up|down)"] }],
678
689
  [/^touch-pan-(y|up|down)$/, ([, d]) => ({
679
690
  "--un-pan-y": `pan-${d}`,
680
- "touch-action": "var(--un-touch-action)"
691
+ "touch-action": touchActionProperty
681
692
  })],
682
693
  ["touch-pinch-zoom", {
683
694
  "--un-pinch-zoom": "pinch-zoom",
684
- "touch-action": "var(--un-touch-action)"
695
+ "touch-action": touchActionProperty
685
696
  }],
686
697
  ["touch-auto", { "touch-action": "auto" }],
687
698
  ["touch-manipulation", { "touch-action": "manipulation" }],
@@ -970,6 +981,14 @@ const theme = {
970
981
  "zoom-out-left": { "transform-origin": "left center" },
971
982
  "zoom-out-right": { "transform-origin": "right center" },
972
983
  "zoom-out-up": { "transform-origin": "center bottom" }
984
+ },
985
+ counts: {
986
+ "spin": "infinite",
987
+ "ping": "infinite",
988
+ "pulse": "infinite",
989
+ "pulse-alt": "infinite",
990
+ "bounce": "infinite",
991
+ "bounce-alt": "infinite"
973
992
  }
974
993
  },
975
994
  media: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unocss/preset-wind",
3
- "version": "0.37.2",
3
+ "version": "0.38.0",
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.37.2",
39
- "@unocss/preset-mini": "0.37.2"
38
+ "@unocss/core": "0.38.0",
39
+ "@unocss/preset-mini": "0.38.0"
40
40
  },
41
41
  "scripts": {
42
42
  "build": "unbuild",