@unocss/preset-wind 0.20.2 → 0.21.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +173 -165
- package/dist/index.mjs +169 -161
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -2,14 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
const variants = require('@unocss/preset-mini/variants');
|
|
5
6
|
const core = require('@unocss/core');
|
|
6
7
|
const theme$1 = require('@unocss/preset-mini/theme');
|
|
7
8
|
const presetMini = require('@unocss/preset-mini');
|
|
8
9
|
const rules$1 = require('@unocss/preset-mini/rules');
|
|
9
10
|
const utils = require('@unocss/preset-mini/utils');
|
|
10
|
-
const variants$1 = require('@unocss/preset-mini/variants');
|
|
11
11
|
|
|
12
12
|
const animations = [
|
|
13
|
+
[/^keyframes-(.+)$/, ([, name], { theme, constructCSS }) => {
|
|
14
|
+
const kf = theme.animation?.keyframes?.[name];
|
|
15
|
+
if (kf)
|
|
16
|
+
return `@keyframes ${name}${kf}
|
|
17
|
+
${constructCSS({ animation: `${name}` })}`;
|
|
18
|
+
}],
|
|
13
19
|
[/^animate-(.+)$/, ([, name], { theme, constructCSS }) => {
|
|
14
20
|
const kf = theme.animation?.keyframes?.[name];
|
|
15
21
|
if (kf) {
|
|
@@ -20,15 +26,15 @@ const animations = [
|
|
|
20
26
|
${constructCSS(Object.assign({ animation: `${name} ${duration} ${timing} infinite` }, props))}`;
|
|
21
27
|
}
|
|
22
28
|
}],
|
|
23
|
-
[/^animate(
|
|
24
|
-
[/^animate-delay-(
|
|
29
|
+
[/^animate-(?:duration-)?(.+)$/, ([, d]) => ({ "animation-duration": utils.handler.bracket.time(d) })],
|
|
30
|
+
[/^animate-delay-(.+)$/, ([, d]) => ({ "animation-delay": utils.handler.bracket.time(d) })],
|
|
25
31
|
[/^animate-(?:fill-)?mode-(forwards|backwards|both|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-fill-mode": d })],
|
|
26
32
|
["animate-mode-none", { "animation-fill-mode": "none" }],
|
|
27
33
|
["animate-fill-mode-none", { "animation-fill-mode": "none" }],
|
|
28
34
|
[/^animate-(?:direction-)?(reverse|alternate|alternate-reverse|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-direction": d })],
|
|
29
35
|
["animate-normal", { "animation-direction": "normal" }],
|
|
30
36
|
["animate-direction-normal", { "animation-direction": "normal" }],
|
|
31
|
-
[/^animate-(?:iteration-)?count-(.+)$/, ([, d]) => ({ "animation-iteration-count": d.replace(/\-/g, ",
|
|
37
|
+
[/^animate-(?:iteration-)?count-(.+)$/, ([, d]) => ({ "animation-iteration-count": utils.handler.bracket(d) ?? d.replace(/\-/g, ",") })],
|
|
32
38
|
[/^animate-name-(.+)/, ([, d]) => ({ "animation-name": d })],
|
|
33
39
|
[/^animate-play(?:-state)?-(paused|running|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-play-state": d })],
|
|
34
40
|
["animate-none", { animation: "none" }]
|
|
@@ -64,107 +70,64 @@ const bgGradientColorResolver = (mode) => ([, body], { theme }) => {
|
|
|
64
70
|
};
|
|
65
71
|
}
|
|
66
72
|
};
|
|
67
|
-
const bgGradientDirections = {
|
|
68
|
-
t: "top",
|
|
69
|
-
tr: "top right",
|
|
70
|
-
r: "right",
|
|
71
|
-
br: "bottom right",
|
|
72
|
-
b: "bottom",
|
|
73
|
-
bl: "bottom left",
|
|
74
|
-
l: "left",
|
|
75
|
-
tl: "top left"
|
|
76
|
-
};
|
|
77
73
|
const backgroundStyles = [
|
|
78
|
-
["bg-fixed", { "background-attachment": "fixed" }],
|
|
79
|
-
["bg-local", { "background-attachment": "local" }],
|
|
80
|
-
["bg-scroll", { "background-attachment": "scroll" }],
|
|
81
|
-
["bg-blend-multiply", { "background-blend-mode": "multiply" }],
|
|
82
|
-
["bg-blend-screen", { "background-blend-mode": "screen" }],
|
|
83
|
-
["bg-blend-overlay", { "background-blend-mode": "overlay" }],
|
|
84
|
-
["bg-blend-darken", { "background-blend-mode": "darken" }],
|
|
85
|
-
["bg-blend-lighten", { "background-blend-mode": "lighten" }],
|
|
86
|
-
["bg-blend-color-dodge", { "background-blend-mode": "color-dodge" }],
|
|
87
|
-
["bg-blend-color-burn", { "background-blend-mode": "color-burn" }],
|
|
88
|
-
["bg-blend-hard-light", { "background-blend-mode": "hard-light" }],
|
|
89
|
-
["bg-blend-soft-light", { "background-blend-mode": "soft-light" }],
|
|
90
|
-
["bg-blend-difference", { "background-blend-mode": "difference" }],
|
|
91
|
-
["bg-blend-exclusion", { "background-blend-mode": "exclusion" }],
|
|
92
|
-
["bg-blend-hue", { "background-blend-mode": "hue" }],
|
|
93
|
-
["bg-blend-saturation", { "background-blend-mode": "saturation" }],
|
|
94
|
-
["bg-blend-color", { "background-blend-mode": "color" }],
|
|
95
|
-
["bg-blend-luminosity", { "background-blend-mode": "luminosity" }],
|
|
96
|
-
["bg-blend-normal", { "background-blend-mode": "normal" }],
|
|
97
|
-
["bg-clip-border", { "-webkit-background-clip": "border-box", "background-attachment": "border-box" }],
|
|
98
|
-
["bg-clip-content", { "-webkit-background-clip": "content-box", "background-attachment": "content-box" }],
|
|
99
|
-
["bg-clip-padding", { "-webkit-background-clip": "padding-box", "background-attachment": "padding-box" }],
|
|
100
|
-
["bg-clip-text", { "-webkit-background-clip": "text", "background-attachment": "text" }],
|
|
101
74
|
[/^(?:bg-gradient-)?from-(.+)$/, bgGradientColorResolver("from")],
|
|
102
75
|
[/^(?:bg-gradient-)?to-(.+)$/, bgGradientColorResolver("to")],
|
|
103
76
|
[/^(?:bg-gradient-)?via-(.+)$/, bgGradientColorResolver("via")],
|
|
104
77
|
[/^(?:bg-gradient-)?from-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-from-opacity": utils.handler.bracket.percent(opacity) })],
|
|
105
78
|
[/^(?:bg-gradient-)?to-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-to-opacity": utils.handler.bracket.percent(opacity) })],
|
|
106
79
|
[/^(?:bg-gradient-)?via-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-via-opacity": utils.handler.bracket.percent(opacity) })],
|
|
107
|
-
[/^bg-gradient-to-([
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
return { "background-image": `linear-gradient(to ${v}, var(--un-gradient-stops))` };
|
|
80
|
+
[/^bg-gradient-to-([rltb]{1,2})$/, ([, d]) => {
|
|
81
|
+
if (d in utils.positionMap)
|
|
82
|
+
return { "background-image": `linear-gradient(to ${utils.positionMap[d]}, var(--un-gradient-stops))` };
|
|
111
83
|
}],
|
|
112
84
|
["bg-none", { "background-image": "none" }],
|
|
113
|
-
["
|
|
114
|
-
["
|
|
115
|
-
["bg-
|
|
116
|
-
["bg-
|
|
117
|
-
["bg-
|
|
118
|
-
["bg-
|
|
119
|
-
["bg-
|
|
120
|
-
["bg-
|
|
121
|
-
["bg-
|
|
122
|
-
["bg-
|
|
123
|
-
["bg-
|
|
124
|
-
["bg-
|
|
85
|
+
["box-decoration-slice", { "box-decoration-break": "slice" }],
|
|
86
|
+
["box-decoration-clone", { "box-decoration-break": "clone" }],
|
|
87
|
+
["bg-auto", { "background-size": "auto" }],
|
|
88
|
+
["bg-cover", { "background-size": "cover" }],
|
|
89
|
+
["bg-contain", { "background-size": "contain" }],
|
|
90
|
+
["bg-fixed", { "background-attachment": "fixed" }],
|
|
91
|
+
["bg-local", { "background-attachment": "local" }],
|
|
92
|
+
["bg-scroll", { "background-attachment": "scroll" }],
|
|
93
|
+
["bg-clip-border", { "-webkit-background-clip": "border-box", "background-attachment": "border-box" }],
|
|
94
|
+
["bg-clip-content", { "-webkit-background-clip": "content-box", "background-attachment": "content-box" }],
|
|
95
|
+
["bg-clip-padding", { "-webkit-background-clip": "padding-box", "background-attachment": "padding-box" }],
|
|
96
|
+
["bg-clip-text", { "-webkit-background-clip": "text", "background-attachment": "text" }],
|
|
97
|
+
[/^bg-([-\w]{3,})$/, ([, s]) => ({ "background-position": utils.positionMap[s] })],
|
|
125
98
|
["bg-repeat", { "background-repeat": "repeat" }],
|
|
126
99
|
["bg-no-repeat", { "background-repeat": "no-repeat" }],
|
|
127
100
|
["bg-repeat-x", { "background-position": "repeat-x" }],
|
|
128
101
|
["bg-repeat-y", { "background-position": "repeat-y" }],
|
|
129
102
|
["bg-repeat-round", { "background-position": "round" }],
|
|
130
103
|
["bg-repeat-space", { "background-position": "space" }],
|
|
131
|
-
["bg-
|
|
132
|
-
["bg-
|
|
133
|
-
["bg-
|
|
104
|
+
["bg-origin-border", { "background-origin": "border-box" }],
|
|
105
|
+
["bg-origin-padding", { "background-origin": "padding-box" }],
|
|
106
|
+
["bg-origin-content", { "background-origin": "content-box" }]
|
|
134
107
|
];
|
|
135
108
|
|
|
136
|
-
const listStyleProps = ["disc", "circle", "square", "decimal", "zero-decimal", "greek", "roman", "upper-roman", "alpha", "upper-alpha"];
|
|
137
109
|
const listStyle = [
|
|
138
|
-
[
|
|
139
|
-
|
|
140
|
-
const position = /outside|inside/.exec(value) ?? [];
|
|
141
|
-
if (position.length) {
|
|
110
|
+
[/^list-(disc|circle|square|decimal|zero-decimal|greek|roman|upper-roman|alpha|upper-alpha)(?:-(outside|inside))?$/, ([, style, position]) => {
|
|
111
|
+
if (position != null) {
|
|
142
112
|
return {
|
|
143
|
-
"list-style-position":
|
|
113
|
+
"list-style-position": position,
|
|
144
114
|
"list-style-type": style
|
|
145
115
|
};
|
|
146
116
|
}
|
|
147
117
|
return { "list-style-type": style };
|
|
148
118
|
}],
|
|
149
|
-
[
|
|
119
|
+
["list-outside", { "list-style-position": "outside" }],
|
|
120
|
+
["list-inside", { "list-style-position": "inside" }],
|
|
150
121
|
["list-none", { "list-style-type": "none" }]
|
|
151
122
|
];
|
|
152
|
-
const
|
|
153
|
-
[
|
|
154
|
-
["decoration-clone", { "box-decoration-break": "clone" }]
|
|
155
|
-
];
|
|
156
|
-
const accentOpacity = [
|
|
123
|
+
const accents = [
|
|
124
|
+
[/^accent-(.+)$/, utils.colorResolver("accent-color", "accent")],
|
|
157
125
|
[/^accent-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-accent-opacity": utils.handler.bracket.percent(d) })]
|
|
158
126
|
];
|
|
159
|
-
const
|
|
160
|
-
[/^
|
|
161
|
-
];
|
|
162
|
-
const caretOpacity = [
|
|
127
|
+
const carets = [
|
|
128
|
+
[/^caret-(.+)$/, utils.colorResolver("caret-color", "caret")],
|
|
163
129
|
[/^caret-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-caret-opacity": utils.handler.bracket.percent(d) })]
|
|
164
130
|
];
|
|
165
|
-
const caretColors = [
|
|
166
|
-
[/^caret-(.+)$/, utils.colorResolver("caret-color", "caret")]
|
|
167
|
-
];
|
|
168
131
|
const imageRenderings = [
|
|
169
132
|
["image-render-auto", { "image-rendering": "auto" }],
|
|
170
133
|
["image-render-edge", { "image-rendering": "crisp-edges" }],
|
|
@@ -176,18 +139,15 @@ const imageRenderings = [
|
|
|
176
139
|
["image-rendering", "pixelated"]
|
|
177
140
|
]]
|
|
178
141
|
];
|
|
179
|
-
const overflowValues = [
|
|
180
|
-
"auto",
|
|
181
|
-
"hidden",
|
|
182
|
-
"visible",
|
|
183
|
-
"scroll",
|
|
184
|
-
"contain"
|
|
185
|
-
];
|
|
186
142
|
const overscrolls = [
|
|
187
|
-
[
|
|
143
|
+
["overscroll-auto", { "overscroll-behavior": "auto" }],
|
|
144
|
+
["overscroll-contain", { "overscroll-behavior": "contain" }],
|
|
188
145
|
["overscroll-none", { "overscroll-behavior": "none" }],
|
|
189
|
-
[
|
|
146
|
+
["overscroll-x-auto", { "overscroll-behavior-x": "auto" }],
|
|
147
|
+
["overscroll-x-contain", { "overscroll-behavior-x": "contain" }],
|
|
190
148
|
["overscroll-x-none", { "overscroll-behavior-x": "none" }],
|
|
149
|
+
["overscroll-y-auto", { "overscroll-behavior-y": "auto" }],
|
|
150
|
+
["overscroll-y-contain", { "overscroll-behavior-y": "contain" }],
|
|
191
151
|
["overscroll-y-none", { "overscroll-behavior-y": "none" }]
|
|
192
152
|
];
|
|
193
153
|
const scrollBehaviors = [
|
|
@@ -253,21 +213,21 @@ const containerShortcuts = [
|
|
|
253
213
|
}]
|
|
254
214
|
];
|
|
255
215
|
|
|
256
|
-
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)
|
|
216
|
+
const filterContnet = "var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)";
|
|
257
217
|
const filterBase = {
|
|
258
218
|
"--un-blur": rules$1.varEmpty,
|
|
259
219
|
"--un-brightness": rules$1.varEmpty,
|
|
260
220
|
"--un-contrast": rules$1.varEmpty,
|
|
221
|
+
"--un-drop-shadow": rules$1.varEmpty,
|
|
261
222
|
"--un-grayscale": rules$1.varEmpty,
|
|
262
223
|
"--un-hue-rotate": rules$1.varEmpty,
|
|
263
224
|
"--un-invert": rules$1.varEmpty,
|
|
264
225
|
"--un-saturate": rules$1.varEmpty,
|
|
265
226
|
"--un-sepia": rules$1.varEmpty,
|
|
266
|
-
"--un-drop-shadow": rules$1.varEmpty,
|
|
267
227
|
"filter": filterContnet,
|
|
268
|
-
[variants
|
|
228
|
+
[variants.CONTROL_BYPASS_PSEUDO_CLASS]: ""
|
|
269
229
|
};
|
|
270
|
-
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)";
|
|
230
|
+
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-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)";
|
|
271
231
|
const backdropFilterBase = {
|
|
272
232
|
"--un-backdrop-blur": rules$1.varEmpty,
|
|
273
233
|
"--un-backdrop-brightness": rules$1.varEmpty,
|
|
@@ -275,19 +235,24 @@ const backdropFilterBase = {
|
|
|
275
235
|
"--un-backdrop-grayscale": rules$1.varEmpty,
|
|
276
236
|
"--un-backdrop-hue-rotate": rules$1.varEmpty,
|
|
277
237
|
"--un-backdrop-invert": rules$1.varEmpty,
|
|
238
|
+
"--un-backdrop-opacity": rules$1.varEmpty,
|
|
278
239
|
"--un-backdrop-saturate": rules$1.varEmpty,
|
|
279
240
|
"--un-backdrop-sepia": rules$1.varEmpty,
|
|
280
241
|
"-webkit-backdrop-filter": backdropFilterContent,
|
|
281
242
|
"backdrop-filter": backdropFilterContent,
|
|
282
|
-
[variants
|
|
243
|
+
[variants.CONTROL_BYPASS_PSEUDO_CLASS]: ""
|
|
283
244
|
};
|
|
284
|
-
const percentWithDefault = (
|
|
285
|
-
|
|
286
|
-
|
|
245
|
+
const percentWithDefault = (str) => {
|
|
246
|
+
let v = utils.handler.bracket(str || "");
|
|
247
|
+
if (v != null)
|
|
248
|
+
return v;
|
|
249
|
+
v = str ? utils.handler.percent(str) : "1";
|
|
250
|
+
if (v != null && parseFloat(v) <= 1)
|
|
251
|
+
return v;
|
|
287
252
|
};
|
|
288
253
|
const toFilter = (varName, resolver) => ([, b, s], { theme }) => {
|
|
289
254
|
const value = resolver(s, theme);
|
|
290
|
-
if (value) {
|
|
255
|
+
if (value != null && value !== "") {
|
|
291
256
|
return [
|
|
292
257
|
b ? backdropFilterBase : filterBase,
|
|
293
258
|
{ [`--un-${b || ""}${varName}`]: `${varName}(${value})` }
|
|
@@ -298,49 +263,37 @@ const filters = [
|
|
|
298
263
|
["filter", filterBase],
|
|
299
264
|
["backdrop-filter", backdropFilterBase],
|
|
300
265
|
[/^(backdrop-)?blur(?:-(.+))?$/, toFilter("blur", (s, theme) => theme.blur?.[s || "DEFAULT"] || utils.handler.bracket.px(s))],
|
|
301
|
-
[/^(backdrop-)?brightness-(
|
|
302
|
-
[/^(backdrop-)?contrast-(
|
|
266
|
+
[/^(backdrop-)?brightness-(.+)$/, toFilter("brightness", (s) => utils.handler.bracket.percent(s))],
|
|
267
|
+
[/^(backdrop-)?contrast-(.+)$/, toFilter("contrast", (s) => utils.handler.bracket.percent(s))],
|
|
303
268
|
[/^()?drop-shadow(?:-(.+))?$/, toFilter("drop-shadow", (s, theme) => {
|
|
304
|
-
|
|
305
|
-
if (v)
|
|
269
|
+
let v = theme.dropShadow?.[s || "DEFAULT"];
|
|
270
|
+
if (v != null)
|
|
306
271
|
return core.toArray(v).map((v2) => `drop-shadow(${v2})`).join(" ");
|
|
272
|
+
v = utils.handler.bracket(s);
|
|
273
|
+
if (v != null)
|
|
274
|
+
return `drop-shadow(${v})`;
|
|
307
275
|
})],
|
|
308
|
-
[/^(backdrop-)?grayscale(?:-(
|
|
309
|
-
[/^(backdrop-)?hue-rotate-(
|
|
310
|
-
[/^(backdrop-)?invert(?:-(
|
|
311
|
-
[/^(backdrop-)
|
|
312
|
-
[/^(backdrop-)?
|
|
276
|
+
[/^(backdrop-)?grayscale(?:-(.+))?$/, toFilter("grayscale", percentWithDefault)],
|
|
277
|
+
[/^(backdrop-)?hue-rotate-(.+)$/, toFilter("hue-rotate", (s) => utils.handler.bracket.degree(s))],
|
|
278
|
+
[/^(backdrop-)?invert(?:-(.+))?$/, toFilter("invert", percentWithDefault)],
|
|
279
|
+
[/^(backdrop-)opacity-(.+)$/, toFilter("opacity", (s) => utils.handler.bracket.percent(s))],
|
|
280
|
+
[/^(backdrop-)?saturate-(.+)$/, toFilter("saturate", (s) => utils.handler.bracket.percent(s))],
|
|
281
|
+
[/^(backdrop-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault)],
|
|
313
282
|
["filter-none", { filter: "none" }],
|
|
314
283
|
["backdrop-filter-none", {
|
|
315
284
|
"-webkit-backdrop-filter": "none",
|
|
316
285
|
"backdrop-filter": "none"
|
|
317
|
-
}]
|
|
318
|
-
]
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
["mix-blend-overlay", { "mix-blend-mode": "overlay" }],
|
|
324
|
-
["mix-blend-darken", { "mix-blend-mode": "darken" }],
|
|
325
|
-
["mix-blend-lighten", { "mix-blend-mode": "lighten" }],
|
|
326
|
-
["mix-blend-color-dodge", { "mix-blend-mode": "color-dodge" }],
|
|
327
|
-
["mix-blend-color-burn", { "mix-blend-mode": "color-burn" }],
|
|
328
|
-
["mix-blend-color-light", { "mix-blend-mode": "color-light" }],
|
|
329
|
-
["mix-blend-soft-light", { "mix-blend-mode": "soft-light" }],
|
|
330
|
-
["mix-blend-difference", { "mix-blend-mode": "difference" }],
|
|
331
|
-
["mix-blend-exclusion", { "mix-blend-mode": "exclusion" }],
|
|
332
|
-
["mix-blend-hue", { "mix-blend-mode": "hue" }],
|
|
333
|
-
["mix-blend-saturation", { "mix-blend-mode": "saturation" }],
|
|
334
|
-
["mix-blend-color", { "mix-blend-mode": "color" }],
|
|
335
|
-
["mix-blend-luminosity", { "mix-blend-mode": "luminosity" }],
|
|
336
|
-
["mix-blend-normal", { "mix-blend-mode": "normal" }]
|
|
286
|
+
}],
|
|
287
|
+
[/^(blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|saturate|sepia)-none$/, ([, s]) => ({ filter: `${s}(0)` })],
|
|
288
|
+
[/^backdrop-(blur|brightness|contrast|grayscale|hue-rotate|invert|opacity|saturate|sepia)-none$/, ([, s]) => ({
|
|
289
|
+
"-webkit-backdrop-filter": `${s}(0)`,
|
|
290
|
+
"backdrop-filter": `${s}(0)`
|
|
291
|
+
})]
|
|
337
292
|
];
|
|
338
293
|
|
|
339
294
|
const spaces = [
|
|
340
295
|
[/^space-?([xy])-?(-?.+)$/, (match) => {
|
|
341
|
-
const [, direction
|
|
342
|
-
if (size === "reverse")
|
|
343
|
-
return { [`--un-space-${direction}-reverse`]: 1 };
|
|
296
|
+
const [, direction] = match;
|
|
344
297
|
const results = utils.directionSize("margin")(match)?.map((item) => {
|
|
345
298
|
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)))`;
|
|
346
299
|
return [item[0], value];
|
|
@@ -351,7 +304,8 @@ const spaces = [
|
|
|
351
304
|
...results
|
|
352
305
|
];
|
|
353
306
|
}
|
|
354
|
-
}]
|
|
307
|
+
}],
|
|
308
|
+
[/^space-?([xy])-reverse$/, ([, d]) => ({ [`--un-space-${d}-reverse`]: 1 })]
|
|
355
309
|
];
|
|
356
310
|
|
|
357
311
|
const textTransforms = [
|
|
@@ -418,7 +372,8 @@ const screenReadersAccess = [
|
|
|
418
372
|
];
|
|
419
373
|
const isolations = [
|
|
420
374
|
["isolate", { isolation: "isolate" }],
|
|
421
|
-
["isolate-auto", { isolation: "auto" }]
|
|
375
|
+
["isolate-auto", { isolation: "auto" }],
|
|
376
|
+
["isolation-auto", { isolation: "auto" }]
|
|
422
377
|
];
|
|
423
378
|
const objectPositions = [
|
|
424
379
|
["object-cover", { "object-fit": "cover" }],
|
|
@@ -426,17 +381,43 @@ const objectPositions = [
|
|
|
426
381
|
["object-fill", { "object-fit": "fill" }],
|
|
427
382
|
["object-scale-down", { "object-fit": "scale-down" }],
|
|
428
383
|
["object-none", { "object-fit": "none" }],
|
|
429
|
-
[
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
["
|
|
433
|
-
["
|
|
434
|
-
["
|
|
435
|
-
["
|
|
436
|
-
["
|
|
437
|
-
["
|
|
438
|
-
["
|
|
439
|
-
["
|
|
384
|
+
[/^object-([-\w]+)$/, ([, s]) => ({ "object-position": utils.positionMap[s] })]
|
|
385
|
+
];
|
|
386
|
+
const backgroundBlendModes = [
|
|
387
|
+
["bg-blend-multiply", { "background-blend-mode": "multiply" }],
|
|
388
|
+
["bg-blend-screen", { "background-blend-mode": "screen" }],
|
|
389
|
+
["bg-blend-overlay", { "background-blend-mode": "overlay" }],
|
|
390
|
+
["bg-blend-darken", { "background-blend-mode": "darken" }],
|
|
391
|
+
["bg-blend-lighten", { "background-blend-mode": "lighten" }],
|
|
392
|
+
["bg-blend-color-dodge", { "background-blend-mode": "color-dodge" }],
|
|
393
|
+
["bg-blend-color-burn", { "background-blend-mode": "color-burn" }],
|
|
394
|
+
["bg-blend-hard-light", { "background-blend-mode": "hard-light" }],
|
|
395
|
+
["bg-blend-soft-light", { "background-blend-mode": "soft-light" }],
|
|
396
|
+
["bg-blend-difference", { "background-blend-mode": "difference" }],
|
|
397
|
+
["bg-blend-exclusion", { "background-blend-mode": "exclusion" }],
|
|
398
|
+
["bg-blend-hue", { "background-blend-mode": "hue" }],
|
|
399
|
+
["bg-blend-saturation", { "background-blend-mode": "saturation" }],
|
|
400
|
+
["bg-blend-color", { "background-blend-mode": "color" }],
|
|
401
|
+
["bg-blend-luminosity", { "background-blend-mode": "luminosity" }],
|
|
402
|
+
["bg-blend-normal", { "background-blend-mode": "normal" }]
|
|
403
|
+
];
|
|
404
|
+
const mixBlendModes = [
|
|
405
|
+
["mix-blend-multiply", { "mix-blend-mode": "multiply" }],
|
|
406
|
+
["mix-blend-screen", { "mix-blend-mode": "screen" }],
|
|
407
|
+
["mix-blend-overlay", { "mix-blend-mode": "overlay" }],
|
|
408
|
+
["mix-blend-darken", { "mix-blend-mode": "darken" }],
|
|
409
|
+
["mix-blend-lighten", { "mix-blend-mode": "lighten" }],
|
|
410
|
+
["mix-blend-color-dodge", { "mix-blend-mode": "color-dodge" }],
|
|
411
|
+
["mix-blend-color-burn", { "mix-blend-mode": "color-burn" }],
|
|
412
|
+
["mix-blend-hard-light", { "mix-blend-mode": "hard-light" }],
|
|
413
|
+
["mix-blend-soft-light", { "mix-blend-mode": "soft-light" }],
|
|
414
|
+
["mix-blend-difference", { "mix-blend-mode": "difference" }],
|
|
415
|
+
["mix-blend-exclusion", { "mix-blend-mode": "exclusion" }],
|
|
416
|
+
["mix-blend-hue", { "mix-blend-mode": "hue" }],
|
|
417
|
+
["mix-blend-saturation", { "mix-blend-mode": "saturation" }],
|
|
418
|
+
["mix-blend-color", { "mix-blend-mode": "color" }],
|
|
419
|
+
["mix-blend-luminosity", { "mix-blend-mode": "luminosity" }],
|
|
420
|
+
["mix-blend-normal", { "mix-blend-mode": "normal" }]
|
|
440
421
|
];
|
|
441
422
|
|
|
442
423
|
const tables = [
|
|
@@ -482,25 +463,19 @@ const cssVariables = [[
|
|
|
482
463
|
}
|
|
483
464
|
]];
|
|
484
465
|
|
|
485
|
-
const
|
|
486
|
-
[/^divide-(.+)$/, utils.colorResolver("border-color", "divide")],
|
|
487
|
-
[/^divide-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-divide-opacity": utils.handler.bracket.percent(opacity) })]
|
|
488
|
-
];
|
|
489
|
-
const divideSizes = [
|
|
466
|
+
const divides = [
|
|
490
467
|
[/^divide-?([xy])$/, handlerDivide],
|
|
491
468
|
[/^divide-?([xy])-?(-?.+)$/, handlerDivide],
|
|
492
|
-
[/^divide-?([xy])-reverse$/, ([, d]) => [
|
|
493
|
-
]
|
|
494
|
-
|
|
469
|
+
[/^divide-?([xy])-reverse$/, ([, d]) => ({ [`--un-divide-${d}-reverse`]: 1 })],
|
|
470
|
+
[/^divide-(.+)$/, utils.colorResolver("border-color", "divide")],
|
|
471
|
+
[/^divide-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-divide-opacity": utils.handler.bracket.percent(opacity) })],
|
|
495
472
|
["divide-solid", { "border-style": "solid" }],
|
|
496
473
|
["divide-dashed", { "border-style": "dashed" }],
|
|
497
474
|
["divide-dotted", { "border-style": "dotted" }],
|
|
498
475
|
["divide-double", { "border-style": "double" }],
|
|
499
476
|
["divide-none", { "border-style": "none" }]
|
|
500
477
|
];
|
|
501
|
-
|
|
502
|
-
function handlerDivide([, a, b]) {
|
|
503
|
-
const [d, s = "1"] = utils.directionMap[a] ? [a, b] : ["", a];
|
|
478
|
+
function handlerDivide([, d, s = "1"]) {
|
|
504
479
|
const v = utils.handler.bracket.px(s);
|
|
505
480
|
if (v != null) {
|
|
506
481
|
const results = utils.directionMap[d].map((item) => {
|
|
@@ -534,7 +509,7 @@ const fontVariantNumericBase = {
|
|
|
534
509
|
"--un-numeric-spacing": rules$1.varEmpty,
|
|
535
510
|
"--un-numeric-fraction": rules$1.varEmpty,
|
|
536
511
|
"font-variant-numeric": "var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)",
|
|
537
|
-
[variants
|
|
512
|
+
[variants.CONTROL_BYPASS_PSEUDO_CLASS]: ""
|
|
538
513
|
};
|
|
539
514
|
const fontVariantNumeric = [
|
|
540
515
|
[/^ordinal$/, () => [fontVariantNumericBase, { "--un-ordinal": "ordinal" }]],
|
|
@@ -553,7 +528,7 @@ const touchActionBase = {
|
|
|
553
528
|
"--un-pan-y": rules$1.varEmpty,
|
|
554
529
|
"--un-pinch-zoom": rules$1.varEmpty,
|
|
555
530
|
"--un-touch-action": "var(--un-pan-x) var(--un-pan-y) var(--un-pinch-zoom)",
|
|
556
|
-
[variants
|
|
531
|
+
[variants.CONTROL_BYPASS_PSEUDO_CLASS]: ""
|
|
557
532
|
};
|
|
558
533
|
const touchActions = [
|
|
559
534
|
[/^touch-pan-(x|left|right)$/, ([, d]) => [
|
|
@@ -583,10 +558,10 @@ const touchActions = [
|
|
|
583
558
|
];
|
|
584
559
|
|
|
585
560
|
const scrolls = [
|
|
586
|
-
[/^snap-(x|y|
|
|
561
|
+
[/^snap-(x|y|both)$/, ([, d]) => [
|
|
587
562
|
{
|
|
588
563
|
"--un-scroll-snap-strictness": "proximity",
|
|
589
|
-
[variants
|
|
564
|
+
[variants.CONTROL_BYPASS_PSEUDO_CLASS]: ""
|
|
590
565
|
},
|
|
591
566
|
{
|
|
592
567
|
"scroll-snap-type": `${d} var(--un-scroll-snap-strictness)`
|
|
@@ -609,6 +584,11 @@ const scrolls = [
|
|
|
609
584
|
[/^scroll-p-?([rltb])-?(-?.+)$/, utils.directionSize("scroll-padding")]
|
|
610
585
|
];
|
|
611
586
|
|
|
587
|
+
const placeholders = [
|
|
588
|
+
[/^\$-placeholder-(.+)$/, utils.colorResolver("color", "placeholder")],
|
|
589
|
+
[/^\$-placeholder-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-placeholder-opacity": utils.handler.bracket.percent.cssvar(opacity) })]
|
|
590
|
+
];
|
|
591
|
+
|
|
612
592
|
const rules = [
|
|
613
593
|
rules$1.cssVariables,
|
|
614
594
|
cssVariables,
|
|
@@ -655,7 +635,6 @@ const rules = [
|
|
|
655
635
|
rules$1.breaks,
|
|
656
636
|
rules$1.borders,
|
|
657
637
|
rules$1.bgColors,
|
|
658
|
-
boxDecorationBreaks,
|
|
659
638
|
backgroundStyles,
|
|
660
639
|
rules$1.svgUtilities,
|
|
661
640
|
objectPositions,
|
|
@@ -676,11 +655,10 @@ const rules = [
|
|
|
676
655
|
hyphens,
|
|
677
656
|
writingModes,
|
|
678
657
|
writingOrientations,
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
accentColors,
|
|
682
|
-
accentOpacity,
|
|
658
|
+
carets,
|
|
659
|
+
accents,
|
|
683
660
|
rules$1.opacity,
|
|
661
|
+
backgroundBlendModes,
|
|
684
662
|
mixBlendModes,
|
|
685
663
|
rules$1.boxShadows,
|
|
686
664
|
rules$1.outline,
|
|
@@ -690,6 +668,7 @@ const rules = [
|
|
|
690
668
|
rules$1.transitions,
|
|
691
669
|
rules$1.willChange,
|
|
692
670
|
rules$1.contents,
|
|
671
|
+
placeholders,
|
|
693
672
|
rules$1.questionMark
|
|
694
673
|
].flat(1);
|
|
695
674
|
|
|
@@ -854,13 +833,37 @@ const variantColorsScheme = [
|
|
|
854
833
|
utils.variantParentMatcher("@light", "@media (prefers-color-scheme: light)")
|
|
855
834
|
];
|
|
856
835
|
|
|
857
|
-
const
|
|
836
|
+
const variantSpaceAndDivide = (matcher) => {
|
|
837
|
+
if (/^space-?([xy])-?(-?.+)$/.test(matcher) || /^divide-/.test(matcher)) {
|
|
838
|
+
return {
|
|
839
|
+
matcher,
|
|
840
|
+
selector: (input) => {
|
|
841
|
+
return `${input}>:not([hidden])~:not([hidden])`;
|
|
842
|
+
}
|
|
843
|
+
};
|
|
844
|
+
}
|
|
845
|
+
};
|
|
858
846
|
|
|
859
|
-
const
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
847
|
+
const placeholderModifier = (input, { theme }) => {
|
|
848
|
+
const m = input.match(/^(.*)\b(placeholder-)(.+?)$/);
|
|
849
|
+
if (m) {
|
|
850
|
+
const [, pre = "", p, body] = m;
|
|
851
|
+
if (hasColorValue(body, theme) || hasOpacityValue(body)) {
|
|
852
|
+
return {
|
|
853
|
+
matcher: `${pre}${p}$-placeholder-${body}`
|
|
854
|
+
};
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
};
|
|
858
|
+
function hasColorValue(body, theme) {
|
|
859
|
+
return !!utils.parseColor(body, theme)?.color;
|
|
860
|
+
}
|
|
861
|
+
function hasOpacityValue(body) {
|
|
862
|
+
const match = body.match(/^op(?:acity)?-?(.+)$/);
|
|
863
|
+
if (match && match[1] != null)
|
|
864
|
+
return utils.handler.bracket.percent.cssvar(match[1]) != null;
|
|
865
|
+
return false;
|
|
866
|
+
}
|
|
864
867
|
|
|
865
868
|
const presetWind = (options = {}) => {
|
|
866
869
|
options.dark = options.dark ?? "class";
|
|
@@ -872,7 +875,12 @@ const presetWind = (options = {}) => {
|
|
|
872
875
|
shortcuts: [
|
|
873
876
|
...containerShortcuts
|
|
874
877
|
],
|
|
875
|
-
variants
|
|
878
|
+
variants: [
|
|
879
|
+
placeholderModifier,
|
|
880
|
+
variantSpaceAndDivide,
|
|
881
|
+
...variants.variants(options),
|
|
882
|
+
...variantColorsScheme
|
|
883
|
+
],
|
|
876
884
|
options
|
|
877
885
|
};
|
|
878
886
|
};
|
package/dist/index.mjs
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
|
+
import { CONTROL_BYPASS_PSEUDO_CLASS, variants } from '@unocss/preset-mini/variants';
|
|
1
2
|
import { toArray } from '@unocss/core';
|
|
2
3
|
import { theme as theme$1 } from '@unocss/preset-mini/theme';
|
|
3
4
|
export { colors } from '@unocss/preset-mini';
|
|
4
5
|
import { varEmpty, cssVariables as cssVariables$1, pointerEvents, appearances, positions, insets, zIndexes, orders, grids, floats, margins, boxSizing, displays, aspectRatio, sizes, flex, transforms, cursors, userSelects, resizes, appearance, placements, alignments, justifies, gaps, overflows, textOverflows, whitespaces, breaks, borders, bgColors, svgUtilities, paddings, textAligns, textIndents, verticalAligns, fonts, fontStyles, textColors, textDecorations, fontSmoothings, tabSizes, textStrokes, textShadows, opacity, boxShadows, outline, rings, transitions, willChange, contents, questionMark } from '@unocss/preset-mini/rules';
|
|
5
|
-
import { handler, parseColor, colorResolver, directionSize, directionMap, variantMatcher, variantParentMatcher } from '@unocss/preset-mini/utils';
|
|
6
|
-
import { CONTROL_BYPASS_PSEUDO_CLASS, variants as variants$1 } from '@unocss/preset-mini/variants';
|
|
6
|
+
import { handler, positionMap, parseColor, colorResolver, directionSize, directionMap, variantMatcher, variantParentMatcher } from '@unocss/preset-mini/utils';
|
|
7
7
|
|
|
8
8
|
const animations = [
|
|
9
|
+
[/^keyframes-(.+)$/, ([, name], { theme, constructCSS }) => {
|
|
10
|
+
const kf = theme.animation?.keyframes?.[name];
|
|
11
|
+
if (kf)
|
|
12
|
+
return `@keyframes ${name}${kf}
|
|
13
|
+
${constructCSS({ animation: `${name}` })}`;
|
|
14
|
+
}],
|
|
9
15
|
[/^animate-(.+)$/, ([, name], { theme, constructCSS }) => {
|
|
10
16
|
const kf = theme.animation?.keyframes?.[name];
|
|
11
17
|
if (kf) {
|
|
@@ -16,15 +22,15 @@ const animations = [
|
|
|
16
22
|
${constructCSS(Object.assign({ animation: `${name} ${duration} ${timing} infinite` }, props))}`;
|
|
17
23
|
}
|
|
18
24
|
}],
|
|
19
|
-
[/^animate(
|
|
20
|
-
[/^animate-delay-(
|
|
25
|
+
[/^animate-(?:duration-)?(.+)$/, ([, d]) => ({ "animation-duration": handler.bracket.time(d) })],
|
|
26
|
+
[/^animate-delay-(.+)$/, ([, d]) => ({ "animation-delay": handler.bracket.time(d) })],
|
|
21
27
|
[/^animate-(?:fill-)?mode-(forwards|backwards|both|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-fill-mode": d })],
|
|
22
28
|
["animate-mode-none", { "animation-fill-mode": "none" }],
|
|
23
29
|
["animate-fill-mode-none", { "animation-fill-mode": "none" }],
|
|
24
30
|
[/^animate-(?:direction-)?(reverse|alternate|alternate-reverse|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-direction": d })],
|
|
25
31
|
["animate-normal", { "animation-direction": "normal" }],
|
|
26
32
|
["animate-direction-normal", { "animation-direction": "normal" }],
|
|
27
|
-
[/^animate-(?:iteration-)?count-(.+)$/, ([, d]) => ({ "animation-iteration-count": d.replace(/\-/g, ",
|
|
33
|
+
[/^animate-(?:iteration-)?count-(.+)$/, ([, d]) => ({ "animation-iteration-count": handler.bracket(d) ?? d.replace(/\-/g, ",") })],
|
|
28
34
|
[/^animate-name-(.+)/, ([, d]) => ({ "animation-name": d })],
|
|
29
35
|
[/^animate-play(?:-state)?-(paused|running|inherit|initial|revert|unset)$/, ([, d]) => ({ "animation-play-state": d })],
|
|
30
36
|
["animate-none", { animation: "none" }]
|
|
@@ -60,107 +66,64 @@ const bgGradientColorResolver = (mode) => ([, body], { theme }) => {
|
|
|
60
66
|
};
|
|
61
67
|
}
|
|
62
68
|
};
|
|
63
|
-
const bgGradientDirections = {
|
|
64
|
-
t: "top",
|
|
65
|
-
tr: "top right",
|
|
66
|
-
r: "right",
|
|
67
|
-
br: "bottom right",
|
|
68
|
-
b: "bottom",
|
|
69
|
-
bl: "bottom left",
|
|
70
|
-
l: "left",
|
|
71
|
-
tl: "top left"
|
|
72
|
-
};
|
|
73
69
|
const backgroundStyles = [
|
|
74
|
-
["bg-fixed", { "background-attachment": "fixed" }],
|
|
75
|
-
["bg-local", { "background-attachment": "local" }],
|
|
76
|
-
["bg-scroll", { "background-attachment": "scroll" }],
|
|
77
|
-
["bg-blend-multiply", { "background-blend-mode": "multiply" }],
|
|
78
|
-
["bg-blend-screen", { "background-blend-mode": "screen" }],
|
|
79
|
-
["bg-blend-overlay", { "background-blend-mode": "overlay" }],
|
|
80
|
-
["bg-blend-darken", { "background-blend-mode": "darken" }],
|
|
81
|
-
["bg-blend-lighten", { "background-blend-mode": "lighten" }],
|
|
82
|
-
["bg-blend-color-dodge", { "background-blend-mode": "color-dodge" }],
|
|
83
|
-
["bg-blend-color-burn", { "background-blend-mode": "color-burn" }],
|
|
84
|
-
["bg-blend-hard-light", { "background-blend-mode": "hard-light" }],
|
|
85
|
-
["bg-blend-soft-light", { "background-blend-mode": "soft-light" }],
|
|
86
|
-
["bg-blend-difference", { "background-blend-mode": "difference" }],
|
|
87
|
-
["bg-blend-exclusion", { "background-blend-mode": "exclusion" }],
|
|
88
|
-
["bg-blend-hue", { "background-blend-mode": "hue" }],
|
|
89
|
-
["bg-blend-saturation", { "background-blend-mode": "saturation" }],
|
|
90
|
-
["bg-blend-color", { "background-blend-mode": "color" }],
|
|
91
|
-
["bg-blend-luminosity", { "background-blend-mode": "luminosity" }],
|
|
92
|
-
["bg-blend-normal", { "background-blend-mode": "normal" }],
|
|
93
|
-
["bg-clip-border", { "-webkit-background-clip": "border-box", "background-attachment": "border-box" }],
|
|
94
|
-
["bg-clip-content", { "-webkit-background-clip": "content-box", "background-attachment": "content-box" }],
|
|
95
|
-
["bg-clip-padding", { "-webkit-background-clip": "padding-box", "background-attachment": "padding-box" }],
|
|
96
|
-
["bg-clip-text", { "-webkit-background-clip": "text", "background-attachment": "text" }],
|
|
97
70
|
[/^(?:bg-gradient-)?from-(.+)$/, bgGradientColorResolver("from")],
|
|
98
71
|
[/^(?:bg-gradient-)?to-(.+)$/, bgGradientColorResolver("to")],
|
|
99
72
|
[/^(?:bg-gradient-)?via-(.+)$/, bgGradientColorResolver("via")],
|
|
100
73
|
[/^(?:bg-gradient-)?from-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-from-opacity": handler.bracket.percent(opacity) })],
|
|
101
74
|
[/^(?:bg-gradient-)?to-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-to-opacity": handler.bracket.percent(opacity) })],
|
|
102
75
|
[/^(?:bg-gradient-)?via-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-via-opacity": handler.bracket.percent(opacity) })],
|
|
103
|
-
[/^bg-gradient-to-([
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return { "background-image": `linear-gradient(to ${v}, var(--un-gradient-stops))` };
|
|
76
|
+
[/^bg-gradient-to-([rltb]{1,2})$/, ([, d]) => {
|
|
77
|
+
if (d in positionMap)
|
|
78
|
+
return { "background-image": `linear-gradient(to ${positionMap[d]}, var(--un-gradient-stops))` };
|
|
107
79
|
}],
|
|
108
80
|
["bg-none", { "background-image": "none" }],
|
|
109
|
-
["
|
|
110
|
-
["
|
|
111
|
-
["bg-
|
|
112
|
-
["bg-
|
|
113
|
-
["bg-
|
|
114
|
-
["bg-
|
|
115
|
-
["bg-
|
|
116
|
-
["bg-
|
|
117
|
-
["bg-
|
|
118
|
-
["bg-
|
|
119
|
-
["bg-
|
|
120
|
-
["bg-
|
|
81
|
+
["box-decoration-slice", { "box-decoration-break": "slice" }],
|
|
82
|
+
["box-decoration-clone", { "box-decoration-break": "clone" }],
|
|
83
|
+
["bg-auto", { "background-size": "auto" }],
|
|
84
|
+
["bg-cover", { "background-size": "cover" }],
|
|
85
|
+
["bg-contain", { "background-size": "contain" }],
|
|
86
|
+
["bg-fixed", { "background-attachment": "fixed" }],
|
|
87
|
+
["bg-local", { "background-attachment": "local" }],
|
|
88
|
+
["bg-scroll", { "background-attachment": "scroll" }],
|
|
89
|
+
["bg-clip-border", { "-webkit-background-clip": "border-box", "background-attachment": "border-box" }],
|
|
90
|
+
["bg-clip-content", { "-webkit-background-clip": "content-box", "background-attachment": "content-box" }],
|
|
91
|
+
["bg-clip-padding", { "-webkit-background-clip": "padding-box", "background-attachment": "padding-box" }],
|
|
92
|
+
["bg-clip-text", { "-webkit-background-clip": "text", "background-attachment": "text" }],
|
|
93
|
+
[/^bg-([-\w]{3,})$/, ([, s]) => ({ "background-position": positionMap[s] })],
|
|
121
94
|
["bg-repeat", { "background-repeat": "repeat" }],
|
|
122
95
|
["bg-no-repeat", { "background-repeat": "no-repeat" }],
|
|
123
96
|
["bg-repeat-x", { "background-position": "repeat-x" }],
|
|
124
97
|
["bg-repeat-y", { "background-position": "repeat-y" }],
|
|
125
98
|
["bg-repeat-round", { "background-position": "round" }],
|
|
126
99
|
["bg-repeat-space", { "background-position": "space" }],
|
|
127
|
-
["bg-
|
|
128
|
-
["bg-
|
|
129
|
-
["bg-
|
|
100
|
+
["bg-origin-border", { "background-origin": "border-box" }],
|
|
101
|
+
["bg-origin-padding", { "background-origin": "padding-box" }],
|
|
102
|
+
["bg-origin-content", { "background-origin": "content-box" }]
|
|
130
103
|
];
|
|
131
104
|
|
|
132
|
-
const listStyleProps = ["disc", "circle", "square", "decimal", "zero-decimal", "greek", "roman", "upper-roman", "alpha", "upper-alpha"];
|
|
133
105
|
const listStyle = [
|
|
134
|
-
[
|
|
135
|
-
|
|
136
|
-
const position = /outside|inside/.exec(value) ?? [];
|
|
137
|
-
if (position.length) {
|
|
106
|
+
[/^list-(disc|circle|square|decimal|zero-decimal|greek|roman|upper-roman|alpha|upper-alpha)(?:-(outside|inside))?$/, ([, style, position]) => {
|
|
107
|
+
if (position != null) {
|
|
138
108
|
return {
|
|
139
|
-
"list-style-position":
|
|
109
|
+
"list-style-position": position,
|
|
140
110
|
"list-style-type": style
|
|
141
111
|
};
|
|
142
112
|
}
|
|
143
113
|
return { "list-style-type": style };
|
|
144
114
|
}],
|
|
145
|
-
[
|
|
115
|
+
["list-outside", { "list-style-position": "outside" }],
|
|
116
|
+
["list-inside", { "list-style-position": "inside" }],
|
|
146
117
|
["list-none", { "list-style-type": "none" }]
|
|
147
118
|
];
|
|
148
|
-
const
|
|
149
|
-
[
|
|
150
|
-
["decoration-clone", { "box-decoration-break": "clone" }]
|
|
151
|
-
];
|
|
152
|
-
const accentOpacity = [
|
|
119
|
+
const accents = [
|
|
120
|
+
[/^accent-(.+)$/, colorResolver("accent-color", "accent")],
|
|
153
121
|
[/^accent-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-accent-opacity": handler.bracket.percent(d) })]
|
|
154
122
|
];
|
|
155
|
-
const
|
|
156
|
-
[/^
|
|
157
|
-
];
|
|
158
|
-
const caretOpacity = [
|
|
123
|
+
const carets = [
|
|
124
|
+
[/^caret-(.+)$/, colorResolver("caret-color", "caret")],
|
|
159
125
|
[/^caret-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-caret-opacity": handler.bracket.percent(d) })]
|
|
160
126
|
];
|
|
161
|
-
const caretColors = [
|
|
162
|
-
[/^caret-(.+)$/, colorResolver("caret-color", "caret")]
|
|
163
|
-
];
|
|
164
127
|
const imageRenderings = [
|
|
165
128
|
["image-render-auto", { "image-rendering": "auto" }],
|
|
166
129
|
["image-render-edge", { "image-rendering": "crisp-edges" }],
|
|
@@ -172,18 +135,15 @@ const imageRenderings = [
|
|
|
172
135
|
["image-rendering", "pixelated"]
|
|
173
136
|
]]
|
|
174
137
|
];
|
|
175
|
-
const overflowValues = [
|
|
176
|
-
"auto",
|
|
177
|
-
"hidden",
|
|
178
|
-
"visible",
|
|
179
|
-
"scroll",
|
|
180
|
-
"contain"
|
|
181
|
-
];
|
|
182
138
|
const overscrolls = [
|
|
183
|
-
[
|
|
139
|
+
["overscroll-auto", { "overscroll-behavior": "auto" }],
|
|
140
|
+
["overscroll-contain", { "overscroll-behavior": "contain" }],
|
|
184
141
|
["overscroll-none", { "overscroll-behavior": "none" }],
|
|
185
|
-
[
|
|
142
|
+
["overscroll-x-auto", { "overscroll-behavior-x": "auto" }],
|
|
143
|
+
["overscroll-x-contain", { "overscroll-behavior-x": "contain" }],
|
|
186
144
|
["overscroll-x-none", { "overscroll-behavior-x": "none" }],
|
|
145
|
+
["overscroll-y-auto", { "overscroll-behavior-y": "auto" }],
|
|
146
|
+
["overscroll-y-contain", { "overscroll-behavior-y": "contain" }],
|
|
187
147
|
["overscroll-y-none", { "overscroll-behavior-y": "none" }]
|
|
188
148
|
];
|
|
189
149
|
const scrollBehaviors = [
|
|
@@ -249,21 +209,21 @@ const containerShortcuts = [
|
|
|
249
209
|
}]
|
|
250
210
|
];
|
|
251
211
|
|
|
252
|
-
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)
|
|
212
|
+
const filterContnet = "var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)";
|
|
253
213
|
const filterBase = {
|
|
254
214
|
"--un-blur": varEmpty,
|
|
255
215
|
"--un-brightness": varEmpty,
|
|
256
216
|
"--un-contrast": varEmpty,
|
|
217
|
+
"--un-drop-shadow": varEmpty,
|
|
257
218
|
"--un-grayscale": varEmpty,
|
|
258
219
|
"--un-hue-rotate": varEmpty,
|
|
259
220
|
"--un-invert": varEmpty,
|
|
260
221
|
"--un-saturate": varEmpty,
|
|
261
222
|
"--un-sepia": varEmpty,
|
|
262
|
-
"--un-drop-shadow": varEmpty,
|
|
263
223
|
"filter": filterContnet,
|
|
264
224
|
[CONTROL_BYPASS_PSEUDO_CLASS]: ""
|
|
265
225
|
};
|
|
266
|
-
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)";
|
|
226
|
+
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-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)";
|
|
267
227
|
const backdropFilterBase = {
|
|
268
228
|
"--un-backdrop-blur": varEmpty,
|
|
269
229
|
"--un-backdrop-brightness": varEmpty,
|
|
@@ -271,19 +231,24 @@ const backdropFilterBase = {
|
|
|
271
231
|
"--un-backdrop-grayscale": varEmpty,
|
|
272
232
|
"--un-backdrop-hue-rotate": varEmpty,
|
|
273
233
|
"--un-backdrop-invert": varEmpty,
|
|
234
|
+
"--un-backdrop-opacity": varEmpty,
|
|
274
235
|
"--un-backdrop-saturate": varEmpty,
|
|
275
236
|
"--un-backdrop-sepia": varEmpty,
|
|
276
237
|
"-webkit-backdrop-filter": backdropFilterContent,
|
|
277
238
|
"backdrop-filter": backdropFilterContent,
|
|
278
239
|
[CONTROL_BYPASS_PSEUDO_CLASS]: ""
|
|
279
240
|
};
|
|
280
|
-
const percentWithDefault = (
|
|
281
|
-
|
|
282
|
-
|
|
241
|
+
const percentWithDefault = (str) => {
|
|
242
|
+
let v = handler.bracket(str || "");
|
|
243
|
+
if (v != null)
|
|
244
|
+
return v;
|
|
245
|
+
v = str ? handler.percent(str) : "1";
|
|
246
|
+
if (v != null && parseFloat(v) <= 1)
|
|
247
|
+
return v;
|
|
283
248
|
};
|
|
284
249
|
const toFilter = (varName, resolver) => ([, b, s], { theme }) => {
|
|
285
250
|
const value = resolver(s, theme);
|
|
286
|
-
if (value) {
|
|
251
|
+
if (value != null && value !== "") {
|
|
287
252
|
return [
|
|
288
253
|
b ? backdropFilterBase : filterBase,
|
|
289
254
|
{ [`--un-${b || ""}${varName}`]: `${varName}(${value})` }
|
|
@@ -294,49 +259,37 @@ const filters = [
|
|
|
294
259
|
["filter", filterBase],
|
|
295
260
|
["backdrop-filter", backdropFilterBase],
|
|
296
261
|
[/^(backdrop-)?blur(?:-(.+))?$/, toFilter("blur", (s, theme) => theme.blur?.[s || "DEFAULT"] || handler.bracket.px(s))],
|
|
297
|
-
[/^(backdrop-)?brightness-(
|
|
298
|
-
[/^(backdrop-)?contrast-(
|
|
262
|
+
[/^(backdrop-)?brightness-(.+)$/, toFilter("brightness", (s) => handler.bracket.percent(s))],
|
|
263
|
+
[/^(backdrop-)?contrast-(.+)$/, toFilter("contrast", (s) => handler.bracket.percent(s))],
|
|
299
264
|
[/^()?drop-shadow(?:-(.+))?$/, toFilter("drop-shadow", (s, theme) => {
|
|
300
|
-
|
|
301
|
-
if (v)
|
|
265
|
+
let v = theme.dropShadow?.[s || "DEFAULT"];
|
|
266
|
+
if (v != null)
|
|
302
267
|
return toArray(v).map((v2) => `drop-shadow(${v2})`).join(" ");
|
|
268
|
+
v = handler.bracket(s);
|
|
269
|
+
if (v != null)
|
|
270
|
+
return `drop-shadow(${v})`;
|
|
303
271
|
})],
|
|
304
|
-
[/^(backdrop-)?grayscale(?:-(
|
|
305
|
-
[/^(backdrop-)?hue-rotate-(
|
|
306
|
-
[/^(backdrop-)?invert(?:-(
|
|
307
|
-
[/^(backdrop-)
|
|
308
|
-
[/^(backdrop-)?
|
|
272
|
+
[/^(backdrop-)?grayscale(?:-(.+))?$/, toFilter("grayscale", percentWithDefault)],
|
|
273
|
+
[/^(backdrop-)?hue-rotate-(.+)$/, toFilter("hue-rotate", (s) => handler.bracket.degree(s))],
|
|
274
|
+
[/^(backdrop-)?invert(?:-(.+))?$/, toFilter("invert", percentWithDefault)],
|
|
275
|
+
[/^(backdrop-)opacity-(.+)$/, toFilter("opacity", (s) => handler.bracket.percent(s))],
|
|
276
|
+
[/^(backdrop-)?saturate-(.+)$/, toFilter("saturate", (s) => handler.bracket.percent(s))],
|
|
277
|
+
[/^(backdrop-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault)],
|
|
309
278
|
["filter-none", { filter: "none" }],
|
|
310
279
|
["backdrop-filter-none", {
|
|
311
280
|
"-webkit-backdrop-filter": "none",
|
|
312
281
|
"backdrop-filter": "none"
|
|
313
|
-
}]
|
|
314
|
-
]
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
["mix-blend-overlay", { "mix-blend-mode": "overlay" }],
|
|
320
|
-
["mix-blend-darken", { "mix-blend-mode": "darken" }],
|
|
321
|
-
["mix-blend-lighten", { "mix-blend-mode": "lighten" }],
|
|
322
|
-
["mix-blend-color-dodge", { "mix-blend-mode": "color-dodge" }],
|
|
323
|
-
["mix-blend-color-burn", { "mix-blend-mode": "color-burn" }],
|
|
324
|
-
["mix-blend-color-light", { "mix-blend-mode": "color-light" }],
|
|
325
|
-
["mix-blend-soft-light", { "mix-blend-mode": "soft-light" }],
|
|
326
|
-
["mix-blend-difference", { "mix-blend-mode": "difference" }],
|
|
327
|
-
["mix-blend-exclusion", { "mix-blend-mode": "exclusion" }],
|
|
328
|
-
["mix-blend-hue", { "mix-blend-mode": "hue" }],
|
|
329
|
-
["mix-blend-saturation", { "mix-blend-mode": "saturation" }],
|
|
330
|
-
["mix-blend-color", { "mix-blend-mode": "color" }],
|
|
331
|
-
["mix-blend-luminosity", { "mix-blend-mode": "luminosity" }],
|
|
332
|
-
["mix-blend-normal", { "mix-blend-mode": "normal" }]
|
|
282
|
+
}],
|
|
283
|
+
[/^(blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|saturate|sepia)-none$/, ([, s]) => ({ filter: `${s}(0)` })],
|
|
284
|
+
[/^backdrop-(blur|brightness|contrast|grayscale|hue-rotate|invert|opacity|saturate|sepia)-none$/, ([, s]) => ({
|
|
285
|
+
"-webkit-backdrop-filter": `${s}(0)`,
|
|
286
|
+
"backdrop-filter": `${s}(0)`
|
|
287
|
+
})]
|
|
333
288
|
];
|
|
334
289
|
|
|
335
290
|
const spaces = [
|
|
336
291
|
[/^space-?([xy])-?(-?.+)$/, (match) => {
|
|
337
|
-
const [, direction
|
|
338
|
-
if (size === "reverse")
|
|
339
|
-
return { [`--un-space-${direction}-reverse`]: 1 };
|
|
292
|
+
const [, direction] = match;
|
|
340
293
|
const results = directionSize("margin")(match)?.map((item) => {
|
|
341
294
|
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)))`;
|
|
342
295
|
return [item[0], value];
|
|
@@ -347,7 +300,8 @@ const spaces = [
|
|
|
347
300
|
...results
|
|
348
301
|
];
|
|
349
302
|
}
|
|
350
|
-
}]
|
|
303
|
+
}],
|
|
304
|
+
[/^space-?([xy])-reverse$/, ([, d]) => ({ [`--un-space-${d}-reverse`]: 1 })]
|
|
351
305
|
];
|
|
352
306
|
|
|
353
307
|
const textTransforms = [
|
|
@@ -414,7 +368,8 @@ const screenReadersAccess = [
|
|
|
414
368
|
];
|
|
415
369
|
const isolations = [
|
|
416
370
|
["isolate", { isolation: "isolate" }],
|
|
417
|
-
["isolate-auto", { isolation: "auto" }]
|
|
371
|
+
["isolate-auto", { isolation: "auto" }],
|
|
372
|
+
["isolation-auto", { isolation: "auto" }]
|
|
418
373
|
];
|
|
419
374
|
const objectPositions = [
|
|
420
375
|
["object-cover", { "object-fit": "cover" }],
|
|
@@ -422,17 +377,43 @@ const objectPositions = [
|
|
|
422
377
|
["object-fill", { "object-fit": "fill" }],
|
|
423
378
|
["object-scale-down", { "object-fit": "scale-down" }],
|
|
424
379
|
["object-none", { "object-fit": "none" }],
|
|
425
|
-
[
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
["
|
|
429
|
-
["
|
|
430
|
-
["
|
|
431
|
-
["
|
|
432
|
-
["
|
|
433
|
-
["
|
|
434
|
-
["
|
|
435
|
-
["
|
|
380
|
+
[/^object-([-\w]+)$/, ([, s]) => ({ "object-position": positionMap[s] })]
|
|
381
|
+
];
|
|
382
|
+
const backgroundBlendModes = [
|
|
383
|
+
["bg-blend-multiply", { "background-blend-mode": "multiply" }],
|
|
384
|
+
["bg-blend-screen", { "background-blend-mode": "screen" }],
|
|
385
|
+
["bg-blend-overlay", { "background-blend-mode": "overlay" }],
|
|
386
|
+
["bg-blend-darken", { "background-blend-mode": "darken" }],
|
|
387
|
+
["bg-blend-lighten", { "background-blend-mode": "lighten" }],
|
|
388
|
+
["bg-blend-color-dodge", { "background-blend-mode": "color-dodge" }],
|
|
389
|
+
["bg-blend-color-burn", { "background-blend-mode": "color-burn" }],
|
|
390
|
+
["bg-blend-hard-light", { "background-blend-mode": "hard-light" }],
|
|
391
|
+
["bg-blend-soft-light", { "background-blend-mode": "soft-light" }],
|
|
392
|
+
["bg-blend-difference", { "background-blend-mode": "difference" }],
|
|
393
|
+
["bg-blend-exclusion", { "background-blend-mode": "exclusion" }],
|
|
394
|
+
["bg-blend-hue", { "background-blend-mode": "hue" }],
|
|
395
|
+
["bg-blend-saturation", { "background-blend-mode": "saturation" }],
|
|
396
|
+
["bg-blend-color", { "background-blend-mode": "color" }],
|
|
397
|
+
["bg-blend-luminosity", { "background-blend-mode": "luminosity" }],
|
|
398
|
+
["bg-blend-normal", { "background-blend-mode": "normal" }]
|
|
399
|
+
];
|
|
400
|
+
const mixBlendModes = [
|
|
401
|
+
["mix-blend-multiply", { "mix-blend-mode": "multiply" }],
|
|
402
|
+
["mix-blend-screen", { "mix-blend-mode": "screen" }],
|
|
403
|
+
["mix-blend-overlay", { "mix-blend-mode": "overlay" }],
|
|
404
|
+
["mix-blend-darken", { "mix-blend-mode": "darken" }],
|
|
405
|
+
["mix-blend-lighten", { "mix-blend-mode": "lighten" }],
|
|
406
|
+
["mix-blend-color-dodge", { "mix-blend-mode": "color-dodge" }],
|
|
407
|
+
["mix-blend-color-burn", { "mix-blend-mode": "color-burn" }],
|
|
408
|
+
["mix-blend-hard-light", { "mix-blend-mode": "hard-light" }],
|
|
409
|
+
["mix-blend-soft-light", { "mix-blend-mode": "soft-light" }],
|
|
410
|
+
["mix-blend-difference", { "mix-blend-mode": "difference" }],
|
|
411
|
+
["mix-blend-exclusion", { "mix-blend-mode": "exclusion" }],
|
|
412
|
+
["mix-blend-hue", { "mix-blend-mode": "hue" }],
|
|
413
|
+
["mix-blend-saturation", { "mix-blend-mode": "saturation" }],
|
|
414
|
+
["mix-blend-color", { "mix-blend-mode": "color" }],
|
|
415
|
+
["mix-blend-luminosity", { "mix-blend-mode": "luminosity" }],
|
|
416
|
+
["mix-blend-normal", { "mix-blend-mode": "normal" }]
|
|
436
417
|
];
|
|
437
418
|
|
|
438
419
|
const tables = [
|
|
@@ -478,25 +459,19 @@ const cssVariables = [[
|
|
|
478
459
|
}
|
|
479
460
|
]];
|
|
480
461
|
|
|
481
|
-
const
|
|
482
|
-
[/^divide-(.+)$/, colorResolver("border-color", "divide")],
|
|
483
|
-
[/^divide-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-divide-opacity": handler.bracket.percent(opacity) })]
|
|
484
|
-
];
|
|
485
|
-
const divideSizes = [
|
|
462
|
+
const divides = [
|
|
486
463
|
[/^divide-?([xy])$/, handlerDivide],
|
|
487
464
|
[/^divide-?([xy])-?(-?.+)$/, handlerDivide],
|
|
488
|
-
[/^divide-?([xy])-reverse$/, ([, d]) => [
|
|
489
|
-
]
|
|
490
|
-
|
|
465
|
+
[/^divide-?([xy])-reverse$/, ([, d]) => ({ [`--un-divide-${d}-reverse`]: 1 })],
|
|
466
|
+
[/^divide-(.+)$/, colorResolver("border-color", "divide")],
|
|
467
|
+
[/^divide-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-divide-opacity": handler.bracket.percent(opacity) })],
|
|
491
468
|
["divide-solid", { "border-style": "solid" }],
|
|
492
469
|
["divide-dashed", { "border-style": "dashed" }],
|
|
493
470
|
["divide-dotted", { "border-style": "dotted" }],
|
|
494
471
|
["divide-double", { "border-style": "double" }],
|
|
495
472
|
["divide-none", { "border-style": "none" }]
|
|
496
473
|
];
|
|
497
|
-
|
|
498
|
-
function handlerDivide([, a, b]) {
|
|
499
|
-
const [d, s = "1"] = directionMap[a] ? [a, b] : ["", a];
|
|
474
|
+
function handlerDivide([, d, s = "1"]) {
|
|
500
475
|
const v = handler.bracket.px(s);
|
|
501
476
|
if (v != null) {
|
|
502
477
|
const results = directionMap[d].map((item) => {
|
|
@@ -579,7 +554,7 @@ const touchActions = [
|
|
|
579
554
|
];
|
|
580
555
|
|
|
581
556
|
const scrolls = [
|
|
582
|
-
[/^snap-(x|y|
|
|
557
|
+
[/^snap-(x|y|both)$/, ([, d]) => [
|
|
583
558
|
{
|
|
584
559
|
"--un-scroll-snap-strictness": "proximity",
|
|
585
560
|
[CONTROL_BYPASS_PSEUDO_CLASS]: ""
|
|
@@ -605,6 +580,11 @@ const scrolls = [
|
|
|
605
580
|
[/^scroll-p-?([rltb])-?(-?.+)$/, directionSize("scroll-padding")]
|
|
606
581
|
];
|
|
607
582
|
|
|
583
|
+
const placeholders = [
|
|
584
|
+
[/^\$-placeholder-(.+)$/, colorResolver("color", "placeholder")],
|
|
585
|
+
[/^\$-placeholder-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-placeholder-opacity": handler.bracket.percent.cssvar(opacity) })]
|
|
586
|
+
];
|
|
587
|
+
|
|
608
588
|
const rules = [
|
|
609
589
|
cssVariables$1,
|
|
610
590
|
cssVariables,
|
|
@@ -651,7 +631,6 @@ const rules = [
|
|
|
651
631
|
breaks,
|
|
652
632
|
borders,
|
|
653
633
|
bgColors,
|
|
654
|
-
boxDecorationBreaks,
|
|
655
634
|
backgroundStyles,
|
|
656
635
|
svgUtilities,
|
|
657
636
|
objectPositions,
|
|
@@ -672,11 +651,10 @@ const rules = [
|
|
|
672
651
|
hyphens,
|
|
673
652
|
writingModes,
|
|
674
653
|
writingOrientations,
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
accentColors,
|
|
678
|
-
accentOpacity,
|
|
654
|
+
carets,
|
|
655
|
+
accents,
|
|
679
656
|
opacity,
|
|
657
|
+
backgroundBlendModes,
|
|
680
658
|
mixBlendModes,
|
|
681
659
|
boxShadows,
|
|
682
660
|
outline,
|
|
@@ -686,6 +664,7 @@ const rules = [
|
|
|
686
664
|
transitions,
|
|
687
665
|
willChange,
|
|
688
666
|
contents,
|
|
667
|
+
placeholders,
|
|
689
668
|
questionMark
|
|
690
669
|
].flat(1);
|
|
691
670
|
|
|
@@ -850,13 +829,37 @@ const variantColorsScheme = [
|
|
|
850
829
|
variantParentMatcher("@light", "@media (prefers-color-scheme: light)")
|
|
851
830
|
];
|
|
852
831
|
|
|
853
|
-
const
|
|
832
|
+
const variantSpaceAndDivide = (matcher) => {
|
|
833
|
+
if (/^space-?([xy])-?(-?.+)$/.test(matcher) || /^divide-/.test(matcher)) {
|
|
834
|
+
return {
|
|
835
|
+
matcher,
|
|
836
|
+
selector: (input) => {
|
|
837
|
+
return `${input}>:not([hidden])~:not([hidden])`;
|
|
838
|
+
}
|
|
839
|
+
};
|
|
840
|
+
}
|
|
841
|
+
};
|
|
854
842
|
|
|
855
|
-
const
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
843
|
+
const placeholderModifier = (input, { theme }) => {
|
|
844
|
+
const m = input.match(/^(.*)\b(placeholder-)(.+?)$/);
|
|
845
|
+
if (m) {
|
|
846
|
+
const [, pre = "", p, body] = m;
|
|
847
|
+
if (hasColorValue(body, theme) || hasOpacityValue(body)) {
|
|
848
|
+
return {
|
|
849
|
+
matcher: `${pre}${p}$-placeholder-${body}`
|
|
850
|
+
};
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
};
|
|
854
|
+
function hasColorValue(body, theme) {
|
|
855
|
+
return !!parseColor(body, theme)?.color;
|
|
856
|
+
}
|
|
857
|
+
function hasOpacityValue(body) {
|
|
858
|
+
const match = body.match(/^op(?:acity)?-?(.+)$/);
|
|
859
|
+
if (match && match[1] != null)
|
|
860
|
+
return handler.bracket.percent.cssvar(match[1]) != null;
|
|
861
|
+
return false;
|
|
862
|
+
}
|
|
860
863
|
|
|
861
864
|
const presetWind = (options = {}) => {
|
|
862
865
|
options.dark = options.dark ?? "class";
|
|
@@ -868,7 +871,12 @@ const presetWind = (options = {}) => {
|
|
|
868
871
|
shortcuts: [
|
|
869
872
|
...containerShortcuts
|
|
870
873
|
],
|
|
871
|
-
variants
|
|
874
|
+
variants: [
|
|
875
|
+
placeholderModifier,
|
|
876
|
+
variantSpaceAndDivide,
|
|
877
|
+
...variants(options),
|
|
878
|
+
...variantColorsScheme
|
|
879
|
+
],
|
|
872
880
|
options
|
|
873
881
|
};
|
|
874
882
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unocss/preset-wind",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.2",
|
|
4
4
|
"description": "Tailwind / Windi CSS compact preset for UnoCSS",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"unocss",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"*.css"
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@unocss/core": "0.
|
|
39
|
-
"@unocss/preset-mini": "0.
|
|
38
|
+
"@unocss/core": "0.21.2",
|
|
39
|
+
"@unocss/preset-mini": "0.21.2"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"build": "unbuild",
|