@unocss/preset-mini 66.5.10 → 66.5.12

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.
Files changed (44) hide show
  1. package/dist/chunk-gol_9zmq.mjs +36 -0
  2. package/dist/colors-C9l2trjD.d.mts +431 -0
  3. package/dist/colors-Cxq9P2g9.mjs +362 -0
  4. package/dist/colors.d.mts +2 -354
  5. package/dist/colors.mjs +2 -360
  6. package/dist/index-CnsmLem5.d.mts +71 -0
  7. package/dist/index.d.mts +5 -76
  8. package/dist/index.mjs +67 -70
  9. package/dist/rules-CuP-xMI2.mjs +1683 -0
  10. package/dist/rules.d.mts +72 -48
  11. package/dist/rules.mjs +4 -5
  12. package/dist/theme-5nLH7UVx.d.mts +1085 -0
  13. package/dist/theme-DeYMqZAV.mjs +347 -0
  14. package/dist/theme.d.mts +3 -338
  15. package/dist/theme.mjs +5 -6
  16. package/dist/utils-CNv_IKMQ.d.mts +122 -0
  17. package/dist/utils-DLpYZ57Q.mjs +638 -0
  18. package/dist/utils.d.mts +5 -77
  19. package/dist/utils.mjs +5 -3
  20. package/dist/variants.d.mts +38 -24
  21. package/dist/variants.mjs +661 -4
  22. package/package.json +7 -8
  23. package/colors.d.ts +0 -1
  24. package/dist/colors.d.ts +0 -354
  25. package/dist/index.d.ts +0 -76
  26. package/dist/rules.d.ts +0 -130
  27. package/dist/shared/preset-mini.BSnAbT9I.d.mts +0 -748
  28. package/dist/shared/preset-mini.B_2UJsV2.mjs +0 -693
  29. package/dist/shared/preset-mini.BjJC-NnU.d.mts +0 -79
  30. package/dist/shared/preset-mini.BjJC-NnU.d.ts +0 -79
  31. package/dist/shared/preset-mini.CRliz1QB.d.ts +0 -76
  32. package/dist/shared/preset-mini.CVEK1uAa.mjs +0 -355
  33. package/dist/shared/preset-mini.CoOfBKs_.d.ts +0 -748
  34. package/dist/shared/preset-mini.DBTjVFxS.mjs +0 -580
  35. package/dist/shared/preset-mini.QLusboLD.mjs +0 -1064
  36. package/dist/shared/preset-mini.kmtdc_h1.mjs +0 -324
  37. package/dist/shared/preset-mini.oF7XTPi1.d.mts +0 -76
  38. package/dist/theme.d.ts +0 -338
  39. package/dist/utils.d.ts +0 -77
  40. package/dist/variants.d.ts +0 -52
  41. package/rules.d.ts +0 -1
  42. package/theme.d.ts +0 -1
  43. package/utils.d.ts +0 -1
  44. package/variants.d.ts +0 -1
