@unocss/preset-uno 0.12.5 → 0.12.9

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.
@@ -4,97 +4,141 @@ import {
4
4
  directionMap,
5
5
  handler,
6
6
  xyzMap
7
- } from "./chunk-URBMB274.mjs";
7
+ } from "./chunk-KDBQV2WO.mjs";
8
8
 
9
- // src/rules/transition.ts
10
- var transitionBasicProps = [
11
- "color",
12
- "border-color",
13
- "background-color",
14
- "flex-grow",
15
- "flex",
16
- "flex-shrink",
17
- "caret-color",
18
- "font",
19
- "gap",
20
- "opacity",
21
- "visibility",
22
- "z-index",
23
- "font-weight",
24
- "zoom",
25
- "text-shadow",
26
- "transform",
27
- "box-shadow"
28
- ];
29
- var transitionPositionProps = [
30
- "backround-position",
31
- "left",
32
- "right",
33
- "top",
34
- "bottom",
35
- "object-position"
36
- ];
37
- var transitionSizeProps = [
38
- "max-height",
39
- "min-height",
40
- "max-width",
41
- "min-width",
42
- "height",
43
- "width",
44
- "border-width",
45
- "margin",
46
- "padding",
47
- "outline-width",
48
- "outline-offset",
49
- "font-size",
50
- "line-height",
51
- "text-indent",
52
- "vertical-align",
53
- "border-spacing",
54
- "letter-spacing",
55
- "word-spacing"
9
+ // src/rules/align.ts
10
+ var verticalAlignAlias = {
11
+ mid: "middle",
12
+ base: "baseline",
13
+ btm: "bottom"
14
+ };
15
+ var verticalAligns = [
16
+ [/^(?:vertical|align|v)-(baseline|top|bottom|middle|text-top|text-bottom|mid|base|btm)$/, ([, v]) => ({ "vertical-align": verticalAlignAlias[v] || v })]
56
17
  ];
57
- var transitionSwitchProps = ["all", "none"];
58
- var transitionEnhanceProps = ["stroke", "filter", "backdrop-filter", "fill", "mask", "mask-size", "mask-border", "clip-path", "clip"];
59
- var transitionProps = [
60
- ...transitionBasicProps,
61
- ...transitionPositionProps,
62
- ...transitionSizeProps,
63
- ...transitionEnhanceProps
18
+ var textAligns = [
19
+ ["text-center", { "text-align": "center" }],
20
+ ["text-left", { "text-align": "left" }],
21
+ ["text-right", { "text-align": "right" }],
22
+ ["text-justify", { "text-align": "justify" }]
64
23
  ];
65
- var transitionPropsStr = transitionProps.join(", ");
66
- var validateProperty = (prop) => {
67
- if (prop && ![...transitionProps, ...transitionSwitchProps].includes(prop))
68
- return;
69
- return prop || transitionPropsStr;
24
+
25
+ // src/rules/animation.ts
26
+ var keyframes = {
27
+ "spin": "{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}",
28
+ "ping": "{0%{transform:scale(1);opacity:1}75%,100%{transform:scale(2);opacity:0}}",
29
+ "bounce": "{from,20%,53%,80%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1);transform:translate3d(0,0,0)}40%,43%{animation-timing-function:cubic-bezier(0.755,0.05,0.855,0.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(0.755,0.05,0.855,0.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}",
30
+ "flash": "{from,50%,to{opacity:1}25%,75%{opacity:0}}",
31
+ "pulse": "{from{transform:scale3d(1,1,1)}50%{transform:scale3d(1.05,1.05,1.05)}to{transform:scale3d(1,1,1)}}",
32
+ "rubber-band": "{from{transform:scale3d(1,1,1)}30%{transform:scale3d(1.25,0.75,1)}40%{transform:scale3d(0.75,1.25,1)}50%{transform:scale3d(1.15,0.85,1)}65%{transform:scale3d(0.95,1.05,1)}75%{transform:scale3d(1.05,0.95,1)}to{transform:scale3d(1,1,1)}}",
33
+ "shake-x": "{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}",
34
+ "shake-y": "{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(0,-10px,0)}20%,40%,60%,80%{transform:translate3d(0,10px,0)}}",
35
+ "head-shake": "{0%{transform:translateX(0)}6.5%{transform:translateX(-6px) rotateY(-9deg)}18.5%{transform:translateX(5px) rotateY(7deg)}31.5%{transform:translateX(-3px) rotateY(-5deg)}43.5%{transform:translateX(2px) rotateY(3deg)}50%{transform:translateX(0)}}",
36
+ "swing": "{20%{transform:rotate3d(0,0,1,15deg)}40%{transform:rotate3d(0,0,1,-10deg)}60%{transform:rotate3d(0,0,1,5deg)}80%{transform:rotate3d(0,0,1,-5deg)}to{transform:rotate3d(0,0,1,0deg)}}",
37
+ "tada": "{from{transform:scale3d(1,1,1)}10%,20%{transform:scale3d(0.9,0.9,0.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}to{transform:scale3d(1,1,1)}}",
38
+ "wobble": "{from{transform:translate3d(0,0,0)}15%{transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}to{transform:translate3d(0,0,0)}}",
39
+ "jello": "{from,11.1% to{transform:translate3d(0,0,0)}22.2%{transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{transform:skewX(6.25deg) skewY(6.25deg)}44.4%{transform:skewX(-3.125deg)skewY(-3.125deg)}55.5%{transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{transform:skewX(-0.78125deg) skewY(-0.78125deg)}77.7%{transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{transform:skewX(-0.1953125deg) skewY(-0.1953125deg)}}",
40
+ "heart-beat": "{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}",
41
+ "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}}",
42
+ "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)}}",
43
+ "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)}}",
44
+ "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)}}",
45
+ "light-speed-out-left": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}",
46
+ "light-speed-out-right": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}",
47
+ "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}}",
48
+ "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)}}",
49
+ "flip-in-y": "{from{transform:perspective(400px) rotate3d(0,1,0,90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(0,1,0,-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{transform:perspective(400px)}}",
50
+ "flip-out-x": "{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}",
51
+ "flip-out-y": "{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}",
52
+ "rotate-in": "{from{transform-origin:center;transform:rotate3d(0,0,1,-200deg);opacity:0}to{transform-origin:center;transform:translate3d(0,0,0);opacity:1}}",
53
+ "rotate-in-down-left": "{from{transform-origin:left bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}to{transform-origin:left bottom;transform:translate3d(0,0,0);opacity:1}}",
54
+ "rotate-in-down-right": "{from{transform-origin:right bottom;transform:rotate3d(0,0,1,45deg);opacity:0}to{transform-origin:right bottom;transform:translate3d(0,0,0);opacity:1}}",
55
+ "rotate-in-up-left": "{from{transform-origin:left top;transform:rotate3d(0,0,1,45deg);opacity:0}to{transform-origin:left top;transform:translate3d(0,0,0);opacity:1}}",
56
+ "rotate-in-up-right": "{from{transform-origin:right bottom;transform:rotate3d(0,0,1,-90deg);opacity:0}to{transform-origin:right bottom;transform:translate3d(0,0,0);opacity:1}}",
57
+ "rotate-out": "{from{transform-origin:center;opacity:1}to{transform-origin:center;transform:rotate3d(0,0,1,200deg);opacity:0}}",
58
+ "rotate-out-down-left": "{from{transform-origin:left bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,45deg);opacity:0}}",
59
+ "rotate-out-down-right": "{from{transform-origin:right bottom;opacity:1}to{transform-origin:right bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}}",
60
+ "rotate-out-up-left": "{from{transform-origin:left bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}}",
61
+ "rotate-out-up-right": "{from{transform-origin:right bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,90deg);opacity:0}}",
62
+ "roll-in": "{from{opacity:0;transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;transform:translate3d(0,0,0)}}",
63
+ "roll-out": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}",
64
+ "zoom-in": "{from{opacity:0;transform:scale3d(0.3,0.3,0.3)}50%{opacity:1}}",
65
+ "zoom-in-down": "{from{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}",
66
+ "zoom-in-left": "{from{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}",
67
+ "zoom-in-right": "{from{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}",
68
+ "zoom-in-up": "{from{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}",
69
+ "zoom-out": "{from{opacity:1}50%{opacity:0;transform:scale3d(0.3,0.3,0.3)}to{opacity:0}}",
70
+ "zoom-out-down": "{40%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}to{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(0,2000px,0);transform-origin:center bottom;animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}",
71
+ "zoom-out-left": "{40%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(42px,0,0)}to{opacity:0;transform:scale(0.1) translate3d(-2000px,0,0);transform-origin:left center}}",
72
+ "zoom-out-right": "{40%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(-42px,0,0)}to{opacity:0;transform:scale(0.1) translate3d(2000px,0,0);transform-origin:right center}}",
73
+ "zoom-out-up": "{40%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}to{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(0,-2000px,0);transform-origin:center bottom;animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}",
74
+ "bounce-in": "{from,20%,40%,60%,80%,to{animation-timing-function:ease-in-out}0%{opacity:0;transform:scale3d(0.3,0.3,0.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(0.9,0.9,0.9)}60%{transform:scale3d(1.03,1.03,1.03);opacity:1}80%{transform:scale3d(0.97,0.97,0.97)}to{opacity:1;transform:scale3d(1,1,1)}}",
75
+ "bounce-in-down": "{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:translate3d(0,0,0)}}",
76
+ "bounce-in-left": "{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:translate3d(0,0,0)}}",
77
+ "bounce-in-right": "{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:translate3d(0,0,0)}}",
78
+ "bounce-in-up": "{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translate3d(0,0,0)}}",
79
+ "bounce-out": "{20%{transform:scale3d(0.9,0.9,0.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(0.3,0.3,0.3)}}",
80
+ "bounce-out-down": "{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}",
81
+ "bounce-out-left": "{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}",
82
+ "bounce-out-right": "{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}",
83
+ "bounce-out-up": "{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}",
84
+ "slide-in-down": "{from{transform:translate3d(0,-100%,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
85
+ "slide-in-left": "{from{transform:translate3d(-100%,0,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
86
+ "slide-in-right": "{from{transform:translate3d(100%,0,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
87
+ "slide-in-up": "{from{transform:translate3d(0,100%,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
88
+ "slide-out-down": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(0,100%,0)}}",
89
+ "slide-out-left": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(-100%,0,0)}}",
90
+ "slide-out-right": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(100%,0,0)}}",
91
+ "slide-out-up": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(0,-100%,0)}}",
92
+ "fade-in": "{from{opacity:0}to{opacity:1}}",
93
+ "fade-in-down": "{from{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
94
+ "fade-in-down-big": "{from{opacity:0;transform:translate3d(0,-2000px,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
95
+ "fade-in-left": "{from{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
96
+ "fade-in-left-big": "{from{opacity:0;transform:translate3d(-2000px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
97
+ "fade-in-right": "{from{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
98
+ "fade-in-right-big": "{from{opacity:0;transform:translate3d(2000px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
99
+ "fade-in-up": "{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
100
+ "fade-in-up-big": "{from{opacity:0;transform:translate3d(0,2000px,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
101
+ "fade-in-top-left": "{from{opacity:0;transform:translate3d(-100%,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
102
+ "fade-in-top-right": "{from{opacity:0;transform:translate3d(100%,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
103
+ "fade-in-bottom-left": "{from{opacity:0;transform:translate3d(-100%,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
104
+ "fade-in-bottom-right": "{from{opacity:0;transform:translate3d(100%,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
105
+ "fade-out": "{from{opacity:1}to{opacity:0}}",
106
+ "fade-out-down": "{from{opacity:1}to{opacity:0;transform:translate3d(0,100%,0)}}",
107
+ "fade-out-down-big": "{from{opacity:1}to{opacity:0;transform:translate3d(0,2000px,0)}}",
108
+ "fade-out-left": "{from{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0)}}",
109
+ "fade-out-left-big": "{from{opacity:1}to{opacity:0;transform:translate3d(-2000px,0,0)}}",
110
+ "fade-out-right": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0)}}",
111
+ "fade-out-right-big": "{from{opacity:1}to{opacity:0;transform:translate3d(2000px,0,0)}}",
112
+ "fade-out-up": "{from{opacity:1}to{opacity:0;transform:translate3d(0,-100%,0)}}",
113
+ "fade-out-up-big": "{from{opacity:1}to{opacity:0;transform:translate3d(0,-2000px,0)}}",
114
+ "fade-out-top-left": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-100%,-100%,0)}}",
115
+ "fade-out-top-right": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(100%,-100%,0)}}",
116
+ "fade-out-bottom-left": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-100%,100%,0)}}",
117
+ "fade-out-bottom-right": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(100%,100%,0)}}",
118
+ "back-in-up": "{0%{opacity:0.7;transform:translateY(1200px) scale(0.7)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:1;transform:scale(1)}}",
119
+ "back-in-down": "{0%{opacity:0.7;transform:translateY(-1200px) scale(0.7)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:1;transform:scale(1)}}",
120
+ "back-in-right": "{0%{opacity:0.7;transform:translateX(2000px) scale(0.7)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:1;transform:scale(1)}}",
121
+ "back-in-left": "{0%{opacity:0.7;transform:translateX(-2000px) scale(0.7)}80%{opacity:0.7;transform:translateX(0px) scale(0.7)}100%{opacity:1;transform:scale(1)}}",
122
+ "back-out-up": "{0%{opacity:1;transform:scale(1)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:0.7;transform:translateY(-700px) scale(0.7)}}",
123
+ "back-out-down": "{0%{opacity:1;transform:scale(1)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:0.7;transform:translateY(700px) scale(0.7)}}",
124
+ "back-out-right": "{0%{opacity:1;transform:scale(1)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:0.7;transform:translateX(2000px) scale(0.7)}}",
125
+ "back-out-left": "{0%{opacity:1;transform:scale(1)}80%{opacity:0.7;transform:translateX(-2000px) scale(0.7)}100%{opacity:0.7;transform:translateY(-700px) scale(0.7)}}"
70
126
  };
