@unocss/preset-wind 0.58.9 → 0.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs DELETED
@@ -1,1317 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const core = require('@unocss/core');
6
- const presetMini = require('@unocss/preset-mini');
7
- const utils = require('@unocss/preset-mini/utils');
8
- const _ = require('@unocss/preset-mini/rules');
9
- const theme$1 = require('@unocss/preset-mini/theme');
10
- const ruleUtils = require('@unocss/rule-utils');
11
- const variants$1 = require('@unocss/preset-mini/variants');
12
-
13
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
14
-
15
- function _interopNamespaceCompat(e) {
16
- if (e && typeof e === 'object' && 'default' in e) return e;
17
- const n = Object.create(null);
18
- if (e) {
19
- for (const k in e) {
20
- n[k] = e[k];
21
- }
22
- }
23
- n.default = e;
24
- return n;
25
- }
26
-
27
- const presetMini__default = /*#__PURE__*/_interopDefaultCompat(presetMini);
28
- const ___namespace = /*#__PURE__*/_interopNamespaceCompat(_);
29
-
30
- const animations = [
31
- [/^(?:animate-)?keyframes-(.+)$/, ([, name], { theme }) => {
32
- const kf = theme.animation?.keyframes?.[name];
33
- if (kf) {
34
- return [
35
- `@keyframes ${name}${kf}`,
36
- { animation: name }
37
- ];
38
- }
39
- }, { autocomplete: ["animate-keyframes-$animation.keyframes", "keyframes-$animation.keyframes"] }],
40
- [/^animate-(.+)$/, ([, name], { theme }) => {
41
- const kf = theme.animation?.keyframes?.[name];
42
- if (kf) {
43
- const duration = theme.animation?.durations?.[name] ?? "1s";
44
- const timing = theme.animation?.timingFns?.[name] ?? "linear";
45
- const count = theme.animation?.counts?.[name] ?? 1;
46
- const props = theme.animation?.properties?.[name];
47
- return [
48
- `@keyframes ${name}${kf}`,
49
- {
50
- animation: `${name} ${duration} ${timing} ${count}`,
51
- ...props
52
- }
53
- ];
54
- }
55
- return { animation: utils.h.bracket.cssvar(name) };
56
- }, { autocomplete: "animate-$animation.keyframes" }],
57
- [/^animate-name-(.+)/, ([, d]) => ({ "animation-name": utils.h.bracket.cssvar(d) ?? d })],
58
- // timings
59
- [/^animate-duration-(.+)$/, ([, d], { theme }) => ({ "animation-duration": theme.duration?.[d || "DEFAULT"] ?? utils.h.bracket.cssvar.time(d) }), { autocomplete: ["animate-duration", "animate-duration-$duration"] }],
60
- [/^animate-delay-(.+)$/, ([, d], { theme }) => ({ "animation-delay": theme.duration?.[d || "DEFAULT"] ?? utils.h.bracket.cssvar.time(d) }), { autocomplete: ["animate-delay", "animate-delay-$duration"] }],
61
- [/^animate-ease(?:-(.+))?$/, ([, d], { theme }) => ({ "animation-timing-function": theme.easing?.[d || "DEFAULT"] ?? utils.h.bracket.cssvar(d) }), { autocomplete: ["animate-ease", "animate-ease-$easing"] }],
62
- // fill mode
63
- [/^animate-(fill-mode-|fill-|mode-)?(.+)$/, ([, t, d]) => ["none", "forwards", "backwards", "both", ...[t ? utils.globalKeywords : []]].includes(d) ? { "animation-fill-mode": d } : void 0, {
64
- autocomplete: [
65
- "animate-(fill|mode|fill-mode)",
66
- "animate-(fill|mode|fill-mode)-(none|forwards|backwards|both|inherit|initial|revert|revert-layer|unset)",
67
- "animate-(none|forwards|backwards|both|inherit|initial|revert|revert-layer|unset)"
68
- ]
69
- }],
70
- // direction
71
- [/^animate-(direction-)?(.+)$/, ([, t, d]) => ["normal", "reverse", "alternate", "alternate-reverse", ...[t ? utils.globalKeywords : []]].includes(d) ? { "animation-direction": d } : void 0, {
72
- autocomplete: [
73
- "animate-direction",
74
- "animate-direction-(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|revert-layer|unset)",
75
- "animate-(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|revert-layer|unset)"
76
- ]
77
- }],
78
- // others
79
- [/^animate-(?:iteration-count-|iteration-|count-)(.+)$/, ([, d]) => ({ "animation-iteration-count": utils.h.bracket.cssvar(d) ?? d.replace(/\-/g, ",") }), { autocomplete: ["animate-(iteration|count|iteration-count)", "animate-(iteration|count|iteration-count)-<num>"] }],
80
- [/^animate-(play-state-|play-|state-)?(.+)$/, ([, t, d]) => ["paused", "running", ...[t ? utils.globalKeywords : []]].includes(d) ? { "animation-play-state": d } : void 0, {
81
- autocomplete: [
82
- "animate-(play|state|play-state)",
83
- "animate-(play|state|play-state)-(paused|running|inherit|initial|revert|revert-layer|unset)",
84
- "animate-(paused|running|inherit|initial|revert|revert-layer|unset)"
85
- ]
86
- }],
87
- ["animate-none", { animation: "none" }],
88
- ...utils.makeGlobalStaticRules("animate", "animation")
89
- ];
90
-
91
- function bgGradientToValue(cssColor) {
92
- if (cssColor)
93
- return ruleUtils.colorToString(cssColor, 0);
94
- return "rgb(255 255 255 / 0)";
95
- }
96
- function bgGradientColorValue(mode, cssColor, color, alpha) {
97
- if (cssColor) {
98
- if (alpha != null)
99
- return ruleUtils.colorToString(cssColor, alpha);
100
- else
101
- return ruleUtils.colorToString(cssColor, `var(--un-${mode}-opacity, ${ruleUtils.colorOpacityToString(cssColor)})`);
102
- }
103
- return ruleUtils.colorToString(color, alpha);
104
- }
105
- function bgGradientColorResolver() {
106
- return ([, mode, body], { theme }) => {
107
- const data = utils.parseColor(body, theme, "backgroundColor");
108
- if (!data)
109
- return;
110
- const { alpha, color, cssColor } = data;
111
- if (!color)
112
- return;
113
- const colorString = bgGradientColorValue(mode, cssColor, color, alpha);
114
- switch (mode) {
115
- case "from":
116
- return {
117
- "--un-gradient-from-position": "0%",
118
- "--un-gradient-from": `${colorString} var(--un-gradient-from-position)`,
119
- "--un-gradient-to-position": "100%",
120
- "--un-gradient-to": `${bgGradientToValue(cssColor)} var(--un-gradient-to-position)`,
121
- "--un-gradient-stops": "var(--un-gradient-from), var(--un-gradient-to)"
122
- };
123
- case "via":
124
- return {
125
- "--un-gradient-via-position": "50%",
126
- "--un-gradient-to": bgGradientToValue(cssColor),
127
- "--un-gradient-stops": `var(--un-gradient-from), ${colorString} var(--un-gradient-via-position), var(--un-gradient-to)`
128
- };
129
- case "to":
130
- return {
131
- "--un-gradient-to-position": "100%",
132
- "--un-gradient-to": `${colorString} var(--un-gradient-to-position)`
133
- };
134
- }
135
- };
136
- }
137
- function bgGradientPositionResolver() {
138
- return ([, mode, body]) => {
139
- return {
140
- [`--un-gradient-${mode}-position`]: `${Number(utils.h.bracket.cssvar.percent(body)) * 100}%`
141
- };
142
- };
143
- }
144
- const backgroundStyles = [
145
- // gradients
146
- [/^bg-gradient-(.+)$/, ([, d]) => ({ "--un-gradient": utils.h.bracket(d) }), {
147
- autocomplete: ["bg-gradient", "bg-gradient-(from|to|via)", "bg-gradient-(from|to|via)-$colors", "bg-gradient-(from|to|via)-(op|opacity)", "bg-gradient-(from|to|via)-(op|opacity)-<percent>"]
148
- }],
149
- [/^(?:bg-gradient-)?stops-(\[.+\])$/, ([, s]) => ({ "--un-gradient-stops": utils.h.bracket(s) })],
150
- [/^(?:bg-gradient-)?(from)-(.+)$/, bgGradientColorResolver()],
151
- [/^(?:bg-gradient-)?(via)-(.+)$/, bgGradientColorResolver()],
152
- [/^(?:bg-gradient-)?(to)-(.+)$/, bgGradientColorResolver()],
153
- [/^(?:bg-gradient-)?(from|via|to)-op(?:acity)?-?(.+)$/, ([, position, opacity]) => ({ [`--un-${position}-opacity`]: utils.h.bracket.percent(opacity) })],
154
- [/^(from|via|to)-([\d\.]+)%$/, bgGradientPositionResolver()],
155
- // images
156
- [/^bg-gradient-((?:repeating-)?(?:linear|radial|conic))$/, ([, s]) => ({
157
- "background-image": `${s}-gradient(var(--un-gradient, var(--un-gradient-stops, rgb(255 255 255 / 0))))`
158
- }), { autocomplete: ["bg-gradient-repeating", "bg-gradient-(linear|radial|conic)", "bg-gradient-repeating-(linear|radial|conic)"] }],
159
- // ignore any center position
160
- [/^bg-gradient-to-([rltb]{1,2})$/, ([, d]) => {
161
- if (d in utils.positionMap) {
162
- return {
163
- "--un-gradient-shape": `to ${utils.positionMap[d]}`,
164
- "--un-gradient": "var(--un-gradient-shape), var(--un-gradient-stops)",
165
- "background-image": "linear-gradient(var(--un-gradient))"
166
- };
167
- }
168
- }, { autocomplete: `bg-gradient-to-(${Object.keys(utils.positionMap).filter((k) => k.length <= 2 && Array.from(k).every((c) => "rltb".includes(c))).join("|")})` }],
169
- [/^(?:bg-gradient-)?shape-(.+)$/, ([, d]) => {
170
- const v = d in utils.positionMap ? `to ${utils.positionMap[d]}` : utils.h.bracket(d);
171
- if (v != null) {
172
- return {
173
- "--un-gradient-shape": v,
174
- "--un-gradient": "var(--un-gradient-shape), var(--un-gradient-stops)"
175
- };
176
- }
177
- }, { autocomplete: ["bg-gradient-shape", `bg-gradient-shape-(${Object.keys(utils.positionMap).join("|")})`, `shape-(${Object.keys(utils.positionMap).join("|")})`] }],
178
- ["bg-none", { "background-image": "none" }],
179
- ["box-decoration-slice", { "box-decoration-break": "slice" }],
180
- ["box-decoration-clone", { "box-decoration-break": "clone" }],
181
- ...utils.makeGlobalStaticRules("box-decoration", "box-decoration-break"),
182
- // size
183
- ["bg-auto", { "background-size": "auto" }],
184
- ["bg-cover", { "background-size": "cover" }],
185
- ["bg-contain", { "background-size": "contain" }],
186
- // attachments
187
- ["bg-fixed", { "background-attachment": "fixed" }],
188
- ["bg-local", { "background-attachment": "local" }],
189
- ["bg-scroll", { "background-attachment": "scroll" }],
190
- // clips
191
- ["bg-clip-border", { "-webkit-background-clip": "border-box", "background-clip": "border-box" }],
192
- ["bg-clip-content", { "-webkit-background-clip": "content-box", "background-clip": "content-box" }],
193
- ["bg-clip-padding", { "-webkit-background-clip": "padding-box", "background-clip": "padding-box" }],
194
- ["bg-clip-text", { "-webkit-background-clip": "text", "background-clip": "text" }],
195
- ...utils.globalKeywords.map((keyword) => [`bg-clip-${keyword}`, {
196
- "-webkit-background-clip": keyword,
197
- "background-clip": keyword
198
- }]),
199
- // positions
200
- // skip 1 & 2 letters shortcut
201
- [/^bg-([-\w]{3,})$/, ([, s]) => ({ "background-position": utils.positionMap[s] })],
202
- // repeats
203
- ["bg-repeat", { "background-repeat": "repeat" }],
204
- ["bg-no-repeat", { "background-repeat": "no-repeat" }],
205
- ["bg-repeat-x", { "background-repeat": "repeat-x" }],
206
- ["bg-repeat-y", { "background-repeat": "repeat-y" }],
207
- ["bg-repeat-round", { "background-repeat": "round" }],
208
- ["bg-repeat-space", { "background-repeat": "space" }],
209
- ...utils.makeGlobalStaticRules("bg-repeat", "background-repeat"),
210
- // origins
211
- ["bg-origin-border", { "background-origin": "border-box" }],
212
- ["bg-origin-padding", { "background-origin": "padding-box" }],
213
- ["bg-origin-content", { "background-origin": "content-box" }],
214
- ...utils.makeGlobalStaticRules("bg-origin", "background-origin")
215
- ];
216
-
217
- const listStyles = {
218
- "disc": "disc",
219
- "circle": "circle",
220
- "square": "square",
221
- "decimal": "decimal",
222
- "zero-decimal": "decimal-leading-zero",
223
- "greek": "lower-greek",
224
- "roman": "lower-roman",
225
- "upper-roman": "upper-roman",
226
- "alpha": "lower-alpha",
227
- "upper-alpha": "upper-alpha",
228
- "latin": "lower-latin",
229
- "upper-latin": "upper-latin"
230
- };
231
- const listStyle = [
232
- // base
233
- [/^list-(.+?)(?:-(outside|inside))?$/, ([, alias, position]) => {
234
- const style = listStyles[alias];
235
- if (style) {
236
- if (position) {
237
- return {
238
- "list-style-position": position,
239
- "list-style-type": style
240
- };
241
- }
242
- return { "list-style-type": style };
243
- }
244
- }, { autocomplete: [`list-(${Object.keys(listStyles).join("|")})`, `list-(${Object.keys(listStyles).join("|")})-(outside|inside)`] }],
245
- // styles
246
- ["list-outside", { "list-style-position": "outside" }],
247
- ["list-inside", { "list-style-position": "inside" }],
248
- ["list-none", { "list-style-type": "none" }],
249
- // image
250
- [/^list-image-(.+)$/, ([, d]) => {
251
- if (/^\[url\(.+\)\]$/.test(d))
252
- return { "list-style-image": utils.h.bracket(d) };
253
- }],
254
- ["list-image-none", { "list-style-image": "none" }],
255
- ...utils.makeGlobalStaticRules("list", "list-style-type")
256
- ];
257
- const accents = [
258
- [/^accent-(.+)$/, utils.colorResolver("accent-color", "accent", "accentColor"), { autocomplete: "accent-$colors" }],
259
- [/^accent-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-accent-opacity": utils.h.bracket.percent(d) }), { autocomplete: ["accent-(op|opacity)", "accent-(op|opacity)-<percent>"] }]
260
- ];
261
- const carets = [
262
- [/^caret-(.+)$/, utils.colorResolver("caret-color", "caret", "textColor"), { autocomplete: "caret-$colors" }],
263
- [/^caret-op(?:acity)?-?(.+)$/, ([, d]) => ({ "--un-caret-opacity": utils.h.bracket.percent(d) }), { autocomplete: ["caret-(op|opacity)", "caret-(op|opacity)-<percent>"] }]
264
- ];
265
- const imageRenderings = [
266
- ["image-render-auto", { "image-rendering": "auto" }],
267
- ["image-render-edge", { "image-rendering": "crisp-edges" }],
268
- ["image-render-pixel", [
269
- ["-ms-interpolation-mode", "nearest-neighbor"],
270
- ["image-rendering", "-webkit-optimize-contrast"],
271
- ["image-rendering", "-moz-crisp-edges"],
272
- ["image-rendering", "-o-pixelated"],
273
- ["image-rendering", "pixelated"]
274
- ]]
275
- ];
276
- const overscrolls = [
277
- ["overscroll-auto", { "overscroll-behavior": "auto" }],
278
- ["overscroll-contain", { "overscroll-behavior": "contain" }],
279
- ["overscroll-none", { "overscroll-behavior": "none" }],
280
- ...utils.makeGlobalStaticRules("overscroll", "overscroll-behavior"),
281
- ["overscroll-x-auto", { "overscroll-behavior-x": "auto" }],
282
- ["overscroll-x-contain", { "overscroll-behavior-x": "contain" }],
283
- ["overscroll-x-none", { "overscroll-behavior-x": "none" }],
284
- ...utils.makeGlobalStaticRules("overscroll-x", "overscroll-behavior-x"),
285
- ["overscroll-y-auto", { "overscroll-behavior-y": "auto" }],
286
- ["overscroll-y-contain", { "overscroll-behavior-y": "contain" }],
287
- ["overscroll-y-none", { "overscroll-behavior-y": "none" }],
288
- ...utils.makeGlobalStaticRules("overscroll-y", "overscroll-behavior-y")
289
- ];
290
- const scrollBehaviors = [
291
- ["scroll-auto", { "scroll-behavior": "auto" }],
292
- ["scroll-smooth", { "scroll-behavior": "smooth" }],
293
- ...utils.makeGlobalStaticRules("scroll", "scroll-behavior")
294
- ];
295
-
296
- const columns = [
297
- [/^columns-(.+)$/, ([, v]) => ({ columns: utils.h.bracket.global.number.auto.numberWithUnit(v) }), { autocomplete: "columns-<num>" }],
298
- // break before
299
- ["break-before-auto", { "break-before": "auto" }],
300
- ["break-before-avoid", { "break-before": "avoid" }],
301
- ["break-before-all", { "break-before": "all" }],
302
- ["break-before-avoid-page", { "break-before": "avoid-page" }],
303
- ["break-before-page", { "break-before": "page" }],
304
- ["break-before-left", { "break-before": "left" }],
305
- ["break-before-right", { "break-before": "right" }],
306
- ["break-before-column", { "break-before": "column" }],
307
- ...utils.makeGlobalStaticRules("break-before"),
308
- // break inside
309
- ["break-inside-auto", { "break-inside": "auto" }],
310
- ["break-inside-avoid", { "break-inside": "avoid" }],
311
- ["break-inside-avoid-page", { "break-inside": "avoid-page" }],
312
- ["break-inside-avoid-column", { "break-inside": "avoid-column" }],
313
- ...utils.makeGlobalStaticRules("break-inside"),
314
- // break after
315
- ["break-after-auto", { "break-after": "auto" }],
316
- ["break-after-avoid", { "break-after": "avoid" }],
317
- ["break-after-all", { "break-after": "all" }],
318
- ["break-after-avoid-page", { "break-after": "avoid-page" }],
319
- ["break-after-page", { "break-after": "page" }],
320
- ["break-after-left", { "break-after": "left" }],
321
- ["break-after-right", { "break-after": "right" }],
322
- ["break-after-column", { "break-after": "column" }],
323
- ...utils.makeGlobalStaticRules("break-after")
324
- ];
325
-
326
- const queryMatcher = /@media \(min-width: (.+)\)/;
327
- const container = [
328
- [
329
- /^__container$/,
330
- (m, context) => {
331
- const { theme, variantHandlers } = context;
332
- const themePadding = theme.container?.padding;
333
- let padding;
334
- if (core.isString(themePadding))
335
- padding = themePadding;
336
- else
337
- padding = themePadding?.DEFAULT;
338
- const themeMaxWidth = theme.container?.maxWidth;
339
- let maxWidth;
340
- for (const v of variantHandlers) {
341
- const query = v.handle?.({}, (x) => x)?.parent;
342
- if (core.isString(query)) {
343
- const match = query.match(queryMatcher)?.[1];
344
- if (match) {
345
- const bp = utils.resolveBreakpoints(context) ?? [];
346
- const matchBp = bp.find((i) => i.size === match)?.point;
347
- if (!themeMaxWidth)
348
- maxWidth = match;
349
- else if (matchBp)
350
- maxWidth = themeMaxWidth?.[matchBp];
351
- if (matchBp && !core.isString(themePadding))
352
- padding = themePadding?.[matchBp] ?? padding;
353
- }
354
- }
355
- }
356
- const css = {
357
- "max-width": maxWidth
358
- };
359
- if (!variantHandlers.length)
360
- css.width = "100%";
361
- if (theme.container?.center) {
362
- css["margin-left"] = "auto";
363
- css["margin-right"] = "auto";
364
- }
365
- if (themePadding) {
366
- css["padding-left"] = padding;
367
- css["padding-right"] = padding;
368
- }
369
- return css;
370
- },
371
- { internal: true }
372
- ]
373
- ];
374
- const containerShortcuts = [
375
- [/^(?:(\w+)[:-])?container$/, ([, bp], context) => {
376
- let points = (utils.resolveBreakpoints(context) ?? []).map((i) => i.point);
377
- if (bp) {
378
- if (!points.includes(bp))
379
- return;
380
- points = points.slice(points.indexOf(bp));
381
- }
382
- const shortcuts = points.map((p) => `${p}:__container`);
383
- if (!bp)
384
- shortcuts.unshift("__container");
385
- return shortcuts;
386
- }]
387
- ];
388
-
389
- const filterBase = {
390
- "--un-blur": _.varEmpty,
391
- "--un-brightness": _.varEmpty,
392
- "--un-contrast": _.varEmpty,
393
- "--un-drop-shadow": _.varEmpty,
394
- "--un-grayscale": _.varEmpty,
395
- "--un-hue-rotate": _.varEmpty,
396
- "--un-invert": _.varEmpty,
397
- "--un-saturate": _.varEmpty,
398
- "--un-sepia": _.varEmpty
399
- };
400
- const filterProperty = "var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)";
401
- const backdropFilterBase = {
402
- "--un-backdrop-blur": _.varEmpty,
403
- "--un-backdrop-brightness": _.varEmpty,
404
- "--un-backdrop-contrast": _.varEmpty,
405
- "--un-backdrop-grayscale": _.varEmpty,
406
- "--un-backdrop-hue-rotate": _.varEmpty,
407
- "--un-backdrop-invert": _.varEmpty,
408
- "--un-backdrop-opacity": _.varEmpty,
409
- "--un-backdrop-saturate": _.varEmpty,
410
- "--un-backdrop-sepia": _.varEmpty
411
- };
412
- const backdropFilterProperty = "var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)";
413
- function percentWithDefault(str) {
414
- let v = utils.h.bracket.cssvar(str || "");
415
- if (v != null)
416
- return v;
417
- v = str ? utils.h.percent(str) : "1";
418
- if (v != null && Number.parseFloat(v) <= 1)
419
- return v;
420
- }
421
- function toFilter(varName, resolver) {
422
- return ([, b, s], { theme }) => {
423
- const value = resolver(s, theme) ?? (s === "none" ? "0" : "");
424
- if (value !== "") {
425
- if (b) {
426
- return {
427
- [`--un-${b}${varName}`]: `${varName}(${value})`,
428
- "-webkit-backdrop-filter": backdropFilterProperty,
429
- "backdrop-filter": backdropFilterProperty
430
- };
431
- } else {
432
- return {
433
- [`--un-${varName}`]: `${varName}(${value})`,
434
- filter: filterProperty
435
- };
436
- }
437
- }
438
- };
439
- }
440
- function dropShadowResolver([, s], { theme }) {
441
- let v = theme.dropShadow?.[s || "DEFAULT"];
442
- if (v != null) {
443
- const shadows = utils.colorableShadows(v, "--un-drop-shadow-color");
444
- return {
445
- "--un-drop-shadow": `drop-shadow(${shadows.join(") drop-shadow(")})`,
446
- "filter": filterProperty
447
- };
448
- }
449
- v = utils.h.bracket.cssvar(s);
450
- if (v != null) {
451
- return {
452
- "--un-drop-shadow": `drop-shadow(${v})`,
453
- "filter": filterProperty
454
- };
455
- }
456
- }
457
- const filters = [
458
- // filters
459
- [/^(?:(backdrop-)|filter-)?blur(?:-(.+))?$/, toFilter("blur", (s, theme) => theme.blur?.[s || "DEFAULT"] || utils.h.bracket.cssvar.px(s)), { autocomplete: ["(backdrop|filter)-blur-$blur", "blur-$blur", "filter-blur"] }],
460
- [/^(?:(backdrop-)|filter-)?brightness-(.+)$/, toFilter("brightness", (s) => utils.h.bracket.cssvar.percent(s)), { autocomplete: ["(backdrop|filter)-brightness-<percent>", "brightness-<percent>"] }],
461
- [/^(?:(backdrop-)|filter-)?contrast-(.+)$/, toFilter("contrast", (s) => utils.h.bracket.cssvar.percent(s)), { autocomplete: ["(backdrop|filter)-contrast-<percent>", "contrast-<percent>"] }],
462
- // drop-shadow only on filter
463
- [/^(?:filter-)?drop-shadow(?:-(.+))?$/, dropShadowResolver, {
464
- autocomplete: [
465
- "filter-drop",
466
- "filter-drop-shadow",
467
- "filter-drop-shadow-color",
468
- "drop-shadow",
469
- "drop-shadow-color",
470
- "filter-drop-shadow-$dropShadow",
471
- "drop-shadow-$dropShadow",
472
- "filter-drop-shadow-color-$colors",
473
- "drop-shadow-color-$colors",
474
- "filter-drop-shadow-color-(op|opacity)",
475
- "drop-shadow-color-(op|opacity)",
476
- "filter-drop-shadow-color-(op|opacity)-<percent>",
477
- "drop-shadow-color-(op|opacity)-<percent>"
478
- ]
479
- }],
480
- [/^(?:filter-)?drop-shadow-color-(.+)$/, utils.colorResolver("--un-drop-shadow-color", "drop-shadow", "shadowColor")],
481
- [/^(?:filter-)?drop-shadow-color-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-drop-shadow-opacity": utils.h.bracket.percent(opacity) })],
482
- [/^(?:(backdrop-)|filter-)?grayscale(?:-(.+))?$/, toFilter("grayscale", percentWithDefault), { autocomplete: ["(backdrop|filter)-grayscale", "(backdrop|filter)-grayscale-<percent>", "grayscale-<percent>"] }],
483
- [/^(?:(backdrop-)|filter-)?hue-rotate-(.+)$/, toFilter("hue-rotate", (s) => utils.h.bracket.cssvar.degree(s))],
484
- [/^(?:(backdrop-)|filter-)?invert(?:-(.+))?$/, toFilter("invert", percentWithDefault), { autocomplete: ["(backdrop|filter)-invert", "(backdrop|filter)-invert-<percent>", "invert-<percent>"] }],
485
- // opacity only on backdrop-filter
486
- [/^(backdrop-)op(?:acity)-(.+)$/, toFilter("opacity", (s) => utils.h.bracket.cssvar.percent(s)), { autocomplete: ["backdrop-(op|opacity)", "backdrop-(op|opacity)-<percent>"] }],
487
- [/^(?:(backdrop-)|filter-)?saturate-(.+)$/, toFilter("saturate", (s) => utils.h.bracket.cssvar.percent(s)), { autocomplete: ["(backdrop|filter)-saturate", "(backdrop|filter)-saturate-<percent>", "saturate-<percent>"] }],
488
- [/^(?:(backdrop-)|filter-)?sepia(?:-(.+))?$/, toFilter("sepia", percentWithDefault), { autocomplete: ["(backdrop|filter)-sepia", "(backdrop|filter)-sepia-<percent>", "sepia-<percent>"] }],
489
- // base
490
- ["filter", { filter: filterProperty }],
491
- ["backdrop-filter", {
492
- "-webkit-backdrop-filter": backdropFilterProperty,
493
- "backdrop-filter": backdropFilterProperty
494
- }],
495
- // nones
496
- ["filter-none", { filter: "none" }],
497
- ["backdrop-filter-none", {
498
- "-webkit-backdrop-filter": "none",
499
- "backdrop-filter": "none"
500
- }],
501
- ...utils.globalKeywords.map((keyword) => [`filter-${keyword}`, { filter: keyword }]),
502
- ...utils.globalKeywords.map((keyword) => [`backdrop-filter-${keyword}`, {
503
- "-webkit-backdrop-filter": keyword,
504
- "backdrop-filter": keyword
505
- }])
506
- ];
507
-
508
- const spaces = [
509
- [/^space-([xy])-(-?.+)$/, handlerSpace, { autocomplete: ["space-(x|y|block|inline)", "space-(x|y|block|inline)-reverse", "space-(x|y|block|inline)-$spacing"] }],
510
- [/^space-([xy])-reverse$/, ([, d]) => ({ [`--un-space-${d}-reverse`]: 1 })],
511
- [/^space-(block|inline)-(-?.+)$/, handlerSpace],
512
- [/^space-(block|inline)-reverse$/, ([, d]) => ({ [`--un-space-${d}-reverse`]: 1 })]
513
- ];
514
- function handlerSpace([, d, s], { theme }) {
515
- let v = theme.spacing?.[s || "DEFAULT"] ?? utils.h.bracket.cssvar.auto.fraction.rem(s || "1");
516
- if (v != null) {
517
- if (v === "0")
518
- v = "0px";
519
- const results = utils.directionMap[d].map((item) => {
520
- const key = `margin${item}`;
521
- const value = item.endsWith("right") || item.endsWith("bottom") ? `calc(${v} * var(--un-space-${d}-reverse))` : `calc(${v} * calc(1 - var(--un-space-${d}-reverse)))`;
522
- return [key, value];
523
- });
524
- if (results) {
525
- return [
526
- [`--un-space-${d}-reverse`, 0],
527
- ...results
528
- ];
529
- }
530
- }
531
- }
532
-
533
- const textTransforms = [
534
- // tailwind compat
535
- ["uppercase", { "text-transform": "uppercase" }],
536
- ["lowercase", { "text-transform": "lowercase" }],
537
- ["capitalize", { "text-transform": "capitalize" }],
538
- ["normal-case", { "text-transform": "none" }]
539
- ];
540
- const hyphens = [
541
- ...["manual", "auto", "none", ...utils.globalKeywords].map((keyword) => [`hyphens-${keyword}`, {
542
- "-webkit-hyphens": keyword,
543
- "-ms-hyphens": keyword,
544
- "hyphens": keyword
545
- }])
546
- ];
547
- const writingModes = [
548
- ["write-vertical-right", { "writing-mode": "vertical-rl" }],
549
- ["write-vertical-left", { "writing-mode": "vertical-lr" }],
550
- ["write-normal", { "writing-mode": "horizontal-tb" }],
551
- ...utils.makeGlobalStaticRules("write", "writing-mode")
552
- ];
553
- const writingOrientations = [
554
- ["write-orient-mixed", { "text-orientation": "mixed" }],
555
- ["write-orient-sideways", { "text-orientation": "sideways" }],
556
- ["write-orient-upright", { "text-orientation": "upright" }],
557
- ...utils.makeGlobalStaticRules("write-orient", "text-orientation")
558
- ];
559
- const screenReadersAccess = [
560
- [
561
- "sr-only",
562
- {
563
- "position": "absolute",
564
- "width": "1px",
565
- "height": "1px",
566
- "padding": "0",
567
- "margin": "-1px",
568
- "overflow": "hidden",
569
- "clip": "rect(0,0,0,0)",
570
- "white-space": "nowrap",
571
- "border-width": 0
572
- }
573
- ],
574
- [
575
- "not-sr-only",
576
- {
577
- "position": "static",
578
- "width": "auto",
579
- "height": "auto",
580
- "padding": "0",
581
- "margin": "0",
582
- "overflow": "visible",
583
- "clip": "auto",
584
- "white-space": "normal"
585
- }
586
- ]
587
- ];
588
- const isolations = [
589
- ["isolate", { isolation: "isolate" }],
590
- ["isolate-auto", { isolation: "auto" }],
591
- ["isolation-auto", { isolation: "auto" }]
592
- ];
593
- const objectPositions = [
594
- // object fit
595
- ["object-cover", { "object-fit": "cover" }],
596
- ["object-contain", { "object-fit": "contain" }],
597
- ["object-fill", { "object-fit": "fill" }],
598
- ["object-scale-down", { "object-fit": "scale-down" }],
599
- ["object-none", { "object-fit": "none" }],
600
- // object position
601
- [/^object-(.+)$/, ([, d]) => {
602
- if (utils.positionMap[d])
603
- return { "object-position": utils.positionMap[d] };
604
- if (utils.h.bracketOfPosition(d) != null)
605
- return { "object-position": utils.h.bracketOfPosition(d).split(" ").map((e) => utils.h.position.fraction.auto.px.cssvar(e) ?? e).join(" ") };
606
- }, { autocomplete: `object-(${Object.keys(utils.positionMap).join("|")})` }]
607
- ];
608
- const backgroundBlendModes = [
609
- ["bg-blend-multiply", { "background-blend-mode": "multiply" }],
610
- ["bg-blend-screen", { "background-blend-mode": "screen" }],
611
- ["bg-blend-overlay", { "background-blend-mode": "overlay" }],
612
- ["bg-blend-darken", { "background-blend-mode": "darken" }],
613
- ["bg-blend-lighten", { "background-blend-mode": "lighten" }],
614
- ["bg-blend-color-dodge", { "background-blend-mode": "color-dodge" }],
615
- ["bg-blend-color-burn", { "background-blend-mode": "color-burn" }],
616
- ["bg-blend-hard-light", { "background-blend-mode": "hard-light" }],
617
- ["bg-blend-soft-light", { "background-blend-mode": "soft-light" }],
618
- ["bg-blend-difference", { "background-blend-mode": "difference" }],
619
- ["bg-blend-exclusion", { "background-blend-mode": "exclusion" }],
620
- ["bg-blend-hue", { "background-blend-mode": "hue" }],
621
- ["bg-blend-saturation", { "background-blend-mode": "saturation" }],
622
- ["bg-blend-color", { "background-blend-mode": "color" }],
623
- ["bg-blend-luminosity", { "background-blend-mode": "luminosity" }],
624
- ["bg-blend-normal", { "background-blend-mode": "normal" }],
625
- ...utils.makeGlobalStaticRules("bg-blend", "background-blend")
626
- ];
627
- const mixBlendModes = [
628
- ["mix-blend-multiply", { "mix-blend-mode": "multiply" }],
629
- ["mix-blend-screen", { "mix-blend-mode": "screen" }],
630
- ["mix-blend-overlay", { "mix-blend-mode": "overlay" }],
631
- ["mix-blend-darken", { "mix-blend-mode": "darken" }],
632
- ["mix-blend-lighten", { "mix-blend-mode": "lighten" }],
633
- ["mix-blend-color-dodge", { "mix-blend-mode": "color-dodge" }],
634
- ["mix-blend-color-burn", { "mix-blend-mode": "color-burn" }],
635
- ["mix-blend-hard-light", { "mix-blend-mode": "hard-light" }],
636
- ["mix-blend-soft-light", { "mix-blend-mode": "soft-light" }],
637
- ["mix-blend-difference", { "mix-blend-mode": "difference" }],
638
- ["mix-blend-exclusion", { "mix-blend-mode": "exclusion" }],
639
- ["mix-blend-hue", { "mix-blend-mode": "hue" }],
640
- ["mix-blend-saturation", { "mix-blend-mode": "saturation" }],
641
- ["mix-blend-color", { "mix-blend-mode": "color" }],
642
- ["mix-blend-luminosity", { "mix-blend-mode": "luminosity" }],
643
- ["mix-blend-plus-lighter", { "mix-blend-mode": "plus-lighter" }],
644
- ["mix-blend-normal", { "mix-blend-mode": "normal" }],
645
- ...utils.makeGlobalStaticRules("mix-blend")
646
- ];
647
- const dynamicViewportHeight = [
648
- ["min-h-dvh", { "min-height": "100dvh" }],
649
- ["min-h-svh", { "min-height": "100svh" }],
650
- ["min-h-lvh", { "min-height": "100lvh" }],
651
- ["h-dvh", { height: "100dvh" }],
652
- ["h-svh", { height: "100svh" }],
653
- ["h-lvh", { height: "100lvh" }],
654
- ["max-h-dvh", { "max-height": "100dvh" }],
655
- ["max-h-svh", { "max-height": "100svh" }],
656
- ["max-h-lvh", { "max-height": "100lvh" }]
657
- ];
658
-
659
- const borderSpacingBase = {
660
- "--un-border-spacing-x": 0,
661
- "--un-border-spacing-y": 0
662
- };
663
- const borderSpacingProperty = "var(--un-border-spacing-x) var(--un-border-spacing-y)";
664
- const tables = [
665
- // displays
666
- ["inline-table", { display: "inline-table" }],
667
- ["table", { display: "table" }],
668
- ["table-caption", { display: "table-caption" }],
669
- ["table-cell", { display: "table-cell" }],
670
- ["table-column", { display: "table-column" }],
671
- ["table-column-group", { display: "table-column-group" }],
672
- ["table-footer-group", { display: "table-footer-group" }],
673
- ["table-header-group", { display: "table-header-group" }],
674
- ["table-row", { display: "table-row" }],
675
- ["table-row-group", { display: "table-row-group" }],
676
- // layouts
677
- ["border-collapse", { "border-collapse": "collapse" }],
678
- ["border-separate", { "border-collapse": "separate" }],
679
- [/^border-spacing-(.+)$/, ([, s], { theme }) => {
680
- const v = theme.spacing?.[s] ?? utils.h.bracket.cssvar.global.auto.fraction.rem(s);
681
- if (v != null) {
682
- return {
683
- "--un-border-spacing-x": v,
684
- "--un-border-spacing-y": v,
685
- "border-spacing": borderSpacingProperty
686
- };
687
- }
688
- }, { autocomplete: ["border-spacing", "border-spacing-$spacing"] }],
689
- [/^border-spacing-([xy])-(.+)$/, ([, d, s], { theme }) => {
690
- const v = theme.spacing?.[s] ?? utils.h.bracket.cssvar.global.auto.fraction.rem(s);
691
- if (v != null) {
692
- return {
693
- [`--un-border-spacing-${d}`]: v,
694
- "border-spacing": borderSpacingProperty
695
- };
696
- }
697
- }, { autocomplete: ["border-spacing-(x|y)", "border-spacing-(x|y)-$spacing"] }],
698
- ["caption-top", { "caption-side": "top" }],
699
- ["caption-bottom", { "caption-side": "bottom" }],
700
- ["table-auto", { "table-layout": "auto" }],
701
- ["table-fixed", { "table-layout": "fixed" }],
702
- ["table-empty-cells-visible", { "empty-cells": "show" }],
703
- ["table-empty-cells-hidden", { "empty-cells": "hide" }]
704
- ];
705
-
706
- const variablesAbbrMap = {
707
- "bg-blend": "background-blend-mode",
708
- "bg-clip": "-webkit-background-clip",
709
- "bg-gradient": "linear-gradient",
710
- "bg-image": "background-image",
711
- "bg-origin": "background-origin",
712
- "bg-position": "background-position",
713
- "bg-repeat": "background-repeat",
714
- "bg-size": "background-size",
715
- "mix-blend": "mix-blend-mode",
716
- "object": "object-fit",
717
- "object-position": "object-position",
718
- "write": "writing-mode",
719
- "write-orient": "text-orientation"
720
- };
721
- const cssVariables = [
722
- [/^(.+?)-(\$.+)$/, ([, name, varname]) => {
723
- const prop = variablesAbbrMap[name];
724
- if (prop)
725
- return { [prop]: utils.h.cssvar(varname) };
726
- }]
727
- ];
728
-
729
- const divides = [
730
- // divides
731
- [/^divide-?([xy])$/, handlerDivide, { autocomplete: ["divide-(x|y|block|inline)", "divide-(x|y|block|inline)-reverse", "divide-(x|y|block|inline)-$lineWidth"] }],
732
- [/^divide-?([xy])-?(-?.+)$/, handlerDivide],
733
- [/^divide-?([xy])-reverse$/, ([, d]) => ({ [`--un-divide-${d}-reverse`]: 1 })],
734
- [/^divide-(block|inline)$/, handlerDivide],
735
- [/^divide-(block|inline)-(-?.+)$/, handlerDivide],
736
- [/^divide-(block|inline)-reverse$/, ([, d]) => ({ [`--un-divide-${d}-reverse`]: 1 })],
737
- // color & opacity
738
- [/^divide-(.+)$/, utils.colorResolver("border-color", "divide", "borderColor"), { autocomplete: "divide-$colors" }],
739
- [/^divide-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-divide-opacity": utils.h.bracket.percent(opacity) }), { autocomplete: ["divide-(op|opacity)", "divide-(op|opacity)-<percent>"] }],
740
- // styles
741
- ..._.borderStyles.map((style) => [`divide-${style}`, { "border-style": style }])
742
- ];
743
- function handlerDivide([, d, s], { theme }) {
744
- let v = theme.lineWidth?.[s || "DEFAULT"] ?? utils.h.bracket.cssvar.px(s || "1");
745
- if (v != null) {
746
- if (v === "0")
747
- v = "0px";
748
- const results = utils.directionMap[d].map((item) => {
749
- const key = `border${item}-width`;
750
- const value = item.endsWith("right") || item.endsWith("bottom") ? `calc(${v} * var(--un-divide-${d}-reverse))` : `calc(${v} * calc(1 - var(--un-divide-${d}-reverse)))`;
751
- return [key, value];
752
- });
753
- if (results) {
754
- return [
755
- [`--un-divide-${d}-reverse`, 0],
756
- ...results
757
- ];
758
- }
759
- }
760
- }
761
-
762
- const lineClamps = [
763
- [/^line-clamp-(\d+)$/, ([, v]) => ({
764
- "overflow": "hidden",
765
- "display": "-webkit-box",
766
- "-webkit-box-orient": "vertical",
767
- "-webkit-line-clamp": v,
768
- "line-clamp": v
769
- }), { autocomplete: ["line-clamp", "line-clamp-<num>"] }],
770
- ...["none", ...utils.globalKeywords].map((keyword) => [`line-clamp-${keyword}`, {
771
- "overflow": "visible",
772
- "display": "block",
773
- "-webkit-box-orient": "horizontal",
774
- "-webkit-line-clamp": keyword,
775
- "line-clamp": keyword
776
- }])
777
- ];
778
-
779
- const fontVariantNumericBase = {
780
- "--un-ordinal": _.varEmpty,
781
- "--un-slashed-zero": _.varEmpty,
782
- "--un-numeric-figure": _.varEmpty,
783
- "--un-numeric-spacing": _.varEmpty,
784
- "--un-numeric-fraction": _.varEmpty
785
- };
786
- function toEntries(entry) {
787
- return {
788
- ...entry,
789
- "font-variant-numeric": "var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)"
790
- };
791
- }
792
- const fontVariantNumeric = [
793
- [/^ordinal$/, () => toEntries({ "--un-ordinal": "ordinal" }), { autocomplete: "ordinal" }],
794
- [/^slashed-zero$/, () => toEntries({ "--un-slashed-zero": "slashed-zero" }), { autocomplete: "slashed-zero" }],
795
- [/^lining-nums$/, () => toEntries({ "--un-numeric-figure": "lining-nums" }), { autocomplete: "lining-nums" }],
796
- [/^oldstyle-nums$/, () => toEntries({ "--un-numeric-figure": "oldstyle-nums" }), { autocomplete: "oldstyle-nums" }],
797
- [/^proportional-nums$/, () => toEntries({ "--un-numeric-spacing": "proportional-nums" }), { autocomplete: "proportional-nums" }],
798
- [/^tabular-nums$/, () => toEntries({ "--un-numeric-spacing": "tabular-nums" }), { autocomplete: "tabular-nums" }],
799
- [/^diagonal-fractions$/, () => toEntries({ "--un-numeric-fraction": "diagonal-fractions" }), { autocomplete: "diagonal-fractions" }],
800
- [/^stacked-fractions$/, () => toEntries({ "--un-numeric-fraction": "stacked-fractions" }), { autocomplete: "stacked-fractions" }],
801
- ["normal-nums", { "font-variant-numeric": "normal" }]
802
- ];
803
-
804
- const touchActionBase = {
805
- "--un-pan-x": _.varEmpty,
806
- "--un-pan-y": _.varEmpty,
807
- "--un-pinch-zoom": _.varEmpty
808
- };
809
- const touchActionProperty = "var(--un-pan-x) var(--un-pan-y) var(--un-pinch-zoom)";
810
- const touchActions = [
811
- [/^touch-pan-(x|left|right)$/, ([, d]) => ({
812
- "--un-pan-x": `pan-${d}`,
813
- "touch-action": touchActionProperty
814
- }), { autocomplete: ["touch-pan", "touch-pan-(x|left|right|y|up|down)"] }],
815
- [/^touch-pan-(y|up|down)$/, ([, d]) => ({
816
- "--un-pan-y": `pan-${d}`,
817
- "touch-action": touchActionProperty
818
- })],
819
- ["touch-pinch-zoom", {
820
- "--un-pinch-zoom": "pinch-zoom",
821
- "touch-action": touchActionProperty
822
- }],
823
- ["touch-auto", { "touch-action": "auto" }],
824
- ["touch-manipulation", { "touch-action": "manipulation" }],
825
- ["touch-none", { "touch-action": "none" }],
826
- ...utils.makeGlobalStaticRules("touch", "touch-action")
827
- ];
828
-
829
- const scrollSnapTypeBase = {
830
- "--un-scroll-snap-strictness": "proximity"
831
- };
832
- const scrolls = [
833
- // snap type
834
- [/^snap-(x|y)$/, ([, d]) => ({
835
- "scroll-snap-type": `${d} var(--un-scroll-snap-strictness)`
836
- }), { autocomplete: "snap-(x|y|both)" }],
837
- [/^snap-both$/, () => ({
838
- "scroll-snap-type": "both var(--un-scroll-snap-strictness)"
839
- })],
840
- ["snap-mandatory", { "--un-scroll-snap-strictness": "mandatory" }],
841
- ["snap-proximity", { "--un-scroll-snap-strictness": "proximity" }],
842
- ["snap-none", { "scroll-snap-type": "none" }],
843
- // snap align
844
- ["snap-start", { "scroll-snap-align": "start" }],
845
- ["snap-end", { "scroll-snap-align": "end" }],
846
- ["snap-center", { "scroll-snap-align": "center" }],
847
- ["snap-align-none", { "scroll-snap-align": "none" }],
848
- // snap stop
849
- ["snap-normal", { "scroll-snap-stop": "normal" }],
850
- ["snap-always", { "scroll-snap-stop": "always" }],
851
- // scroll margin
852
- [/^scroll-ma?()-?(-?.+)$/, utils.directionSize("scroll-margin"), {
853
- autocomplete: [
854
- "scroll-(m|p|ma|pa|block|inline)",
855
- "scroll-(m|p|ma|pa|block|inline)-$spacing",
856
- "scroll-(m|p|ma|pa|block|inline)-(x|y|r|l|t|b|bs|be|is|ie)",
857
- "scroll-(m|p|ma|pa|block|inline)-(x|y|r|l|t|b|bs|be|is|ie)-$spacing"
858
- ]
859
- }],
860
- [/^scroll-m-?([xy])-?(-?.+)$/, utils.directionSize("scroll-margin")],
861
- [/^scroll-m-?([rltb])-?(-?.+)$/, utils.directionSize("scroll-margin")],
862
- [/^scroll-m-(block|inline)-(-?.+)$/, utils.directionSize("scroll-margin")],
863
- [/^scroll-m-?([bi][se])-?(-?.+)$/, utils.directionSize("scroll-margin")],
864
- // scroll padding
865
- [/^scroll-pa?()-?(-?.+)$/, utils.directionSize("scroll-padding")],
866
- [/^scroll-p-?([xy])-?(-?.+)$/, utils.directionSize("scroll-padding")],
867
- [/^scroll-p-?([rltb])-?(-?.+)$/, utils.directionSize("scroll-padding")],
868
- [/^scroll-p-(block|inline)-(-?.+)$/, utils.directionSize("scroll-padding")],
869
- [/^scroll-p-?([bi][se])-?(-?.+)$/, utils.directionSize("scroll-padding")]
870
- ];
871
-
872
- const placeholders = [
873
- // The prefix `$ ` is intentional. This rule is not to be matched directly from user-generated token.
874
- // See variants/placeholder.
875
- [/^\$ placeholder-(.+)$/, utils.colorResolver("color", "placeholder", "accentColor"), { autocomplete: "placeholder-$colors" }],
876
- [/^\$ placeholder-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ "--un-placeholder-opacity": utils.h.bracket.percent(opacity) }), { autocomplete: ["placeholder-(op|opacity)", "placeholder-(op|opacity)-<percent>"] }]
877
- ];
878
-
879
- const viewTransition = [
880
- [/^view-transition-([\w_-]+)$/, ([, name]) => {
881
- return { "view-transition-name": name };
882
- }]
883
- ];
884
-
885
- const rules = [
886
- ___namespace.cssVariables,
887
- cssVariables,
888
- ___namespace.cssProperty,
889
- container,
890
- ___namespace.contains,
891
- screenReadersAccess,
892
- ___namespace.pointerEvents,
893
- ___namespace.appearances,
894
- ___namespace.positions,
895
- ___namespace.insets,
896
- lineClamps,
897
- isolations,
898
- ___namespace.zIndexes,
899
- ___namespace.orders,
900
- ___namespace.grids,
901
- ___namespace.floats,
902
- ___namespace.margins,
903
- ___namespace.boxSizing,
904
- ___namespace.displays,
905
- ___namespace.aspectRatio,
906
- ___namespace.sizes,
907
- ___namespace.flex,
908
- tables,
909
- ___namespace.transforms,
910
- animations,
911
- ___namespace.cursors,
912
- touchActions,
913
- ___namespace.userSelects,
914
- ___namespace.resizes,
915
- scrolls,
916
- listStyle,
917
- ___namespace.appearance,
918
- columns,
919
- ___namespace.placements,
920
- ___namespace.alignments,
921
- ___namespace.justifies,
922
- ___namespace.gaps,
923
- ___namespace.flexGridJustifiesAlignments,
924
- spaces,
925
- divides,
926
- ___namespace.overflows,
927
- overscrolls,
928
- scrollBehaviors,
929
- ___namespace.textOverflows,
930
- ___namespace.whitespaces,
931
- ___namespace.breaks,
932
- ___namespace.borders,
933
- ___namespace.bgColors,
934
- backgroundStyles,
935
- ___namespace.svgUtilities,
936
- objectPositions,
937
- ___namespace.paddings,
938
- ___namespace.textAligns,
939
- ___namespace.textIndents,
940
- ___namespace.textWraps,
941
- ___namespace.verticalAligns,
942
- ___namespace.fonts,
943
- ___namespace.textTransforms,
944
- textTransforms,
945
- ___namespace.fontStyles,
946
- fontVariantNumeric,
947
- ___namespace.textDecorations,
948
- ___namespace.fontSmoothings,
949
- ___namespace.tabSizes,
950
- ___namespace.textStrokes,
951
- ___namespace.textShadows,
952
- hyphens,
953
- writingModes,
954
- writingOrientations,
955
- carets,
956
- accents,
957
- ___namespace.opacity,
958
- backgroundBlendModes,
959
- mixBlendModes,
960
- ___namespace.boxShadows,
961
- ___namespace.outline,
962
- ___namespace.rings,
963
- imageRenderings,
964
- filters,
965
- ___namespace.transitions,
966
- ___namespace.willChange,
967
- ___namespace.contentVisibility,
968
- ___namespace.contents,
969
- placeholders,
970
- ___namespace.containerParent,
971
- viewTransition,
972
- dynamicViewportHeight,
973
- // should be the last
974
- ___namespace.questionMark
975
- ].flat(1);
976
-
977
- const shortcuts = [
978
- ...containerShortcuts
979
- ];
980
-
981
- const theme = {
982
- ...theme$1.theme,
983
- aria: {
984
- busy: 'busy="true"',
985
- checked: 'checked="true"',
986
- disabled: 'disabled="true"',
987
- expanded: 'expanded="true"',
988
- hidden: 'hidden="true"',
989
- pressed: 'pressed="true"',
990
- readonly: 'readonly="true"',
991
- required: 'required="true"',
992
- selected: 'selected="true"'
993
- },
994
- animation: {
995
- keyframes: {
996
- "pulse": "{0%, 100% {opacity:1} 50% {opacity:.5}}",
997
- "bounce": "{0%, 100% {transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1)} 50% {transform:translateY(0);animation-timing-function:cubic-bezier(0,0,0.2,1)}}",
998
- "spin": "{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}",
999
- "ping": "{0%{transform:scale(1);opacity:1}75%,100%{transform:scale(2);opacity:0}}",
1000
- "bounce-alt": "{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)}}",
1001
- "flash": "{from,50%,to{opacity:1}25%,75%{opacity:0}}",
1002
- "pulse-alt": "{from{transform:scale3d(1,1,1)}50%{transform:scale3d(1.05,1.05,1.05)}to{transform:scale3d(1,1,1)}}",
1003
- "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)}}",
1004
- "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)}}",
1005
- "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)}}",
1006
- "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)}}",
1007
- "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)}}",
1008
- "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)}}",
1009
- "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)}}",
1010
- "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)}}",
1011
- "heart-beat": "{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}",
1012
- "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}}",
1013
- "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)}}",
1014
- "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)}}",
1015
- "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)}}",
1016
- "light-speed-out-left": "{from{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0) skewX(30deg)}}",
1017
- "light-speed-out-right": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}",
1018
- "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}}",
1019
- "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)}}",
1020
- "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)}}",
1021
- "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}}",
1022
- "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}}",
1023
- "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}}",
1024
- "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}}",
1025
- "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}}",
1026
- "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}}",
1027
- "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}}",
1028
- "rotate-out": "{from{transform-origin:center;opacity:1}to{transform-origin:center;transform:rotate3d(0,0,1,200deg);opacity:0}}",
1029
- "rotate-out-down-left": "{from{transform-origin:left bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,45deg);opacity:0}}",
1030
- "rotate-out-down-right": "{from{transform-origin:right bottom;opacity:1}to{transform-origin:right bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}}",
1031
- "rotate-out-up-left": "{from{transform-origin:left bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}}",
1032
- "rotate-out-up-right": "{from{transform-origin:right bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,90deg);opacity:0}}",
1033
- "roll-in": "{from{opacity:0;transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;transform:translate3d(0,0,0)}}",
1034
- "roll-out": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}",
1035
- "zoom-in": "{from{opacity:0;transform:scale3d(0.3,0.3,0.3)}50%{opacity:1}}",
1036
- "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)}}",
1037
- "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)}}",
1038
- "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)}}",
1039
- "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)}}",
1040
- "zoom-out": "{from{opacity:1}50%{opacity:0;transform:scale3d(0.3,0.3,0.3)}to{opacity:0}}",
1041
- "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)}}",
1042
- "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}}",
1043
- "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}}",
1044
- "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)}}",
1045
- "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)}}",
1046
- "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)}}",
1047
- "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)}}",
1048
- "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)}}",
1049
- "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)}}",
1050
- "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)}}",
1051
- "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)}}",
1052
- "bounce-out-left": "{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}",
1053
- "bounce-out-right": "{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}",
1054
- "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)}}",
1055
- "slide-in-down": "{from{transform:translate3d(0,-100%,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
1056
- "slide-in-left": "{from{transform:translate3d(-100%,0,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
1057
- "slide-in-right": "{from{transform:translate3d(100%,0,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
1058
- "slide-in-up": "{from{transform:translate3d(0,100%,0);visibility:visible}to{transform:translate3d(0,0,0)}}",
1059
- "slide-out-down": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(0,100%,0)}}",
1060
- "slide-out-left": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(-100%,0,0)}}",
1061
- "slide-out-right": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(100%,0,0)}}",
1062
- "slide-out-up": "{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(0,-100%,0)}}",
1063
- "fade-in": "{from{opacity:0}to{opacity:1}}",
1064
- "fade-in-down": "{from{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1065
- "fade-in-down-big": "{from{opacity:0;transform:translate3d(0,-2000px,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1066
- "fade-in-left": "{from{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1067
- "fade-in-left-big": "{from{opacity:0;transform:translate3d(-2000px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1068
- "fade-in-right": "{from{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1069
- "fade-in-right-big": "{from{opacity:0;transform:translate3d(2000px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1070
- "fade-in-up": "{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1071
- "fade-in-up-big": "{from{opacity:0;transform:translate3d(0,2000px,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1072
- "fade-in-top-left": "{from{opacity:0;transform:translate3d(-100%,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1073
- "fade-in-top-right": "{from{opacity:0;transform:translate3d(100%,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1074
- "fade-in-bottom-left": "{from{opacity:0;transform:translate3d(-100%,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1075
- "fade-in-bottom-right": "{from{opacity:0;transform:translate3d(100%,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}",
1076
- "fade-out": "{from{opacity:1}to{opacity:0}}",
1077
- "fade-out-down": "{from{opacity:1}to{opacity:0;transform:translate3d(0,100%,0)}}",
1078
- "fade-out-down-big": "{from{opacity:1}to{opacity:0;transform:translate3d(0,2000px,0)}}",
1079
- "fade-out-left": "{from{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0)}}",
1080
- "fade-out-left-big": "{from{opacity:1}to{opacity:0;transform:translate3d(-2000px,0,0)}}",
1081
- "fade-out-right": "{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0)}}",
1082
- "fade-out-right-big": "{from{opacity:1}to{opacity:0;transform:translate3d(2000px,0,0)}}",
1083
- "fade-out-up": "{from{opacity:1}to{opacity:0;transform:translate3d(0,-100%,0)}}",
1084
- "fade-out-up-big": "{from{opacity:1}to{opacity:0;transform:translate3d(0,-2000px,0)}}",
1085
- "fade-out-top-left": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-100%,-100%,0)}}",
1086
- "fade-out-top-right": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(100%,-100%,0)}}",
1087
- "fade-out-bottom-left": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-100%,100%,0)}}",
1088
- "fade-out-bottom-right": "{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(100%,100%,0)}}",
1089
- "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)}}",
1090
- "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)}}",
1091
- "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)}}",
1092
- "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)}}",
1093
- "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)}}",
1094
- "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)}}",
1095
- "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)}}",
1096
- "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)}}"
1097
- },
1098
- durations: {
1099
- "pulse": "2s",
1100
- "heart-beat": "1.3s",
1101
- "bounce-in": "0.75s",
1102
- "bounce-out": "0.75s",
1103
- "flip-out-x": "0.75s",
1104
- "flip-out-y": "0.75s",
1105
- "hinge": "2s"
1106
- },
1107
- timingFns: {
1108
- "pulse": "cubic-bezier(0.4,0,.6,1)",
1109
- "ping": "cubic-bezier(0,0,.2,1)",
1110
- "head-shake": "ease-in-out",
1111
- "heart-beat": "ease-in-out",
1112
- "pulse-alt": "ease-in-out",
1113
- "light-speed-in-left": "ease-out",
1114
- "light-speed-in-right": "ease-out",
1115
- "light-speed-out-left": "ease-in",
1116
- "light-speed-out-right": "ease-in"
1117
- },
1118
- properties: {
1119
- "bounce-alt": { "transform-origin": "center bottom" },
1120
- "jello": { "transform-origin": "center" },
1121
- "swing": { "transform-origin": "top center" },
1122
- "flip": { "backface-visibility": "visible" },
1123
- "flip-in-x": { "backface-visibility": "visible !important" },
1124
- "flip-in-y": { "backface-visibility": "visible !important" },
1125
- "flip-out-x": { "backface-visibility": "visible !important" },
1126
- "flip-out-y": { "backface-visibility": "visible !important" },
1127
- "rotate-in": { "transform-origin": "center" },
1128
- "rotate-in-down-left": { "transform-origin": "left bottom" },
1129
- "rotate-in-down-right": { "transform-origin": "right bottom" },
1130
- "rotate-in-up-left": { "transform-origin": "left bottom" },
1131
- "rotate-in-up-right": { "transform-origin": "right bottom" },
1132
- "rotate-out": { "transform-origin": "center" },
1133
- "rotate-out-down-left": { "transform-origin": "left bottom" },
1134
- "rotate-out-down-right": { "transform-origin": "right bottom" },
1135
- "rotate-out-up-left": { "transform-origin": "left bottom" },
1136
- "rotate-out-up-right": { "transform-origin": "right bottom" },
1137
- "hinge": { "transform-origin": "top left" },
1138
- "zoom-out-down": { "transform-origin": "center bottom" },
1139
- "zoom-out-left": { "transform-origin": "left center" },
1140
- "zoom-out-right": { "transform-origin": "right center" },
1141
- "zoom-out-up": { "transform-origin": "center bottom" }
1142
- },
1143
- counts: {
1144
- "spin": "infinite",
1145
- "ping": "infinite",
1146
- "pulse": "infinite",
1147
- "pulse-alt": "infinite",
1148
- "bounce": "infinite",
1149
- "bounce-alt": "infinite"
1150
- }
1151
- },
1152
- media: {
1153
- portrait: "(orientation: portrait)",
1154
- landscape: "(orientation: landscape)",
1155
- os_dark: "(prefers-color-scheme: dark)",
1156
- os_light: "(prefers-color-scheme: light)",
1157
- motion_ok: "(prefers-reduced-motion: no-preference)",
1158
- motion_not_ok: "(prefers-reduced-motion: reduce)",
1159
- high_contrast: "(prefers-contrast: high)",
1160
- low_contrast: "(prefers-contrast: low)",
1161
- opacity_ok: "(prefers-reduced-transparency: no-preference)",
1162
- opacity_not_ok: "(prefers-reduced-transparency: reduce)",
1163
- use_data_ok: "(prefers-reduced-data: no-preference)",
1164
- use_data_not_ok: "(prefers-reduced-data: reduce)",
1165
- touch: "(hover: none) and (pointer: coarse)",
1166
- stylus: "(hover: none) and (pointer: fine)",
1167
- pointer: "(hover) and (pointer: coarse)",
1168
- mouse: "(hover) and (pointer: fine)",
1169
- hd_color: "(dynamic-range: high)"
1170
- },
1171
- supports: {
1172
- grid: "(display: grid)"
1173
- },
1174
- preflightBase: {
1175
- ..._.transformBase,
1176
- ...touchActionBase,
1177
- ...scrollSnapTypeBase,
1178
- ...fontVariantNumericBase,
1179
- ...borderSpacingBase,
1180
- ..._.boxShadowsBase,
1181
- ..._.ringBase,
1182
- ...filterBase,
1183
- ...backdropFilterBase
1184
- }
1185
- };
1186
-
1187
- const variantCombinators = [
1188
- utils.variantMatcher("svg", (input) => ({ selector: `${input.selector} svg` }))
1189
- ];
1190
-
1191
- const variantColorsScheme = [
1192
- utils.variantMatcher(".dark", (input) => ({ prefix: `.dark $$ ${input.prefix}` })),
1193
- utils.variantMatcher(".light", (input) => ({ prefix: `.light $$ ${input.prefix}` })),
1194
- utils.variantParentMatcher("@dark", "@media (prefers-color-scheme: dark)"),
1195
- utils.variantParentMatcher("@light", "@media (prefers-color-scheme: light)")
1196
- ];
1197
-
1198
- const variantContrasts = [
1199
- utils.variantParentMatcher("contrast-more", "@media (prefers-contrast: more)"),
1200
- utils.variantParentMatcher("contrast-less", "@media (prefers-contrast: less)")
1201
- ];
1202
- const variantMotions = [
1203
- utils.variantParentMatcher("motion-reduce", "@media (prefers-reduced-motion: reduce)"),
1204
- utils.variantParentMatcher("motion-safe", "@media (prefers-reduced-motion: no-preference)")
1205
- ];
1206
- const variantOrientations = [
1207
- utils.variantParentMatcher("landscape", "@media (orientation: landscape)"),
1208
- utils.variantParentMatcher("portrait", "@media (orientation: portrait)")
1209
- ];
1210
-
1211
- const variantSpaceAndDivide = (matcher) => {
1212
- if (matcher.startsWith("_"))
1213
- return;
1214
- if (/space-([xy])-(-?.+)$/.test(matcher) || /divide-/.test(matcher)) {
1215
- return {
1216
- matcher,
1217
- selector: (input) => {
1218
- const not = ">:not([hidden])~:not([hidden])";
1219
- return input.includes(not) ? input : `${input}${not}`;
1220
- }
1221
- };
1222
- }
1223
- };
1224
- const variantStickyHover = [
1225
- ruleUtils.variantMatcher("@hover", (input) => ({
1226
- parent: `${input.parent ? `${input.parent} $$ ` : ""}@media (hover: hover) and (pointer: fine)`,
1227
- selector: `${input.selector || ""}:hover`
1228
- }))
1229
- ];
1230
-
1231
- const placeholderModifier = (input, { theme }) => {
1232
- const m = input.match(/^(.*)\b(placeholder-)(.+)$/);
1233
- if (m) {
1234
- const [, pre = "", p, body] = m;
1235
- if (utils.hasParseableColor(body, theme, "accentColor") || hasOpacityValue(body)) {
1236
- return {
1237
- // Append `placeholder-$ ` (with space!) to the rule to be matched.
1238
- // The `placeholder-` is added for placeholder variant processing, and
1239
- // the `$ ` is added for rule matching after `placeholder-` is removed by the variant.
1240
- // See rules/placeholder.
1241
- matcher: `${pre}placeholder-$ ${p}${body}`
1242
- };
1243
- }
1244
- }
1245
- };
1246
- function hasOpacityValue(body) {
1247
- const match = body.match(/^op(?:acity)?-?(.+)$/);
1248
- if (match && match[1] != null)
1249
- return utils.h.bracket.percent(match[1]) != null;
1250
- return false;
1251
- }
1252
-
1253
- function variants(options) {
1254
- return [
1255
- placeholderModifier,
1256
- variantSpaceAndDivide,
1257
- ...variants$1.variants(options),
1258
- ...variantContrasts,
1259
- ...variantOrientations,
1260
- ...variantMotions,
1261
- ...variantCombinators,
1262
- ...variantColorsScheme,
1263
- ...variantStickyHover
1264
- ];
1265
- }
1266
-
1267
- function important(option) {
1268
- if (option == null || option === false)
1269
- return [];
1270
- const wrapWithIs = (selector) => {
1271
- if (selector.startsWith(":is(") && selector.endsWith(")"))
1272
- return selector;
1273
- if (selector.includes("::"))
1274
- return selector.replace(/(.*)(::.*)/, ":is($1)$2");
1275
- return `:is(${selector})`;
1276
- };
1277
- return [
1278
- option === true ? (util) => {
1279
- util.entries.forEach((i) => {
1280
- if (i[1] != null && !String(i[1]).endsWith("!important"))
1281
- i[1] += " !important";
1282
- });
1283
- } : (util) => {
1284
- if (!util.selector.startsWith(option))
1285
- util.selector = `${option} ${wrapWithIs(util.selector)}`;
1286
- }
1287
- ];
1288
- }
1289
-
1290
- function postprocessors(options) {
1291
- return [
1292
- ...core.toArray(presetMini__default(options).postprocess),
1293
- ...important(options.important)
1294
- ];
1295
- }
1296
-
1297
- const presetWind = core.definePreset((options = {}) => {
1298
- options.important = options.important ?? false;
1299
- return {
1300
- ...presetMini.presetMini(options),
1301
- name: "@unocss/preset-wind",
1302
- theme,
1303
- rules,
1304
- shortcuts,
1305
- variants: variants(options),
1306
- postprocess: postprocessors(options)
1307
- };
1308
- });
1309
-
1310
- exports.colors = presetMini.colors;
1311
- exports.preflights = presetMini.preflights;
1312
- exports.default = presetWind;
1313
- exports.presetWind = presetWind;
1314
- exports.rules = rules;
1315
- exports.shortcuts = shortcuts;
1316
- exports.theme = theme;
1317
- exports.variants = variants;