@@ -1,693 +0,0 @@
1
- import { escapeSelector, escapeRegExp, toArray } from '@unocss/core';
2
- import { variantGetParameter, calcMaxWidthBySize, variantMatcher, variantGetBracket, variantParentMatcher, getBracket, hasThemeFn, transformThemeFn, getStringComponent, createPartClasses, createPseudoClassesAndElements, createPseudoClassFunctions, createTaggedPseudoClasses } from '@unocss/rule-utils';
3
- import { a as h, r as resolveBreakpoints, C as CONTROL_MINI_NO_NEGATIVE, e as cssMathFnRE, f as cssVarFnRE } from './preset-mini.DBTjVFxS.mjs';
4
-
5
- const variantAria = {
6
- name: "aria",
7
- match(matcher, ctx) {
8
- const variant = variantGetParameter("aria-", matcher, ctx.generator.config.separators);
9
- if (variant) {
10
- const [match, rest] = variant;
11
- const aria = h.bracket(match) ?? ctx.theme.aria?.[match] ?? "";
12
- if (aria) {
13
- return {
14
- matcher: rest,
15
- selector: (s) => `${s}[aria-${aria}]`
16
- };
17
- }
18
- }
19
- },
20
- multiPass: true
21
- };
22
- function taggedAria(tagName, combinator, options = {}) {
23
- return {
24
- name: `${tagName}-aria`,
25
- match(matcher, ctx) {
26
- const variant = variantGetParameter(`${tagName}-aria-`, matcher, ctx.generator.config.separators);
27
- if (variant) {
28
- const [match, rest, label] = variant;
29
- const ariaAttribute = h.bracket(match) ?? ctx.theme.aria?.[match] ?? "";
30
- if (ariaAttribute) {
31
- const attributify = !!options?.attributifyPseudo;
32
- let firstPrefix = options?.prefix ?? "";
33
- firstPrefix = (Array.isArray(firstPrefix) ? firstPrefix : [firstPrefix]).filter(Boolean)[0] ?? "";
34
- const parent = `${attributify ? `[${firstPrefix}${tagName}=""]` : `.${firstPrefix}${tagName}`}`;
35
- const escapedLabel = escapeSelector(label ? `/${label}` : "");
36
- return {
37
- matcher: rest,
38
- handle: (input, next) => {
39
- const regexp = new RegExp(`${escapeRegExp(parent)}${escapeRegExp(escapedLabel)}(?:\\[.+?\\])+`);
40
- const match2 = input.prefix.match(regexp);
41
- let nextPrefix;
42
- if (match2) {
43
- const insertIndex = (match2.index ?? 0) + parent.length + escapedLabel.length;
44
- nextPrefix = [
45
- input.prefix.slice(0, insertIndex),
46
- `[aria-${ariaAttribute}]`,
47
- input.prefix.slice(insertIndex)
48
- ].join("");
49
- } else {
50
- const prefixGroupIndex = Math.max(input.prefix.indexOf(parent), 0);
51
- nextPrefix = [
52
- input.prefix.slice(0, prefixGroupIndex),
53
- parent,
54
- escapedLabel,
55
- `[aria-${ariaAttribute}]`,
56
- combinator,
57
- input.prefix.slice(prefixGroupIndex)
58
- ].join("");
59
- }
60
- return next({
61
- ...input,
62
- prefix: nextPrefix
63
- });
64
- }
65
- };
66
- }
67
- }
68
- },
69
- multiPass: true
70
- };
71
- }
72
- function taggedHasAria() {
73
- return {
74
- name: "has-aria",
75
- match(matcher, ctx) {
76
- const variant = variantGetParameter("has-aria-", matcher, ctx.generator.config.separators);
77
- if (variant) {
78
- const [match, rest] = variant;
79
- const ariaAttribute = h.bracket(match) ?? ctx.theme.aria?.[match] ?? "";
80
- if (ariaAttribute) {
81
- return {
82
- matcher: rest,
83
- handle: (input, next) => next({
84
- ...input,
85
- pseudo: `${input.pseudo}:has([aria-${ariaAttribute}])`
86
- })
87
- };
88
- }
89
- }
90
- },
91
- multiPass: true
92
- };
93
- }
94
- function variantTaggedAriaAttributes(options = {}) {
95
- return [
96
- taggedAria("group", " ", options),
97
- taggedAria("peer", "~", options),
98
- taggedAria("parent", ">", options),
99
- taggedAria("previous", "+", options),
100
- taggedHasAria()
101
- ];
102
- }
103
-
104
- const sizePseudo = /(max|min)-\[([^\]]*)\]:/;
105
- function variantBreakpoints() {
106
- const regexCache = {};
107
- return {
108
- name: "breakpoints",
109
- match(matcher, context) {
110
- if (sizePseudo.test(matcher)) {
111
- const match = matcher.match(sizePseudo);
112
- const m = matcher.replace(match[0], "");
113
- return {
114
- matcher: m,
115
- handle: (input, next) => next({
116
- ...input,
117
- parent: `${input.parent ? `${input.parent} $$ ` : ""}@media (${match[1]}-width: ${match[2]})`
118
- // parentOrder: order,
119
- })
120
- };
121
- }
122
- const variantEntries = (resolveBreakpoints(context) ?? []).map(({ point, size }, idx) => [point, size, idx]);
123
- for (const [point, size, idx] of variantEntries) {
124
- if (!regexCache[point])
125
- regexCache[point] = new RegExp(`^((?:([al]t-|[<~]|max-))?${point}(?:${context.generator.config.separators.join("|")}))`);
126
- const match = matcher.match(regexCache[point]);
127
- if (!match)
128
- continue;
129
- const [, pre] = match;
130
- const m = matcher.slice(pre.length);
131
- if (m === "container")
132
- continue;
133
- const isLtPrefix = pre.startsWith("lt-") || pre.startsWith("<") || pre.startsWith("max-");
134
- const isAtPrefix = pre.startsWith("at-") || pre.startsWith("~");
135
- let order = 3e3;
136
- if (isLtPrefix) {
137
- order -= idx + 1;
138
- return {
139
- matcher: m,
140
- handle: (input, next) => next({
141
- ...input,
142
- parent: `${input.parent ? `${input.parent} $$ ` : ""}@media (max-width: ${calcMaxWidthBySize(size)})`,
143
- parentOrder: order
144
- })
145
- };
146
- }
147
- order += idx + 1;
148
- if (isAtPrefix && idx < variantEntries.length - 1) {
149
- return {
150
- matcher: m,
151
- handle: (input, next) => next({
152
- ...input,
153
- parent: `${input.parent ? `${input.parent} $$ ` : ""}@media (min-width: ${size}) and (max-width: ${calcMaxWidthBySize(variantEntries[idx + 1][1])})`,
154
- parentOrder: order
155
- })
156
- };
157
- }
158
- return {
159
- matcher: m,
160
- handle: (input, next) => next({
161
- ...input,
162
- parent: `${input.parent ? `${input.parent} $$ ` : ""}@media (min-width: ${size})`,
163
- parentOrder: order
164
- })
165
- };
166
- }
167
- },
168
- multiPass: true,
169
- autocomplete: "(at-|lt-|max-|)$breakpoints:"
170
- };
171
- }
172
-
173
- const variantChildren = [
174
- variantMatcher("*", (input) => ({ selector: `${input.selector} > *` }), { order: -1 })
175
- ];
176
-
177
- function scopeMatcher(name, combinator) {
178
- return {
179
- name: `combinator:${name}`,
180
- match(matcher, ctx) {
181
- if (!matcher.startsWith(name))
182
- return;
183
- const separators = ctx.generator.config.separators;
184
- let body = variantGetBracket(`${name}-`, matcher, separators);
185
- if (!body) {
186
- for (const separator of separators) {
187
- if (matcher.startsWith(`${name}${separator}`)) {
188
- body = ["", matcher.slice(name.length + separator.length)];
189
- break;
190
- }
191
- }
192
- if (!body)
193
- return;
194
- }
195
- let bracketValue = h.bracket(body[0]) ?? "";
196
- if (bracketValue === "")
197
- bracketValue = "*";
198
- return {
199
- matcher: body[1],
200
- selector: (s) => `${s}${combinator}${bracketValue}`
201
- };
202
- },
203
- multiPass: true
204
- };
205
- }
206
- const variantCombinators = [
207
- scopeMatcher("all", " "),
208
- scopeMatcher("children", ">"),
209
- scopeMatcher("next", "+"),
210
- scopeMatcher("sibling", "+"),
211
- scopeMatcher("siblings", "~")
212
- ];
213
-
214
- const variantContainerQuery = {
215
- name: "@",
216
- match(matcher, ctx) {
217
- if (matcher.startsWith("@container"))
218
- return;
219
- const variant = variantGetParameter("@", matcher, ctx.generator.config.separators);
220
- if (variant) {
221
- const [match, rest, label] = variant;
222
- const unbracket = h.bracket(match);
223
- let container;
224
- if (unbracket) {
225
- container = h.numberWithUnit(unbracket);
226
- } else {
227
- container = ctx.theme.containers?.[match] ?? "";
228
- }
229
- if (container) {
230
- let order = 1e3 + Object.keys(ctx.theme.containers ?? {}).indexOf(match);
231
- if (label)
232
- order += 1e3;
233
- return {
234
- matcher: rest,
235
- handle: (input, next) => next({
236
- ...input,
237
- parent: `${input.parent ? `${input.parent} $$ ` : ""}@container${label ? ` ${label} ` : " "}(min-width: ${container})`,
238
- parentOrder: order
239
- })
240
- };
241
- }
242
- }
243
- },
244
- multiPass: true
245
- };
246
-
247
- function variantColorsMediaOrClass(options = {}) {
248
- if (options?.dark === "class" || typeof options.dark === "object") {
249
- const { dark = ".dark", light = ".light" } = typeof options.dark === "string" ? {} : options.dark;
250
- return [
251
- variantMatcher("dark", toArray(dark).map((dark2) => (input) => ({ prefix: `${dark2} $$ ${input.prefix}` }))),
252
- variantMatcher("light", toArray(light).map((light2) => (input) => ({ prefix: `${light2} $$ ${input.prefix}` })))
253
- ];
254
- }
255
- return [
256
- variantParentMatcher("dark", "@media (prefers-color-scheme: dark)"),
257
- variantParentMatcher("light", "@media (prefers-color-scheme: light)")
258
- ];
259
- }
260
-
261
- const variantDataAttribute = {
262
- name: "data",
263
- match(matcher, ctx) {
264
- const variant = variantGetParameter("data-", matcher, ctx.generator.config.separators);
265
- if (variant) {
266
- const [match, rest] = variant;
267
- const dataAttribute = h.bracket(match) ?? ctx.theme.data?.[match] ?? "";
268
- if (dataAttribute) {
269
- return {
270
- matcher: rest,
271
- selector: (s) => `${s}[data-${dataAttribute}]`
272
- };
273
- }
274
- }
275
- },
276
- multiPass: true
277
- };
278
- function taggedData(tagName, combinator, options = {}) {
279
- return {
280
- name: `${tagName}-data`,
281
- match(matcher, ctx) {
282
- const variant = variantGetParameter(`${tagName}-data-`, matcher, ctx.generator.config.separators);
283
- if (variant) {
284
- const [match, rest, label] = variant;
285
- const dataAttribute = h.bracket(match) ?? ctx.theme.data?.[match] ?? "";
286
- if (dataAttribute) {
287
- const attributify = !!options?.attributifyPseudo;
288
- let firstPrefix = options?.prefix ?? "";
289
- firstPrefix = (Array.isArray(firstPrefix) ? firstPrefix : [firstPrefix]).filter(Boolean)[0] ?? "";
290
- const parent = `${attributify ? `[${firstPrefix}${tagName}=""]` : `.${firstPrefix}${tagName}`}`;
291
- const escapedLabel = escapeSelector(label ? `/${label}` : "");
292
- return {
293
- matcher: rest,
294
- handle: (input, next) => {
295
- const regexp = new RegExp(`${escapeRegExp(parent)}${escapeRegExp(escapedLabel)}(?:\\[.+?\\])+`);
296
- const match2 = input.prefix.match(regexp);
297
- let nextPrefix;
298
- if (match2) {
299
- const insertIndex = (match2.index ?? 0) + parent.length + escapedLabel.length;
300
- nextPrefix = [
301
- input.prefix.slice(0, insertIndex),
302
- `[data-${dataAttribute}]`,
303
- input.prefix.slice(insertIndex)
304
- ].join("");
305
- } else {
306
- const prefixGroupIndex = Math.max(input.prefix.indexOf(parent), 0);
307
- nextPrefix = [
308
- input.prefix.slice(0, prefixGroupIndex),
309
- parent,
310
- escapedLabel,
311
- `[data-${dataAttribute}]`,
312
- combinator,
313
- input.prefix.slice(prefixGroupIndex)
314
- ].join("");
315
- }
316
- return next({
317
- ...input,
318
- prefix: nextPrefix
319
- });
320
- }
321
- };
322
- }
323
- }
324
- },
325
- multiPass: true
326
- };
327
- }
328
- function taggedHasData() {
329
- return {
330
- name: "has-data",
331
- match(matcher, ctx) {
332
- const variant = variantGetParameter("has-data-", matcher, ctx.generator.config.separators);
333
- if (variant) {
334
- const [match, rest] = variant;
335
- const dataAttribute = h.bracket(match) ?? ctx.theme.data?.[match] ?? "";
336
- if (dataAttribute) {
337
- return {
338
- matcher: rest,
339
- handle: (input, next) => next({
340
- ...input,
341
- pseudo: `${input.pseudo}:has([data-${dataAttribute}])`
342
- })
343
- };
344
- }
345
- }
346
- },
347
- multiPass: true
348
- };
349
- }
350
- function variantTaggedDataAttributes(options = {}) {
351
- return [
352
- taggedData("group", " ", options),
353
- taggedData("peer", "~", options),
354
- taggedData("parent", ">", options),
355
- taggedData("previous", "+", options),
356
- taggedHasData()
357
- ];
358
- }
359
-
360
- const variantLanguageDirections = [
361
- variantMatcher("rtl", (input) => ({ prefix: `[dir="rtl"] $$ ${input.prefix}` })),
362
- variantMatcher("ltr", (input) => ({ prefix: `[dir="ltr"] $$ ${input.prefix}` }))
363
- ];
364
-
365
- function variantImportant() {
366
- let re;
367
- return {
368
- name: "important",
369
- match(matcher, ctx) {
370
- if (!re)
371
- re = new RegExp(`^(important(?:${ctx.generator.config.separators.join("|")})|!)`);
372
- let base;
373
- const match = matcher.match(re);
374
- if (match)
375
- base = matcher.slice(match[0].length);
376
- else if (matcher.endsWith("!"))
377
- base = matcher.slice(0, -1);
378
- if (base) {
379
- return {
380
- matcher: base,
381
- body: (body) => {
382
- body.forEach((v) => {
383
- if (v[1] != null)
384
- v[1] += " !important";
385
- });
386
- return body;
387
- }
388
- };
389
- }
390
- }
391
- };
392
- }
393
-
394
- const variantPrint = variantParentMatcher("print", "@media print");
395
- const variantCustomMedia = {
396
- name: "media",
397
- match(matcher, ctx) {
398
- const variant = variantGetParameter("media-", matcher, ctx.generator.config.separators);
399
- if (variant) {
400
- const [match, rest] = variant;
401
- let media = h.bracket(match) ?? "";
402
- if (media === "")
403
- media = ctx.theme.media?.[match] ?? "";
404
- if (media) {
405
- return {
406
- matcher: rest,
407
- handle: (input, next) => next({
408
- ...input,
409
- parent: `${input.parent ? `${input.parent} $$ ` : ""}@media ${media}`
410
- })
411
- };
412
- }
413
- }
414
- },
415
- multiPass: true
416
- };
417
-
418
- const variantSelector = {
419
- name: "selector",
420
- match(matcher, ctx) {
421
- const variant = variantGetBracket("selector-", matcher, ctx.generator.config.separators);
422
- if (variant) {
423
- const [match, rest] = variant;
424
- const selector = h.bracket(match);
425
- if (selector) {
426
- return {
427
- matcher: rest,
428
- selector: () => selector
429
- };
430
- }
431
- }
432
- }
433
- };
434
- const variantCssLayer = {
435
- name: "layer",
436
- match(matcher, ctx) {
437
- const variant = variantGetParameter("layer-", matcher, ctx.generator.config.separators);
438
- if (variant) {
439
- const [match, rest] = variant;
440
- const layer = h.bracket(match) ?? match;
441
- if (layer) {
442
- return {
443
- matcher: rest,
444
- handle: (input, next) => next({
445
- ...input,
446
- parent: `${input.parent ? `${input.parent} $$ ` : ""}@layer ${layer}`
447
- })
448
- };
449
- }
450
- }
451
- }
452
- };
453
- const variantInternalLayer = {
454
- name: "uno-layer",
455
- match(matcher, ctx) {
456
- const variant = variantGetParameter("uno-layer-", matcher, ctx.generator.config.separators);
457
- if (variant) {
458
- const [match, rest] = variant;
459
- const layer = h.bracket(match) ?? match;
460
- if (layer) {
461
- return {
462
- matcher: rest,
463
- layer
464
- };
465
- }
466
- }
467
- }
468
- };
469
- const variantScope = {
470
- name: "scope",
471
- match(matcher, ctx) {
472
- const variant = variantGetBracket("scope-", matcher, ctx.generator.config.separators);
473
- if (variant) {
474
- const [match, rest] = variant;
475
- const scope = h.bracket(match);
476
- if (scope) {
477
- return {
478
- matcher: rest,
479
- selector: (s) => `${scope} $$ ${s}`
480
- };
481
- }
482
- }
483
- }
484
- };
485
- const variantVariables = {
486
- name: "variables",
487
- match(matcher, ctx) {
488
- if (!matcher.startsWith("["))
489
- return;
490
- const [match, rest] = getBracket(matcher, "[", "]") ?? [];
491
- if (!(match && rest))
492
- return;
493
- let newMatcher;
494
- for (const separator of ctx.generator.config.separators) {
495
- if (rest.startsWith(separator)) {
496
- newMatcher = rest.slice(separator.length);
497
- break;
498
- }
499
- }
500
- if (newMatcher == null)
501
- return;
502
- const variant = h.bracket(match) ?? "";
503
- const useParent = variant.startsWith("@");
504
- if (!(useParent || variant.includes("&")))
505
- return;
506
- return {
507
- matcher: newMatcher,
508
- handle(input, next) {
509
- const updates = useParent ? {
510
- parent: `${input.parent ? `${input.parent} $$ ` : ""}${variant}`
511
- } : {
512
- selector: variant.replace(/&/g, input.selector)
513
- };
514
- return next({
515
- ...input,
516
- ...updates
517
- });
518
- }
519
- };
520
- },
521
- multiPass: true
522
- };
523
- const variantTheme = {
524
- name: "theme-variables",
525
- match(matcher, ctx) {
526
- if (!hasThemeFn(matcher))
527
- return;
528
- return {
529
- matcher,
530
- handle(input, next) {
531
- return next({
532
- ...input,
533
- // entries: [ [ '--css-spacing', '28px' ] ],
534
- entries: JSON.parse(transformThemeFn(JSON.stringify(input.entries), ctx.theme))
535
- });
536
- }
537
- };
538
- }
539
- };
540
-
541
- const anchoredNumberRE = /^-?[0-9.]+(?:[a-z]+|%)?$/;
542
- const numberRE = /-?[0-9.]+(?:[a-z]+|%)?/;
543
- const ignoreProps = [
544
- /\b(opacity|color|flex|backdrop-filter|^filter|transform)\b/
545
- ];
546
- function negateMathFunction(value) {
547
- const match = value.match(cssMathFnRE) || value.match(cssVarFnRE);
548
- if (match) {
549
- const [fnBody, rest] = getStringComponent(`(${match[2]})${match[3]}`, "(", ")", " ") ?? [];
550
- if (fnBody)
551
- return `calc(${match[1]}${fnBody} * -1)${rest ? ` ${rest}` : ""}`;
552
- }
553
- }
554
- const negateFunctionBodyRE = /\b(hue-rotate)\s*(\(.*)/;
555
- function negateFunctionBody(value) {
556
- const match = value.match(negateFunctionBodyRE);
557
- if (match) {
558
- const [fnBody, rest] = getStringComponent(match[2], "(", ")", " ") ?? [];
559
- if (fnBody) {
560
- const body = anchoredNumberRE.test(fnBody.slice(1, -1)) ? fnBody.replace(numberRE, (i) => i.startsWith("-") ? i.slice(1) : `-${i}`) : `(calc(${fnBody} * -1))`;
561
- return `${match[1]}${body}${rest ? ` ${rest}` : ""}`;
562
- }
563
- }
564
- }
565
- const variantNegative = {
566
- name: "negative",
567
- match(matcher) {
568
- if (!matcher.startsWith("-"))
569
- return;
570
- return {
571
- matcher: matcher.slice(1),
572
- body: (body) => {
573
- if (body.find((v) => v[0] === CONTROL_MINI_NO_NEGATIVE))
574
- return;
575
- let changed = false;
576
- body.forEach((v) => {
577
- const value = v[1]?.toString();
578
- if (!value || value === "0")
579
- return;
580
- if (ignoreProps.some((i) => i.test(v[0])))
581
- return;
582
- const negatedFn = negateMathFunction(value);
583
- if (negatedFn) {
584
- v[1] = negatedFn;
585
- changed = true;
586
- return;
587
- }
588
- const negatedBody = negateFunctionBody(value);
589
- if (negatedBody) {
590
- v[1] = negatedBody;
591
- changed = true;
592
- return;
593
- }
594
- if (anchoredNumberRE.test(value)) {
595
- v[1] = value.replace(numberRE, (i) => i.startsWith("-") ? i.slice(1) : `-${i}`);
596
- changed = true;
597
- }
598
- });
599
- if (changed)
600
- return body;
601
- return [];
602
- }
603
- };
604
- }
605
- };
606
-
607
- function variantPseudoClassesAndElements() {
608
- const utils = { getBracket, h, variantGetBracket };
609
- return createPseudoClassesAndElements(utils);
610
- }
611
- function variantPseudoClassFunctions() {
612
- const utils = { getBracket, h, variantGetBracket };
613
- return createPseudoClassFunctions(utils);
614
- }
615
- function variantTaggedPseudoClasses(options = {}) {
616
- const utils = { getBracket, h, variantGetBracket };
617
- return createTaggedPseudoClasses(options, utils);
618
- }
619
- const variantPartClasses = createPartClasses();
620
-
621
- const variantStartingStyle = {
622
- name: "starting",
623
- match(matcher) {
624
- if (!matcher.startsWith("starting:"))
625
- return;
626
- return {
627
- matcher: matcher.slice(9),
628
- handle: (input, next) => next({
629
- ...input,
630
- parent: `@starting-style`
631
- })
632
- };
633
- }
634
- };
635
-
636
- const variantSupports = {
637
- name: "supports",
638
- match(matcher, ctx) {
639
- const variant = variantGetParameter("supports-", matcher, ctx.generator.config.separators);
640
- if (variant) {
641
- const [match, rest] = variant;
642
- let supports = h.bracket(match) ?? "";
643
- if (supports === "")
644
- supports = ctx.theme.supports?.[match] ?? "";
645
- if (supports) {
646
- if (!(supports.startsWith("(") && supports.endsWith(")"))) {
647
- supports = `(${supports})`;
648
- }
649
- return {
650
- matcher: rest,
651
- handle: (input, next) => next({
652
- ...input,
653
- parent: `${input.parent ? `${input.parent} $$ ` : ""}@supports ${supports}`
654
- })
655
- };
656
- }
657
- }
658
- },
659
- multiPass: true
660
- };
661
-
662
- function variants(options) {
663
- return [
664
- variantAria,
665
- variantDataAttribute,
666
- variantCssLayer,
667
- variantSelector,
668
- variantInternalLayer,
669
- variantNegative,
670
- variantStartingStyle,
671
- variantImportant(),
672
- variantSupports,
673
- variantPrint,
674
- variantCustomMedia,
675
- variantBreakpoints(),
676
- ...variantCombinators,
677
- ...variantPseudoClassesAndElements(),
678
- variantPseudoClassFunctions(),
679
- ...variantTaggedPseudoClasses(options),
680
- variantPartClasses,
681
- ...variantColorsMediaOrClass(options),
682
- ...variantLanguageDirections,
683
- variantScope,
684
- ...variantChildren,
685
- variantContainerQuery,
686
- variantVariables,
687
- ...variantTaggedDataAttributes(options),
688
- ...variantTaggedAriaAttributes(options),
689
- variantTheme
690
- ];
691
- }
692
-
693
- export { variantSupports as A, variantTaggedAriaAttributes as a, variantBreakpoints as b, variantChildren as c, variantCombinators as d, variantContainerQuery as e, variantColorsMediaOrClass as f, variantDataAttribute as g, variantTaggedDataAttributes as h, variants as i, variantLanguageDirections as j, variantImportant as k, variantPrint as l, variantCustomMedia as m, variantSelector as n, variantCssLayer as o, variantInternalLayer as p, variantScope as q, variantVariables as r, variantTheme as s, variantNegative as t, variantPseudoClassesAndElements as u, variantAria as v, variantPseudoClassFunctions as w, variantTaggedPseudoClasses as x, variantPartClasses as y, variantStartingStyle as z };