71
- var transitions = [
72
- [/^transition(?:-([a-z-]+))?(?:-(\d+))?$/, ([, prop, duration = "150"]) => {
73
- const transitionProperty = validateProperty(prop);
74
- if (!transitionProperty)
75
- return;
76
- return {
77
- "transition-property": transitionProperty,
78
- "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)",
79
- "transition-duration": `${duration}ms`
80
- };
81
- }],
82
- [/^duration-(\d+)$/, ([, duration = "150"]) => {
83
- return {
84
- "transition-duration": `${duration}ms`
85
- };
127
+ var animations = [
128
+ [/^animate-(.*)$/, ([, name], { constructCSS }) => {
129
+ const kf = keyframes[name];
130
+ if (kf)
131
+ return `@keyframes ${name}${kf}
132
+ ${constructCSS({ animation: `${name} 1s linear infinite` })}`;
86
133
  }],
87
- ["ease", { "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)" }],
88
- ["ease-in", { "transition-timing-function": "cubic-bezier(0.4, 0, 1, 1)" }],
89
- ["ease-out", { "transition-timing-function": "cubic-bezier(0, 0, 0.2, 1)" }],
90
- ["ease-in-out", { "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)" }],
91
- [/^transition-delay-(\d+)$/, ([, v]) => ({ "transition-delay": `${v}ms` })],
92
- [/^transition-duration-(\d+)$/, ([, v]) => ({ "transition-duration": `${v}ms` })],
93
- [/^(?:transition-)?property-([a-z-]+)$/, ([, v]) => {
94
- const transitionProperty = validateProperty(v);
95
- if (transitionProperty)
96
- return { "transition-property": transitionProperty };
97
- }]
134
+ ["animate-none", { animation: "none" }],
135
+ [/^animate(?:-duration)?-((.+)(?:(s|ms)?))$/, ([, d]) => ({ "animation-duration": handler.bracket.time(d.replace(/-duration/, "")) })],
136
+ [/^animate-delay-((.+)(?:(s|ms)?))$/, ([, d]) => ({ "animation-delay": handler.bracket.time(d) })],
137
+ [/^animate-(?:fill-)?mode-(none|forwards|backwards|both|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-fill-mode": d })],
138
+ [/^animate-(?:direction-)?(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-direction": d })],
139
+ [/^animate-(?:iteration-)?count-(.+)$/, ([, d]) => ({ "animation-iteration-count": d.replace(/\-/g, ", ") })],
140
+ [/^animate-name-(.+)/, ([, d]) => ({ "animation-name": d })],
141
+ [/^animate-play(?:-state)?-(paused|running|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-play-state": d })]
98
142
  ];
99
143
 
100
144
  // src/rules/color.ts
@@ -133,8 +177,8 @@ var colorResolver = (attribute, varName) => ([, body], { theme }) => {
133
177
  const { opacity: opacity2, color, rgba } = data;
134
178
  if (!color)
135
179
  return;
180
+ const a = opacity2 ? opacity2[0] === "[" ? handler.bracket.percent(opacity2) : parseFloat(opacity2) / 100 : rgba == null ? void 0 : rgba[3];
136
181
  if (rgba) {
137
- const a = opacity2 ? opacity2[0] === "[" ? handler.bracket.percent(opacity2) : parseFloat(opacity2) / 100 : rgba[3];
138
182
  if (a != null && !Number.isNaN(a)) {
139
183
  rgba[3] = typeof a === "string" && !a.includes("%") ? parseFloat(a) : a;
140
184
  return {
@@ -148,7 +192,7 @@ var colorResolver = (attribute, varName) => ([, body], { theme }) => {
148
192
  }
149
193
  } else {
150
194
  return {
151
- [attribute]: color
195
+ [attribute]: color.replace("%alpha", `${a || 1}`)
152
196
  };
153
197
  }
154
198
  };
@@ -201,85 +245,6 @@ var fillColors = [
201
245
  [/^fill-op(?:acity)?-?(.+)$/m, ([, opacity2]) => ({ "--un-fill-opacity": handler.bracket.percent(opacity2) })]
202
246
  ];
203
247
 
204
- // src/rules/border.ts
205
- var borderSizes = [
206
- [/^border$/, handlerBorder],
207
- [/^(?:border|b)(?:-([^-]+))?$/, handlerBorder],
208
- [/^(?:border|b)(?:-([^-]+))?(?:-([^-]+))?$/, handlerBorder]
209
- ];
210
- var borderRadius = [
211
- [/^(?:border-)?(?:rounded|rd)$/, handlerRounded],
212
- [/^(?:border-)?(?:rounded|rd)(?:-([^-]+))?$/, handlerRounded],
213
- [/^(?:border-)?(?:rounded|rd)(?:-([^-]+))?(?:-([^-]+))?$/, handlerRounded]
214
- ];
215
- var borderStyles = [
216
- ["border-solid", { "border-style": "solid" }],
217
- ["border-dashed", { "border-style": "dashed" }],
218
- ["border-dotted", { "border-style": "dotted" }],
219
- ["border-double", { "border-style": "double" }],
220
- ["border-none", { "border-style": "none" }]
221
- ];
222
- var borders = [
223
- borderSizes,
224
- borderColors,
225
- borderStyles,
226
- borderRadius
227
- ].flat(1);
228
- function handlerBorder([, a, b]) {
229
- const [d, s = "1"] = directionMap[a] ? [a, b] : ["", a];
230
- const v = handler.bracket.px(s);
231
- if (v != null) {
232
- return [
233
- ...directionMap[d].map((i) => [`border${i}-width`, v]),
234
- ["border-style", "solid"]
235
- ];
236
- }
237
- }
238
- function handlerRounded([, a, b], { theme }) {
239
- var _a;
240
- const [d, s = "DEFAULT"] = cornerMap[a] ? [a, b] : ["", a];
241
- const v = ((_a = theme.borderRadius) == null ? void 0 : _a[s]) || handler.bracket.fraction.rem(s);
242
- if (v != null)
243
- return cornerMap[d].map((i) => [`border${i}-radius`, v]);
244
- }
245
-
246
- // src/rules/container.ts
247
- import { toArray } from "@unocss/core";
248
- var queryMatcher = /@media \(min-width: (.+)\)/;
249
- var container = [
250
- [
251
- /^__container$/,
252
- (m, { variantHandlers }) => {
253
- var _a;
254
- let width = "100%";
255
- for (const v of variantHandlers) {
256
- const query = toArray(v.parent || [])[0];
257
- if (typeof query === "string") {
258
- const match = (_a = query.match(queryMatcher)) == null ? void 0 : _a[1];
259
- if (match)
260
- width = match;
261
- }
262
- }
263
- return { "max-width": width };
264
- },
265
- { internal: true }
266
- ]
267
- ];
268
- var containerShortcuts = [
269
- [/^(?:(\w+)[:-])?container$/, ([, bp], { theme }) => {
270
- let points = Object.keys(theme.breakpoints || {});
271
- if (bp) {
272
- if (!points.includes(bp))
273
- return;
274
- points = points.slice(points.indexOf(bp));
275
- }
276
- const shortcuts = points.map((p) => `${p}:__container`);
277
- if (!bp)
278
- shortcuts.unshift("__container");
279
- return shortcuts;
280
- }]
281
- ];
282
-
283
248
  // src/rules/background.ts
284
249
  var colorResolver2 = (mode) => ([, body], { theme }) => {
285
250
  const data = parseColorUtil(body, theme);
@@ -408,1020 +373,1073 @@ var bgSizes = [
408
373
  ["bg-contain", { "background-position": "contain" }]
409
374
  ];
410
375
 
411
- // src/rules/filters.ts
412
- import { toArray as toArray2 } from "@unocss/core";
413
- var varEmpty = "var(--un-empty,/*!*/ /*!*/)";
414
- var percentWithDefault = (defaultValue = "1") => (str) => {
415
- const v = str ? handler.bracket.percent(str) : defaultValue;
416
- return v && parseFloat(v) <= 1 ? v : void 0;
417
- };
418
- var toFilter = (varName, resolver) => ([, b, s], { theme }) => {
419
- const value = resolver(s, theme);
420
- if (value)
421
- return { [`--un-${b || ""}${varName}`]: `${varName}(${value})` };
422
- };
423
- var filterContnet = "var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia) var(--un-drop-shadow)";
424
- var filter = {
425
- "--un-blur": varEmpty,
426
- "--un-brightness": varEmpty,
427
- "--un-contrast": varEmpty,
428
- "--un-grayscale": varEmpty,
429
- "--un-hue-rotate": varEmpty,
430
- "--un-invert": varEmpty,
431
- "--un-saturate": varEmpty,
432
- "--un-sepia": varEmpty,
433
- "--un-drop-shadow": varEmpty,
434
- "filter": filterContnet
435
- };
436
- var backdropFilterContent = "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-saturate) var(--un-backdrop-sepia)";
437
- var backdropFilter = {
438
- "--un-backdrop-blur": varEmpty,
439
- "--un-backdrop-brightness": varEmpty,
440
- "--un-backdrop-contrast": varEmpty,
441
- "--un-backdrop-grayscale": varEmpty,
442
- "--un-backdrop-hue-rotate": varEmpty,
443
- "--un-backdrop-invert": varEmpty,
444
- "--un-backdrop-saturate": varEmpty,
445
- "--un-backdrop-sepia": varEmpty,
446
- "-webkit-backdrop-filter": backdropFilterContent,
447
- "backdrop-filter": backdropFilterContent
376
+ // src/rules/behaviors.ts
377
+ var outlineStyle = ["none", "auto", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset", "inherit", "initial", "revert", "unset"];
378
+ var listStyleProps = ["none", "disc", "circle", "square", "decimal", "zero-decimal", "greek", "roman", "upper-roman", "alpha", "upper-alpha"];
379
+ var parseOutlineSize = (s) => {
380
+ const propName = ["width", "offset"].find((item) => s.startsWith(item)) || "width";
381
+ const size = handler.bracket.fraction.rem(s.replace(/^(offset\-|width\-)/, ""));
382
+ if (size) {
383
+ return {
384
+ [`outline-${propName}`]: size
385
+ };
386
+ }
448
387
  };
449
- var filters = [
450
- ["filter", filter],
451
- ["filter-none", { filter: "none" }],
452
- ["backdrop-filter", backdropFilter],
453
- ["backdrop-filter-none", {
454
- "-webkit-backdrop-filter": "none",
455
- "backdrop-filter": "none"
456
- }],
457
- [/^(backdrop-)?blur(?:-(.+))?$/, toFilter("blur", (s, theme) => {
458
- var _a;
459
- return ((_a = theme.blur) == null ? void 0 : _a[s || "DEFAULT"]) || handler.bracket.px(s);
460
- })],
461
- [/^(backdrop-)?brightness-(\d+)$/, toFilter("brightness", (s) => handler.bracket.percent(s))],
462
- [/^(backdrop-)?contrast-(\d+)$/, toFilter("contrast", (s) => handler.bracket.percent(s))],
463
- [/^()?drop-shadow(?:-(.+))?$/, toFilter("drop-shadow", (s, theme) => {
464
- var _a;
465
- const v = handler.bracket(s) || ((_a = theme.dropShadow) == null ? void 0 : _a[s || "DEFAULT"]);
466
- if (v)
467
- return toArray2(v).map((v2) => `drop-shadow(${v2})`).join(" ");
468
- })],
469
- [/^(backdrop-)?grayscale(?:-(\d+))?$/, toFilter("grayscale", percentWithDefault())],
470
- [/^(backdrop-)?hue-rotate-(\d+)$/, toFilter("hue-rotate", (s) => `${handler.bracket.number(s)}deg`)],
471
- [/^(backdrop-)?invert(?:-(\d+))?$/, toFilter("invert", percentWithDefault())],
472
- [/^(backdrop-)?saturate(?:-(\d+))?$/, toFilter("saturate", percentWithDefault("0"))],
473
- [/^(backdrop-)?sepia(?:-(\d+))?$/, toFilter("sepia", percentWithDefault())]
474
- ];
475
-
476
- // src/rules/flex.ts
477
- var flex = [
478
- ["flex-col", { "flex-direction": "column" }],
479
- ["flex-col-reverse", { "flex-direction": "column-reverse" }],
480
- ["flex-row", { "flex-direction": "row" }],
481
- ["flex-row-reverse", { "flex-direction": "row-reverse" }],
482
- ["flex-wrap", { "flex-wrap": "wrap" }],
483
- ["flex-wrap-reverse", { "flex-wrap": "wrap-reverse" }],
484
- ["flex-nowrap", { "flex-wrap": "nowrap" }],
485
- ["flex-1", { flex: "1 1 0%" }],
486
- ["flex-auto", { flex: "1 1 auto" }],
487
- ["flex-initial", { flex: "0 1 auto" }],
488
- ["flex-none", { flex: "none" }],
489
- [/^flex-\[(.+)\]$/, ([, d]) => ({ flex: d })],
490
- ["flex-grow", { "flex-grow": 1 }],
491
- ["flex-grow-0", { "flex-grow": 0 }],
492
- ["flex-shrink", { "flex-shrink": 1 }],
493
- ["flex-shrink-0", { "flex-shrink": 0 }],
494
- ["flex", { display: "flex" }],
495
- ["inline-flex", { display: "inline-flex" }],
496
- ["flex-inline", { display: "inline-flex" }]
497
- ];
498
-
499
- // src/rules/typography.ts
500
- import { toArray as toArray3 } from "@unocss/core";
501
- var fontsFamilies = [
502
- [/^font-(\w+)$/, ([, d], { theme }) => {
503
- var _a;
504
- const font = (_a = theme.fontFamily) == null ? void 0 : _a[d];
505
- if (font) {
506
- return {
507
- "font-family": font
508
- };
388
+ var outline = [
389
+ ["outline-none", { "outline": "2px solid transparent", "outline-offset": "2px" }],
390
+ ["outline", { "outline-style": "solid" }],
391
+ [
392
+ /^outline-(.+)$/,
393
+ (match, config) => {
394
+ const [, d] = match;
395
+ if (d === "none") {
396
+ return {
397
+ "outline": "2px solid transparent",
398
+ "outline-offset": "2px"
399
+ };
400
+ }
401
+ if (outlineStyle.includes(d)) {
402
+ return {
403
+ "outline-style": d
404
+ };
405
+ }
406
+ const sizeSheet = parseOutlineSize(d);
407
+ if (sizeSheet)
408
+ return sizeSheet;
409
+ const colorSheet = colorResolver("outline-color", "outline-color")([
410
+ match[0],
411
+ match[1].replace(/^color-/, "")
412
+ ], config);
413
+ if (colorSheet)
414
+ return colorSheet;
509
415
  }
510
- }]
416
+ ]
511
417
  ];
512
- var weightMap = {
513
- thin: "100",
514
- extralight: "200",
515
- light: "300",
516
- normal: "400",
517
- medium: "500",
518
- semibold: "600",
519
- bold: "700",
520
- extrabold: "800",
521
- black: "900"
522
- };
523
- var fontSizes = [
524
- [/^text-([^-]+)$/, ([, s = "base"], { theme }) => {
418
+ var listStyle = [
419
+ [new RegExp(`^list-((${listStyleProps.join("|")})(?:(-outside|-inside))?)$`), ([, value]) => {
525
420
  var _a;
526
- const result = toArray3(((_a = theme.fontSize) == null ? void 0 : _a[s]) || handler.bracket.rem(s));
527
- if (result == null ? void 0 : result[0]) {
528
- const [size, height = "1"] = result;
421
+ const style = value.split(/-outside|-inside/)[0];
422
+ const position = (_a = /inside|outside/.exec(value)) != null ? _a : [];
423
+ if (position.length) {
529
424
  return {
530
- "font-size": size,
531
- "line-height": height
425
+ "list-style-position": `${position[0]}`,
426
+ "list-style-type": `${style}`
532
427
  };
533
428
  }
429
+ return {
430
+ "list-style-type": `${style}`
431
+ };
432
+ }],
433
+ [/^list-(inside|outside)$/, ([, value]) => {
434
+ return {
435
+ "list-style-position": value
436
+ };
534
437
  }]
535
438
  ];
536
- var fontWeights = [
537
- [/^(?:font|fw)-?([^-]+)$/, ([, s]) => {
538
- const v = weightMap[s] || handler.number(s);
539
- if (v)
540
- return { "font-weight": v };
541
- }]
439
+ var boxDecorationBreaks = [
440
+ ["decoration-slice", { "box-decoration-break": "slice" }],
441
+ ["decoration-clone", { "box-decoration-break": "clone" }]
542
442
  ];
543
- var leadings = [
544
- [/^(?:leading|lh)-([^-]+)$/, ([, s], { theme }) => {
545
- var _a;
546
- const v = ((_a = theme.lineHeight) == null ? void 0 : _a[s]) || handler.bracket.rem(s);
547
- if (v !== null)
548
- return { "line-height": v };
549
- }]
443
+ var caretOpacity = [
444
+ [/^caret-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-caret-opacity": handler.bracket.percent(d) })]
550
445
  ];
551
- var trackings = [
552
- [/^tracking-([^-]+)$/, ([, s], { theme }) => {
553
- var _a;
554
- const v = ((_a = theme.letterSpacing) == null ? void 0 : _a[s]) || handler.bracket.rem(s);
555
- if (v !== null)
556
- return { "letter-spacing": v };
557
- }]
446
+ var caretColors = [
447
+ [/^caret-(.+)$/, colorResolver("caret-color", "caret")]
558
448
  ];
559
- var wordSpacings = [
560
- [/^word-spacing-([^-]+)$/, ([, s], { theme }) => {
561
- var _a;
562
- const v = ((_a = theme.wordSpacing) == null ? void 0 : _a[s]) || handler.bracket.rem(s);
563
- if (v !== null)
564
- return { "word-spacing": v };
449
+ var imageRenderings = [
450
+ ["image-render-auto", { "image-rendering": "auto" }],
451
+ ["image-render-edge", { "image-rendering": "crisp-edges" }],
452
+ ["image-render-pixel", [
453
+ ["-ms-interpolation-mode", "nearest-neighbor"],
454
+ ["image-rendering", "-webkit-optimize-contrast"],
455
+ ["image-rendering", "-moz-crisp-edges"],
456
+ ["image-rendering", "-o-pixelated"],
457
+ ["image-rendering", "pixelated"]
458
+ ]]
459
+ ];
460
+ var appearance = [
461
+ ["appearance-none", {
462
+ "appearance": "none",
463
+ "-webkit-appearance": "none"
565
464
  }]
566
465
  ];
567
- var tabSizes = [
568
- [/^tab-?([^-]*)$/, ([, s]) => {
569
- s = s || "4";
570
- const v = handler.bracket.global.number(s);
571
- if (v !== null) {
572
- return {
573
- "-moz-tab-size": v,
574
- "-o-tab-size": v,
575
- "tab-size": v
576
- };
466
+ var placeholder = [
467
+ [
468
+ /^placeholder-opacity-(\d+)$/,
469
+ ([, d]) => ({
470
+ "placeholder-opacity": handler.bracket.percent(d)
471
+ })
472
+ ],
473
+ [
474
+ /^placeholder-(?!opacity)(.+)$/,
475
+ (match, config) => {
476
+ match[1] = match[1].replace(/^color-/, "");
477
+ return colorResolver("placeholder-color", "placeholder-color")(match, config);
577
478
  }
578
- }]
479
+ ]
579
480
  ];
580
- var textDecorationLengths = [
581
- [/^underline-([^-]+)$/, ([, s]) => {
582
- const v = s === "auto" ? s : handler.bracket.px(s);
583
- if (v != null)
584
- return { "text-decoration-thickness": v };
585
- }]
481
+ var overflowValues = [
482
+ "none",
483
+ "auto",
484
+ "hidden",
485
+ "visible",
486
+ "scroll",
487
+ "contain"
586
488
  ];
587
- var textDecorationOffsets = [
588
- [/^underline-offset-([^-]+)$/, ([, s]) => {
589
- const v = s === "auto" ? s : handler.bracket.px(s);
590
- if (v != null)
591
- return { "text-underline-offset": v };
592
- }]
489
+ var overscrolls = [
490
+ [/^overscroll-(.+)$/, ([, v]) => overflowValues.includes(v) ? { "overscroll-behavior": v } : void 0],
491
+ [/^overscroll-([xy])-(.+)$/, ([, d, v]) => overflowValues.includes(v) ? { [`overscroll-behavior-${d}`]: v } : void 0]
593
492
  ];
594
- var textIndents = [
595
- [/^indent(?:-(.+))?$/, ([, s], { theme }) => {
596
- var _a;
597
- const v = ((_a = theme.textIndent) == null ? void 0 : _a[s || "DEFAULT"]) || handler.bracket.cssvar.fraction.rem(s);
598
- if (v != null)
599
- return { "text-indent": v };
600
- }]
493
+
494
+ // src/rules/border.ts
495
+ var borderSizes = [
496
+ [/^border$/, handlerBorder],
497
+ [/^(?:border|b)(?:-([^-]+))?$/, handlerBorder],
498
+ [/^(?:border|b)(?:-([^-]+))?(?:-([^-]+))?$/, handlerBorder]
601
499
  ];
602
- var textStrokeWidths = [
603
- [/^text-stroke(?:-(.+))?$/, ([, s], { theme }) => {
604
- var _a;
605
- const v = ((_a = theme.textStrokeWidth) == null ? void 0 : _a[s || "DEFAULT"]) || handler.bracket.cssvar.px(s);
606
- if (v != null)
607
- return { "-webkit-text-stroke-width": v };
608
- }]
500
+ var borderRadius = [
501
+ [/^(?:border-)?(?:rounded|rd)$/, handlerRounded],
502
+ [/^(?:border-)?(?:rounded|rd)(?:-([^-]+))?$/, handlerRounded],
503
+ [/^(?:border-)?(?:rounded|rd)(?:-([^-]+))?(?:-([^-]+))?$/, handlerRounded]
609
504
  ];
610
- var textShadows = [
611
- [/^text-shadow(?:-(.+))?$/, ([, s], { theme }) => {
612
- var _a;
613
- const v = ((_a = theme.textShadow) == null ? void 0 : _a[s || "DEFAULT"]) || handler.bracket.cssvar(s);
614
- if (v != null)
615
- return { "text-shadow": v };
616
- }]
505
+ var borderStyles = [
506
+ ["border-solid", { "border-style": "solid" }],
507
+ ["border-dashed", { "border-style": "dashed" }],
508
+ ["border-dotted", { "border-style": "dotted" }],
509
+ ["border-double", { "border-style": "double" }],
510
+ ["border-none", { "border-style": "none" }]
617
511
  ];
618
- var fonts = [
619
- fontsFamilies,
620
- fontSizes,
621
- fontWeights
512
+ var borders = [
513
+ borderSizes,
514
+ borderColors,
515
+ borderStyles,
516
+ borderRadius
622
517
  ].flat(1);
518
+ function handlerBorder([, a, b]) {
519
+ const [d, s = "1"] = directionMap[a] ? [a, b] : ["", a];
520
+ const v = handler.bracket.px(s);
521
+ if (v != null) {
522
+ return [
523
+ ...directionMap[d].map((i) => [`border${i}-width`, v]),
524
+ ["border-style", "solid"]
525
+ ];
526
+ }
527
+ }
528
+ function handlerRounded([, a, b], { theme }) {
529
+ var _a;
530
+ const [d, s = "DEFAULT"] = cornerMap[a] ? [a, b] : ["", a];
531
+ const v = ((_a = theme.borderRadius) == null ? void 0 : _a[s]) || handler.bracket.fraction.rem(s);
532
+ if (v != null)
533
+ return cornerMap[d].map((i) => [`border${i}-radius`, v]);
534
+ }
623
535
 
624
- // src/rules/gap.ts
625
- var gaps = [
626
- [/^(?:flex-|grid-)?gap-([^-]+)$/, ([, s]) => {
627
- const v = handler.bracket.rem(s);
628
- if (v != null) {
629
- return {
630
- "grid-gap": v,
631
- "gap": v
632
- };
633
- }
634
- }],
635
- [/^(?:flex-|grid-)?gap-x-([^-]+)$/, ([, s]) => {
636
- const v = handler.bracket.rem(s);
637
- if (v != null) {
638
- return {
639
- "grid-column-gap": v,
640
- "column-gap": v
641
- };
642
- }
643
- }],
644
- [/^(?:flex-|grid-)?gap-y-([^-]+)$/, ([, s]) => {
645
- const v = handler.bracket.rem(s);
646
- if (v != null) {
647
- return {
648
- "grid-row-gap": v,
649
- "row-gap": v
650
- };
651
- }
652
- }]
536
+ // src/rules/container.ts
537
+ import { toArray } from "@unocss/core";
538
+ var queryMatcher = /@media \(min-width: (.+)\)/;
539
+ var container = [
540
+ [
541
+ /^__container$/,
542
+ (m, { variantHandlers }) => {
543
+ var _a;
544
+ let width = "100%";
545
+ for (const v of variantHandlers) {
546
+ const query = toArray(v.parent || [])[0];
547
+ if (typeof query === "string") {
548
+ const match = (_a = query.match(queryMatcher)) == null ? void 0 : _a[1];
549
+ if (match)
550
+ width = match;
551
+ }
552
+ }
553
+ return { "max-width": width };
554
+ },
555
+ { internal: true }
556
+ ]
653
557
  ];
654
-
655
- // src/rules/grid.ts
656
- import { toArray as toArray4 } from "@unocss/core";
657
- var calSize = (s, theme) => {
658
- var _a;
659
- return toArray4(((_a = theme.fontSize) == null ? void 0 : _a[s]) || handler.bracket.rem(s))[0];
660
- };
661
- var autoDirection = (selector, theme) => {
662
- if (selector === "min")
663
- return "min-content";
664
- else if (selector === "max")
665
- return "max-content";
666
- else if (selector === "fr")
667
- return "minmax(0,1fr)";
668
- return calSize(selector, theme);
669
- };
670
- var grids = [
671
- ["grid", { display: "grid" }],
672
- ["inline-grid", { display: "inline-grid" }],
673
- [/^grid-cols-(\d+)$/, ([, d]) => ({ "grid-template-columns": `repeat(${d},minmax(0,1fr))` })],
674
- [/^grid-rows-(\d+)$/, ([, d]) => ({ "grid-template-rows": `repeat(${d},minmax(0,1fr))` })],
675
- [/^grid-cols-\[(.+)\]$/, ([, v]) => ({ "grid-template-columns": v.replace(/,/g, " ") })],
676
- [/^grid-rows-\[(.+)\]$/, ([, v]) => ({ "grid-template-rows": v.replace(/,/g, " ") })],
677
- [/^(?:grid-)?auto-flow-([\w.-]+)$/, ([, v]) => ({ "grid-auto-flow": `${v.replace("col", "column").split("-").join(" ")}` })],
678
- [/^(?:grid-)?row-start-([\w.-]+)$/, ([, v]) => ({ "grid-row-start": `${v}` })],
679
- [/^(?:grid-)?row-end-([\w.-]+)$/, ([, v]) => ({ "grid-row-end": `${v}` })],
680
- [/^(?:grid-)?col-start-([\w.-]+)$/, ([, v]) => ({ "grid-column-start": `${v}` })],
681
- [/^(?:grid-)?col-end-([\w.]+)$/, ([, v]) => ({ "grid-column-end": `${v}` })],
682
- [/^(?:grid-)?auto-rows-([\w.-]+)$/, ([, v], { theme }) => ({ "grid-auto-rows": `${autoDirection(v, theme)}` })],
683
- [/^(?:grid-)?auto-cols-([\w.-]+)$/, ([, v], { theme }) => ({ "grid-auto-columns": `${autoDirection(v, theme)}` })],
684
- [/^(?:grid-)?(row|col)-(.+)$/, ([, d, v]) => {
685
- var _a;
686
- const key = d === "row" ? "grid-row" : "grid-column";
687
- let raw = handler.bracket(v);
688
- if (raw)
689
- return { [key]: raw };
690
- const parts = v.split("-");
691
- if (parts.length === 1 && parts[0] === "auto")
692
- return { [key]: parts[0] };
693
- if (parts[0] === "span") {
694
- if (parts[1] === "full")
695
- return { [key]: "1/-1" };
696
- raw = (_a = handler.number.bracket(parts[1])) == null ? void 0 : _a.toString().replace(/_/g, " ");
697
- if (raw)
698
- return { [key]: `span ${raw}/span ${raw}` };
558
+ var containerShortcuts = [
559
+ [/^(?:(\w+)[:-])?container$/, ([, bp], { theme }) => {
560
+ let points = Object.keys(theme.breakpoints || {});
561
+ if (bp) {
562
+ if (!points.includes(bp))
563
+ return;
564
+ points = points.slice(points.indexOf(bp));
699
565
  }
566
+ const shortcuts = points.map((p) => `${p}:__container`);
567
+ if (!bp)
568
+ shortcuts.unshift("__container");
569
+ return shortcuts;
700
570
  }]
701
571
  ];
702
572
 
703
- // src/rules/layout.ts
704
- var overflowValues = [
705
- "auto",
706
- "hidden",
707
- "visible",
708
- "scroll"
709
- ];
710
- var overflows = [
711
- [/^(?:overflow|of)-(.+)$/, ([, v]) => overflowValues.includes(v) ? { overflow: v } : void 0],
712
- [/^(?:overflow|of)-([xy])-(.+)$/, ([, d, v]) => overflowValues.includes(v) ? { [`overflow-${d}`]: v } : void 0]
573
+ // src/rules/transition.ts
574
+ var transitionBasicProps = [
575
+ "color",
576
+ "border-color",
577
+ "background-color",
578
+ "flex-grow",
579
+ "flex",
580
+ "flex-shrink",
581
+ "caret-color",
582
+ "font",
583
+ "gap",
584
+ "opacity",
585
+ "visibility",
586
+ "z-index",
587
+ "font-weight",
588
+ "zoom",
589
+ "text-shadow",
590
+ "transform",
591
+ "box-shadow"
713
592
  ];
714
-
715
- // src/rules/position.ts
716
- var positions = [
717
- ["relative", { position: "relative" }],
718
- ["absolute", { position: "absolute" }],
719
- ["fixed", { position: "fixed" }],
720
- ["sticky", { position: "sticky" }],
721
- ["static", { position: "static" }]
593
+ var transitionPositionProps = [
594
+ "backround-position",
595
+ "left",
596
+ "right",
597
+ "top",
598
+ "bottom",
599
+ "object-position"
722
600
  ];
723
- var justifies = [
724
- ["justify-start", { "justify-content": "flex-start" }],
725
- ["justify-end", { "justify-content": "flex-end" }],
726
- ["justify-center", { "justify-content": "center" }],
727
- ["justify-between", { "justify-content": "space-between" }],
728
- ["justify-around", { "justify-content": "space-around" }],
729
- ["justify-evenly", { "justify-content": "space-evenly" }]
730
- ];
731
- var orders = [
732
- [/^order-(.+)$/, ([, v]) => ({ order: { first: "-9999", last: "9999", none: "0" }[v] || handler.bracket.number(v) })]
733
- ];
734
- var basicSet = ["auto", "start", "end", "center", "stretch"];
735
- var justifyItems = basicSet.map((i) => [`justify-items-${i}`, { "justify-items": i }]);
736
- var justifySelfs = basicSet.map((i) => [`justify-self-${i}`, { "justify-self": i }]);
737
- var alignContents = [
738
- ["content-start", { "align-content": "flex-start" }],
739
- ["content-end", { "align-content": "flex-end" }],
740
- ["content-center", { "align-content": "center" }],
741
- ["content-between", { "align-content": "space-between" }],
742
- ["content-around", { "align-content": "space-around" }],
743
- ["content-evenly", { "align-content": "space-evenly" }]
744
- ];
745
- var alignItems = [
746
- ["items-start", { "align-items": "flex-start" }],
747
- ["items-end", { "align-items": "flex-end" }],
748
- ["items-center", { "align-items": "center" }],
749
- ["items-baseline", { "align-items": "baseline" }],
750
- ["items-stretch", { "align-items": "stretch" }]
751
- ];
752
- var alignSelfs = [
753
- ["self-auto", { "align-self": "auto" }],
754
- ["self-start", { "align-self": "flex-start" }],
755
- ["self-end", { "align-self": "flex-end" }],
756
- ["self-center", { "align-self": "center" }],
757
- ["self-stretch", { "align-items": "stretch" }]
601
+ var transitionSizeProps = [
602
+ "max-height",
603
+ "min-height",
604
+ "max-width",
605
+ "min-width",
606
+ "height",
607
+ "width",
608
+ "border-width",
609
+ "margin",
610
+ "padding",
611
+ "outline-width",
612
+ "outline-offset",
613
+ "font-size",
614
+ "line-height",
615
+ "text-indent",
616
+ "vertical-align",
617
+ "border-spacing",
618
+ "letter-spacing",
619
+ "word-spacing"
758
620
  ];
759
- var placeContents = [
760
- ["place-content-start", { "place-content": "start" }],
761
- ["place-content-end", { "place-content": "end" }],
762
- ["place-content-center", { "place-content": "center" }],
763
- ["place-content-between", { "place-content": "space-between" }],
764
- ["place-content-around", { "place-content": "space-around" }],
765
- ["place-content-evenly", { "place-content": "space-evenly" }],
766
- ["place-content-stretch", { "place-content": "stretch" }]
621
+ var transitionSwitchProps = ["all", "none"];
622
+ var transitionEnhanceProps = ["stroke", "filter", "backdrop-filter", "fill", "mask", "mask-size", "mask-border", "clip-path", "clip"];
623
+ var transitionProps = [
624
+ ...transitionBasicProps,
625
+ ...transitionPositionProps,
626
+ ...transitionSizeProps,
627
+ ...transitionEnhanceProps
767
628
  ];
768
- var placeItems = basicSet.map((i) => [`place-items-${i}`, { "place-items": i }]);
769
- var placeSelfs = basicSet.map((i) => [`place-self-${i}`, { "place-self": i }]);
770
- function handleInsetValue(v) {
771
- var _a;
772
- return (_a = { auto: "auto", full: "100%" }[v]) != null ? _a : handler.bracket.fraction.cssvar.rem(v);
773
- }
774
- var insets = [
775
- [/^(top|left|right|bottom|inset)-(.+)$/, ([, d, v]) => ({ [d]: handleInsetValue(v) })],
776
- [/^inset-([xy])-(.+)$/, ([, d, v]) => {
777
- const r = handleInsetValue(v);
778
- if (r != null && d in directionMap)
779
- return directionMap[d].map((i) => [i.slice(1), r]);
629
+ var transitionPropsStr = transitionProps.join(", ");
630
+ var validateProperty = (prop) => {
631
+ if (prop && ![...transitionProps, ...transitionSwitchProps].includes(prop))
632
+ return;
633
+ return prop || transitionPropsStr;
634
+ };
635
+ var transitions = [
636
+ [/^transition(?:-([a-z-]+))?(?:-(\d+))?$/, ([, prop, duration = "150"]) => {
637
+ const transitionProperty = validateProperty(prop);
638
+ if (!transitionProperty)
639
+ return;
640
+ return {
641
+ "transition-property": transitionProperty,
642
+ "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)",
643
+ "transition-duration": `${duration}ms`
644
+ };
645
+ }],
646
+ [/^duration-(\d+)$/, ([, duration = "150"]) => {
647
+ return {
648
+ "transition-duration": `${duration}ms`
649
+ };
650
+ }],
651
+ ["ease", { "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)" }],
652
+ ["ease-in", { "transition-timing-function": "cubic-bezier(0.4, 0, 1, 1)" }],
653
+ ["ease-out", { "transition-timing-function": "cubic-bezier(0, 0, 0.2, 1)" }],
654
+ ["ease-in-out", { "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)" }],
655
+ [/^transition-delay-(\d+)$/, ([, v]) => ({ "transition-delay": `${v}ms` })],
656
+ [/^transition-duration-(\d+)$/, ([, v]) => ({ "transition-duration": `${v}ms` })],
657
+ [/^(?:transition-)?property-([a-z-]+)$/, ([, v]) => {
658
+ const transitionProperty = validateProperty(v);
659
+ if (transitionProperty)
660
+ return { "transition-property": transitionProperty };
780
661
  }]
781
662
  ];
782
- var floats = [
783
- [/^float-(left|right|none)$/, ([, value]) => ({ float: value })],
784
- [/^clear-(left|right|both|none)$/, ([, value]) => ({ clear: value })]
785
- ];
786
- var zIndexes = [
787
- ["z-auto", { "z-index": "auto" }],
788
- [/^z-([^-]+)$/, ([, v]) => ({ "z-index": handler.number(v) })]
789
- ];
790
- var objectPositions = [
791
- ["object-cover", { "object-fit": "cover" }],
792
- ["object-contain", { "object-fit": "contain" }],
793
- ["object-fill", { "object-fit": "fill" }],
794
- ["object-scale-down", { "object-fit": "scale-down" }],
795
- ["object-none", { "object-fit": "none" }],
796
- ["object-center", { "object-position": "center" }],
797
- ["object-bottom", { "object-position": "bottom" }],
798
- ["object-top", { "object-position": "top" }],
799
- ["object-right", { "object-position": "right" }],
800
- ["object-left", { "object-position": "left" }],
801
- ["object-lb", { "object-position": "left bottom" }],
802
- ["object-lt", { "object-position": "left top" }],
803
- ["object-rb", { "object-position": "right bottom" }],
804
- ["object-rt", { "object-position": "right top" }],
805
- ["object-cb", { "object-position": "center bottom" }],
806
- ["object-ct", { "object-position": "center top" }]
663
+
664
+ // src/rules/filters.ts
665
+ import { toArray as toArray2 } from "@unocss/core";
666
+ var varEmpty = "var(--un-empty,/*!*/ /*!*/)";
667
+ var percentWithDefault = (defaultValue = "1") => (str) => {
668
+ const v = str ? handler.bracket.percent(str) : defaultValue;
669
+ return v && parseFloat(v) <= 1 ? v : void 0;
670
+ };
671
+ var toFilter = (varName, resolver) => ([, b, s], { theme }) => {
672
+ const value = resolver(s, theme);
673
+ if (value)
674
+ return { [`--un-${b || ""}${varName}`]: `${varName}(${value})` };
675
+ };
676
+ var filterContnet = "var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia) var(--un-drop-shadow)";
677
+ var filter = {
678
+ "--un-blur": varEmpty,
679
+ "--un-brightness": varEmpty,
680
+ "--un-contrast": varEmpty,
681
+ "--un-grayscale": varEmpty,
682
+ "--un-hue-rotate": varEmpty,
683
+ "--un-invert": varEmpty,
684
+ "--un-saturate": varEmpty,
685
+ "--un-sepia": varEmpty,
686
+ "--un-drop-shadow": varEmpty,
687
+ "filter": filterContnet
688
+ };
689
+ var backdropFilterContent = "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-saturate) var(--un-backdrop-sepia)";
690
+ var backdropFilter = {
691
+ "--un-backdrop-blur": varEmpty,
692
+ "--un-backdrop-brightness": varEmpty,
693
+ "--un-backdrop-contrast": varEmpty,
694
+ "--un-backdrop-grayscale": varEmpty,
695
+ "--un-backdrop-hue-rotate": varEmpty,
696
+ "--un-backdrop-invert": varEmpty,
697
+ "--un-backdrop-saturate": varEmpty,
698
+ "--un-backdrop-sepia": varEmpty,
699
+ "-webkit-backdrop-filter": backdropFilterContent,
700
+ "backdrop-filter": backdropFilterContent
701
+ };
702
+ var filters = [
703
+ ["filter", filter],
704
+ ["filter-none", { filter: "none" }],
705
+ ["backdrop-filter", backdropFilter],
706
+ ["backdrop-filter-none", {
707
+ "-webkit-backdrop-filter": "none",
708
+ "backdrop-filter": "none"
709
+ }],
710
+ [/^(backdrop-)?blur(?:-(.+))?$/, toFilter("blur", (s, theme) => {
711
+ var _a;
712
+ return ((_a = theme.blur) == null ? void 0 : _a[s || "DEFAULT"]) || handler.bracket.px(s);
713
+ })],
714
+ [/^(backdrop-)?brightness-(\d+)$/, toFilter("brightness", (s) => handler.bracket.percent(s))],
715
+ [/^(backdrop-)?contrast-(\d+)$/, toFilter("contrast", (s) => handler.bracket.percent(s))],
716
+ [/^()?drop-shadow(?:-(.+))?$/, toFilter("drop-shadow", (s, theme) => {
717
+ var _a;
718
+ const v = handler.bracket(s) || ((_a = theme.dropShadow) == null ? void 0 : _a[s || "DEFAULT"]);
719
+ if (v)
720
+ return toArray2(v).map((v2) => `drop-shadow(${v2})`).join(" ");
721
+ })],
722
+ [/^(backdrop-)?grayscale(?:-(\d+))?$/, toFilter("grayscale", percentWithDefault())],
723
+ [/^(backdrop-)?hue-rotate-(\d+)$/, toFilter("hue-rotate", (s) => `${handler.bracket.number(s)}deg`)],
724
+ [/^(backdrop-)?invert(?:-(\d+))?$/, toFilter("invert", percentWithDefault())],
725
+ [/^(backdrop-)?saturate(?:-(\d+))?$/, toFilter("saturate", percentWithDefault("0"))],
726
+ [/^(backdrop-)?sepia(?:-(\d+))?$/, toFilter("sepia", percentWithDefault())]
807
727
  ];
808
- var boxSizing = [
809
- [
810
- /^box-(border|content)$/,
811
- ([, value]) => ({
812
- "box-sizing": `${value}-box`
813
- })
814
- ]
728
+
729
+ // src/rules/flex.ts
730
+ var flex = [
731
+ ["flex-col", { "flex-direction": "column" }],
732
+ ["flex-col-reverse", { "flex-direction": "column-reverse" }],
733
+ ["flex-row", { "flex-direction": "row" }],
734
+ ["flex-row-reverse", { "flex-direction": "row-reverse" }],
735
+ ["flex-wrap", { "flex-wrap": "wrap" }],
736
+ ["flex-wrap-reverse", { "flex-wrap": "wrap-reverse" }],
737
+ ["flex-nowrap", { "flex-wrap": "nowrap" }],
738
+ ["flex-1", { flex: "1 1 0%" }],
739
+ ["flex-auto", { flex: "1 1 auto" }],
740
+ ["flex-initial", { flex: "0 1 auto" }],
741
+ ["flex-none", { flex: "none" }],
742
+ [/^flex-\[(.+)\]$/, ([, d]) => ({ flex: d })],
743
+ ["flex-grow", { "flex-grow": 1 }],
744
+ ["flex-grow-0", { "flex-grow": 0 }],
745
+ ["flex-shrink", { "flex-shrink": 1 }],
746
+ ["flex-shrink-0", { "flex-shrink": 0 }],
747
+ ["flex", { display: "flex" }],
748
+ ["inline-flex", { display: "inline-flex" }],
749
+ ["flex-inline", { display: "inline-flex" }]
815
750
  ];
816
751
 
817
- // src/rules/ring.ts
818
- var rings = [
819
- [/^ring-?(.*)$/, ([, d]) => {
820
- const value = handler.px(d || "1");
821
- if (value) {
752
+ // src/rules/typography.ts
753
+ import { toArray as toArray3 } from "@unocss/core";
754
+ var fontsFamilies = [
755
+ [/^font-(\w+)$/, ([, d], { theme }) => {
756
+ var _a;
757
+ const font = (_a = theme.fontFamily) == null ? void 0 : _a[d];
758
+ if (font) {
822
759
  return {
823
- "--un-ring-inset": "var(--un-empty, )",
824
- "--un-ring-offset-width": "0px",
825
- "--un-ring-offset-color": "#fff",
826
- "--un-ring-color": "rgba(59, 130, 246, .5)",
827
- "--un-ring-offset-shadow": "var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color)",
828
- "--un-ring-shadow": `var(--un-ring-inset) 0 0 0 calc(${value} + var(--un-ring-offset-width)) var(--un-ring-color)`,
829
- "-webkit-box-shadow": "var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow, 0 0 #0000);",
830
- "box-shadow": "var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow, 0 0 #0000);"
760
+ "font-family": font
831
761
  };
832
762
  }
833
- }],
834
- [/^ring-offset-?(.*)$/, ([, d]) => {
835
- const value = handler.px(d || "1");
836
- if (value) {
763
+ }]
764
+ ];
765
+ var weightMap = {
766
+ thin: "100",
767
+ extralight: "200",
768
+ light: "300",
769
+ normal: "400",
770
+ medium: "500",
771
+ semibold: "600",
772
+ bold: "700",
773
+ extrabold: "800",
774
+ black: "900"
775
+ };
776
+ var fontSizes = [
777
+ [/^text-([^-]+)$/, ([, s = "base"], { theme }) => {
778
+ var _a;
779
+ const result = toArray3(((_a = theme.fontSize) == null ? void 0 : _a[s]) || handler.bracket.rem(s));
780
+ if (result == null ? void 0 : result[0]) {
781
+ const [size, height = "1"] = result;
837
782
  return {
838
- "--un-ring-offset-width": value
783
+ "font-size": size,
784
+ "line-height": height
839
785
  };
840
786
  }
841
- }],
842
- ["ring-inset", { "--un-ring-inset": "inset" }],
843
- ...ringColors,
844
- ...ringOffsetColors
787
+ }]
845
788
  ];
846
-
847
- // src/rules/shadow.ts
848
- var colorResolver3 = (body, theme) => {
849
- const data = parseColorUtil(body, theme);
850
- if (!data)
851
- return;
852
- const { color, rgba } = data;
853
- if (!color)
854
- return;
855
- if (rgba) {
856
- return {
857
- "--un-shadow-color": `${rgba.slice(0, 3).join(",")}`
858
- };
859
- } else {
860
- return {
861
- "--un-shadow-color": color
862
- };
863
- }
864
- };
865
- var mixBlendModes = [
866
- ["mix-blend-normal", { "mix-blend-mode": "normal" }],
867
- ["mix-blend-multiply", { "mix-blend-mode": "multiply" }],
868
- ["mix-blend-screen", { "mix-blend-mode": "screen" }],
869
- ["mix-blend-overlay", { "mix-blend-mode": "overlay" }],
870
- ["mix-blend-darken", { "mix-blend-mode": "darken" }],
871
- ["mix-blend-lighten", { "mix-blend-mode": "lighten" }],
872
- ["mix-blend-color-dodge", { "mix-blend-mode": "color-dodge" }],
873
- ["mix-blend-color-burn", { "mix-blend-mode": "color-burn" }],
874
- ["mix-blend-color-light", { "mix-blend-mode": "color-light" }],
875
- ["mix-blend-soft-light", { "mix-blend-mode": "soft-light" }],
876
- ["mix-blend-difference", { "mix-blend-mode": "difference" }],
877
- ["mix-blend-exclusion", { "mix-blend-mode": "exclusion" }],
878
- ["mix-blend-hue", { "mix-blend-mode": "hue" }],
879
- ["mix-blend-saturation", { "mix-blend-mode": "saturation" }],
880
- ["mix-blend-color", { "mix-blend-mode": "color" }],
881
- ["mix-blend-luminosity", { "mix-blend-mode": "luminosity" }]
789
+ var fontWeights = [
790
+ [/^(?:font|fw)-?([^-]+)$/, ([, s]) => {
791
+ const v = weightMap[s] || handler.number(s);
792
+ if (v)
793
+ return { "font-weight": v };
794
+ }]
882
795
  ];
883
- var boxShadows = [
884
- [/^shadow-?(.*)$/, ([, d], { theme }) => {
796
+ var leadings = [
797
+ [/^(?:leading|lh)-([^-]+)$/, ([, s], { theme }) => {
885
798
  var _a;
886
- const value = (_a = theme == null ? void 0 : theme.boxShadow) == null ? void 0 : _a[d || "DEFAULT"];
887
- if (value) {
799
+ const v = ((_a = theme.lineHeight) == null ? void 0 : _a[s]) || handler.bracket.rem(s);
800
+ if (v !== null)
801
+ return { "line-height": v };
802
+ }]
803
+ ];
804
+ var trackings = [
805
+ [/^tracking-([^-]+)$/, ([, s], { theme }) => {
806
+ var _a;
807
+ const v = ((_a = theme.letterSpacing) == null ? void 0 : _a[s]) || handler.bracket.rem(s);
808
+ if (v !== null)
809
+ return { "letter-spacing": v };
810
+ }]
811
+ ];
812
+ var wordSpacings = [
813
+ [/^word-spacing-([^-]+)$/, ([, s], { theme }) => {
814
+ var _a;
815
+ const v = ((_a = theme.wordSpacing) == null ? void 0 : _a[s]) || handler.bracket.rem(s);
816
+ if (v !== null)
817
+ return { "word-spacing": v };
818
+ }]
819
+ ];
820
+ var tabSizes = [
821
+ [/^tab-?([^-]*)$/, ([, s]) => {
822
+ s = s || "4";
823
+ const v = handler.bracket.global.number(s);
824
+ if (v !== null) {
888
825
  return {
889
- "--un-shadow-color": "0,0,0",
890
- "--un-shadow": value,
891
- "box-shadow": "var(--un-ring-offset-shadow, 0 0 #0000), var(--un-ring-shadow, 0 0 #0000), var(--un-shadow)"
826
+ "-moz-tab-size": v,
827
+ "-o-tab-size": v,
828
+ "tab-size": v
892
829
  };
893
830
  }
894
- const color = colorResolver3(d, theme);
895
- if (color)
896
- return color;
897
831
  }]
898
832
  ];
899
-
900
- // src/rules/size.ts
901
- function getPropName(minmax, hw) {
902
- return `${minmax ? `${minmax}-` : ""}${hw === "h" ? "height" : "width"}`;
903
- }
904
- function getThemeValue(minmax, hw, theme, prop) {
905
- var _a;
906
- let str = `${hw === "h" ? "height" : "width"}`;
907
- if (minmax)
908
- str = `${minmax}${capitalize(str)}`;
909
- return (_a = theme[str]) == null ? void 0 : _a[prop];
910
- }
911
- var sizes = [
912
- [/^(?:(min|max)-)?(w|h)-(.+)$/, ([, m, w, s], { theme }) => {
913
- const v = getThemeValue(m, w, theme, s) || handler.bracket.cssvar.fraction.rem(s);
833
+ var textDecorationLengths = [
834
+ [/^underline-([^-]+)$/, ([, s]) => {
835
+ const v = s === "auto" ? s : handler.bracket.px(s);
914
836
  if (v != null)
915
- return { [getPropName(m, w)]: v };
916
- }],
917
- [/^(?:(min|max)-)?(w)-screen-(.+)$/, ([, m, w, s], { theme }) => {
837
+ return { "text-decoration-thickness": v };
838
+ }]
839
+ ];
840
+ var textDecorationOffsets = [
841
+ [/^underline-offset-([^-]+)$/, ([, s]) => {
842
+ const v = s === "auto" ? s : handler.bracket.px(s);
843
+ if (v != null)
844
+ return { "text-underline-offset": v };
845
+ }]
846
+ ];
847
+ var textIndents = [
848
+ [/^indent(?:-(.+))?$/, ([, s], { theme }) => {
918
849
  var _a;
919
- const v = (_a = theme.breakpoints) == null ? void 0 : _a[s];
850
+ const v = ((_a = theme.textIndent) == null ? void 0 : _a[s || "DEFAULT"]) || handler.bracket.cssvar.fraction.rem(s);
920
851
  if (v != null)
921
- return { [getPropName(m, w)]: v };
852
+ return { "text-indent": v };
922
853
  }]
923
854
  ];
924
- var aspectRatio = [
925
- ["aspect-ratio-auto", { "aspect-ratio": "auto" }],
926
- [/^aspect-ratio-(.+)$/, ([, d]) => {
927
- const v = (/^\d+\/\d+$/.test(d) ? d : null) || handler.bracket.cssvar.number(d);
855
+ var textStrokeWidths = [
856
+ [/^text-stroke(?:-(.+))?$/, ([, s], { theme }) => {
857
+ var _a;
858
+ const v = ((_a = theme.textStrokeWidth) == null ? void 0 : _a[s || "DEFAULT"]) || handler.bracket.cssvar.px(s);
928
859
  if (v != null)
929
- return { "aspect-ratio": v };
860
+ return { "-webkit-text-stroke-width": v };
930
861
  }]
931
862
  ];
863
+ var textShadows = [
864
+ [/^text-shadow(?:-(.+))?$/, ([, s], { theme }) => {
865
+ var _a;
866
+ const v = ((_a = theme.textShadow) == null ? void 0 : _a[s || "DEFAULT"]) || handler.bracket.cssvar(s);
867
+ if (v != null)
868
+ return { "text-shadow": v };
869
+ }]
870
+ ];
871
+ var fonts = [
872
+ fontsFamilies,
873
+ fontSizes,
874
+ fontWeights
875
+ ].flat(1);
932
876
 
933
- // src/rules/spacing.ts
934
- var directionSize = (prefix) => ([_, direction, size]) => {
935
- const v = handler.bracket.rem.fraction.cssvar(size);
936
- if (v)
937
- return directionMap[direction].map((i) => [prefix + i, v]);
877
+ // src/rules/gap.ts
878
+ var gaps = [
879
+ [/^(?:flex-|grid-)?gap-([^-]+)$/, ([, s]) => {
880
+ const v = handler.bracket.rem(s);
881
+ if (v != null) {
882
+ return {
883
+ "grid-gap": v,
884
+ "gap": v
885
+ };
886
+ }
887
+ }],
888
+ [/^(?:flex-|grid-)?gap-x-([^-]+)$/, ([, s]) => {
889
+ const v = handler.bracket.rem(s);
890
+ if (v != null) {
891
+ return {
892
+ "grid-column-gap": v,
893
+ "column-gap": v
894
+ };
895
+ }
896
+ }],
897
+ [/^(?:flex-|grid-)?gap-y-([^-]+)$/, ([, s]) => {
898
+ const v = handler.bracket.rem(s);
899
+ if (v != null) {
900
+ return {
901
+ "grid-row-gap": v,
902
+ "row-gap": v
903
+ };
904
+ }
905
+ }]
906
+ ];
907
+
908
+ // src/rules/grid.ts
909
+ import { toArray as toArray4 } from "@unocss/core";
910
+ var calSize = (s, theme) => {
911
+ var _a;
912
+ return toArray4(((_a = theme.fontSize) == null ? void 0 : _a[s]) || handler.bracket.rem(s))[0];
913
+ };
914
+ var autoDirection = (selector, theme) => {
915
+ if (selector === "min")
916
+ return "min-content";
917
+ else if (selector === "max")
918
+ return "max-content";
919
+ else if (selector === "fr")
920
+ return "minmax(0,1fr)";
921
+ return calSize(selector, theme);
938
922
  };
939
- var paddings = [
940
- [/^pa?()-?(-?.+)$/, directionSize("padding")],
941
- [/^p-?([xy])-?(-?.+)$/, directionSize("padding")],
942
- [/^p-?([rltbse])-?(-?.+)$/, directionSize("padding")]
943
- ];
944
- var margins = [
945
- [/^ma?()-?(-?.+)$/, directionSize("margin")],
946
- [/^m-?([xy])-?(-?.+)$/, directionSize("margin")],
947
- [/^m-?([rltbse])-?(-?.+)$/, directionSize("margin")],
948
- [/^space-?([xy])-?(-?.+)$/, (match) => {
923
+ var grids = [
924
+ ["grid", { display: "grid" }],
925
+ ["inline-grid", { display: "inline-grid" }],
926
+ [/^grid-cols-minmax-([\w.-]+)$/, ([, d]) => ({ "grid-template-columns": `repeat(auto-fill, minmax(${d}, 1fr))` })],
927
+ [/^grid-rows-minmax-([\w.-]+)$/, ([, d]) => ({ "grid-template-rows": `repeat(auto-fill, minmax(${d}, 1fr))` })],
928
+ [/^grid-cols-(\d+)$/, ([, d]) => ({ "grid-template-columns": `repeat(${d},minmax(0,1fr))` })],
929
+ [/^grid-rows-(\d+)$/, ([, d]) => ({ "grid-template-rows": `repeat(${d},minmax(0,1fr))` })],
930
+ [/^grid-cols-\[(.+)\]$/, ([, v]) => ({ "grid-template-columns": v.replace(/,/g, " ") })],
931
+ [/^grid-rows-\[(.+)\]$/, ([, v]) => ({ "grid-template-rows": v.replace(/,/g, " ") })],
932
+ [/^(?:grid-)?auto-flow-([\w.-]+)$/, ([, v]) => ({ "grid-auto-flow": `${v.replace("col", "column").split("-").join(" ")}` })],
933
+ [/^(?:grid-)?row-start-([\w.-]+)$/, ([, v]) => ({ "grid-row-start": `${v}` })],
934
+ [/^(?:grid-)?row-end-([\w.-]+)$/, ([, v]) => ({ "grid-row-end": `${v}` })],
935
+ [/^(?:grid-)?col-start-([\w.-]+)$/, ([, v]) => ({ "grid-column-start": `${v}` })],
936
+ [/^(?:grid-)?col-end-([\w.]+)$/, ([, v]) => ({ "grid-column-end": `${v}` })],
937
+ [/^(?:grid-)?auto-rows-([\w.-]+)$/, ([, v], { theme }) => ({ "grid-auto-rows": `${autoDirection(v, theme)}` })],
938
+ [/^(?:grid-)?auto-cols-([\w.-]+)$/, ([, v], { theme }) => ({ "grid-auto-columns": `${autoDirection(v, theme)}` })],
939
+ [/^(?:grid-)?(row|col)-(.+)$/, ([, d, v]) => {
949
940
  var _a;
950
- const [, direction, size] = match;
951
- if (size === "reverse")
952
- return { [`--un-space-${direction}-reverse`]: 1 };
953
- const results = (_a = directionSize("margin")(match)) == null ? void 0 : _a.map((item) => {
954
- const value = item[0].endsWith("right") || item[0].endsWith("bottom") ? `calc(${item[1]} * var(--un-space-${direction}-reverse))` : `calc(${item[1]} * calc(1 - var(--un-space-${direction}-reverse)))`;
955
- return [item[0], value];
956
- });
957
- if (results) {
958
- return [
959
- [`--un-space-${direction}-reverse`, 0],
960
- ...results
961
- ];
941
+ const key = d === "row" ? "grid-row" : "grid-column";
942
+ let raw = handler.bracket(v);
943
+ if (raw)
944
+ return { [key]: raw };
945
+ const parts = v.split("-");
946
+ if (parts.length === 1 && parts[0] === "auto")
947
+ return { [key]: parts[0] };
948
+ if (parts[0] === "span") {
949
+ if (parts[1] === "full")
950
+ return { [key]: "1/-1" };
951
+ raw = (_a = handler.number.bracket(parts[1])) == null ? void 0 : _a.toString().replace(/_/g, " ");
952
+ if (raw)
953
+ return { [key]: `span ${raw}/span ${raw}` };
962
954
  }
963
955
  }]
964
956
  ];
965
957
 
966
- // src/rules/static.ts
967
- var displays = [
968
- ["inline", { display: "inline" }],
969
- ["block", { display: "block" }],
970
- ["inline-block", { display: "inline-block" }],
971
- ["contents", { display: "contents" }],
972
- ["flow-root", { display: "flow-root" }],
973
- ["list-item", { display: "list-item" }],
974
- ["hidden", { display: "none" }]
975
- ];
976
- var appearances = [
977
- ["visible", { visibility: "visible" }],
978
- ["invisible", { visibility: "hidden" }],
979
- ["backface-visible", { "backface-visibility": "visible" }],
980
- ["backface-hidden", { "backface-visibility": "hidden" }]
981
- ];
982
- var cursors = [
983
- [/^cursor-(.+)$/, ([, c]) => ({ cursor: c })]
984
- ];
985
- var pointerEvents = [
986
- ["pointer-events-none", { "pointer-events": "none" }],
987
- ["pointer-events-auto", { "pointer-events": "auto" }]
988
- ];
989
- var resizes = [
990
- ["resize-none", { resize: "none" }],
991
- ["resize-x", { resize: "horizontal" }],
992
- ["resize-y", { resize: "vertical" }],
993
- ["resize", { resize: "both" }]
958
+ // src/rules/layout.ts
959
+ var overflowValues2 = [
960
+ "auto",
961
+ "hidden",
962
+ "visible",
963
+ "scroll"
994
964
  ];
995
- var userSelects = [
996
- [/^select-(none|text|all|auto)$/, ([, v]) => ({ "user-select": v })]
965
+ var overflows = [
966
+ [/^(?:overflow|of)-(.+)$/, ([, v]) => overflowValues2.includes(v) ? { overflow: v } : void 0],
967
+ [/^(?:overflow|of)-([xy])-(.+)$/, ([, d, v]) => overflowValues2.includes(v) ? { [`overflow-${d}`]: v } : void 0]
997
968
  ];
998
- var whitespaces = [
999
- [/^(?:whitespace|ws)-(normal|nowrap|pre|pre-line|pre-wrap)$/, ([, v]) => ({ "white-space": v })]
969
+
970
+ // src/rules/position.ts
971
+ var positions = [
972
+ ["relative", { position: "relative" }],
973
+ ["absolute", { position: "absolute" }],
974
+ ["fixed", { position: "fixed" }],
975
+ ["sticky", { position: "sticky" }],
976
+ ["static", { position: "static" }]
1000
977
  ];
1001
- var breaks = [
1002
- ["break-normal", { "overflow-wrap": "normal", "word-break": "normal" }],
1003
- ["break-word", { "overflow-wrap": "break-word" }],
1004
- ["break-all", { "word-break": "break-all" }]
978
+ var justifies = [
979
+ ["justify-start", { "justify-content": "flex-start" }],
980
+ ["justify-end", { "justify-content": "flex-end" }],
981
+ ["justify-center", { "justify-content": "center" }],
982
+ ["justify-between", { "justify-content": "space-between" }],
983
+ ["justify-around", { "justify-content": "space-around" }],
984
+ ["justify-evenly", { "justify-content": "space-evenly" }]
1005
985
  ];
1006
- var textOverflows = [
1007
- ["truncate", { "overflow": "hidden", "text-overflow": "ellipsis", "white-space": "nowrap" }],
1008
- ["text-ellipsis", { "text-overflow": "ellipsis" }],
1009
- ["text-clip", { "text-overflow": "clip" }]
986
+ var orders = [
987
+ [/^order-(.+)$/, ([, v]) => ({ order: { first: "-9999", last: "9999", none: "0" }[v] || handler.bracket.number(v) })]
1010
988
  ];
1011
- var textTransforms = [
1012
- ["case-upper", { "text-transform": "uppercase" }],
1013
- ["case-lower", { "text-transform": "lowercase" }],
1014
- ["case-capital", { "text-transform": "capitalize" }],
1015
- ["case-normal", { "text-transform": "none" }],
1016
- ["uppercase", { "text-transform": "uppercase" }],
1017
- ["lowercase", { "text-transform": "lowercase" }],
1018
- ["capitalize", { "text-transform": "capitalize" }],
1019
- ["normal-case", { "text-transform": "none" }]
989
+ var basicSet = ["auto", "start", "end", "center", "stretch"];
990
+ var justifyItems = basicSet.map((i) => [`justify-items-${i}`, { "justify-items": i }]);
991
+ var justifySelfs = basicSet.map((i) => [`justify-self-${i}`, { "justify-self": i }]);
992
+ var alignContents = [
993
+ ["content-start", { "align-content": "flex-start" }],
994
+ ["content-end", { "align-content": "flex-end" }],
995
+ ["content-center", { "align-content": "center" }],
996
+ ["content-between", { "align-content": "space-between" }],
997
+ ["content-around", { "align-content": "space-around" }],
998
+ ["content-evenly", { "align-content": "space-evenly" }]
1020
999
  ];
1021
- var textDecorations = [
1022
- ["underline", { "text-decoration": "underline" }],
1023
- ["line-through", { "text-decoration": "line-through" }],
1024
- ["no-underline", { "text-decoration": "none" }]
1000
+ var alignItems = [
1001
+ ["items-start", { "align-items": "flex-start" }],
1002
+ ["items-end", { "align-items": "flex-end" }],
1003
+ ["items-center", { "align-items": "center" }],
1004
+ ["items-baseline", { "align-items": "baseline" }],
1005
+ ["items-stretch", { "align-items": "stretch" }]
1025
1006
  ];
1026
- var textDecorationStyles = [
1027
- ["underline-solid", { "text-decoration-style": "solid" }],
1028
- ["underline-double", { "text-decoration-style": "double" }],
1029
- ["underline-dotted", { "text-decoration-style": "dotted" }],
1030
- ["underline-dashed", { "text-decoration-style": "dashed" }]
1007
+ var alignSelfs = [
1008
+ ["self-auto", { "align-self": "auto" }],
1009
+ ["self-start", { "align-self": "flex-start" }],
1010
+ ["self-end", { "align-self": "flex-end" }],
1011
+ ["self-center", { "align-self": "center" }],
1012
+ ["self-stretch", { "align-items": "stretch" }]
1031
1013
  ];
1032
- var fontStyles = [
1033
- ["italic", { "font-style": "italic" }],
1034
- ["not-italic", { "font-style": "normal" }]
1014
+ var placeContents = [
1015
+ ["place-content-start", { "place-content": "start" }],
1016
+ ["place-content-end", { "place-content": "end" }],
1017
+ ["place-content-center", { "place-content": "center" }],
1018
+ ["place-content-between", { "place-content": "space-between" }],
1019
+ ["place-content-around", { "place-content": "space-around" }],
1020
+ ["place-content-evenly", { "place-content": "space-evenly" }],
1021
+ ["place-content-stretch", { "place-content": "stretch" }]
1035
1022
  ];
1036
- var fontSmoothings = [
1037
- ["antialiased", {
1038
- "-webkit-font-smoothing": "antialiased",
1039
- "-moz-osx-font-smoothing": "grayscale",
1040
- "font-smoothing": "grayscale"
1041
- }],
1042
- ["subpixel-antialiased", {
1043
- "-webkit-font-smoothing": "auto",
1044
- "-moz-osx-font-smoothing": "auto",
1045
- "font-smoothing": "auto"
1023
+ var placeItems = basicSet.map((i) => [`place-items-${i}`, { "place-items": i }]);
1024
+ var placeSelfs = basicSet.map((i) => [`place-self-${i}`, { "place-self": i }]);
1025
+ function handleInsetValue(v) {
1026
+ var _a;
1027
+ return (_a = { auto: "auto", full: "100%" }[v]) != null ? _a : handler.bracket.fraction.cssvar.rem(v);
1028
+ }
1029
+ var insets = [
1030
+ [/^(top|left|right|bottom|inset)-(.+)$/, ([, d, v]) => ({ [d]: handleInsetValue(v) })],
1031
+ [/^inset-([xy])-(.+)$/, ([, d, v]) => {
1032
+ const r = handleInsetValue(v);
1033
+ if (r != null && d in directionMap)
1034
+ return directionMap[d].map((i) => [i.slice(1), r]);
1046
1035
  }]
1047
1036
  ];
1048
- var hyphens = [
1049
- ["hyphens-none", {
1050
- "-webkit-hyphens": "none",
1051
- "-ms-hyphens": "none",
1052
- "hyphens": "none"
1053
- }],
1054
- ["hyphens-manual", {
1055
- "-webkit-hyphens": "manual",
1056
- "-ms-hyphens": "manual",
1057
- "hyphens": "manual"
1058
- }],
1059
- ["hyphens-auto", {
1060
- "-webkit-hyphens": "auto",
1061
- "-ms-hyphens": "auto",
1062
- "hyphens": "auto"
1063
- }]
1037
+ var floats = [
1038
+ [/^float-(left|right|none)$/, ([, value]) => ({ float: value })],
1039
+ [/^clear-(left|right|both|none)$/, ([, value]) => ({ clear: value })]
1064
1040
  ];
1065
- var writingModes = [
1066
- ["write-normal", { "writing-mode": "horizontal-tb" }],
1067
- ["write-vertical-right", { "writing-mode": "vertical-rl" }],
1068
- ["write-vertical-left", { "writing-mode": "vertical-lr" }]
1041
+ var zIndexes = [
1042
+ ["z-auto", { "z-index": "auto" }],
1043
+ [/^z-([^-]+)$/, ([, v]) => ({ "z-index": handler.number(v) })]
1069
1044
  ];
1070
- var writingOrientations = [
1071
- ["write-orient-mixed", { "text-orientation": "mixed" }],
1072
- ["write-orient-upright", { "text-orientation": "upright" }],
1073
- ["write-orient-sideways", { "text-orientation": "sideways" }]
1045
+ var objectPositions = [
1046
+ ["object-cover", { "object-fit": "cover" }],
1047
+ ["object-contain", { "object-fit": "contain" }],
1048
+ ["object-fill", { "object-fit": "fill" }],
1049
+ ["object-scale-down", { "object-fit": "scale-down" }],
1050
+ ["object-none", { "object-fit": "none" }],
1051
+ ["object-center", { "object-position": "center" }],
1052
+ ["object-bottom", { "object-position": "bottom" }],
1053
+ ["object-top", { "object-position": "top" }],
1054
+ ["object-right", { "object-position": "right" }],
1055
+ ["object-left", { "object-position": "left" }],
1056
+ ["object-lb", { "object-position": "left bottom" }],
1057
+ ["object-lt", { "object-position": "left top" }],
1058
+ ["object-rb", { "object-position": "right bottom" }],
1059
+ ["object-rt", { "object-position": "right top" }],
1060
+ ["object-cb", { "object-position": "center bottom" }],
1061
+ ["object-ct", { "object-position": "center top" }]
1074
1062
  ];
1075
- var screenReadersAccess = [
1076
- [
1077
- "sr-only",
1078
- {
1079
- "position": "absolute",
1080
- "width": "1px",
1081
- "height": "1px",
1082
- "padding": "0",
1083
- "margin": "-1px",
1084
- "overflow": "hidden",
1085
- "clip": "rect(0,0,0,0)",
1086
- "white-space": "nowrap",
1087
- "border-width": 0
1088
- }
1089
- ],
1063
+ var boxSizing = [
1090
1064
  [
1091
- "not-sr-only",
1092
- {
1093
- "position": "static",
1094
- "width": "auto",
1095
- "height": "auto",
1096
- "padding": "0",
1097
- "margin": "0",
1098
- "overflow": "visible",
1099
- "clip": "auto",
1100
- "white-space": "normal"
1101
- }
1065
+ /^box-(border|content)$/,
1066
+ ([, value]) => ({
1067
+ "box-sizing": `${value}-box`
1068
+ })
1102
1069
  ]
1103
1070
  ];
1104
- var isolations = [
1105
- ["isolate", { isolation: "isolate" }],
1106
- ["isolate-auto", { isolation: "auto" }]
1107
- ];
1108
-
1109
- // src/rules/table.ts
1110
- var tables = [
1111
- ["border-collapse", { "border-collapse": "collapse" }],
1112
- ["border-separate", { "border-collapse": "separate" }],
1113
- ["caption-top", { "caption-side": "top" }],
1114
- ["caption-bottom", { "caption-side": "bottom" }],
1115
- ["inline-table", { display: "inline-table" }],
1116
- ["table", { display: "table" }],
1117
- ["table-auto", { "table-layout": "auto" }],
1118
- ["table-empty-cells-visible", { "empty-cells": "show" }],
1119
- ["table-empty-cells-hidden", { "empty-cells": "hide" }],
1120
- ["table-fixed", { "table-layout": "fixed" }],
1121
- ["table-caption", { display: "table-caption" }],
1122
- ["table-cell", { display: "table-cell" }],
1123
- ["table-column", { display: "table-column" }],
1124
- ["table-column-group", { display: "table-column-group" }],
1125
- ["table-footer-group", { display: "table-footer-group" }],
1126
- ["table-header-group", { display: "table-header-group" }],
1127
- ["table-row", { display: "table-row" }],
1128
- ["table-row-group", { display: "table-row-group" }]
1129
- ];
1130
1071
 
1131
- // src/rules/transform.ts
1132
- var transforms = [
1133
- [
1134
- "transform",
1135
- {
1136
- "--un-rotate": 0,
1137
- "--un-scale-x": 1,
1138
- "--un-scale-y": 1,
1139
- "--un-scale-z": 1,
1140
- "--un-skew-x": 0,
1141
- "--un-skew-y": 0,
1142
- "--un-translate-x": 0,
1143
- "--un-translate-y": 0,
1144
- "--un-translate-z": 0,
1145
- "transform": "rotate(var(--un-rotate)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z))"
1072
+ // src/rules/ring.ts
1073
+ var rings = [
1074
+ [/^ring-?(.*)$/, ([, d]) => {
1075
+ const value = handler.px(d || "1");
1076
+ if (value) {
1077
+ return {
1078
+ "--un-ring-inset": "var(--un-empty, )",
1079
+ "--un-ring-offset-width": "0px",
1080
+ "--un-ring-offset-color": "#fff",
1081
+ "--un-ring-color": "rgba(59, 130, 246, .5)",
1082
+ "--un-ring-offset-shadow": "var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color)",
1083
+ "--un-ring-shadow": `var(--un-ring-inset) 0 0 0 calc(${value} + var(--un-ring-offset-width)) var(--un-ring-color)`,
1084
+ "-webkit-box-shadow": "var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow, 0 0 #0000);",
1085
+ "box-shadow": "var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow, 0 0 #0000);"
1086
+ };
1146
1087
  }
1147
- ],
1148
- [/^preserve-(3d|flat)$/, ([, value]) => ({
1149
- "transform-style": value === "3d" ? `preserve-${value}` : value
1150
- })],
1151
- [/^translate()-([^-]+)$/, handleTranslate],
1152
- [/^translate-([xyz])-([^-]+)$/, handleTranslate],
1153
- [/^scale()-([^-]+)$/, handleScale],
1154
- [/^scale-([xyz])-([^-]+)$/, handleScale],
1155
- [/^rotate-([^-]+)(?:deg)?$/, handleRotate],
1156
- ["origin-center", { "transform-origin": "center" }],
1157
- ["origin-top", { "transform-origin": "top" }],
1158
- ["origin-top-right", { "transform-origin": "top right" }],
1159
- ["origin-right", { "transform-origin": "right" }],
1160
- ["origin-bottom-right", { "transform-origin": "bottom right" }],
1161
- ["origin-bottom", { "transform-origin": "bottom" }],
1162
- ["origin-bottom-left", { "transform-origin": "bottom left" }],
1163
- ["origin-left", { "transform-origin": "left" }],
1164
- ["origin-top-left", { "transform-origin": "top left" }]
1088
+ }],
1089
+ [/^ring-offset-?(.*)$/, ([, d]) => {
1090
+ const value = handler.px(d || "1");
1091
+ if (value) {
1092
+ return {
1093
+ "--un-ring-offset-width": value
1094
+ };
1095
+ }
1096
+ }],
1097
+ ["ring-inset", { "--un-ring-inset": "inset" }],
1098
+ ...ringColors,
1099
+ ...ringOffsetColors
1165
1100
  ];
1166
- function handleTranslate([, d, b]) {
1167
- const v = handler.bracket.fraction.rem(b);
1168
- if (v != null) {
1169
- return [
1170
- ...xyzMap[d].map((i) => [`--un-translate${i}`, v])
1171
- ];
1172
- }
1173
- }
1174
- function handleScale([, d, b]) {
1175
- const v = handler.bracket.fraction.percent(b);
1176
- if (v != null) {
1177
- return [
1178
- ...xyzMap[d].map((i) => [`--un-scale${i}`, v])
1179
- ];
1180
- }
1181
- }
1182
- function handleRotate([, b]) {
1183
- const v = handler.bracket.number(b);
1184
- if (v != null)
1185
- return { "--un-rotate": `${v}deg` };
1186
- }
1187
1101
 
1188
- // src/rules/behaviors.ts
1189
- var outlineStyle = ["none", "auto", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset", "inherit", "initial", "revert", "unset"];
1190
- var listStyleProps = ["none", "disc", "circle", "square", "decimal", "zero-decimal", "greek", "roman", "upper-roman", "alpha", "upper-alpha"];
1191
- var parseOutlineSize = (s) => {
1192
- const propName = ["width", "offset"].find((item) => s.startsWith(item)) || "width";
1193
- const size = handler.bracket.fraction.rem(s.replace(/^(offset\-|width\-)/, ""));
1194
- if (size) {
1102
+ // src/rules/shadow.ts
1103
+ var colorResolver3 = (body, theme) => {
1104
+ const data = parseColorUtil(body, theme);
1105
+ if (!data)
1106
+ return;
1107
+ const { color, rgba } = data;
1108
+ if (!color)
1109
+ return;
1110
+ if (rgba) {
1195
1111
  return {
1196
- [`outline-${propName}`]: size
1112
+ "--un-shadow-color": `${rgba.slice(0, 3).join(",")}`
1113
+ };
1114
+ } else {
1115
+ return {
1116
+ "--un-shadow-color": color
1197
1117
  };
1198
1118
  }
1199
1119
  };
1200
- var outline = [
1201
- ["outline-none", { "outline": "2px solid transparent", "outline-offset": "2px" }],
1202
- ["outline", { "outline-style": "solid" }],
1203
- [
1204
- /^outline-(.+)$/,
1205
- (match, config) => {
1206
- const [, d] = match;
1207
- if (d === "none") {
1208
- return {
1209
- "outline": "2px solid transparent",
1210
- "outline-offset": "2px"
1211
- };
1212
- }
1213
- if (outlineStyle.includes(d)) {
1214
- return {
1215
- "outline-style": d
1216
- };
1217
- }
1218
- const sizeSheet = parseOutlineSize(d);
1219
- if (sizeSheet)
1220
- return sizeSheet;
1221
- const colorSheet = colorResolver("outline-color", "outline-color")([
1222
- match[0],
1223
- match[1].replace(/^color-/, "")
1224
- ], config);
1225
- if (colorSheet)
1226
- return colorSheet;
1227
- }
1228
- ]
1120
+ var mixBlendModes = [
1121
+ ["mix-blend-normal", { "mix-blend-mode": "normal" }],
1122
+ ["mix-blend-multiply", { "mix-blend-mode": "multiply" }],
1123
+ ["mix-blend-screen", { "mix-blend-mode": "screen" }],
1124
+ ["mix-blend-overlay", { "mix-blend-mode": "overlay" }],
1125
+ ["mix-blend-darken", { "mix-blend-mode": "darken" }],
1126
+ ["mix-blend-lighten", { "mix-blend-mode": "lighten" }],
1127
+ ["mix-blend-color-dodge", { "mix-blend-mode": "color-dodge" }],
1128
+ ["mix-blend-color-burn", { "mix-blend-mode": "color-burn" }],
1129
+ ["mix-blend-color-light", { "mix-blend-mode": "color-light" }],
1130
+ ["mix-blend-soft-light", { "mix-blend-mode": "soft-light" }],
1131
+ ["mix-blend-difference", { "mix-blend-mode": "difference" }],
1132
+ ["mix-blend-exclusion", { "mix-blend-mode": "exclusion" }],
1133
+ ["mix-blend-hue", { "mix-blend-mode": "hue" }],
1134
+ ["mix-blend-saturation", { "mix-blend-mode": "saturation" }],
1135
+ ["mix-blend-color", { "mix-blend-mode": "color" }],
1136
+ ["mix-blend-luminosity", { "mix-blend-mode": "luminosity" }]
1229
1137
  ];
1230
- var listStyle = [
1231
- [new RegExp(`^list-((${listStyleProps.join("|")})(?:(-outside|-inside))?)$`), ([, value]) => {
1138
+ var boxShadows = [
1139
+ [/^shadow-?(.*)$/, ([, d], { theme }) => {
1232
1140
  var _a;
1233
- const style = value.split(/-outside|-inside/)[0];
1234
- const position = (_a = /inside|outside/.exec(value)) != null ? _a : [];
1235
- if (position.length) {
1141
+ const value = (_a = theme == null ? void 0 : theme.boxShadow) == null ? void 0 : _a[d || "DEFAULT"];
1142
+ if (value) {
1236
1143
  return {
1237
- "list-style-position": `${position[0]}`,
1238
- "list-style-type": `${style}`
1144
+ "--un-shadow-color": "0,0,0",
1145
+ "--un-shadow": value,
1146
+ "box-shadow": "var(--un-ring-offset-shadow, 0 0 #0000), var(--un-ring-shadow, 0 0 #0000), var(--un-shadow)"
1239
1147
  };
1240
1148
  }
1241
- return {
1242
- "list-style-type": `${style}`
1243
- };
1244
- }],
1245
- [/^list-(inside|outside)$/, ([, value]) => {
1246
- return {
1247
- "list-style-position": value
1248
- };
1149
+ const color = colorResolver3(d, theme);
1150
+ if (color)
1151
+ return color;
1152
+ }]
1153
+ ];
1154
+
1155
+ // src/rules/size.ts
1156
+ function getPropName(minmax, hw) {
1157
+ return `${minmax ? `${minmax}-` : ""}${hw === "h" ? "height" : "width"}`;
1158
+ }
1159
+ function getThemeValue(minmax, hw, theme, prop) {
1160
+ var _a;
1161
+ let str = `${hw === "h" ? "height" : "width"}`;
1162
+ if (minmax)
1163
+ str = `${minmax}${capitalize(str)}`;
1164
+ return (_a = theme[str]) == null ? void 0 : _a[prop];
1165
+ }
1166
+ var sizes = [
1167
+ [/^(?:(min|max)-)?(w|h)-(.+)$/, ([, m, w, s], { theme }) => {
1168
+ const v = getThemeValue(m, w, theme, s) || handler.bracket.cssvar.fraction.rem(s);
1169
+ if (v != null)
1170
+ return { [getPropName(m, w)]: v };
1171
+ }],
1172
+ [/^(?:(min|max)-)?(w)-screen-(.+)$/, ([, m, w, s], { theme }) => {
1173
+ var _a;
1174
+ const v = (_a = theme.breakpoints) == null ? void 0 : _a[s];
1175
+ if (v != null)
1176
+ return { [getPropName(m, w)]: v };
1177
+ }]
1178
+ ];
1179
+ var aspectRatio = [
1180
+ ["aspect-ratio-auto", { "aspect-ratio": "auto" }],
1181
+ [/^aspect-ratio-(.+)$/, ([, d]) => {
1182
+ const v = (/^\d+\/\d+$/.test(d) ? d : null) || handler.bracket.cssvar.number(d);
1183
+ if (v != null)
1184
+ return { "aspect-ratio": v };
1185
+ }]
1186
+ ];
1187
+
1188
+ // src/rules/spacing.ts
1189
+ var directionSize = (prefix) => ([_, direction, size]) => {
1190
+ const v = handler.bracket.rem.fraction.cssvar(size);
1191
+ if (v)
1192
+ return directionMap[direction].map((i) => [prefix + i, v]);
1193
+ };
1194
+ var paddings = [
1195
+ [/^pa?()-?(-?.+)$/, directionSize("padding")],
1196
+ [/^p-?([xy])-?(-?.+)$/, directionSize("padding")],
1197
+ [/^p-?([rltbse])-?(-?.+)$/, directionSize("padding")]
1198
+ ];
1199
+ var margins = [
1200
+ [/^ma?()-?(-?.+)$/, directionSize("margin")],
1201
+ [/^m-?([xy])-?(-?.+)$/, directionSize("margin")],
1202
+ [/^m-?([rltbse])-?(-?.+)$/, directionSize("margin")],
1203
+ [/^space-?([xy])-?(-?.+)$/, (match) => {
1204
+ var _a;
1205
+ const [, direction, size] = match;
1206
+ if (size === "reverse")
1207
+ return { [`--un-space-${direction}-reverse`]: 1 };
1208
+ const results = (_a = directionSize("margin")(match)) == null ? void 0 : _a.map((item) => {
1209
+ const value = item[0].endsWith("right") || item[0].endsWith("bottom") ? `calc(${item[1]} * var(--un-space-${direction}-reverse))` : `calc(${item[1]} * calc(1 - var(--un-space-${direction}-reverse)))`;
1210
+ return [item[0], value];
1211
+ });
1212
+ if (results) {
1213
+ return [
1214
+ [`--un-space-${direction}-reverse`, 0],
1215
+ ...results
1216
+ ];
1217
+ }
1249
1218
  }]
1250
1219
  ];
1251
- var boxDecorationBreaks = [
1252
- ["decoration-slice", { "box-decoration-break": "slice" }],
1253
- ["decoration-clone", { "box-decoration-break": "clone" }]
1220
+
1221
+ // src/rules/static.ts
1222
+ var displays = [
1223
+ ["inline", { display: "inline" }],
1224
+ ["block", { display: "block" }],
1225
+ ["inline-block", { display: "inline-block" }],
1226
+ ["contents", { display: "contents" }],
1227
+ ["flow-root", { display: "flow-root" }],
1228
+ ["list-item", { display: "list-item" }],
1229
+ ["hidden", { display: "none" }]
1254
1230
  ];
1255
- var caretOpacity = [
1256
- [/^caret-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-caret-opacity": handler.bracket.percent(d) })]
1231
+ var appearances = [
1232
+ ["visible", { visibility: "visible" }],
1233
+ ["invisible", { visibility: "hidden" }],
1234
+ ["backface-visible", { "backface-visibility": "visible" }],
1235
+ ["backface-hidden", { "backface-visibility": "hidden" }]
1257
1236
  ];
1258
- var caretColors = [
1259
- [/^caret-(.+)$/, colorResolver("caret-color", "caret")]
1237
+ var cursors = [
1238
+ [/^cursor-(.+)$/, ([, c]) => ({ cursor: c })]
1260
1239
  ];
1261
- var imageRenderings = [
1262
- ["image-render-auto", { "image-rendering": "auto" }],
1263
- ["image-render-edge", { "image-rendering": "crisp-edges" }],
1264
- ["image-render-pixel", [
1265
- ["-ms-interpolation-mode", "nearest-neighbor"],
1266
- ["image-rendering", "-webkit-optimize-contrast"],
1267
- ["image-rendering", "-moz-crisp-edges"],
1268
- ["image-rendering", "-o-pixelated"],
1269
- ["image-rendering", "pixelated"]
1270
- ]]
1240
+ var pointerEvents = [
1241
+ ["pointer-events-none", { "pointer-events": "none" }],
1242
+ ["pointer-events-auto", { "pointer-events": "auto" }]
1271
1243
  ];
1272
- var appearance = [
1273
- ["appearance-none", {
1274
- "appearance": "none",
1275
- "-webkit-appearance": "none"
1276
- }]
1244
+ var resizes = [
1245
+ ["resize-none", { resize: "none" }],
1246
+ ["resize-x", { resize: "horizontal" }],
1247
+ ["resize-y", { resize: "vertical" }],
1248
+ ["resize", { resize: "both" }]
1277
1249
  ];
1278
- var placeholder = [
1279
- [
1280
- /^placeholder-opacity-(\d+)$/,
1281
- ([, d]) => ({
1282
- "placeholder-opacity": handler.bracket.percent(d)
1283
- })
1284
- ],
1285
- [
1286
- /^placeholder-(?!opacity)(.+)$/,
1287
- (match, config) => {
1288
- match[1] = match[1].replace(/^color-/, "");
1289
- return colorResolver("placeholder-color", "placeholder-color")(match, config);
1290
- }
1291
- ]
1250
+ var userSelects = [
1251
+ [/^select-(none|text|all|auto)$/, ([, v]) => ({ "user-select": v })]
1292
1252
  ];
1293
- var overflowValues2 = [
1294
- "none",
1295
- "auto",
1296
- "hidden",
1297
- "visible",
1298
- "scroll",
1299
- "contain"
1253
+ var whitespaces = [
1254
+ [/^(?:whitespace|ws)-(normal|nowrap|pre|pre-line|pre-wrap)$/, ([, v]) => ({ "white-space": v })]
1300
1255
  ];
1301
- var overscrolls = [
1302
- [/^overscroll-(.+)$/, ([, v]) => overflowValues2.includes(v) ? { "overscroll-behavior": v } : void 0],
1303
- [/^overscroll-([xy])-(.+)$/, ([, d, v]) => overflowValues2.includes(v) ? { [`overscroll-behavior-${d}`]: v } : void 0]
1256
+ var breaks = [
1257
+ ["break-normal", { "overflow-wrap": "normal", "word-break": "normal" }],
1258
+ ["break-word", { "overflow-wrap": "break-word" }],
1259
+ ["break-all", { "word-break": "break-all" }]
1304
1260
  ];
1305
-
1306
- // src/rules/animation.ts
1307
- var keyframes = {
1308
- "spin": "{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}",
1309
- "ping": "{0%{transform:scale(1);opacity:1}75%,100%{transform:scale(2);opacity:0}}",
1310
- "bounce": "{from,20%,53%,80%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1);transform:translate3d(0,0,0)}40%,43%{animation-timing-function:cubic-bezier(0.755,0.05,0.855,0.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(0.755,0.05,0.855,0.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}",
1311
- "flash": "{from,50%,to{opacity:1}25%,75%{opacity:0}}",
1312
- "pulse": "{from{transform:scale3d(1,1,1)}50%{transform:scale3d(1.05,1.05,1.05)}to{transform:scale3d(1,1,1)}}",
1313
- "rubber-band": "{from{transform:scale3d(1,1,1)}30%{transform:scale3d(1.25,0.75,1)}40%{transform:scale3d(0.75,1.25,1)}50%{transform:scale3d(1.15,0.85,1)}65%{transform:scale3d(0.95,1.05,1)}75%{transform:scale3d(1.05,0.95,1)}to{transform:scale3d(1,1,1)}}",
1314
- "shake-x": "{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}",
1315
- "shake-y": "{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(0,-10px,0)}20%,40%,60%,80%{transform:translate3d(0,10px,0)}}",
1316
- "head-shake": "{0%{transform:translateX(0)}6.5%{transform:translateX(-6px) rotateY(-9deg)}18.5%{transform:translateX(5px) rotateY(7deg)}31.5%{transform:translateX(-3px) rotateY(-5deg)}43.5%{transform:translateX(2px) rotateY(3deg)}50%{transform:translateX(0)}}",
1317
- "swing": "{20%{transform:rotate3d(0,0,1,15deg)}40%{transform:rotate3d(0,0,1,-10deg)}60%{transform:rotate3d(0,0,1,5deg)}80%{transform:rotate3d(0,0,1,-5deg)}to{transform:rotate3d(0,0,1,0deg)}}",
1318
- "tada": "{from{transform:scale3d(1,1,1)}10%,20%{transform:scale3d(0.9,0.9,0.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}to{transform:scale3d(1,1,1)}}",
1319
- "wobble": "{from{transform:translate3d(0,0,0)}15%{transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}to{transform:translate3d(0,0,0)}}",
1320
- "jello": "{from,11.1% to{transform:translate3d(0,0,0)}22.2%{transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{transform:skewX(6.25deg) skewY(6.25deg)}44.4%{transform:skewX(-3.125deg)skewY(-3.125deg)}55.5%{transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{transform:skewX(-0.78125deg) skewY(-0.78125deg)}77.7%{transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{transform:skewX(-0.1953125deg) skewY(-0.1953125deg)}}",
1321
- "heart-beat": "{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}",
1322
- "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}}",
1323
- "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)}}",
1324
- "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)}}",
1325
- "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)}}",
1326
- "light-speed-out-left": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}",
1327
- "light-speed-out-right": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}",
1328
- "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}}",
1329
- "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)}}",
1330
- "flip-in-y": "{from{transform:perspective(400px) rotate3d(0,1,0,90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(0,1,0,-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{transform:perspective(400px)}}",
1331
- "flip-out-x": "{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}",
1332
- "flip-out-y": "{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}",
1333
- "rotate-in": "{from{transform-origin:center;transform:rotate3d(0,0,1,-200deg);opacity:0}to{transform-origin:center;transform:translate3d(0,0,0);opacity:1}}",
1334
- "rotate-in-down-left": "{from{transform-origin:left bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}to{transform-origin:left bottom;transform:translate3d(0,0,0);opacity:1}}",
1335
- "rotate-in-down-right": "{from{transform-origin:right bottom;transform:rotate3d(0,0,1,45deg);opacity:0}to{transform-origin:right bottom;transform:translate3d(0,0,0);opacity:1}}",
1336
- "rotate-in-up-left": "{from{transform-origin:left top;transform:rotate3d(0,0,1,45deg);opacity:0}to{transform-origin:left top;transform:translate3d(0,0,0);opacity:1}}",
1337
- "rotate-in-up-right": "{from{transform-origin:right bottom;transform:rotate3d(0,0,1,-90deg);opacity:0}to{transform-origin:right bottom;transform:translate3d(0,0,0);opacity:1}}",
1338
- "rotate-out": "{from{transform-origin:center;opacity:1}to{transform-origin:center;transform:rotate3d(0,0,1,200deg);opacity:0}}",
1339
- "rotate-out-down-left": "{from{transform-origin:left bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,45deg);opacity:0}}",
1340
- "rotate-out-down-right": "{from{transform-origin:right bottom;opacity:1}to{transform-origin:right bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}}",
1341
- "rotate-out-up-left": "{from{transform-origin:left bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}}",
1342
- "rotate-out-up-right": "{from{transform-origin:right bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,90deg);opacity:0}}",
1343
- "roll-in": "{from{opacity:0;transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;transform:translate3d(0,0,0)}}",
1344
- "roll-out": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}",
1345
- "zoom-in": "{from{opacity:0;transform:scale3d(0.3,0.3,0.3)}50%{opacity:1}}",
1346
- "zoom-in-down": "{from{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}",
1347
- "zoom-in-left": "{from{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}",
1348
- "zoom-in-right": "{from{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}",
1349
- "zoom-in-up": "{from{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}",
1350
- "zoom-out": "{from{opacity:1}50%{opacity:0;transform:scale3d(0.3,0.3,0.3)}to{opacity:0}}",
1351
- "zoom-out-down": "{40%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}to{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(0,2000px,0);transform-origin:center bottom;animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}",
1352
- "zoom-out-left": "{40%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(42px,0,0)}to{opacity:0;transform:scale(0.1) translate3d(-2000px,0,0);transform-origin:left center}}",
1353
- "zoom-out-right": "{40%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(-42px,0,0)}to{opacity:0;transform:scale(0.1) translate3d(2000px,0,0);transform-origin:right center}}",
1354
- "zoom-out-up": "{40%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}to{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(0,-2000px,0);transform-origin:center bottom;animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}",
1355
- "bounce-in": "{from,20%,40%,60%,80%,to{animation-timing-function:ease-in-out}0%{opacity:0;transform:scale3d(0.3,0.3,0.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(0.9,0.9,0.9)}60%{transform:scale3d(1.03,1.03,1.03);opacity:1}80%{transform:scale3d(0.97,0.97,0.97)}to{opacity:1;transform:scale3d(1,1,1)}}",
1356
- "bounce-in-down": "{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:translate3d(0,0,0)}}",
1357
- "bounce-in-left": "{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:translate3d(0,0,0)}}",
1358
- "bounce-in-right": "{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:translate3d(0,0,0)}}",
1359
- "bounce-in-up": "{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translate3d(0,0,0)}}",
1360
- "bounce-out": "{20%{transform:scale3d(0.9,0.9,0.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(0.3,0.3,0.3)}}",
1361
- "bounce-out-down": "{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}",
1362
- "bounce-out-left": "{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}",
1363
- "bounce-out-right": "{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}",
1364
- "bounce-out-up": "{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}",
1365
- "slide-in-down": "{from{transform:translate3d(0,-100%,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
1366
- "slide-in-left": "{from{transform:translate3d(-100%,0,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
1367
- "slide-in-right": "{from{transform:translate3d(100%,0,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
1368
- "slide-in-up": "{from{transform:translate3d(0,100%,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
1369
- "slide-out-down": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(0,100%,0)}}",
1370
- "slide-out-left": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(-100%,0,0)}}",
1371
- "slide-out-right": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(100%,0,0)}}",
1372
- "slide-out-up": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(0,-100%,0)}}",
1373
- "fade-in": "{from{opacity:0}to{opacity:1}}",
1374
- "fade-in-down": "{from{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1375
- "fade-in-down-big": "{from{opacity:0;transform:translate3d(0,-2000px,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1376
- "fade-in-left": "{from{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1377
- "fade-in-left-big": "{from{opacity:0;transform:translate3d(-2000px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1378
- "fade-in-right": "{from{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1379
- "fade-in-right-big": "{from{opacity:0;transform:translate3d(2000px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1380
- "fade-in-up": "{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1381
- "fade-in-up-big": "{from{opacity:0;transform:translate3d(0,2000px,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1382
- "fade-in-top-left": "{from{opacity:0;transform:translate3d(-100%,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1383
- "fade-in-top-right": "{from{opacity:0;transform:translate3d(100%,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1384
- "fade-in-bottom-left": "{from{opacity:0;transform:translate3d(-100%,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1385
- "fade-in-bottom-right": "{from{opacity:0;transform:translate3d(100%,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1386
- "fade-out": "{from{opacity:1}to{opacity:0}}",
1387
- "fade-out-down": "{from{opacity:1}to{opacity:0;transform:translate3d(0,100%,0)}}",
1388
- "fade-out-down-big": "{from{opacity:1}to{opacity:0;transform:translate3d(0,2000px,0)}}",
1389
- "fade-out-left": "{from{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0)}}",
1390
- "fade-out-left-big": "{from{opacity:1}to{opacity:0;transform:translate3d(-2000px,0,0)}}",
1391
- "fade-out-right": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0)}}",
1392
- "fade-out-right-big": "{from{opacity:1}to{opacity:0;transform:translate3d(2000px,0,0)}}",
1393
- "fade-out-up": "{from{opacity:1}to{opacity:0;transform:translate3d(0,-100%,0)}}",
1394
- "fade-out-up-big": "{from{opacity:1}to{opacity:0;transform:translate3d(0,-2000px,0)}}",
1395
- "fade-out-top-left": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-100%,-100%,0)}}",
1396
- "fade-out-top-right": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(100%,-100%,0)}}",
1397
- "fade-out-bottom-left": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-100%,100%,0)}}",
1398
- "fade-out-bottom-right": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(100%,100%,0)}}",
1399
- "back-in-up": "{0%{opacity:0.7;transform:translateY(1200px) scale(0.7)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:1;transform:scale(1)}}",
1400
- "back-in-down": "{0%{opacity:0.7;transform:translateY(-1200px) scale(0.7)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:1;transform:scale(1)}}",
1401
- "back-in-right": "{0%{opacity:0.7;transform:translateX(2000px) scale(0.7)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:1;transform:scale(1)}}",
1402
- "back-in-left": "{0%{opacity:0.7;transform:translateX(-2000px) scale(0.7)}80%{opacity:0.7;transform:translateX(0px) scale(0.7)}100%{opacity:1;transform:scale(1)}}",
1403
- "back-out-up": "{0%{opacity:1;transform:scale(1)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:0.7;transform:translateY(-700px) scale(0.7)}}",
1404
- "back-out-down": "{0%{opacity:1;transform:scale(1)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:0.7;transform:translateY(700px) scale(0.7)}}",
1405
- "back-out-right": "{0%{opacity:1;transform:scale(1)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:0.7;transform:translateX(2000px) scale(0.7)}}",
1406
- "back-out-left": "{0%{opacity:1;transform:scale(1)}80%{opacity:0.7;transform:translateX(-2000px) scale(0.7)}100%{opacity:0.7;transform:translateY(-700px) scale(0.7)}}"
1407
- };
1408
- var animations = [
1409
- [/^animate-(.*)$/, ([, name], { constructCSS }) => {
1410
- const kf = keyframes[name];
1411
- if (kf)
1412
- return `@keyframes ${name}${kf}
1413
- ${constructCSS({ animation: `${name} 1s linear infinite` })}`;
1261
+ var textOverflows = [
1262
+ ["truncate", { "overflow": "hidden", "text-overflow": "ellipsis", "white-space": "nowrap" }],
1263
+ ["text-ellipsis", { "text-overflow": "ellipsis" }],
1264
+ ["text-clip", { "text-overflow": "clip" }]
1265
+ ];
1266
+ var textTransforms = [
1267
+ ["case-upper", { "text-transform": "uppercase" }],
1268
+ ["case-lower", { "text-transform": "lowercase" }],
1269
+ ["case-capital", { "text-transform": "capitalize" }],
1270
+ ["case-normal", { "text-transform": "none" }],
1271
+ ["uppercase", { "text-transform": "uppercase" }],
1272
+ ["lowercase", { "text-transform": "lowercase" }],
1273
+ ["capitalize", { "text-transform": "capitalize" }],
1274
+ ["normal-case", { "text-transform": "none" }]
1275
+ ];
1276
+ var textDecorations = [
1277
+ ["underline", { "text-decoration": "underline" }],
1278
+ ["line-through", { "text-decoration": "line-through" }],
1279
+ ["no-underline", { "text-decoration": "none" }]
1280
+ ];
1281
+ var textDecorationStyles = [
1282
+ ["underline-solid", { "text-decoration-style": "solid" }],
1283
+ ["underline-double", { "text-decoration-style": "double" }],
1284
+ ["underline-dotted", { "text-decoration-style": "dotted" }],
1285
+ ["underline-dashed", { "text-decoration-style": "dashed" }]
1286
+ ];
1287
+ var fontStyles = [
1288
+ ["italic", { "font-style": "italic" }],
1289
+ ["not-italic", { "font-style": "normal" }]
1290
+ ];
1291
+ var fontSmoothings = [
1292
+ ["antialiased", {
1293
+ "-webkit-font-smoothing": "antialiased",
1294
+ "-moz-osx-font-smoothing": "grayscale",
1295
+ "font-smoothing": "grayscale"
1296
+ }],
1297
+ ["subpixel-antialiased", {
1298
+ "-webkit-font-smoothing": "auto",
1299
+ "-moz-osx-font-smoothing": "auto",
1300
+ "font-smoothing": "auto"
1301
+ }]
1302
+ ];
1303
+ var hyphens = [
1304
+ ["hyphens-none", {
1305
+ "-webkit-hyphens": "none",
1306
+ "-ms-hyphens": "none",
1307
+ "hyphens": "none"
1414
1308
  }],
1415
- ["animate-none", { animation: "none" }],
1416
- [/^animate(?:-duration)?-((.+)(?:(s|ms)?))$/, ([, d]) => ({ "animation-duration": handler.bracket.time(d.replace(/-duration/, "")) })],
1417
- [/^animate-delay-((.+)(?:(s|ms)?))$/, ([, d]) => ({ "animation-delay": handler.bracket.time(d) })],
1418
- [/^animate-(?:fill-)?mode-(none|forwards|backwards|both|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-fill-mode": d })],
1419
- [/^animate-(?:direction-)?(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-direction": d })],
1420
- [/^animate-(?:iteration-)?count-(.+)$/, ([, d]) => ({ "animation-iteration-count": d.replace(/\-/g, ", ") })],
1421
- [/^animate-name-(.+)/, ([, d]) => ({ "animation-name": d })],
1422
- [/^animate-play(?:-state)?-(paused|running|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-play-state": d })]
1309
+ ["hyphens-manual", {
1310
+ "-webkit-hyphens": "manual",
1311
+ "-ms-hyphens": "manual",
1312
+ "hyphens": "manual"
1313
+ }],
1314
+ ["hyphens-auto", {
1315
+ "-webkit-hyphens": "auto",
1316
+ "-ms-hyphens": "auto",
1317
+ "hyphens": "auto"
1318
+ }]
1319
+ ];
1320
+ var writingModes = [
1321
+ ["write-normal", { "writing-mode": "horizontal-tb" }],
1322
+ ["write-vertical-right", { "writing-mode": "vertical-rl" }],
1323
+ ["write-vertical-left", { "writing-mode": "vertical-lr" }]
1324
+ ];
1325
+ var writingOrientations = [
1326
+ ["write-orient-mixed", { "text-orientation": "mixed" }],
1327
+ ["write-orient-upright", { "text-orientation": "upright" }],
1328
+ ["write-orient-sideways", { "text-orientation": "sideways" }]
1329
+ ];
1330
+ var screenReadersAccess = [
1331
+ [
1332
+ "sr-only",
1333
+ {
1334
+ "position": "absolute",
1335
+ "width": "1px",
1336
+ "height": "1px",
1337
+ "padding": "0",
1338
+ "margin": "-1px",
1339
+ "overflow": "hidden",
1340
+ "clip": "rect(0,0,0,0)",
1341
+ "white-space": "nowrap",
1342
+ "border-width": 0
1343
+ }
1344
+ ],
1345
+ [
1346
+ "not-sr-only",
1347
+ {
1348
+ "position": "static",
1349
+ "width": "auto",
1350
+ "height": "auto",
1351
+ "padding": "0",
1352
+ "margin": "0",
1353
+ "overflow": "visible",
1354
+ "clip": "auto",
1355
+ "white-space": "normal"
1356
+ }
1357
+ ]
1358
+ ];
1359
+ var isolations = [
1360
+ ["isolate", { isolation: "isolate" }],
1361
+ ["isolate-auto", { isolation: "auto" }]
1423
1362
  ];
1424
1363
 
1364
+ // src/rules/table.ts
1365
+ var tables = [
1366
+ ["border-collapse", { "border-collapse": "collapse" }],
1367
+ ["border-separate", { "border-collapse": "separate" }],
1368
+ ["caption-top", { "caption-side": "top" }],
1369
+ ["caption-bottom", { "caption-side": "bottom" }],
1370
+ ["inline-table", { display: "inline-table" }],
1371
+ ["table", { display: "table" }],
1372
+ ["table-auto", { "table-layout": "auto" }],
1373
+ ["table-empty-cells-visible", { "empty-cells": "show" }],
1374
+ ["table-empty-cells-hidden", { "empty-cells": "hide" }],
1375
+ ["table-fixed", { "table-layout": "fixed" }],
1376
+ ["table-caption", { display: "table-caption" }],
1377
+ ["table-cell", { display: "table-cell" }],
1378
+ ["table-column", { display: "table-column" }],
1379
+ ["table-column-group", { display: "table-column-group" }],
1380
+ ["table-footer-group", { display: "table-footer-group" }],
1381
+ ["table-header-group", { display: "table-header-group" }],
1382
+ ["table-row", { display: "table-row" }],
1383
+ ["table-row-group", { display: "table-row-group" }]
1384
+ ];
1385
+
1386
+ // src/rules/transform.ts
1387
+ var transforms = [
1388
+ [
1389
+ "transform",
1390
+ {
1391
+ "--un-rotate": 0,
1392
+ "--un-scale-x": 1,
1393
+ "--un-scale-y": 1,
1394
+ "--un-scale-z": 1,
1395
+ "--un-skew-x": 0,
1396
+ "--un-skew-y": 0,
1397
+ "--un-translate-x": 0,
1398
+ "--un-translate-y": 0,
1399
+ "--un-translate-z": 0,
1400
+ "transform": "rotate(var(--un-rotate)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z))"
1401
+ }
1402
+ ],
1403
+ [/^preserve-(3d|flat)$/, ([, value]) => ({
1404
+ "transform-style": value === "3d" ? `preserve-${value}` : value
1405
+ })],
1406
+ [/^translate()-([^-]+)$/, handleTranslate],
1407
+ [/^translate-([xyz])-([^-]+)$/, handleTranslate],
1408
+ [/^scale()-([^-]+)$/, handleScale],
1409
+ [/^scale-([xyz])-([^-]+)$/, handleScale],
1410
+ [/^rotate-([^-]+)(?:deg)?$/, handleRotate],
1411
+ ["origin-center", { "transform-origin": "center" }],
1412
+ ["origin-top", { "transform-origin": "top" }],
1413
+ ["origin-top-right", { "transform-origin": "top right" }],
1414
+ ["origin-right", { "transform-origin": "right" }],
1415
+ ["origin-bottom-right", { "transform-origin": "bottom right" }],
1416
+ ["origin-bottom", { "transform-origin": "bottom" }],
1417
+ ["origin-bottom-left", { "transform-origin": "bottom left" }],
1418
+ ["origin-left", { "transform-origin": "left" }],
1419
+ ["origin-top-left", { "transform-origin": "top left" }]
1420
+ ];
1421
+ function handleTranslate([, d, b]) {
1422
+ const v = handler.bracket.fraction.rem(b);
1423
+ if (v != null) {
1424
+ return [
1425
+ ...xyzMap[d].map((i) => [`--un-translate${i}`, v])
1426
+ ];
1427
+ }
1428
+ }
1429
+ function handleScale([, d, b]) {
1430
+ const v = handler.bracket.fraction.percent(b);
1431
+ if (v != null) {
1432
+ return [
1433
+ ...xyzMap[d].map((i) => [`--un-scale${i}`, v])
1434
+ ];
1435
+ }
1436
+ }
1437
+ function handleRotate([, b]) {
1438
+ const v = handler.bracket.number(b);
1439
+ if (v != null)
1440
+ return { "--un-rotate": `${v}deg` };
1441
+ }
1442
+
1425
1443
  // src/rules/variables.ts
1426
1444
  var variablesAbbrMap = {
1427
1445
  "visible": "visibility",
@@ -1485,22 +1503,6 @@ ${constructCSS({ animation: "__un_qm 0.5s ease-in-out alternate infinite" })}`;
1485
1503
  ]
1486
1504
  ];
1487
1505
 
1488
- // src/rules/align.ts
1489
- var verticalAlignAlias = {
1490
- mid: "middle",
1491
- base: "baseline",
1492
- btm: "bottom"
1493
- };
1494
- var verticalAligns = [
1495
- [/^(?:vertical|align|v)-(baseline|top|bottom|middle|text-top|text-bottom|mid|base|btm)$/, ([, v]) => ({ "vertical-align": verticalAlignAlias[v] || v })]
1496
- ];
1497
- var textAligns = [
1498
- ["text-center", { "text-align": "center" }],
1499
- ["text-left", { "text-align": "left" }],
1500
- ["text-right", { "text-align": "right" }],
1501
- ["text-justify", { "text-align": "justify" }]
1502
- ];
1503
-
1504
1506
  // src/rules/divide.ts
1505
1507
  var divideSizes = [
1506
1508
  [/^divide-?([xy])$/, handlerDivide],
@@ -1544,7 +1546,7 @@ var lineClamps = [
1544
1546
  }]
1545
1547
  ];
1546
1548
 
1547
- // src/rules/index.ts
1549
+ // src/rules/default.ts
1548
1550
  var rules = [
1549
1551
  screenReadersAccess,
1550
1552
  cssVariables,
@@ -1643,6 +1645,113 @@ var rules = [
1643
1645
  ].flat(1);
1644
1646
 
1645
1647
  export {
1648
+ verticalAligns,
1649
+ textAligns,
1650
+ animations,
1651
+ parseColorUtil,
1652
+ colorResolver,
1653
+ opacity,
1654
+ textColors,
1655
+ textDecorationColors,
1656
+ textStrokeColors,
1657
+ bgColors,
1658
+ borderColors,
1659
+ ringColors,
1660
+ ringOffsetColors,
1661
+ divideColors,
1662
+ fillColors,
1663
+ bgAttachments,
1664
+ bgBlendModes,
1665
+ bgClips,
1666
+ bgGradients,
1667
+ bgImages,
1668
+ bgOrigins,
1669
+ bgPositions,
1670
+ bgRepeats,
1671
+ bgSizes,
1672
+ outline,
1673
+ listStyle,
1674
+ boxDecorationBreaks,
1675
+ caretOpacity,
1676
+ caretColors,
1677
+ imageRenderings,
1678
+ appearance,
1679
+ placeholder,
1680
+ overscrolls,
1681
+ borderSizes,
1682
+ borderRadius,
1683
+ borderStyles,
1684
+ borders,
1685
+ container,
1646
1686
  containerShortcuts,
1687
+ transitions,
1688
+ filters,
1689
+ flex,
1690
+ fontsFamilies,
1691
+ fontSizes,
1692
+ fontWeights,
1693
+ leadings,
1694
+ trackings,
1695
+ wordSpacings,
1696
+ tabSizes,
1697
+ textDecorationLengths,
1698
+ textDecorationOffsets,
1699
+ textIndents,
1700
+ textStrokeWidths,
1701
+ textShadows,
1702
+ fonts,
1703
+ gaps,
1704
+ grids,
1705
+ overflows,
1706
+ positions,
1707
+ justifies,
1708
+ orders,
1709
+ justifyItems,
1710
+ justifySelfs,
1711
+ alignContents,
1712
+ alignItems,
1713
+ alignSelfs,
1714
+ placeContents,
1715
+ placeItems,
1716
+ placeSelfs,
1717
+ insets,
1718
+ floats,
1719
+ zIndexes,
1720
+ objectPositions,
1721
+ boxSizing,
1722
+ rings,
1723
+ mixBlendModes,
1724
+ boxShadows,
1725
+ sizes,
1726
+ aspectRatio,
1727
+ paddings,
1728
+ margins,
1729
+ displays,
1730
+ appearances,
1731
+ cursors,
1732
+ pointerEvents,
1733
+ resizes,
1734
+ userSelects,
1735
+ whitespaces,
1736
+ breaks,
1737
+ textOverflows,
1738
+ textTransforms,
1739
+ textDecorations,
1740
+ textDecorationStyles,
1741
+ fontStyles,
1742
+ fontSmoothings,
1743
+ hyphens,
1744
+ writingModes,
1745
+ writingOrientations,
1746
+ screenReadersAccess,
1747
+ isolations,
1748
+ tables,
1749
+ transforms,
1750
+ cssVariables,
1751
+ questionMark,
1752
+ divideSizes,
1753
+ divideStyles,
1754
+ divides,
1755
+ lineClamps,
1647
1756
  rules
1648
1757
  };