@unocss/preset-uno 0.14.3 → 0.15.3

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.
@@ -1,1668 +0,0 @@
1
- import { hex2rgba, toArray } from '@unocss/core';
2
- import { h as handler, d as directionMap, c as cornerMap, a as capitalize, x as xyzMap } from './index.mjs';
3
- import { C as CONTROL_BYPASS_PSEUDO } from './pseudo.mjs';
4
-
5
- const verticalAlignAlias = {
6
- mid: "middle",
7
- base: "baseline",
8
- btm: "bottom"
9
- };
10
- const verticalAligns = [
11
- [/^(?:vertical|align|v)-(baseline|top|bottom|middle|text-top|text-bottom|mid|base|btm)$/, ([, v]) => ({ "vertical-align": verticalAlignAlias[v] || v })]
12
- ];
13
- const textAligns = [
14
- ["text-center", { "text-align": "center" }],
15
- ["text-left", { "text-align": "left" }],
16
- ["text-right", { "text-align": "right" }],
17
- ["text-justify", { "text-align": "justify" }]
18
- ];
19
-
20
- const keyframes = {
21
- "spin": "{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}",
22
- "ping": "{0%{transform:scale(1);opacity:1}75%,100%{transform:scale(2);opacity:0}}",
23
- "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)}}",
24
- "flash": "{from,50%,to{opacity:1}25%,75%{opacity:0}}",
25
- "pulse": "{from{transform:scale3d(1,1,1)}50%{transform:scale3d(1.05,1.05,1.05)}to{transform:scale3d(1,1,1)}}",
26
- "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)}}",
27
- "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)}}",
28
- "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)}}",
29
- "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)}}",
30
- "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)}}",
31
- "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)}}",
32
- "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)}}",
33
- "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)}}",
34
- "heart-beat": "{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}",
35
- "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}}",
36
- "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)}}",
37
- "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)}}",
38
- "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)}}",
39
- "light-speed-out-left": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}",
40
- "light-speed-out-right": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}",
41
- "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}}",
42
- "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)}}",
43
- "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)}}",
44
- "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}}",
45
- "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}}",
46
- "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}}",
47
- "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}}",
48
- "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}}",
49
- "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}}",
50
- "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}}",
51
- "rotate-out": "{from{transform-origin:center;opacity:1}to{transform-origin:center;transform:rotate3d(0,0,1,200deg);opacity:0}}",
52
- "rotate-out-down-left": "{from{transform-origin:left bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,45deg);opacity:0}}",
53
- "rotate-out-down-right": "{from{transform-origin:right bottom;opacity:1}to{transform-origin:right bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}}",
54
- "rotate-out-up-left": "{from{transform-origin:left bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}}",
55
- "rotate-out-up-right": "{from{transform-origin:right bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,90deg);opacity:0}}",
56
- "roll-in": "{from{opacity:0;transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;transform:translate3d(0,0,0)}}",
57
- "roll-out": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}",
58
- "zoom-in": "{from{opacity:0;transform:scale3d(0.3,0.3,0.3)}50%{opacity:1}}",
59
- "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)}}",
60
- "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)}}",
61
- "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)}}",
62
- "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)}}",
63
- "zoom-out": "{from{opacity:1}50%{opacity:0;transform:scale3d(0.3,0.3,0.3)}to{opacity:0}}",
64
- "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)}}",
65
- "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}}",
66
- "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}}",
67
- "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)}}",
68
- "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)}}",
69
- "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)}}",
70
- "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)}}",
71
- "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)}}",
72
- "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)}}",
73
- "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)}}",
74
- "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)}}",
75
- "bounce-out-left": "{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}",
76
- "bounce-out-right": "{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}",
77
- "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)}}",
78
- "slide-in-down": "{from{transform:translate3d(0,-100%,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
79
- "slide-in-left": "{from{transform:translate3d(-100%,0,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
80
- "slide-in-right": "{from{transform:translate3d(100%,0,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
81
- "slide-in-up": "{from{transform:translate3d(0,100%,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
82
- "slide-out-down": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(0,100%,0)}}",
83
- "slide-out-left": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(-100%,0,0)}}",
84
- "slide-out-right": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(100%,0,0)}}",
85
- "slide-out-up": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(0,-100%,0)}}",
86
- "fade-in": "{from{opacity:0}to{opacity:1}}",
87
- "fade-in-down": "{from{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
88
- "fade-in-down-big": "{from{opacity:0;transform:translate3d(0,-2000px,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
89
- "fade-in-left": "{from{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
90
- "fade-in-left-big": "{from{opacity:0;transform:translate3d(-2000px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
91
- "fade-in-right": "{from{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
92
- "fade-in-right-big": "{from{opacity:0;transform:translate3d(2000px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
93
- "fade-in-up": "{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
94
- "fade-in-up-big": "{from{opacity:0;transform:translate3d(0,2000px,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
95
- "fade-in-top-left": "{from{opacity:0;transform:translate3d(-100%,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
96
- "fade-in-top-right": "{from{opacity:0;transform:translate3d(100%,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
97
- "fade-in-bottom-left": "{from{opacity:0;transform:translate3d(-100%,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
98
- "fade-in-bottom-right": "{from{opacity:0;transform:translate3d(100%,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
99
- "fade-out": "{from{opacity:1}to{opacity:0}}",
100
- "fade-out-down": "{from{opacity:1}to{opacity:0;transform:translate3d(0,100%,0)}}",
101
- "fade-out-down-big": "{from{opacity:1}to{opacity:0;transform:translate3d(0,2000px,0)}}",
102
- "fade-out-left": "{from{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0)}}",
103
- "fade-out-left-big": "{from{opacity:1}to{opacity:0;transform:translate3d(-2000px,0,0)}}",
104
- "fade-out-right": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0)}}",
105
- "fade-out-right-big": "{from{opacity:1}to{opacity:0;transform:translate3d(2000px,0,0)}}",
106
- "fade-out-up": "{from{opacity:1}to{opacity:0;transform:translate3d(0,-100%,0)}}",
107
- "fade-out-up-big": "{from{opacity:1}to{opacity:0;transform:translate3d(0,-2000px,0)}}",
108
- "fade-out-top-left": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-100%,-100%,0)}}",
109
- "fade-out-top-right": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(100%,-100%,0)}}",
110
- "fade-out-bottom-left": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-100%,100%,0)}}",
111
- "fade-out-bottom-right": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(100%,100%,0)}}",
112
- "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)}}",
113
- "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)}}",
114
- "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)}}",
115
- "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)}}",
116
- "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)}}",
117
- "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)}}",
118
- "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)}}",
119
- "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)}}"
120
- };
121
- const durations = {
122
- "heart-beat": "1.3s",
123
- "bounce-in": "0.75s",
124
- "bounce-out": "0.75s",
125
- "flip-out-x": "0.75s",
126
- "flip-out-y": "0.75s",
127
- "hinge": "2s"
128
- };
129
- const timingFns = {
130
- "head-shake": "ease-in-out",
131
- "heart-beat": "ease-in-out",
132
- "pulse": "ease-in-out",
133
- "light-speed-in-left": "ease-out",
134
- "light-speed-in-right": "ease-out",
135
- "light-speed-out-left": "ease-in",
136
- "light-speed-out-right": "ease-in"
137
- };
138
- const properties = {
139
- "bounce": { "transform-origin": "center bottom" },
140
- "jello": { "transform-origin": "center" },
141
- "swing": { "transform-origin": "top center" },
142
- "flip": { "backface-visibility": "visible" },
143
- "flip-in-x": { "backface-visibility": "visible !important" },
144
- "flip-in-y": { "backface-visibility": "visible !important" },
145
- "flip-out-x": { "backface-visibility": "visible !important" },
146
- "flip-out-y": { "backface-visibility": "visible !important" },
147
- "rotate-in": { "transform-origin": "center" },
148
- "rotate-in-down-left": { "transform-origin": "left bottom" },
149
- "rotate-in-down-right": { "transform-origin": "right bottom" },
150
- "rotate-in-up-left": { "transform-origin": "left bottom" },
151
- "rotate-in-up-right": { "transform-origin": "right bottom" },
152
- "rotate-out": { "transform-origin": "center" },
153
- "rotate-out-down-left": { "transform-origin": "left bottom" },
154
- "rotate-out-down-right": { "transform-origin": "right bottom" },
155
- "rotate-out-up-left": { "transform-origin": "left bottom" },
156
- "rotate-out-up-right": { "transform-origin": "right bottom" },
157
- "hinge": { "transform-origin": "top left" },
158
- "zoom-out-down": { "transform-origin": "center bottom" },
159
- "zoom-out-left": { "transform-origin": "left center" },
160
- "zoom-out-right": { "transform-origin": "right center" },
161
- "zoom-out-up": { "transform-origin": "center bottom" }
162
- };
163
- const animations = [
164
- [/^animate-(.*)$/, ([, name], { constructCSS }) => {
165
- const kf = keyframes[name];
166
- if (kf) {
167
- return `@keyframes ${name}${kf}
168
- ${constructCSS(Object.assign({ animation: `${name} ${durations[name] || "1s"} ${timingFns[name] || "linear"} infinite` }, properties[name]))}`;
169
- }
170
- }],
171
- ["animate-none", { animation: "none" }],
172
- [/^animate(?:-duration)?-((.+)(?:(s|ms)?))$/, ([, d]) => ({ "animation-duration": handler.bracket.time(d.replace(/-duration/, "")) })],
173
- [/^animate-delay-((.+)(?:(s|ms)?))$/, ([, d]) => ({ "animation-delay": handler.bracket.time(d) })],
174
- [/^animate-(?:fill-)?mode-(none|forwards|backwards|both|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-fill-mode": d })],
175
- [/^animate-(?:direction-)?(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-direction": d })],
176
- [/^animate-(?:iteration-)?count-(.+)$/, ([, d]) => ({ "animation-iteration-count": d.replace(/\-/g, ", ") })],
177
- [/^animate-name-(.+)/, ([, d]) => ({ "animation-name": d })],
178
- [/^animate-play(?:-state)?-(paused|running|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-play-state": d })]
179
- ];
180
-
181
- const parseColorUtil = (body, theme) => {
182
- const [main, opacity2] = body.split(/(?:\/|:)/);
183
- const [name, no = "DEFAULT"] = main.replace(/([a-z])([0-9])/g, "$1-$2").split(/-/g);
184
- if (!name)
185
- return;
186
- let color;
187
- const bracket = handler.bracket(main) || main;
188
- if (bracket.startsWith("#"))
189
- color = bracket.slice(1);
190
- if (bracket.startsWith("hex-"))
191
- color = bracket.slice(4);
192
- if (!color) {
193
- const colorData = theme.colors?.[name];
194
- if (typeof colorData === "string")
195
- color = colorData;
196
- else if (no && colorData)
197
- color = colorData[no];
198
- }
199
- return {
200
- opacity: opacity2,
201
- name,
202
- no,
203
- color,
204
- rgba: hex2rgba(color)
205
- };
206
- };
207
- const colorResolver$2 = (attribute, varName) => ([, body], { theme }) => {
208
- const data = parseColorUtil(body, theme);
209
- if (!data)
210
- return;
211
- const { opacity: opacity2, color, rgba } = data;
212
- if (!color)
213
- return;
214
- const a = opacity2 ? opacity2[0] === "[" ? handler.bracket.percent(opacity2) : parseFloat(opacity2) / 100 : rgba?.[3];
215
- if (rgba) {
216
- if (a != null && !Number.isNaN(a)) {
217
- rgba[3] = typeof a === "string" && !a.includes("%") ? parseFloat(a) : a;
218
- return {
219
- [attribute]: `rgba(${rgba.join(",")})`
220
- };
221
- } else {
222
- return {
223
- [`--un-${varName}-opacity`]: 1,
224
- [attribute]: `rgba(${rgba.slice(0, 3).join(",")},var(--un-${varName}-opacity))`
225
- };
226
- }
227
- } else {
228
- return {
229
- [attribute]: color.replace("%alpha", `${a || 1}`)
230
- };
231
- }
232
- };
233
- const opacity = [
234
- [/^op(?:acity)?-?(.+)$/, ([, d]) => ({ opacity: handler.bracket.percent.cssvar(d) })]
235
- ];
236
- const textColors = [
237
- [/^(?:text|color|c)-(.+)$/, colorResolver$2("color", "text")],
238
- [/^(?:text|color|c)-op(?:acity)?-?(.+)$/m, ([, opacity2]) => ({ "--un-text-opacity": handler.bracket.percent.cssvar(opacity2) })]
239
- ];
240
- const textDecorationColors = [
241
- [/^underline-(.+)$/, (match, ctx) => {
242
- const result = colorResolver$2("text-decoration-color", "line")(match, ctx);
243
- if (result) {
244
- return {
245
- "-webkit-text-decoration-color": result["text-decoration-color"],
246
- ...result
247
- };
248
- }
249
- }],
250
- [/^underline-op(?:acity)?-?(.+)$/m, ([, opacity2]) => ({ "--un-line-opacity": handler.bracket.percent(opacity2) })]
251
- ];
252
- const textStrokeColors = [
253
- [/^text-stroke-(.+)$/, colorResolver$2("-webkit-text-stroke-color", "text-stroke")],
254
- [/^text-stroke-op(?:acity)?-?(.+)$/m, ([, opacity2]) => ({ "--un-text-stroke-opacity": handler.bracket.percent(opacity2) })]
255
- ];
256
- const bgColors = [
257
- [/^bg-(.+)$/, colorResolver$2("background-color", "bg")],
258
- [/^bg-op(?:acity)?-?(.+)$/m, ([, opacity2]) => ({ "--un-bg-opacity": handler.bracket.percent(opacity2) })]
259
- ];
260
- const borderColors = [
261
- [/^(?:border|b)-(.+)$/, colorResolver$2("border-color", "border")],
262
- [/^(?:border|b)-op(?:acity)?-?(.+)$/m, ([, opacity2]) => ({ "--un-border-opacity": handler.bracket.percent(opacity2) })]
263
- ];
264
- const ringColors = [
265
- [/^ring-(.+)$/, colorResolver$2("--un-ring-color", "ring")],
266
- [/^ring-op(?:acity)?-?(.+)$/m, ([, opacity2]) => ({ "--un-ring-opacity": handler.bracket.percent(opacity2) })]
267
- ];
268
- const ringOffsetColors = [
269
- [/^ring-offset-(.+)$/, colorResolver$2("--un-ring-offset-color", "ring-offset")],
270
- [/^ring-offset-op(?:acity)?-?(.+)$/m, ([, opacity2]) => ({ "--un-ring-offset-opacity": handler.bracket.percent(opacity2) })]
271
- ];
272
- const divideColors = [
273
- [/^divide-(.+)$/, colorResolver$2("border-color", "divide")],
274
- [/^divide-op(?:acity)?-?(.+)$/m, ([, opacity2]) => ({ "--un-divide-opacity": handler.bracket.percent(opacity2) })]
275
- ];
276
- const fillColors = [
277
- ["fill-none", { fill: "none" }],
278
- [/^fill-(.+)$/, colorResolver$2("fill", "fill")],
279
- [/^fill-op(?:acity)?-?(.+)$/m, ([, opacity2]) => ({ "--un-fill-opacity": handler.bracket.percent(opacity2) })]
280
- ];
281
-
282
- const colorResolver$1 = (mode) => ([, body], { theme }) => {
283
- const data = parseColorUtil(body, theme);
284
- if (!data)
285
- return;
286
- const { opacity, color, rgba } = data;
287
- if (!color)
288
- return;
289
- let colorString = color;
290
- if (rgba) {
291
- const a = opacity ? opacity[0] === "[" ? handler.bracket.percent(opacity) : parseFloat(opacity) / 100 : rgba[3];
292
- if (a != null && !Number.isNaN(a)) {
293
- rgba[3] = typeof a === "string" && !a.includes("%") ? parseFloat(a) : a;
294
- colorString = `rgba(${rgba.join(",")})`;
295
- } else {
296
- colorString = `rgba(${rgba.slice(0, 3).join(",")}, var(--un-${mode}-opacity, 1))`;
297
- }
298
- }
299
- switch (mode) {
300
- case "from":
301
- return {
302
- "--un-gradient-from": colorString,
303
- "--un-gradient-stops": "var(--un-gradient-from), var(--un-gradient-to, rgba(255, 255, 255, 0))"
304
- };
305
- case "via":
306
- return {
307
- "--un-gradient-stops": `var(--un-gradient-from), ${colorString}, var(--un-gradient-to, rgba(255, 255, 255, 0))`
308
- };
309
- case "to":
310
- return {
311
- "--un-gradient-to": colorString
312
- };
313
- }
314
- };
315
- const bgAttachments = [
316
- ["bg-fixed", { "background-attachment": "fixed" }],
317
- ["bg-local", { "background-attachment": "local" }],
318
- ["bg-scroll", { "background-attachment": "scroll" }]
319
- ];
320
- const bgBlendModes = [
321
- ["bg-blend-normal", { "background-blend-mode": "normal" }],
322
- ["bg-blend-multiply", { "background-blend-mode": "multiply" }],
323
- ["bg-blend-screen", { "background-blend-mode": "screen" }],
324
- ["bg-blend-overlay", { "background-blend-mode": "overlay" }],
325
- ["bg-blend-darken", { "background-blend-mode": "darken" }],
326
- ["bg-blend-lighten", { "background-blend-mode": "lighten" }],
327
- ["bg-blend-color-dodge", { "background-blend-mode": "color-dodge" }],
328
- ["bg-blend-color-burn", { "background-blend-mode": "color-burn" }],
329
- ["bg-blend-hard-light", { "background-blend-mode": "hard-light" }],
330
- ["bg-blend-soft-light", { "background-blend-mode": "soft-light" }],
331
- ["bg-blend-difference", { "background-blend-mode": "difference" }],
332
- ["bg-blend-exclusion", { "background-blend-mode": "exclusion" }],
333
- ["bg-blend-hue", { "background-blend-mode": "hue" }],
334
- ["bg-blend-saturation", { "background-blend-mode": "saturation" }],
335
- ["bg-blend-color", { "background-blend-mode": "color" }],
336
- ["bg-blend-luminosity", { "background-blend-mode": "luminosity" }]
337
- ];
338
- const bgClips = [
339
- ["bg-clip-border", { "-webkit-background-clip": "border-box", "background-attachment": "border-box" }],
340
- ["bg-clip-content", { "-webkit-background-clip": "content-box", "background-attachment": "content-box" }],
341
- ["bg-clip-padding", { "-webkit-background-clip": "padding-box", "background-attachment": "padding-box" }],
342
- ["bg-clip-text", { "-webkit-background-clip": "text", "background-attachment": "text" }]
343
- ];
344
- const bgGradients = [
345
- [/^from-(.+)$/, colorResolver$1("from")],
346
- [/^to-(.+)$/, colorResolver$1("to")],
347
- [/^via-(.+)$/, colorResolver$1("via")],
348
- [/^from-op(?:acity)?-?(.+)$/m, ([, opacity]) => ({ "--un-from-opacity": handler.bracket.percent(opacity) })],
349
- [/^to-op(?:acity)?-?(.+)$/m, ([, opacity]) => ({ "--un-to-opacity": handler.bracket.percent(opacity) })],
350
- [/^via-op(?:acity)?-?(.+)$/m, ([, opacity]) => ({ "--un-via-opacity": handler.bracket.percent(opacity) })]
351
- ];
352
- const bgImages = [
353
- ["bg-none", { "background-image": "none" }],
354
- ["bg-gradient-to-t", {
355
- "background-image": "linear-gradient(to top, var(--un-gradient-stops))"
356
- }],
357
- ["bg-gradient-to-tr", {
358
- "background-image": "linear-gradient(to top right, var(--un-gradient-stops))"
359
- }],
360
- ["bg-gradient-to-r", {
361
- "background-image": "linear-gradient(to right, var(--un-gradient-stops))"
362
- }],
363
- ["bg-gradient-to-br", {
364
- "background-image": "linear-gradient(to bottom right, var(--un-gradient-stops))"
365
- }],
366
- ["bg-gradient-to-b", {
367
- "background-image": "linear-gradient(to bottom, var(--un-gradient-stops))"
368
- }],
369
- ["bg-gradient-to-bl", {
370
- "background-image": "linear-gradient(to bottom left, var(--un-gradient-stops))"
371
- }],
372
- ["bg-gradient-to-l", {
373
- "background-image": "linear-gradient(to left, var(--un-gradient-stops))"
374
- }],
375
- ["bg-gradient-to-tl", {
376
- "background-image": "linear-gradient(to top left, var(--un-gradient-stops))"
377
- }]
378
- ];
379
- const bgOrigins = [
380
- ["bg-origin-border", { "background-origin": "border-box" }],
381
- ["bg-origin-padding", { "background-origin": "padding-box" }],
382
- ["bg-origin-content", { "background-origin": "content-box" }]
383
- ];
384
- const bgPositions = [
385
- ["bg-bottom", { "background-position": "bottom" }],
386
- ["bg-center", { "background-position": "center" }],
387
- ["bg-left", { "background-position": "left" }],
388
- ["bg-left-bottom", { "background-position": "left bottom" }],
389
- ["bg-left-top", { "background-position": "left top" }],
390
- ["bg-right", { "background-position": "right" }],
391
- ["bg-right-bottom", { "background-position": "right bottom" }],
392
- ["bg-right-top", { "background-position": "right top" }],
393
- ["bg-top", { "background-position": "top" }]
394
- ];
395
- const bgRepeats = [
396
- ["bg-repeat", { "background-repeat": "repeat" }],
397
- ["bg-no-repeat", { "background-repeat": "no-repeat" }],
398
- ["bg-repeat-x", { "background-position": "repeat-x" }],
399
- ["bg-repeat-y", { "background-position": "repeat-y" }],
400
- ["bg-repeat-round", { "background-position": "round" }],
401
- ["bg-repeat-space", { "background-position": "space" }]
402
- ];
403
- const bgSizes = [
404
- ["bg-auto", { "background-size": "auto" }],
405
- ["bg-cover", { "background-repeat": "cover" }],
406
- ["bg-contain", { "background-position": "contain" }]
407
- ];
408
-
409
- const outlineStyle = ["none", "auto", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset", "inherit", "initial", "revert", "unset"];
410
- const listStyleProps = ["none", "disc", "circle", "square", "decimal", "zero-decimal", "greek", "roman", "upper-roman", "alpha", "upper-alpha"];
411
- const parseOutlineSize = (s) => {
412
- const propName = ["width", "offset"].find((item) => s.startsWith(item)) || "width";
413
- const size = handler.bracket.fraction.rem(s.replace(/^(offset\-|width\-)/, ""));
414
- if (size) {
415
- return {
416
- [`outline-${propName}`]: size
417
- };
418
- }
419
- };
420
- const outline = [
421
- ["outline-none", { "outline": "2px solid transparent", "outline-offset": "2px" }],
422
- ["outline", { "outline-style": "solid" }],
423
- [
424
- /^outline-(.+)$/,
425
- (match, config) => {
426
- const [, d] = match;
427
- if (d === "none") {
428
- return {
429
- "outline": "2px solid transparent",
430
- "outline-offset": "2px"
431
- };
432
- }
433
- if (outlineStyle.includes(d)) {
434
- return {
435
- "outline-style": d
436
- };
437
- }
438
- const sizeSheet = parseOutlineSize(d);
439
- if (sizeSheet)
440
- return sizeSheet;
441
- const colorSheet = colorResolver$2("outline-color", "outline-color")([
442
- match[0],
443
- match[1].replace(/^color-/, "")
444
- ], config);
445
- if (colorSheet)
446
- return colorSheet;
447
- }
448
- ]
449
- ];
450
- const listStyle = [
451
- [new RegExp(`^list-((${listStyleProps.join("|")})(?:(-outside|-inside))?)$`), ([, value]) => {
452
- const style = value.split(/-outside|-inside/)[0];
453
- const position = /inside|outside/.exec(value) ?? [];
454
- if (position.length) {
455
- return {
456
- "list-style-position": `${position[0]}`,
457
- "list-style-type": `${style}`
458
- };
459
- }
460
- return {
461
- "list-style-type": `${style}`
462
- };
463
- }],
464
- [/^list-(inside|outside)$/, ([, value]) => {
465
- return {
466
- "list-style-position": value
467
- };
468
- }]
469
- ];
470
- const boxDecorationBreaks = [
471
- ["decoration-slice", { "box-decoration-break": "slice" }],
472
- ["decoration-clone", { "box-decoration-break": "clone" }]
473
- ];
474
- const caretOpacity = [
475
- [/^caret-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-caret-opacity": handler.bracket.percent(d) })]
476
- ];
477
- const caretColors = [
478
- [/^caret-(.+)$/, colorResolver$2("caret-color", "caret")]
479
- ];
480
- const imageRenderings = [
481
- ["image-render-auto", { "image-rendering": "auto" }],
482
- ["image-render-edge", { "image-rendering": "crisp-edges" }],
483
- ["image-render-pixel", [
484
- ["-ms-interpolation-mode", "nearest-neighbor"],
485
- ["image-rendering", "-webkit-optimize-contrast"],
486
- ["image-rendering", "-moz-crisp-edges"],
487
- ["image-rendering", "-o-pixelated"],
488
- ["image-rendering", "pixelated"]
489
- ]]
490
- ];
491
- const appearance = [
492
- ["appearance-none", {
493
- "appearance": "none",
494
- "-webkit-appearance": "none"
495
- }]
496
- ];
497
- const placeholder = [
498
- [
499
- /^placeholder-opacity-(\d+)$/,
500
- ([, d]) => ({
501
- "placeholder-opacity": handler.bracket.percent(d)
502
- })
503
- ],
504
- [
505
- /^placeholder-(?!opacity)(.+)$/,
506
- (match, config) => {
507
- match[1] = match[1].replace(/^color-/, "");
508
- return colorResolver$2("placeholder-color", "placeholder-color")(match, config);
509
- }
510
- ]
511
- ];
512
- const overflowValues$1 = [
513
- "none",
514
- "auto",
515
- "hidden",
516
- "visible",
517
- "scroll",
518
- "contain"
519
- ];
520
- const overscrolls = [
521
- [/^overscroll-(.+)$/, ([, v]) => overflowValues$1.includes(v) ? { "overscroll-behavior": v } : void 0],
522
- [/^overscroll-([xy])-(.+)$/, ([, d, v]) => overflowValues$1.includes(v) ? { [`overscroll-behavior-${d}`]: v } : void 0]
523
- ];
524
-
525
- const borderSizes = [
526
- [/^border$/, handlerBorder],
527
- [/^(?:border|b)(?:-([^-]+))?$/, handlerBorder],
528
- [/^(?:border|b)(?:-([^-]+))?(?:-([^-]+))?$/, handlerBorder]
529
- ];
530
- const borderRadius = [
531
- [/^(?:border-)?(?:rounded|rd)$/, handlerRounded],
532
- [/^(?:border-)?(?:rounded|rd)(?:-([^-]+))?$/, handlerRounded],
533
- [/^(?:border-)?(?:rounded|rd)(?:-([^-]+))?(?:-([^-]+))?$/, handlerRounded]
534
- ];
535
- const borderStyles = [
536
- ["border-solid", { "border-style": "solid" }],
537
- ["border-dashed", { "border-style": "dashed" }],
538
- ["border-dotted", { "border-style": "dotted" }],
539
- ["border-double", { "border-style": "double" }],
540
- ["border-none", { "border-style": "none" }]
541
- ];
542
- const borders = [
543
- borderSizes,
544
- borderColors,
545
- borderStyles,
546
- borderRadius
547
- ].flat(1);
548
- function handlerBorder([, a, b]) {
549
- const [d, s = "1"] = directionMap[a] ? [a, b] : ["", a];
550
- const v = handler.bracket.px(s);
551
- if (v != null) {
552
- return [
553
- ...directionMap[d].map((i) => [`border${i}-width`, v]),
554
- ["border-style", "solid"]
555
- ];
556
- }
557
- }
558
- function handlerRounded([, a, b], { theme }) {
559
- const [d, s = "DEFAULT"] = cornerMap[a] ? [a, b] : ["", a];
560
- const v = theme.borderRadius?.[s] || handler.bracket.fraction.rem(s);
561
- if (v != null)
562
- return cornerMap[d].map((i) => [`border${i}-radius`, v]);
563
- }
564
-
565
- const queryMatcher = /@media \(min-width: (.+)\)/;
566
- const container = [
567
- [
568
- /^__container$/,
569
- (m, { variantHandlers }) => {
570
- let width = "100%";
571
- for (const v of variantHandlers) {
572
- const query = toArray(v.parent || [])[0];
573
- if (typeof query === "string") {
574
- const match = query.match(queryMatcher)?.[1];
575
- if (match)
576
- width = match;
577
- }
578
- }
579
- return { "max-width": width };
580
- },
581
- { internal: true }
582
- ]
583
- ];
584
- const containerShortcuts = [
585
- [/^(?:(\w+)[:-])?container$/, ([, bp], { theme }) => {
586
- let points = Object.keys(theme.breakpoints || {});
587
- if (bp) {
588
- if (!points.includes(bp))
589
- return;
590
- points = points.slice(points.indexOf(bp));
591
- }
592
- const shortcuts = points.map((p) => `${p}:__container`);
593
- if (!bp)
594
- shortcuts.unshift("__container");
595
- return shortcuts;
596
- }]
597
- ];
598
-
599
- const transitionBasicProps = [
600
- "color",
601
- "border-color",
602
- "background-color",
603
- "flex-grow",
604
- "flex",
605
- "flex-shrink",
606
- "caret-color",
607
- "font",
608
- "gap",
609
- "opacity",
610
- "visibility",
611
- "z-index",
612
- "font-weight",
613
- "zoom",
614
- "text-shadow",
615
- "transform",
616
- "box-shadow"
617
- ];
618
- const transitionPositionProps = [
619
- "backround-position",
620
- "left",
621
- "right",
622
- "top",
623
- "bottom",
624
- "object-position"
625
- ];
626
- const transitionSizeProps = [
627
- "max-height",
628
- "min-height",
629
- "max-width",
630
- "min-width",
631
- "height",
632
- "width",
633
- "border-width",
634
- "margin",
635
- "padding",
636
- "outline-width",
637
- "outline-offset",
638
- "font-size",
639
- "line-height",
640
- "text-indent",
641
- "vertical-align",
642
- "border-spacing",
643
- "letter-spacing",
644
- "word-spacing"
645
- ];
646
- const transitionSwitchProps = ["all", "none"];
647
- const transitionEnhanceProps = ["stroke", "filter", "backdrop-filter", "fill", "mask", "mask-size", "mask-border", "clip-path", "clip"];
648
- const transitionProps = [
649
- ...transitionBasicProps,
650
- ...transitionPositionProps,
651
- ...transitionSizeProps,
652
- ...transitionEnhanceProps
653
- ];
654
- const transitionPropsStr = transitionProps.join(", ");
655
- const validateProperty = (prop) => {
656
- if (prop && ![...transitionProps, ...transitionSwitchProps].includes(prop))
657
- return;
658
- return prop || transitionPropsStr;
659
- };
660
- const transitions = [
661
- [/^transition(?:-([a-z-]+))?(?:-(\d+))?$/, ([, prop, duration = "150"]) => {
662
- const transitionProperty = validateProperty(prop);
663
- if (!transitionProperty)
664
- return;
665
- return {
666
- "transition-property": transitionProperty,
667
- "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)",
668
- "transition-duration": `${duration}ms`
669
- };
670
- }],
671
- [/^duration-(\d+)$/, ([, duration = "150"]) => {
672
- return {
673
- "transition-duration": `${duration}ms`
674
- };
675
- }],
676
- ["ease", { "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)" }],
677
- ["ease-in", { "transition-timing-function": "cubic-bezier(0.4, 0, 1, 1)" }],
678
- ["ease-out", { "transition-timing-function": "cubic-bezier(0, 0, 0.2, 1)" }],
679
- ["ease-in-out", { "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)" }],
680
- [/^transition-delay-(\d+)$/, ([, v]) => ({ "transition-delay": `${v}ms` })],
681
- [/^transition-duration-(\d+)$/, ([, v]) => ({ "transition-duration": `${v}ms` })],
682
- [/^(?:transition-)?property-([a-z-]+)$/, ([, v]) => {
683
- const transitionProperty = validateProperty(v);
684
- if (transitionProperty)
685
- return { "transition-property": transitionProperty };
686
- }]
687
- ];
688
-
689
- const varEmpty$1 = "var(--un-empty,/*!*/ /*!*/)";
690
- const 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)";
691
- const filterBase = {
692
- "--un-blur": varEmpty$1,
693
- "--un-brightness": varEmpty$1,
694
- "--un-contrast": varEmpty$1,
695
- "--un-grayscale": varEmpty$1,
696
- "--un-hue-rotate": varEmpty$1,
697
- "--un-invert": varEmpty$1,
698
- "--un-saturate": varEmpty$1,
699
- "--un-sepia": varEmpty$1,
700
- "--un-drop-shadow": varEmpty$1,
701
- "filter": filterContnet,
702
- [CONTROL_BYPASS_PSEUDO]: ""
703
- };
704
- const 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)";
705
- const backdropFilterBase = {
706
- "--un-backdrop-blur": varEmpty$1,
707
- "--un-backdrop-brightness": varEmpty$1,
708
- "--un-backdrop-contrast": varEmpty$1,
709
- "--un-backdrop-grayscale": varEmpty$1,
710
- "--un-backdrop-hue-rotate": varEmpty$1,
711
- "--un-backdrop-invert": varEmpty$1,
712
- "--un-backdrop-saturate": varEmpty$1,
713
- "--un-backdrop-sepia": varEmpty$1,
714
- "-webkit-backdrop-filter": backdropFilterContent,
715
- "backdrop-filter": backdropFilterContent,
716
- [CONTROL_BYPASS_PSEUDO]: ""
717
- };
718
- const percentWithDefault = (defaultValue = "1") => (str) => {
719
- const v = str ? handler.bracket.percent(str) : defaultValue;
720
- return v && parseFloat(v) <= 1 ? v : void 0;
721
- };
722
- const toFilter = (varName, resolver) => ([, b, s], { theme }) => {
723
- const value = resolver(s, theme);
724
- if (value) {
725
- return [
726
- b ? backdropFilterBase : filterBase,
727
- { [`--un-${b || ""}${varName}`]: `${varName}(${value})` }
728
- ];
729
- }
730
- };
731
- const filters = [
732
- ["filter", filterBase],
733
- ["filter-none", { filter: "none" }],
734
- ["backdrop-filter", backdropFilterBase],
735
- ["backdrop-filter-none", {
736
- "-webkit-backdrop-filter": "none",
737
- "backdrop-filter": "none"
738
- }],
739
- [/^(backdrop-)?blur(?:-(.+))?$/, toFilter("blur", (s, theme) => theme.blur?.[s || "DEFAULT"] || handler.bracket.px(s))],
740
- [/^(backdrop-)?brightness-(\d+)$/, toFilter("brightness", (s) => handler.bracket.percent(s))],
741
- [/^(backdrop-)?contrast-(\d+)$/, toFilter("contrast", (s) => handler.bracket.percent(s))],
742
- [/^()?drop-shadow(?:-(.+))?$/, toFilter("drop-shadow", (s, theme) => {
743
- const v = handler.bracket(s) || theme.dropShadow?.[s || "DEFAULT"];
744
- if (v)
745
- return toArray(v).map((v2) => `drop-shadow(${v2})`).join(" ");
746
- })],
747
- [/^(backdrop-)?grayscale(?:-(\d+))?$/, toFilter("grayscale", percentWithDefault())],
748
- [/^(backdrop-)?hue-rotate-(\d+)$/, toFilter("hue-rotate", (s) => `${handler.bracket.number(s)}deg`)],
749
- [/^(backdrop-)?invert(?:-(\d+))?$/, toFilter("invert", percentWithDefault())],
750
- [/^(backdrop-)?saturate(?:-(\d+))?$/, toFilter("saturate", percentWithDefault("0"))],
751
- [/^(backdrop-)?sepia(?:-(\d+))?$/, toFilter("sepia", percentWithDefault())]
752
- ];
753
-
754
- const flex = [
755
- ["flex-col", { "flex-direction": "column" }],
756
- ["flex-col-reverse", { "flex-direction": "column-reverse" }],
757
- ["flex-row", { "flex-direction": "row" }],
758
- ["flex-row-reverse", { "flex-direction": "row-reverse" }],
759
- ["flex-wrap", { "flex-wrap": "wrap" }],
760
- ["flex-wrap-reverse", { "flex-wrap": "wrap-reverse" }],
761
- ["flex-nowrap", { "flex-wrap": "nowrap" }],
762
- ["flex-1", { flex: "1 1 0%" }],
763
- ["flex-auto", { flex: "1 1 auto" }],
764
- ["flex-initial", { flex: "0 1 auto" }],
765
- ["flex-none", { flex: "none" }],
766
- [/^flex-\[(.+)\]$/, ([, d]) => ({ flex: d })],
767
- ["flex-grow", { "flex-grow": 1 }],
768
- ["flex-grow-0", { "flex-grow": 0 }],
769
- ["flex-shrink", { "flex-shrink": 1 }],
770
- ["flex-shrink-0", { "flex-shrink": 0 }],
771
- ["flex", { display: "flex" }],
772
- ["inline-flex", { display: "inline-flex" }],
773
- ["flex-inline", { display: "inline-flex" }]
774
- ];
775
-
776
- const varEmpty = "var(--un-empty,/*!*/ /*!*/)";
777
- const displays = [
778
- ["inline", { display: "inline" }],
779
- ["block", { display: "block" }],
780
- ["inline-block", { display: "inline-block" }],
781
- ["contents", { display: "contents" }],
782
- ["flow-root", { display: "flow-root" }],
783
- ["list-item", { display: "list-item" }],
784
- ["hidden", { display: "none" }]
785
- ];
786
- const appearances = [
787
- ["visible", { visibility: "visible" }],
788
- ["invisible", { visibility: "hidden" }],
789
- ["backface-visible", { "backface-visibility": "visible" }],
790
- ["backface-hidden", { "backface-visibility": "hidden" }]
791
- ];
792
- const cursors = [
793
- [/^cursor-(.+)$/, ([, c]) => ({ cursor: c })]
794
- ];
795
- const pointerEvents = [
796
- ["pointer-events-none", { "pointer-events": "none" }],
797
- ["pointer-events-auto", { "pointer-events": "auto" }]
798
- ];
799
- const resizes = [
800
- ["resize-none", { resize: "none" }],
801
- ["resize-x", { resize: "horizontal" }],
802
- ["resize-y", { resize: "vertical" }],
803
- ["resize", { resize: "both" }]
804
- ];
805
- const userSelects = [
806
- [/^select-(none|text|all|auto)$/, ([, v]) => ({ "user-select": v })]
807
- ];
808
- const whitespaces = [
809
- [/^(?:whitespace|ws)-(normal|nowrap|pre|pre-line|pre-wrap)$/, ([, v]) => ({ "white-space": v })]
810
- ];
811
- const contents = [
812
- ["content-empty", { content: '""' }]
813
- ];
814
- const breaks = [
815
- ["break-normal", { "overflow-wrap": "normal", "word-break": "normal" }],
816
- ["break-word", { "overflow-wrap": "break-word" }],
817
- ["break-all", { "word-break": "break-all" }]
818
- ];
819
- const textOverflows = [
820
- ["truncate", { "overflow": "hidden", "text-overflow": "ellipsis", "white-space": "nowrap" }],
821
- ["text-ellipsis", { "text-overflow": "ellipsis" }],
822
- ["text-clip", { "text-overflow": "clip" }]
823
- ];
824
- const textTransforms = [
825
- ["case-upper", { "text-transform": "uppercase" }],
826
- ["case-lower", { "text-transform": "lowercase" }],
827
- ["case-capital", { "text-transform": "capitalize" }],
828
- ["case-normal", { "text-transform": "none" }],
829
- ["uppercase", { "text-transform": "uppercase" }],
830
- ["lowercase", { "text-transform": "lowercase" }],
831
- ["capitalize", { "text-transform": "capitalize" }],
832
- ["normal-case", { "text-transform": "none" }]
833
- ];
834
- const textDecorations = [
835
- ["underline", { "text-decoration": "underline" }],
836
- ["line-through", { "text-decoration": "line-through" }],
837
- ["no-underline", { "text-decoration": "none" }]
838
- ];
839
- const textDecorationStyles = [
840
- ["underline-solid", { "text-decoration-style": "solid" }],
841
- ["underline-double", { "text-decoration-style": "double" }],
842
- ["underline-dotted", { "text-decoration-style": "dotted" }],
843
- ["underline-dashed", { "text-decoration-style": "dashed" }]
844
- ];
845
- const fontStyles = [
846
- ["italic", { "font-style": "italic" }],
847
- ["not-italic", { "font-style": "normal" }]
848
- ];
849
- const fontSmoothings = [
850
- ["antialiased", {
851
- "-webkit-font-smoothing": "antialiased",
852
- "-moz-osx-font-smoothing": "grayscale",
853
- "font-smoothing": "grayscale"
854
- }],
855
- ["subpixel-antialiased", {
856
- "-webkit-font-smoothing": "auto",
857
- "-moz-osx-font-smoothing": "auto",
858
- "font-smoothing": "auto"
859
- }]
860
- ];
861
- const hyphens = [
862
- ["hyphens-none", {
863
- "-webkit-hyphens": "none",
864
- "-ms-hyphens": "none",
865
- "hyphens": "none"
866
- }],
867
- ["hyphens-manual", {
868
- "-webkit-hyphens": "manual",
869
- "-ms-hyphens": "manual",
870
- "hyphens": "manual"
871
- }],
872
- ["hyphens-auto", {
873
- "-webkit-hyphens": "auto",
874
- "-ms-hyphens": "auto",
875
- "hyphens": "auto"
876
- }]
877
- ];
878
- const writingModes = [
879
- ["write-normal", { "writing-mode": "horizontal-tb" }],
880
- ["write-vertical-right", { "writing-mode": "vertical-rl" }],
881
- ["write-vertical-left", { "writing-mode": "vertical-lr" }]
882
- ];
883
- const writingOrientations = [
884
- ["write-orient-mixed", { "text-orientation": "mixed" }],
885
- ["write-orient-upright", { "text-orientation": "upright" }],
886
- ["write-orient-sideways", { "text-orientation": "sideways" }]
887
- ];
888
- const screenReadersAccess = [
889
- [
890
- "sr-only",
891
- {
892
- "position": "absolute",
893
- "width": "1px",
894
- "height": "1px",
895
- "padding": "0",
896
- "margin": "-1px",
897
- "overflow": "hidden",
898
- "clip": "rect(0,0,0,0)",
899
- "white-space": "nowrap",
900
- "border-width": 0
901
- }
902
- ],
903
- [
904
- "not-sr-only",
905
- {
906
- "position": "static",
907
- "width": "auto",
908
- "height": "auto",
909
- "padding": "0",
910
- "margin": "0",
911
- "overflow": "visible",
912
- "clip": "auto",
913
- "white-space": "normal"
914
- }
915
- ]
916
- ];
917
- const isolations = [
918
- ["isolate", { isolation: "isolate" }],
919
- ["isolate-auto", { isolation: "auto" }]
920
- ];
921
-
922
- const fontsFamilies = [
923
- [/^font-(\w+)$/, ([, d], { theme }) => {
924
- const font = theme.fontFamily?.[d];
925
- if (font) {
926
- return {
927
- "font-family": font
928
- };
929
- }
930
- }]
931
- ];
932
- const weightMap = {
933
- thin: "100",
934
- extralight: "200",
935
- light: "300",
936
- normal: "400",
937
- medium: "500",
938
- semibold: "600",
939
- bold: "700",
940
- extrabold: "800",
941
- black: "900"
942
- };
943
- const fontSizes = [
944
- [/^text-([^-]+)$/, ([, s = "base"], { theme }) => {
945
- const result = toArray(theme.fontSize?.[s] || handler.bracket.rem(s));
946
- if (result?.[0]) {
947
- const [size, height = "1"] = result;
948
- return {
949
- "font-size": size,
950
- "line-height": height
951
- };
952
- }
953
- }]
954
- ];
955
- const fontWeights = [
956
- [/^(?:font|fw)-?([^-]+)$/, ([, s]) => {
957
- const v = weightMap[s] || handler.number(s);
958
- if (v)
959
- return { "font-weight": v };
960
- }]
961
- ];
962
- const leadings = [
963
- [/^(?:leading|lh)-([^-]+)$/, ([, s], { theme }) => {
964
- const v = theme.lineHeight?.[s] || handler.bracket.rem(s);
965
- if (v !== null)
966
- return { "line-height": v };
967
- }]
968
- ];
969
- const trackings = [
970
- [/^tracking-([^-]+)$/, ([, s], { theme }) => {
971
- const v = theme.letterSpacing?.[s] || handler.bracket.rem(s);
972
- if (v !== null)
973
- return { "letter-spacing": v };
974
- }]
975
- ];
976
- const wordSpacings = [
977
- [/^word-spacing-([^-]+)$/, ([, s], { theme }) => {
978
- const v = theme.wordSpacing?.[s] || handler.bracket.rem(s);
979
- if (v !== null)
980
- return { "word-spacing": v };
981
- }]
982
- ];
983
- const tabSizes = [
984
- [/^tab-?([^-]*)$/, ([, s]) => {
985
- s = s || "4";
986
- const v = handler.bracket.global.number(s);
987
- if (v !== null) {
988
- return {
989
- "-moz-tab-size": v,
990
- "-o-tab-size": v,
991
- "tab-size": v
992
- };
993
- }
994
- }]
995
- ];
996
- const textDecorationLengths = [
997
- [/^underline-([^-]+)$/, ([, s]) => {
998
- const v = s === "auto" ? s : handler.bracket.px(s);
999
- if (v != null)
1000
- return { "text-decoration-thickness": v };
1001
- }]
1002
- ];
1003
- const textDecorationOffsets = [
1004
- [/^underline-offset-([^-]+)$/, ([, s]) => {
1005
- const v = s === "auto" ? s : handler.bracket.px(s);
1006
- if (v != null)
1007
- return { "text-underline-offset": v };
1008
- }]
1009
- ];
1010
- const textIndents = [
1011
- [/^indent(?:-(.+))?$/, ([, s], { theme }) => {
1012
- const v = theme.textIndent?.[s || "DEFAULT"] || handler.bracket.cssvar.fraction.rem(s);
1013
- if (v != null)
1014
- return { "text-indent": v };
1015
- }]
1016
- ];
1017
- const textStrokeWidths = [
1018
- [/^text-stroke(?:-(.+))?$/, ([, s], { theme }) => {
1019
- const v = theme.textStrokeWidth?.[s || "DEFAULT"] || handler.bracket.cssvar.px(s);
1020
- if (v != null)
1021
- return { "-webkit-text-stroke-width": v };
1022
- }]
1023
- ];
1024
- const textShadows = [
1025
- [/^text-shadow(?:-(.+))?$/, ([, s], { theme }) => {
1026
- const v = theme.textShadow?.[s || "DEFAULT"] || handler.bracket.cssvar(s);
1027
- if (v != null)
1028
- return { "text-shadow": v };
1029
- }]
1030
- ];
1031
- const fontVariantNumericBase = {
1032
- "--un-ordinal": varEmpty,
1033
- "--un-slashed-zero": varEmpty,
1034
- "--un-numeric-figure": varEmpty,
1035
- "--un-numeric-spacing": varEmpty,
1036
- "--un-numeric-fraction": varEmpty,
1037
- "font-variant-numeric": "var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)",
1038
- [CONTROL_BYPASS_PSEUDO]: ""
1039
- };
1040
- const fontVariantNumeric = [
1041
- [/^ordinal$/, () => [fontVariantNumericBase, { "--un-ordinal": "ordinal" }]],
1042
- [/^slashed-zero$/, () => [fontVariantNumericBase, { "--un-slashed-zero": "slashed-zero" }]],
1043
- [/^lining-nums$/, () => [fontVariantNumericBase, { "--un-numeric-figure": "lining-nums" }]],
1044
- [/^oldstyle-nums$/, () => [fontVariantNumericBase, { "--un-numeric-figure": "oldstyle-nums" }]],
1045
- [/^proportional-nums$/, () => [fontVariantNumericBase, { "--un-numeric-spacing": "proportional-nums" }]],
1046
- [/^tabular-nums$/, () => [fontVariantNumericBase, { "--un-numeric-spacing": "tabular-nums" }]],
1047
- [/^diagonal-fractions$/, () => [fontVariantNumericBase, { "--un-numeric-fraction": "diagonal-fractions" }]],
1048
- [/^stacked-fractions$/, () => [fontVariantNumericBase, { "--un-numeric-fraction": "stacked-fractions" }]],
1049
- ["normal-nums", { "font-variant-numeric": "normal" }]
1050
- ];
1051
- const fonts = [
1052
- fontsFamilies,
1053
- fontSizes,
1054
- fontWeights
1055
- ].flat(1);
1056
-
1057
- const gaps = [
1058
- [/^(?:flex-|grid-)?gap-([^-]+)$/, ([, s]) => {
1059
- const v = handler.bracket.rem(s);
1060
- if (v != null) {
1061
- return {
1062
- "grid-gap": v,
1063
- "gap": v
1064
- };
1065
- }
1066
- }],
1067
- [/^(?:flex-|grid-)?gap-x-([^-]+)$/, ([, s]) => {
1068
- const v = handler.bracket.rem(s);
1069
- if (v != null) {
1070
- return {
1071
- "grid-column-gap": v,
1072
- "column-gap": v
1073
- };
1074
- }
1075
- }],
1076
- [/^(?:flex-|grid-)?gap-y-([^-]+)$/, ([, s]) => {
1077
- const v = handler.bracket.rem(s);
1078
- if (v != null) {
1079
- return {
1080
- "grid-row-gap": v,
1081
- "row-gap": v
1082
- };
1083
- }
1084
- }]
1085
- ];
1086
-
1087
- const calSize = (s, theme) => toArray(theme.fontSize?.[s] || handler.bracket.rem(s))[0];
1088
- const autoDirection = (selector, theme) => {
1089
- if (selector === "min")
1090
- return "min-content";
1091
- else if (selector === "max")
1092
- return "max-content";
1093
- else if (selector === "fr")
1094
- return "minmax(0,1fr)";
1095
- return calSize(selector, theme);
1096
- };
1097
- const grids = [
1098
- ["grid", { display: "grid" }],
1099
- ["inline-grid", { display: "inline-grid" }],
1100
- [/^grid-cols-minmax-([\w.-]+)$/, ([, d]) => ({ "grid-template-columns": `repeat(auto-fill, minmax(${d}, 1fr))` })],
1101
- [/^grid-rows-minmax-([\w.-]+)$/, ([, d]) => ({ "grid-template-rows": `repeat(auto-fill, minmax(${d}, 1fr))` })],
1102
- [/^grid-cols-(\d+)$/, ([, d]) => ({ "grid-template-columns": `repeat(${d},minmax(0,1fr))` })],
1103
- [/^grid-rows-(\d+)$/, ([, d]) => ({ "grid-template-rows": `repeat(${d},minmax(0,1fr))` })],
1104
- [/^grid-cols-\[(.+)\]$/, ([, v]) => ({ "grid-template-columns": v.replace(/,/g, " ") })],
1105
- [/^grid-rows-\[(.+)\]$/, ([, v]) => ({ "grid-template-rows": v.replace(/,/g, " ") })],
1106
- [/^(?:grid-)?(row|col)-(.+)$/, ([, d, v]) => {
1107
- const key = d === "row" ? "grid-row" : "grid-column";
1108
- let raw = handler.bracket(v);
1109
- if (raw)
1110
- return { [key]: raw };
1111
- const parts = v.split("-");
1112
- if (parts.length === 1 && parts[0] === "auto")
1113
- return { [key]: parts[0] };
1114
- if (parts[0] === "span") {
1115
- if (parts[1] === "full")
1116
- return { [key]: "1/-1" };
1117
- raw = handler.number.bracket(parts[1])?.toString().replace(/_/g, " ");
1118
- if (raw)
1119
- return { [key]: `span ${raw}/span ${raw}` };
1120
- }
1121
- }],
1122
- [/^(?:grid-)?auto-flow-([\w.-]+)$/, ([, v]) => ({ "grid-auto-flow": `${v.replace("col", "column").split("-").join(" ")}` })],
1123
- [/^(?:grid-)?row-start-([\w.-]+)$/, ([, v]) => ({ "grid-row-start": `${v}` })],
1124
- [/^(?:grid-)?row-end-([\w.-]+)$/, ([, v]) => ({ "grid-row-end": `${v}` })],
1125
- [/^(?:grid-)?col-start-([\w.-]+)$/, ([, v]) => ({ "grid-column-start": `${v}` })],
1126
- [/^(?:grid-)?col-end-([\w.]+)$/, ([, v]) => ({ "grid-column-end": `${v}` })],
1127
- [/^(?:grid-)?auto-rows-([\w.-]+)$/, ([, v], { theme }) => ({ "grid-auto-rows": `${autoDirection(v, theme)}` })],
1128
- [/^(?:grid-)?auto-cols-([\w.-]+)$/, ([, v], { theme }) => ({ "grid-auto-columns": `${autoDirection(v, theme)}` })]
1129
- ];
1130
-
1131
- const overflowValues = [
1132
- "auto",
1133
- "hidden",
1134
- "visible",
1135
- "scroll"
1136
- ];
1137
- const overflows = [
1138
- [/^(?:overflow|of)-(.+)$/, ([, v]) => overflowValues.includes(v) ? { overflow: v } : void 0],
1139
- [/^(?:overflow|of)-([xy])-(.+)$/, ([, d, v]) => overflowValues.includes(v) ? { [`overflow-${d}`]: v } : void 0]
1140
- ];
1141
-
1142
- const positions = [
1143
- ["relative", { position: "relative" }],
1144
- ["absolute", { position: "absolute" }],
1145
- ["fixed", { position: "fixed" }],
1146
- ["sticky", { position: "sticky" }],
1147
- ["static", { position: "static" }]
1148
- ];
1149
- const justifies = [
1150
- ["justify-start", { "justify-content": "flex-start" }],
1151
- ["justify-end", { "justify-content": "flex-end" }],
1152
- ["justify-center", { "justify-content": "center" }],
1153
- ["justify-between", { "justify-content": "space-between" }],
1154
- ["justify-around", { "justify-content": "space-around" }],
1155
- ["justify-evenly", { "justify-content": "space-evenly" }]
1156
- ];
1157
- const orders = [
1158
- [/^order-(.+)$/, ([, v]) => ({ order: { first: "-9999", last: "9999", none: "0" }[v] || handler.bracket.number(v) })]
1159
- ];
1160
- const basicSet = ["auto", "start", "end", "center", "stretch"];
1161
- const justifyItems = basicSet.map((i) => [`justify-items-${i}`, { "justify-items": i }]);
1162
- const justifySelfs = basicSet.map((i) => [`justify-self-${i}`, { "justify-self": i }]);
1163
- const alignContents = [
1164
- ["content-start", { "align-content": "flex-start" }],
1165
- ["content-end", { "align-content": "flex-end" }],
1166
- ["content-center", { "align-content": "center" }],
1167
- ["content-between", { "align-content": "space-between" }],
1168
- ["content-around", { "align-content": "space-around" }],
1169
- ["content-evenly", { "align-content": "space-evenly" }]
1170
- ];
1171
- const alignItems = [
1172
- ["items-start", { "align-items": "flex-start" }],
1173
- ["items-end", { "align-items": "flex-end" }],
1174
- ["items-center", { "align-items": "center" }],
1175
- ["items-baseline", { "align-items": "baseline" }],
1176
- ["items-stretch", { "align-items": "stretch" }]
1177
- ];
1178
- const alignSelfs = [
1179
- ["self-auto", { "align-self": "auto" }],
1180
- ["self-start", { "align-self": "flex-start" }],
1181
- ["self-end", { "align-self": "flex-end" }],
1182
- ["self-center", { "align-self": "center" }],
1183
- ["self-stretch", { "align-items": "stretch" }]
1184
- ];
1185
- const placeContents = [
1186
- ["place-content-start", { "place-content": "start" }],
1187
- ["place-content-end", { "place-content": "end" }],
1188
- ["place-content-center", { "place-content": "center" }],
1189
- ["place-content-between", { "place-content": "space-between" }],
1190
- ["place-content-around", { "place-content": "space-around" }],
1191
- ["place-content-evenly", { "place-content": "space-evenly" }],
1192
- ["place-content-stretch", { "place-content": "stretch" }]
1193
- ];
1194
- const placeItems = basicSet.map((i) => [`place-items-${i}`, { "place-items": i }]);
1195
- const placeSelfs = basicSet.map((i) => [`place-self-${i}`, { "place-self": i }]);
1196
- function handleInsetValue(v) {
1197
- return { auto: "auto", full: "100%" }[v] ?? handler.bracket.fraction.cssvar.rem(v);
1198
- }
1199
- const insets = [
1200
- [/^(top|left|right|bottom|inset)-(.+)$/, ([, d, v]) => ({ [d]: handleInsetValue(v) })],
1201
- [/^inset-([xy])-(.+)$/, ([, d, v]) => {
1202
- const r = handleInsetValue(v);
1203
- if (r != null && d in directionMap)
1204
- return directionMap[d].map((i) => [i.slice(1), r]);
1205
- }]
1206
- ];
1207
- const floats = [
1208
- [/^float-(left|right|none)$/, ([, value]) => ({ float: value })],
1209
- [/^clear-(left|right|both|none)$/, ([, value]) => ({ clear: value })]
1210
- ];
1211
- const zIndexes = [
1212
- ["z-auto", { "z-index": "auto" }],
1213
- [/^z-([^-]+)$/, ([, v]) => ({ "z-index": handler.number(v) })]
1214
- ];
1215
- const objectPositions = [
1216
- ["object-cover", { "object-fit": "cover" }],
1217
- ["object-contain", { "object-fit": "contain" }],
1218
- ["object-fill", { "object-fit": "fill" }],
1219
- ["object-scale-down", { "object-fit": "scale-down" }],
1220
- ["object-none", { "object-fit": "none" }],
1221
- ["object-center", { "object-position": "center" }],
1222
- ["object-bottom", { "object-position": "bottom" }],
1223
- ["object-top", { "object-position": "top" }],
1224
- ["object-right", { "object-position": "right" }],
1225
- ["object-left", { "object-position": "left" }],
1226
- ["object-lb", { "object-position": "left bottom" }],
1227
- ["object-lt", { "object-position": "left top" }],
1228
- ["object-rb", { "object-position": "right bottom" }],
1229
- ["object-rt", { "object-position": "right top" }],
1230
- ["object-cb", { "object-position": "center bottom" }],
1231
- ["object-ct", { "object-position": "center top" }]
1232
- ];
1233
- const boxSizing = [
1234
- [
1235
- /^box-(border|content)$/,
1236
- ([, value]) => ({
1237
- "box-sizing": `${value}-box`
1238
- })
1239
- ]
1240
- ];
1241
-
1242
- const rings = [
1243
- [/^ring-?(.*)$/, ([, d]) => {
1244
- const value = handler.px(d || "1");
1245
- if (value) {
1246
- return {
1247
- "--un-ring-inset": "var(--un-empty, )",
1248
- "--un-ring-offset-width": "0px",
1249
- "--un-ring-offset-color": "#fff",
1250
- "--un-ring-color": "rgba(59, 130, 246, .5)",
1251
- "--un-ring-offset-shadow": "var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color)",
1252
- "--un-ring-shadow": `var(--un-ring-inset) 0 0 0 calc(${value} + var(--un-ring-offset-width)) var(--un-ring-color)`,
1253
- "-webkit-box-shadow": "var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow, 0 0 #0000);",
1254
- "box-shadow": "var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow, 0 0 #0000);"
1255
- };
1256
- }
1257
- }],
1258
- [/^ring-offset-?(.*)$/, ([, d]) => {
1259
- const value = handler.px(d || "1");
1260
- if (value) {
1261
- return {
1262
- "--un-ring-offset-width": value
1263
- };
1264
- }
1265
- }],
1266
- ["ring-inset", { "--un-ring-inset": "inset" }],
1267
- ...ringColors,
1268
- ...ringOffsetColors
1269
- ];
1270
-
1271
- const colorResolver = (body, theme) => {
1272
- const data = parseColorUtil(body, theme);
1273
- if (!data)
1274
- return;
1275
- const { color, rgba } = data;
1276
- if (!color)
1277
- return;
1278
- if (rgba) {
1279
- return {
1280
- "--un-shadow-color": `${rgba.slice(0, 3).join(",")}`
1281
- };
1282
- } else {
1283
- return {
1284
- "--un-shadow-color": color
1285
- };
1286
- }
1287
- };
1288
- const mixBlendModes = [
1289
- ["mix-blend-normal", { "mix-blend-mode": "normal" }],
1290
- ["mix-blend-multiply", { "mix-blend-mode": "multiply" }],
1291
- ["mix-blend-screen", { "mix-blend-mode": "screen" }],
1292
- ["mix-blend-overlay", { "mix-blend-mode": "overlay" }],
1293
- ["mix-blend-darken", { "mix-blend-mode": "darken" }],
1294
- ["mix-blend-lighten", { "mix-blend-mode": "lighten" }],
1295
- ["mix-blend-color-dodge", { "mix-blend-mode": "color-dodge" }],
1296
- ["mix-blend-color-burn", { "mix-blend-mode": "color-burn" }],
1297
- ["mix-blend-color-light", { "mix-blend-mode": "color-light" }],
1298
- ["mix-blend-soft-light", { "mix-blend-mode": "soft-light" }],
1299
- ["mix-blend-difference", { "mix-blend-mode": "difference" }],
1300
- ["mix-blend-exclusion", { "mix-blend-mode": "exclusion" }],
1301
- ["mix-blend-hue", { "mix-blend-mode": "hue" }],
1302
- ["mix-blend-saturation", { "mix-blend-mode": "saturation" }],
1303
- ["mix-blend-color", { "mix-blend-mode": "color" }],
1304
- ["mix-blend-luminosity", { "mix-blend-mode": "luminosity" }]
1305
- ];
1306
- const boxShadows = [
1307
- [/^shadow-?(.*)$/, ([, d], { theme }) => {
1308
- const value = theme?.boxShadow?.[d || "DEFAULT"];
1309
- if (value) {
1310
- return {
1311
- "--un-shadow-color": "0,0,0",
1312
- "--un-shadow": value,
1313
- "box-shadow": "var(--un-ring-offset-shadow, 0 0 #0000), var(--un-ring-shadow, 0 0 #0000), var(--un-shadow)"
1314
- };
1315
- }
1316
- const color = colorResolver(d, theme);
1317
- if (color)
1318
- return color;
1319
- }]
1320
- ];
1321
-
1322
- function getPropName(minmax, hw) {
1323
- return `${minmax ? `${minmax}-` : ""}${hw === "h" ? "height" : "width"}`;
1324
- }
1325
- function getThemeValue(minmax, hw, theme, prop) {
1326
- let str = `${hw === "h" ? "height" : "width"}`;
1327
- if (minmax)
1328
- str = `${minmax}${capitalize(str)}`;
1329
- return theme[str]?.[prop];
1330
- }
1331
- const sizes = [
1332
- [/^(?:(min|max)-)?(w|h)-(.+)$/, ([, m, w, s], { theme }) => {
1333
- const v = getThemeValue(m, w, theme, s) || handler.bracket.cssvar.fraction.rem(s);
1334
- if (v != null)
1335
- return { [getPropName(m, w)]: v };
1336
- }],
1337
- [/^(?:(min|max)-)?(w)-screen-(.+)$/, ([, m, w, s], { theme }) => {
1338
- const v = theme.breakpoints?.[s];
1339
- if (v != null)
1340
- return { [getPropName(m, w)]: v };
1341
- }]
1342
- ];
1343
- const aspectRatio = [
1344
- ["aspect-ratio-auto", { "aspect-ratio": "auto" }],
1345
- [/^aspect-ratio-(.+)$/, ([, d]) => {
1346
- const v = (/^\d+\/\d+$/.test(d) ? d : null) || handler.bracket.cssvar.number(d);
1347
- if (v != null)
1348
- return { "aspect-ratio": v };
1349
- }]
1350
- ];
1351
-
1352
- const directionSize = (prefix) => ([_, direction, size]) => {
1353
- const v = handler.bracket.rem.fraction.cssvar(size);
1354
- if (v)
1355
- return directionMap[direction].map((i) => [prefix + i, v]);
1356
- };
1357
- const paddings = [
1358
- [/^pa?()-?(-?.+)$/, directionSize("padding")],
1359
- [/^p-?([xy])-?(-?.+)$/, directionSize("padding")],
1360
- [/^p-?([rltbse])-?(-?.+)$/, directionSize("padding")]
1361
- ];
1362
- const margins = [
1363
- [/^ma?()-?(-?.+)$/, directionSize("margin")],
1364
- [/^m-?([xy])-?(-?.+)$/, directionSize("margin")],
1365
- [/^m-?([rltbse])-?(-?.+)$/, directionSize("margin")],
1366
- [/^space-?([xy])-?(-?.+)$/, (match) => {
1367
- const [, direction, size] = match;
1368
- if (size === "reverse")
1369
- return { [`--un-space-${direction}-reverse`]: 1 };
1370
- const results = directionSize("margin")(match)?.map((item) => {
1371
- 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)))`;
1372
- return [item[0], value];
1373
- });
1374
- if (results) {
1375
- return [
1376
- [`--un-space-${direction}-reverse`, 0],
1377
- ...results
1378
- ];
1379
- }
1380
- }]
1381
- ];
1382
-
1383
- const tables = [
1384
- ["border-collapse", { "border-collapse": "collapse" }],
1385
- ["border-separate", { "border-collapse": "separate" }],
1386
- ["caption-top", { "caption-side": "top" }],
1387
- ["caption-bottom", { "caption-side": "bottom" }],
1388
- ["inline-table", { display: "inline-table" }],
1389
- ["table", { display: "table" }],
1390
- ["table-auto", { "table-layout": "auto" }],
1391
- ["table-empty-cells-visible", { "empty-cells": "show" }],
1392
- ["table-empty-cells-hidden", { "empty-cells": "hide" }],
1393
- ["table-fixed", { "table-layout": "fixed" }],
1394
- ["table-caption", { display: "table-caption" }],
1395
- ["table-cell", { display: "table-cell" }],
1396
- ["table-column", { display: "table-column" }],
1397
- ["table-column-group", { display: "table-column-group" }],
1398
- ["table-footer-group", { display: "table-footer-group" }],
1399
- ["table-header-group", { display: "table-header-group" }],
1400
- ["table-row", { display: "table-row" }],
1401
- ["table-row-group", { display: "table-row-group" }]
1402
- ];
1403
-
1404
- const transformBase = {
1405
- "--un-rotate": 0,
1406
- "--un-scale-x": 1,
1407
- "--un-scale-y": 1,
1408
- "--un-scale-z": 1,
1409
- "--un-skew-x": 0,
1410
- "--un-skew-y": 0,
1411
- "--un-translate-x": 0,
1412
- "--un-translate-y": 0,
1413
- "--un-translate-z": 0,
1414
- "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))",
1415
- [CONTROL_BYPASS_PSEUDO]: ""
1416
- };
1417
- const transforms = [
1418
- ["transform", transformBase],
1419
- [/^preserve-(3d|flat)$/, ([, value]) => ({ "transform-style": value === "3d" ? `preserve-${value}` : value })],
1420
- [/^translate()-([^-]+)$/, handleTranslate],
1421
- [/^translate-([xyz])-([^-]+)$/, handleTranslate],
1422
- [/^scale()-([^-]+)$/, handleScale],
1423
- [/^scale-([xyz])-([^-]+)$/, handleScale],
1424
- [/^rotate-([^-]+)(?:deg)?$/, handleRotate],
1425
- ["origin-center", { "transform-origin": "center" }],
1426
- ["origin-top", { "transform-origin": "top" }],
1427
- ["origin-top-right", { "transform-origin": "top right" }],
1428
- ["origin-right", { "transform-origin": "right" }],
1429
- ["origin-bottom-right", { "transform-origin": "bottom right" }],
1430
- ["origin-bottom", { "transform-origin": "bottom" }],
1431
- ["origin-bottom-left", { "transform-origin": "bottom left" }],
1432
- ["origin-left", { "transform-origin": "left" }],
1433
- ["origin-top-left", { "transform-origin": "top left" }]
1434
- ];
1435
- function handleTranslate([, d, b]) {
1436
- const v = handler.bracket.fraction.rem(b);
1437
- if (v != null) {
1438
- return [
1439
- transformBase,
1440
- [
1441
- ...xyzMap[d].map((i) => [`--un-translate${i}`, v])
1442
- ]
1443
- ];
1444
- }
1445
- }
1446
- function handleScale([, d, b]) {
1447
- const v = handler.bracket.fraction.percent(b);
1448
- if (v != null) {
1449
- return [
1450
- transformBase,
1451
- [
1452
- ...xyzMap[d].map((i) => [`--un-scale${i}`, v])
1453
- ]
1454
- ];
1455
- }
1456
- }
1457
- function handleRotate([, b]) {
1458
- const v = handler.bracket.number(b);
1459
- if (v != null) {
1460
- return [
1461
- transformBase,
1462
- { "--un-rotate": `${v}deg` }
1463
- ];
1464
- }
1465
- }
1466
-
1467
- const variablesAbbrMap = {
1468
- "visible": "visibility",
1469
- "select": "user-select",
1470
- "vertical": "vertical-align",
1471
- "backface": "backface-visibility",
1472
- "whitespace": "white-space",
1473
- "break": "word-break",
1474
- "color": "color",
1475
- "case": "text-transform",
1476
- "write": "writing-mode",
1477
- "write-orient": "text-orientation",
1478
- "origin": "transform-origin",
1479
- "bg": "background-color",
1480
- "bg-blend": "background-blend-mode",
1481
- "bg-clip": "-webkit-background-clip",
1482
- "bg-gradient": "linear-gradient",
1483
- "bg-origin-border": "background-origin",
1484
- "bg-position": "background-position",
1485
- "bg-repeat": "background-repeat",
1486
- "bg-size": "background-size",
1487
- "bg-opacity": "background-opacity",
1488
- "tab": "tab-size",
1489
- "underline": "text-decoration-thickness",
1490
- "underline-offset": "text-underline-offset",
1491
- "text": "color",
1492
- "grid-cols": "grid-template-columns",
1493
- "grid-rows": "grid-template-rows",
1494
- "auto-flow": "grid-auto-flow",
1495
- "row-start": "grid-row-start",
1496
- "row-end": "grid-row-end",
1497
- "justify": "justify-content",
1498
- "content": "align-content",
1499
- "items": "align-items",
1500
- "self": "align-self",
1501
- "object": "object-fit",
1502
- "mix-blend": "mix-blend-mode",
1503
- "animate-speed": "animation-speed"
1504
- };
1505
- const cssVariables = [[
1506
- /^(.+)-\$(.+)$/,
1507
- ([, name, varname]) => {
1508
- const prop = variablesAbbrMap[name];
1509
- if (prop) {
1510
- return {
1511
- [prop]: `var(--${varname})`
1512
- };
1513
- }
1514
- }
1515
- ]];
1516
-
1517
- const questionMark = [
1518
- [
1519
- /^(where|\?)$/,
1520
- (_, { constructCSS, generator }) => {
1521
- if (generator.config.envMode === "dev")
1522
- return `@keyframes __un_qm{0%{box-shadow:inset 4px 4px #ff1e90, inset -4px -4px #ff1e90}100%{box-shadow:inset 8px 8px #3399ff, inset -8px -8px #3399ff}}
1523
- ${constructCSS({ animation: "__un_qm 0.5s ease-in-out alternate infinite" })}`;
1524
- }
1525
- ]
1526
- ];
1527
-
1528
- const divideSizes = [
1529
- [/^divide-?([xy])$/, handlerDivide],
1530
- [/^divide-?([xy])-?(-?.+)$/, handlerDivide],
1531
- [/^divide-?([xy])-reverse$/, ([, d]) => [[`--un-divide-${d}-reverse`, 1]]]
1532
- ];
1533
- const divideStyles = [
1534
- ["divide-solid", { "border-style": "solid" }],
1535
- ["divide-dashed", { "border-style": "dashed" }],
1536
- ["divide-dotted", { "border-style": "dotted" }],
1537
- ["divide-double", { "border-style": "double" }],
1538
- ["divide-none", { "border-style": "none" }]
1539
- ];
1540
- const divides = [divideSizes, divideColors, divideStyles].flat(1);
1541
- function handlerDivide([, a, b]) {
1542
- const [d, s = "1"] = directionMap[a] ? [a, b] : ["", a];
1543
- const v = handler.bracket.px(s);
1544
- if (v != null) {
1545
- const results = directionMap[d].map((item) => {
1546
- const key = `border${item}-width`;
1547
- const value = item.endsWith("right") || item.endsWith("bottom") ? `calc(${v} * var(--un-divide-${d}-reverse))` : `calc(${v} * calc(1 - var(--un-divide-${d}-reverse)))`;
1548
- return [key, value];
1549
- });
1550
- if (results)
1551
- return [[`--un-divide-${d}-reverse`, 0], ...results];
1552
- }
1553
- }
1554
-
1555
- const lineClamps = [
1556
- [/^line-clamp-(\d+)$/, ([, v]) => ({
1557
- "overflow": "hidden",
1558
- "display": "-webkit-box",
1559
- "-webkit-box-orient": "vertical",
1560
- "-webkit-line-clamp": v,
1561
- "line-clamp": v
1562
- })],
1563
- ["line-clamp-none", {
1564
- "-webkit-line-clamp": "unset",
1565
- "line-clamp": "unset"
1566
- }]
1567
- ];
1568
-
1569
- const rules = [
1570
- screenReadersAccess,
1571
- cssVariables,
1572
- paddings,
1573
- margins,
1574
- lineClamps,
1575
- isolations,
1576
- container,
1577
- displays,
1578
- opacity,
1579
- bgAttachments,
1580
- bgBlendModes,
1581
- bgClips,
1582
- bgColors,
1583
- bgGradients,
1584
- bgImages,
1585
- bgOrigins,
1586
- bgPositions,
1587
- bgSizes,
1588
- bgRepeats,
1589
- fillColors,
1590
- borders,
1591
- divides,
1592
- contents,
1593
- fonts,
1594
- tabSizes,
1595
- textIndents,
1596
- textOverflows,
1597
- textDecorations,
1598
- textDecorationStyles,
1599
- textDecorationColors,
1600
- textDecorationLengths,
1601
- textDecorationOffsets,
1602
- textStrokeWidths,
1603
- textStrokeColors,
1604
- textShadows,
1605
- textTransforms,
1606
- textAligns,
1607
- textColors,
1608
- fontStyles,
1609
- fontVariantNumeric,
1610
- fontSmoothings,
1611
- hyphens,
1612
- writingModes,
1613
- writingOrientations,
1614
- mixBlendModes,
1615
- boxShadows,
1616
- rings,
1617
- flex,
1618
- grids,
1619
- gaps,
1620
- positions,
1621
- sizes,
1622
- aspectRatio,
1623
- cursors,
1624
- appearances,
1625
- pointerEvents,
1626
- resizes,
1627
- verticalAligns,
1628
- userSelects,
1629
- whitespaces,
1630
- listStyle,
1631
- caretColors,
1632
- boxDecorationBreaks,
1633
- caretOpacity,
1634
- imageRenderings,
1635
- appearance,
1636
- outline,
1637
- placeholder,
1638
- overscrolls,
1639
- breaks,
1640
- trackings,
1641
- wordSpacings,
1642
- leadings,
1643
- overflows,
1644
- positions,
1645
- orders,
1646
- justifies,
1647
- justifyItems,
1648
- justifySelfs,
1649
- alignContents,
1650
- alignItems,
1651
- alignSelfs,
1652
- placeContents,
1653
- placeItems,
1654
- placeSelfs,
1655
- animations,
1656
- insets,
1657
- floats,
1658
- zIndexes,
1659
- objectPositions,
1660
- boxSizing,
1661
- transitions,
1662
- filters,
1663
- tables,
1664
- transforms,
1665
- questionMark
1666
- ].flat(1);
1667
-
1668
- export { justifySelfs as $, borders as A, parseColorUtil as B, colorResolver$2 as C, opacity as D, textColors as E, textDecorationColors as F, textStrokeColors as G, bgColors as H, borderColors as I, ringColors as J, ringOffsetColors as K, divideColors as L, fillColors as M, container as N, divideSizes as O, divideStyles as P, divides as Q, filters as R, flex as S, gaps as T, grids as U, overflows as V, lineClamps as W, positions as X, justifies as Y, orders as Z, justifyItems as _, animations as a, alignContents as a0, alignItems as a1, alignSelfs as a2, placeContents as a3, placeItems as a4, placeSelfs as a5, insets as a6, floats as a7, zIndexes as a8, objectPositions as a9, writingModes as aA, writingOrientations as aB, screenReadersAccess as aC, isolations as aD, tables as aE, transforms as aF, transitions as aG, fontsFamilies as aH, fontSizes as aI, fontWeights as aJ, leadings as aK, trackings as aL, wordSpacings as aM, tabSizes as aN, textDecorationLengths as aO, textDecorationOffsets as aP, textIndents as aQ, textStrokeWidths as aR, textShadows as aS, fontVariantNumeric as aT, fonts as aU, cssVariables as aV, boxSizing as aa, questionMark as ab, rings as ac, mixBlendModes as ad, boxShadows as ae, sizes as af, aspectRatio as ag, paddings as ah, margins as ai, varEmpty as aj, displays as ak, appearances as al, cursors as am, pointerEvents as an, resizes as ao, userSelects as ap, whitespaces as aq, contents as ar, breaks as as, textOverflows as at, textTransforms as au, textDecorations as av, textDecorationStyles as aw, fontStyles as ax, fontSmoothings as ay, hyphens as az, bgAttachments as b, containerShortcuts as c, bgBlendModes as d, bgClips as e, bgGradients as f, bgImages as g, bgOrigins as h, bgPositions as i, bgRepeats as j, bgSizes as k, listStyle as l, boxDecorationBreaks as m, caretOpacity as n, outline as o, caretColors as p, imageRenderings as q, rules as r, appearance as s, textAligns as t, placeholder as u, verticalAligns as v, overscrolls as w, borderSizes as x, borderRadius as y, borderStyles as z };