typewritingclass 0.2.2 → 0.2.6

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 (139) hide show
  1. package/dist/borders-pzt8w5Wv.d.cts +24 -0
  2. package/dist/borders-pzt8w5Wv.d.ts +24 -0
  3. package/dist/chunk-34VD2OBF.cjs +74 -0
  4. package/dist/chunk-6CEDQ6GF.cjs +36 -0
  5. package/dist/chunk-75ZPJI57.cjs +9 -0
  6. package/dist/chunk-ATLK64TQ.js +85 -0
  7. package/dist/chunk-BAZLFQIV.cjs +85 -0
  8. package/dist/chunk-CB7B6PHY.cjs +19 -0
  9. package/dist/chunk-EBHM46CV.cjs +25 -0
  10. package/dist/chunk-IL3LVS32.js +36 -0
  11. package/dist/chunk-JKT74FUK.js +25 -0
  12. package/dist/chunk-L3IF2OVA.cjs +354 -0
  13. package/{src/theme/animations.ts → dist/chunk-L7AJQJBR.js} +16 -8
  14. package/dist/chunk-LARVCDO3.js +113 -0
  15. package/dist/chunk-M34ZK4IV.cjs +53 -0
  16. package/dist/chunk-MLKGABMK.js +9 -0
  17. package/dist/chunk-PBQX6PVK.js +80 -0
  18. package/dist/chunk-PTY5FTFB.cjs +80 -0
  19. package/dist/chunk-T776FXQK.js +53 -0
  20. package/dist/chunk-TAAEIXRF.js +74 -0
  21. package/dist/chunk-TUUH2FJY.cjs +39 -0
  22. package/dist/chunk-U2LSMKZS.js +60 -0
  23. package/dist/chunk-UUUE7HRN.cjs +60 -0
  24. package/dist/chunk-UUVUSZJS.cjs +113 -0
  25. package/dist/chunk-XEHQXLQR.js +354 -0
  26. package/dist/chunk-YHDPOIUZ.js +39 -0
  27. package/dist/colors-MvgcZKUW.d.cts +72 -0
  28. package/dist/colors-MvgcZKUW.d.ts +72 -0
  29. package/dist/index.cjs +2944 -0
  30. package/dist/index.d.cts +3542 -0
  31. package/dist/index.d.ts +3542 -0
  32. package/dist/index.js +2944 -0
  33. package/{src/theme/inject-theme.ts → dist/inject-theme-CTzyfQH0.d.cts} +4 -20
  34. package/dist/inject-theme-CTzyfQH0.d.ts +65 -0
  35. package/dist/inject.cjs +32 -0
  36. package/dist/inject.d.cts +2 -0
  37. package/dist/inject.d.ts +2 -0
  38. package/dist/inject.js +32 -0
  39. package/dist/rule.cjs +19 -0
  40. package/{src/rule.ts → dist/rule.d.cts} +10 -79
  41. package/dist/rule.d.ts +133 -0
  42. package/dist/rule.js +19 -0
  43. package/dist/runtime.cjs +9 -0
  44. package/{src/runtime.ts → dist/runtime.d.cts} +4 -7
  45. package/dist/runtime.d.ts +33 -0
  46. package/dist/runtime.js +9 -0
  47. package/dist/shadows-CWViP1Zk.d.cts +22 -0
  48. package/dist/shadows-CWViP1Zk.d.ts +22 -0
  49. package/dist/sizes-CS9iz8YG.d.cts +46 -0
  50. package/dist/sizes-CS9iz8YG.d.ts +46 -0
  51. package/dist/theme/animations.cjs +15 -0
  52. package/dist/theme/animations.d.cts +12 -0
  53. package/dist/theme/animations.d.ts +12 -0
  54. package/dist/theme/animations.js +15 -0
  55. package/dist/theme/borders.cjs +23 -0
  56. package/dist/theme/borders.d.cts +1 -0
  57. package/dist/theme/borders.d.ts +1 -0
  58. package/dist/theme/borders.js +23 -0
  59. package/dist/theme/colors.cjs +57 -0
  60. package/dist/theme/colors.d.cts +1 -0
  61. package/dist/theme/colors.d.ts +1 -0
  62. package/dist/theme/colors.js +57 -0
  63. package/dist/theme/createTheme.cjs +7 -0
  64. package/dist/theme/createTheme.d.cts +133 -0
  65. package/dist/theme/createTheme.d.ts +133 -0
  66. package/dist/theme/createTheme.js +7 -0
  67. package/dist/theme/filters.cjs +9 -0
  68. package/dist/theme/filters.d.cts +21 -0
  69. package/dist/theme/filters.d.ts +21 -0
  70. package/dist/theme/filters.js +9 -0
  71. package/dist/theme/index.cjs +35 -0
  72. package/dist/theme/index.d.cts +18 -0
  73. package/dist/theme/index.d.ts +18 -0
  74. package/dist/theme/index.js +35 -0
  75. package/dist/theme/shadows.cjs +21 -0
  76. package/dist/theme/shadows.d.cts +1 -0
  77. package/dist/theme/shadows.d.ts +1 -0
  78. package/dist/theme/shadows.js +21 -0
  79. package/dist/theme/sizes.cjs +21 -0
  80. package/dist/theme/sizes.d.cts +1 -0
  81. package/dist/theme/sizes.d.ts +1 -0
  82. package/dist/theme/sizes.js +21 -0
  83. package/dist/theme/typography.cjs +55 -0
  84. package/dist/theme/typography.d.cts +1 -0
  85. package/dist/theme/typography.d.ts +1 -0
  86. package/dist/theme/typography.js +55 -0
  87. package/dist/types-FfRD4Hbd.d.cts +346 -0
  88. package/dist/types-FfRD4Hbd.d.ts +346 -0
  89. package/dist/typography-C8wipcCK.d.cts +87 -0
  90. package/dist/typography-C8wipcCK.d.ts +87 -0
  91. package/package.json +117 -33
  92. package/src/css.ts +0 -140
  93. package/src/cx.ts +0 -105
  94. package/src/dcx.ts +0 -79
  95. package/src/dynamic.ts +0 -117
  96. package/src/hash.ts +0 -55
  97. package/src/index.ts +0 -139
  98. package/src/inject.ts +0 -86
  99. package/src/layer.ts +0 -81
  100. package/src/modifiers/aria.ts +0 -15
  101. package/src/modifiers/colorScheme.ts +0 -32
  102. package/src/modifiers/data.ts +0 -6
  103. package/src/modifiers/direction.ts +0 -5
  104. package/src/modifiers/group.ts +0 -21
  105. package/src/modifiers/index.ts +0 -17
  106. package/src/modifiers/media.ts +0 -11
  107. package/src/modifiers/peer.ts +0 -24
  108. package/src/modifiers/pseudo.ts +0 -183
  109. package/src/modifiers/pseudoElements.ts +0 -26
  110. package/src/modifiers/responsive.ts +0 -110
  111. package/src/modifiers/supports.ts +0 -6
  112. package/src/registry.ts +0 -171
  113. package/src/theme/borders.ts +0 -9
  114. package/src/theme/colors.ts +0 -326
  115. package/src/theme/createTheme.ts +0 -238
  116. package/src/theme/filters.ts +0 -20
  117. package/src/theme/index.ts +0 -9
  118. package/src/theme/shadows.ts +0 -8
  119. package/src/theme/sizes.ts +0 -37
  120. package/src/theme/spacing.ts +0 -44
  121. package/src/theme/typography.ts +0 -72
  122. package/src/tw.ts +0 -967
  123. package/src/types.ts +0 -273
  124. package/src/utilities/accessibility.ts +0 -33
  125. package/src/utilities/backgrounds.ts +0 -87
  126. package/src/utilities/borders.ts +0 -629
  127. package/src/utilities/colors.ts +0 -151
  128. package/src/utilities/effects.ts +0 -181
  129. package/src/utilities/filters.ts +0 -113
  130. package/src/utilities/index.ts +0 -57
  131. package/src/utilities/interactivity.ts +0 -254
  132. package/src/utilities/layout.ts +0 -1194
  133. package/src/utilities/spacing.ts +0 -681
  134. package/src/utilities/svg.ts +0 -35
  135. package/src/utilities/tables.ts +0 -54
  136. package/src/utilities/transforms.ts +0 -88
  137. package/src/utilities/transitions.ts +0 -107
  138. package/src/utilities/typography.ts +0 -387
  139. package/src/when.ts +0 -63
package/dist/index.js ADDED
@@ -0,0 +1,2944 @@
1
+ import {
2
+ blur,
3
+ dropShadow
4
+ } from "./chunk-JKT74FUK.js";
5
+ import {
6
+ injectTheme,
7
+ resolveSpacing,
8
+ setTheme
9
+ } from "./chunk-TAAEIXRF.js";
10
+ import {
11
+ generateCSS,
12
+ register
13
+ } from "./chunk-T776FXQK.js";
14
+ import {
15
+ combineRules,
16
+ createDynamicRule,
17
+ createRule,
18
+ wrapWithMediaQuery,
19
+ wrapWithSelector,
20
+ wrapWithSelectorTemplate,
21
+ wrapWithSupportsQuery
22
+ } from "./chunk-PBQX6PVK.js";
23
+ import {
24
+ amber,
25
+ black,
26
+ blue,
27
+ cyan,
28
+ emerald,
29
+ fuchsia,
30
+ gray,
31
+ green,
32
+ indigo,
33
+ lime,
34
+ neutral,
35
+ orange,
36
+ pink,
37
+ purple,
38
+ red,
39
+ rose,
40
+ sky,
41
+ slate,
42
+ stone,
43
+ teal,
44
+ violet,
45
+ white,
46
+ yellow,
47
+ zinc
48
+ } from "./chunk-XEHQXLQR.js";
49
+ import {
50
+ fontFamilies,
51
+ letterSpacings,
52
+ lineHeights
53
+ } from "./chunk-LARVCDO3.js";
54
+ import {
55
+ maxWidths
56
+ } from "./chunk-U2LSMKZS.js";
57
+ import {
58
+ DEFAULT as DEFAULT2,
59
+ _2xl as _2xl2,
60
+ inner,
61
+ lg as lg2,
62
+ md as md2,
63
+ none as none2,
64
+ sm as sm2,
65
+ xl as xl2
66
+ } from "./chunk-IL3LVS32.js";
67
+ import {
68
+ DEFAULT,
69
+ _2xl,
70
+ _3xl,
71
+ full,
72
+ lg,
73
+ md,
74
+ none,
75
+ sm,
76
+ xl
77
+ } from "./chunk-YHDPOIUZ.js";
78
+ import {
79
+ createTheme
80
+ } from "./chunk-ATLK64TQ.js";
81
+ import {
82
+ bounce,
83
+ ping,
84
+ pulse,
85
+ spin
86
+ } from "./chunk-L7AJQJBR.js";
87
+ import "./chunk-MLKGABMK.js";
88
+
89
+ // src/hash.ts
90
+ function djb2(str) {
91
+ let hash = 5381;
92
+ for (let i = 0; i < str.length; i++) {
93
+ hash = (hash << 5) + hash + str.charCodeAt(i) | 0;
94
+ }
95
+ return hash >>> 0;
96
+ }
97
+ function generateHash(rule, layer2) {
98
+ const input = JSON.stringify(rule.declarations) + JSON.stringify(rule.selectors) + JSON.stringify(rule.mediaQueries) + JSON.stringify(rule.supportsQueries) + String(layer2) + (rule.selectorTemplate ?? "");
99
+ return "_" + djb2(input).toString(36);
100
+ }
101
+
102
+ // src/layer.ts
103
+ var globalLayer = 0;
104
+ function nextLayer() {
105
+ return globalLayer++;
106
+ }
107
+ function layer(priority) {
108
+ return (...rules) => {
109
+ const combined = rules.length === 1 ? rules[0] : {
110
+ _tag: "StyleRule",
111
+ declarations: Object.assign({}, ...rules.map((r) => r.declarations)),
112
+ selectors: [...new Set(rules.flatMap((r) => r.selectors))],
113
+ mediaQueries: [...new Set(rules.flatMap((r) => r.mediaQueries))],
114
+ ...rules.some((r) => r.dynamicBindings) ? {
115
+ dynamicBindings: Object.assign({}, ...rules.filter((r) => r.dynamicBindings).map((r) => r.dynamicBindings))
116
+ } : {}
117
+ };
118
+ return { ...combined, _layer: priority };
119
+ };
120
+ }
121
+
122
+ // src/cx.ts
123
+ function cx(...args) {
124
+ if (process.env.NODE_ENV !== "production") {
125
+ warnConflicts(args);
126
+ }
127
+ return args.map((arg) => {
128
+ if (typeof arg === "string") return arg;
129
+ const layerNum = arg._layer ?? nextLayer();
130
+ const className = generateHash(arg, layerNum);
131
+ register(className, arg, layerNum);
132
+ return className;
133
+ }).join(" ");
134
+ }
135
+ function warnConflicts(args) {
136
+ const seen = /* @__PURE__ */ new Map();
137
+ for (let i = 0; i < args.length; i++) {
138
+ const arg = args[i];
139
+ if (typeof arg === "string") continue;
140
+ for (const prop of Object.keys(arg.declarations)) {
141
+ if (seen.has(prop)) {
142
+ console.warn(
143
+ `[typewritingclass] cx() conflict: "${prop}" is set by arguments at index ${seen.get(prop)} and ${i}. The later value will override. If intentional, this warning can be ignored.`
144
+ );
145
+ }
146
+ seen.set(prop, i);
147
+ }
148
+ }
149
+ }
150
+
151
+ // src/dcx.ts
152
+ function dcx(...args) {
153
+ const classNames = [];
154
+ const style = {};
155
+ for (const arg of args) {
156
+ if (typeof arg === "string") {
157
+ classNames.push(arg);
158
+ continue;
159
+ }
160
+ const layerNum = arg._layer ?? nextLayer();
161
+ const className = generateHash(arg, layerNum);
162
+ register(className, arg, layerNum);
163
+ classNames.push(className);
164
+ if (arg.dynamicBindings) {
165
+ Object.assign(style, arg.dynamicBindings);
166
+ }
167
+ }
168
+ return { className: classNames.join(" "), style };
169
+ }
170
+
171
+ // src/when.ts
172
+ function when(...modifiers) {
173
+ return (...rules) => {
174
+ const combined = combineRules(rules);
175
+ return modifiers.reduceRight((acc, mod) => mod(acc), combined);
176
+ };
177
+ }
178
+
179
+ // src/dynamic.ts
180
+ var counter = 0;
181
+ function dynamic(value) {
182
+ return { _tag: "DynamicValue", __value: value, __id: `--twc-d${counter++}` };
183
+ }
184
+ function isDynamic(v) {
185
+ return typeof v === "object" && v !== null && "_tag" in v && v._tag === "DynamicValue";
186
+ }
187
+
188
+ // src/css.ts
189
+ function css(first, ...values) {
190
+ if (!Array.isArray(first) && !("raw" in first)) {
191
+ return createRule(first);
192
+ }
193
+ const strings = first;
194
+ const declarations = {};
195
+ let dynamicBindings;
196
+ let raw = "";
197
+ for (let i = 0; i < strings.length; i++) {
198
+ raw += strings[i];
199
+ if (i < values.length) {
200
+ const val = values[i];
201
+ if (isDynamic(val)) {
202
+ if (!dynamicBindings) dynamicBindings = {};
203
+ dynamicBindings[val.__id] = String(val.__value);
204
+ raw += `var(${val.__id})`;
205
+ } else {
206
+ raw += String(val);
207
+ }
208
+ }
209
+ }
210
+ const lines = raw.split(";");
211
+ for (const line of lines) {
212
+ const trimmed = line.trim();
213
+ if (!trimmed) continue;
214
+ const colonIdx = trimmed.indexOf(":");
215
+ if (colonIdx === -1) continue;
216
+ const prop = trimmed.slice(0, colonIdx).trim();
217
+ const value = trimmed.slice(colonIdx + 1).trim();
218
+ if (prop && value) {
219
+ declarations[prop] = value;
220
+ }
221
+ }
222
+ if (dynamicBindings) {
223
+ return createDynamicRule(declarations, dynamicBindings);
224
+ }
225
+ return createRule(declarations);
226
+ }
227
+
228
+ // src/utilities/spacing.ts
229
+ function sp(value) {
230
+ if (isDynamic(value)) return value;
231
+ return resolveSpacing(value);
232
+ }
233
+ function spacingRule(prop, value) {
234
+ const v = sp(value);
235
+ if (isDynamic(v)) {
236
+ return createDynamicRule(
237
+ { [prop]: `var(${v.__id})` },
238
+ { [v.__id]: String(v.__value) }
239
+ );
240
+ }
241
+ return createRule({ [prop]: v });
242
+ }
243
+ function spacingRuleMulti(props, value) {
244
+ const v = sp(value);
245
+ if (isDynamic(v)) {
246
+ const decls2 = {};
247
+ for (const prop of props) decls2[prop] = `var(${v.__id})`;
248
+ return createDynamicRule(decls2, { [v.__id]: String(v.__value) });
249
+ }
250
+ const decls = {};
251
+ for (const prop of props) decls[prop] = v;
252
+ return createRule(decls);
253
+ }
254
+ function p(value) {
255
+ return spacingRule("padding", value);
256
+ }
257
+ function px(value) {
258
+ return spacingRuleMulti(["padding-left", "padding-right"], value);
259
+ }
260
+ function py(value) {
261
+ return spacingRuleMulti(["padding-top", "padding-bottom"], value);
262
+ }
263
+ function pt(value) {
264
+ return spacingRule("padding-top", value);
265
+ }
266
+ function pr(value) {
267
+ return spacingRule("padding-right", value);
268
+ }
269
+ function pb(value) {
270
+ return spacingRule("padding-bottom", value);
271
+ }
272
+ function pl(value) {
273
+ return spacingRule("padding-left", value);
274
+ }
275
+ function m(value) {
276
+ return spacingRule("margin", value);
277
+ }
278
+ function mx(value) {
279
+ return spacingRuleMulti(["margin-left", "margin-right"], value);
280
+ }
281
+ function my(value) {
282
+ return spacingRuleMulti(["margin-top", "margin-bottom"], value);
283
+ }
284
+ function mt(value) {
285
+ return spacingRule("margin-top", value);
286
+ }
287
+ function mr(value) {
288
+ return spacingRule("margin-right", value);
289
+ }
290
+ function mb(value) {
291
+ return spacingRule("margin-bottom", value);
292
+ }
293
+ function ml(value) {
294
+ return spacingRule("margin-left", value);
295
+ }
296
+ function gap(value) {
297
+ return spacingRule("gap", value);
298
+ }
299
+ function gapX(value) {
300
+ return spacingRule("column-gap", value);
301
+ }
302
+ function gapY(value) {
303
+ return spacingRule("row-gap", value);
304
+ }
305
+ function ps(value) {
306
+ return spacingRule("padding-inline-start", value);
307
+ }
308
+ function pe(value) {
309
+ return spacingRule("padding-inline-end", value);
310
+ }
311
+ function ms(value) {
312
+ return spacingRule("margin-inline-start", value);
313
+ }
314
+ function me(value) {
315
+ return spacingRule("margin-inline-end", value);
316
+ }
317
+ function spaceX(value) {
318
+ const rule = spacingRule("margin-left", value);
319
+ return wrapWithSelectorTemplate(rule, "& > :not([hidden]) ~ :not([hidden])");
320
+ }
321
+ function spaceY(value) {
322
+ const rule = spacingRule("margin-top", value);
323
+ return wrapWithSelectorTemplate(rule, "& > :not([hidden]) ~ :not([hidden])");
324
+ }
325
+ function spaceXReverse() {
326
+ const rule = createRule({ "--twc-space-x-reverse": "1" });
327
+ return wrapWithSelectorTemplate(rule, "& > :not([hidden]) ~ :not([hidden])");
328
+ }
329
+ function spaceYReverse() {
330
+ const rule = createRule({ "--twc-space-y-reverse": "1" });
331
+ return wrapWithSelectorTemplate(rule, "& > :not([hidden]) ~ :not([hidden])");
332
+ }
333
+
334
+ // src/utilities/colors.ts
335
+ var colorMap = {};
336
+ var colorScales = {
337
+ slate,
338
+ gray,
339
+ zinc,
340
+ neutral,
341
+ stone,
342
+ red,
343
+ orange,
344
+ amber,
345
+ yellow,
346
+ lime,
347
+ green,
348
+ emerald,
349
+ teal,
350
+ cyan,
351
+ sky,
352
+ blue,
353
+ indigo,
354
+ violet,
355
+ purple,
356
+ fuchsia,
357
+ pink,
358
+ rose
359
+ };
360
+ for (const [name, scale2] of Object.entries(colorScales)) {
361
+ for (const [shade, hex] of Object.entries(scale2)) {
362
+ colorMap[`${name}-${shade}`] = hex;
363
+ }
364
+ }
365
+ colorMap["white"] = white;
366
+ colorMap["black"] = black;
367
+ colorMap["transparent"] = "transparent";
368
+ colorMap["current"] = "currentColor";
369
+ function resolveColor(value) {
370
+ return colorMap[value] ?? value;
371
+ }
372
+ function bg(color) {
373
+ if (isDynamic(color)) {
374
+ return createDynamicRule(
375
+ { "background-color": `var(${color.__id})` },
376
+ { [color.__id]: String(color.__value) }
377
+ );
378
+ }
379
+ return createRule({ "background-color": resolveColor(color) });
380
+ }
381
+ function textColor(color) {
382
+ if (isDynamic(color)) {
383
+ return createDynamicRule(
384
+ { color: `var(${color.__id})` },
385
+ { [color.__id]: String(color.__value) }
386
+ );
387
+ }
388
+ return createRule({ color: resolveColor(color) });
389
+ }
390
+ function borderColor(color) {
391
+ if (isDynamic(color)) {
392
+ return createDynamicRule(
393
+ { "border-color": `var(${color.__id})` },
394
+ { [color.__id]: String(color.__value) }
395
+ );
396
+ }
397
+ return createRule({ "border-color": resolveColor(color) });
398
+ }
399
+
400
+ // src/utilities/typography.ts
401
+ var trackingMap = { ...letterSpacings };
402
+ var leadingMap = { ...lineHeights };
403
+ var fontFamilyMap = { ...fontFamilies };
404
+ function text(size2) {
405
+ if (isDynamic(size2)) {
406
+ return createDynamicRule(
407
+ { "font-size": `var(${size2.__id})` },
408
+ { [size2.__id]: String(size2.__value) }
409
+ );
410
+ }
411
+ if (typeof size2 === "string") {
412
+ return createRule({ "font-size": size2 });
413
+ }
414
+ return createRule({ "font-size": size2.fontSize, "line-height": size2.lineHeight });
415
+ }
416
+ function font(weight) {
417
+ if (isDynamic(weight)) {
418
+ return createDynamicRule(
419
+ { "font-weight": `var(${weight.__id})` },
420
+ { [weight.__id]: String(weight.__value) }
421
+ );
422
+ }
423
+ return createRule({ "font-weight": weight });
424
+ }
425
+ function tracking(value) {
426
+ if (isDynamic(value)) {
427
+ return createDynamicRule(
428
+ { "letter-spacing": `var(${value.__id})` },
429
+ { [value.__id]: String(value.__value) }
430
+ );
431
+ }
432
+ return createRule({ "letter-spacing": trackingMap[value] ?? value });
433
+ }
434
+ function leading(value) {
435
+ if (isDynamic(value)) {
436
+ return createDynamicRule(
437
+ { "line-height": `var(${value.__id})` },
438
+ { [value.__id]: String(value.__value) }
439
+ );
440
+ }
441
+ const v = typeof value === "string" ? leadingMap[value] ?? value : String(value);
442
+ return createRule({ "line-height": v });
443
+ }
444
+ function textAlign(value) {
445
+ return createRule({ "text-align": value });
446
+ }
447
+ function fontFamily(value) {
448
+ if (isDynamic(value)) {
449
+ return createDynamicRule(
450
+ { "font-family": `var(${value.__id})` },
451
+ { [value.__id]: String(value.__value) }
452
+ );
453
+ }
454
+ return createRule({ "font-family": fontFamilyMap[value] ?? value });
455
+ }
456
+ function antialiased() {
457
+ return createRule({
458
+ "-webkit-font-smoothing": "antialiased",
459
+ "-moz-osx-font-smoothing": "grayscale"
460
+ });
461
+ }
462
+ function subpixelAntialiased() {
463
+ return createRule({
464
+ "-webkit-font-smoothing": "auto",
465
+ "-moz-osx-font-smoothing": "auto"
466
+ });
467
+ }
468
+ function italic() {
469
+ return createRule({ "font-style": "italic" });
470
+ }
471
+ function notItalic() {
472
+ return createRule({ "font-style": "normal" });
473
+ }
474
+ function normalNums() {
475
+ return createRule({ "font-variant-numeric": "normal" });
476
+ }
477
+ function ordinal() {
478
+ return createRule({ "font-variant-numeric": "ordinal" });
479
+ }
480
+ function slashedZero() {
481
+ return createRule({ "font-variant-numeric": "slashed-zero" });
482
+ }
483
+ function liningNums() {
484
+ return createRule({ "font-variant-numeric": "lining-nums" });
485
+ }
486
+ function oldstyleNums() {
487
+ return createRule({ "font-variant-numeric": "oldstyle-nums" });
488
+ }
489
+ function proportionalNums() {
490
+ return createRule({ "font-variant-numeric": "proportional-nums" });
491
+ }
492
+ function tabularNums() {
493
+ return createRule({ "font-variant-numeric": "tabular-nums" });
494
+ }
495
+ function diagonalFractions() {
496
+ return createRule({ "font-variant-numeric": "diagonal-fractions" });
497
+ }
498
+ function stackedFractions() {
499
+ return createRule({ "font-variant-numeric": "stacked-fractions" });
500
+ }
501
+ function lineClamp(value) {
502
+ return createRule({
503
+ overflow: "hidden",
504
+ display: "-webkit-box",
505
+ "-webkit-box-orient": "vertical",
506
+ "-webkit-line-clamp": String(value)
507
+ });
508
+ }
509
+ function listStyleImage(value) {
510
+ return createRule({ "list-style-image": value });
511
+ }
512
+ function listStylePosition(value) {
513
+ return createRule({ "list-style-position": value });
514
+ }
515
+ function listStyleType(value) {
516
+ return createRule({ "list-style-type": value });
517
+ }
518
+ function textDecoration(value) {
519
+ return createRule({ "text-decoration-line": value });
520
+ }
521
+ function textDecorationColor(value) {
522
+ if (isDynamic(value)) {
523
+ return createDynamicRule(
524
+ { "text-decoration-color": `var(${value.__id})` },
525
+ { [value.__id]: String(value.__value) }
526
+ );
527
+ }
528
+ return createRule({ "text-decoration-color": resolveColor(value) });
529
+ }
530
+ function textDecorationStyle(value) {
531
+ return createRule({ "text-decoration-style": value });
532
+ }
533
+ function textDecorationThickness(value) {
534
+ if (isDynamic(value)) {
535
+ return createDynamicRule(
536
+ { "text-decoration-thickness": `var(${value.__id})` },
537
+ { [value.__id]: String(value.__value) }
538
+ );
539
+ }
540
+ return createRule({ "text-decoration-thickness": value });
541
+ }
542
+ function textUnderlineOffset(value) {
543
+ if (isDynamic(value)) {
544
+ return createDynamicRule(
545
+ { "text-underline-offset": `var(${value.__id})` },
546
+ { [value.__id]: String(value.__value) }
547
+ );
548
+ }
549
+ return createRule({ "text-underline-offset": value });
550
+ }
551
+ function textTransform(value) {
552
+ return createRule({ "text-transform": value });
553
+ }
554
+ function textOverflow(value) {
555
+ return createRule({ "text-overflow": value });
556
+ }
557
+ function textWrap(value) {
558
+ return createRule({ "text-wrap": value });
559
+ }
560
+ function textIndent(value) {
561
+ if (isDynamic(value)) {
562
+ return createDynamicRule(
563
+ { "text-indent": `var(${value.__id})` },
564
+ { [value.__id]: String(value.__value) }
565
+ );
566
+ }
567
+ return createRule({ "text-indent": value });
568
+ }
569
+ function verticalAlign(value) {
570
+ return createRule({ "vertical-align": value });
571
+ }
572
+ function whitespace(value) {
573
+ return createRule({ "white-space": value });
574
+ }
575
+ function wordBreak(value) {
576
+ return createRule({ "word-break": value });
577
+ }
578
+ function hyphens(value) {
579
+ return createRule({ hyphens: value });
580
+ }
581
+ function content_(value) {
582
+ return createRule({ content: value });
583
+ }
584
+ function truncate() {
585
+ return createRule({
586
+ overflow: "hidden",
587
+ "text-overflow": "ellipsis",
588
+ "white-space": "nowrap"
589
+ });
590
+ }
591
+
592
+ // src/utilities/layout.ts
593
+ var sizeMap = {
594
+ full: "100%",
595
+ auto: "auto",
596
+ min: "min-content",
597
+ max: "max-content",
598
+ fit: "fit-content",
599
+ "1/2": "50%",
600
+ "1/3": "33.333333%",
601
+ "2/3": "66.666667%",
602
+ "1/4": "25%",
603
+ "2/4": "50%",
604
+ "3/4": "75%",
605
+ "1/5": "20%",
606
+ "2/5": "40%",
607
+ "3/5": "60%",
608
+ "4/5": "80%",
609
+ "1/6": "16.666667%",
610
+ "2/6": "33.333333%",
611
+ "3/6": "50%",
612
+ "4/6": "66.666667%",
613
+ "5/6": "83.333333%",
614
+ "1/12": "8.333333%",
615
+ "2/12": "16.666667%",
616
+ "3/12": "25%",
617
+ "4/12": "33.333333%",
618
+ "5/12": "41.666667%",
619
+ "6/12": "50%",
620
+ "7/12": "58.333333%",
621
+ "8/12": "66.666667%",
622
+ "9/12": "75%",
623
+ "10/12": "83.333333%",
624
+ "11/12": "91.666667%"
625
+ };
626
+ var widthSizeMap = { ...sizeMap, screen: "100vw" };
627
+ var heightSizeMap = { ...sizeMap, screen: "100vh" };
628
+ var maxWidthMap = { ...sizeMap, ...maxWidths };
629
+ function resolveSize(value, nameMap) {
630
+ if (isDynamic(value)) return value;
631
+ if (typeof value === "string") return (nameMap && nameMap[value]) ?? sizeMap[value] ?? value;
632
+ return resolveSpacing(value);
633
+ }
634
+ function sizeRule(prop, value, nameMap) {
635
+ const v = resolveSize(value, nameMap);
636
+ if (isDynamic(v)) {
637
+ return createDynamicRule(
638
+ { [prop]: `var(${v.__id})` },
639
+ { [v.__id]: String(v.__value) }
640
+ );
641
+ }
642
+ return createRule({ [prop]: v });
643
+ }
644
+ function sizeRuleMulti(props, value, nameMap) {
645
+ const v = resolveSize(value, nameMap);
646
+ if (isDynamic(v)) {
647
+ const decls2 = {};
648
+ for (const prop of props) decls2[prop] = `var(${v.__id})`;
649
+ return createDynamicRule(decls2, { [v.__id]: String(v.__value) });
650
+ }
651
+ const decls = {};
652
+ for (const prop of props) decls[prop] = v;
653
+ return createRule(decls);
654
+ }
655
+ function flex() {
656
+ return createRule({ display: "flex" });
657
+ }
658
+ function flexCol() {
659
+ return createRule({ "flex-direction": "column" });
660
+ }
661
+ function flexRow() {
662
+ return createRule({ "flex-direction": "row" });
663
+ }
664
+ function flexWrap() {
665
+ return createRule({ "flex-wrap": "wrap" });
666
+ }
667
+ function inlineFlex() {
668
+ return createRule({ display: "inline-flex" });
669
+ }
670
+ function grid(cols) {
671
+ const decls = { display: "grid" };
672
+ if (cols !== void 0) {
673
+ decls["grid-template-columns"] = `repeat(${cols}, minmax(0, 1fr))`;
674
+ }
675
+ return createRule(decls);
676
+ }
677
+ function gridCols(n) {
678
+ return createRule({ "grid-template-columns": `repeat(${n}, minmax(0, 1fr))` });
679
+ }
680
+ function gridRows(n) {
681
+ return createRule({ "grid-template-rows": `repeat(${n}, minmax(0, 1fr))` });
682
+ }
683
+ function w(value) {
684
+ return sizeRule("width", value, widthSizeMap);
685
+ }
686
+ function h(value) {
687
+ return sizeRule("height", value, heightSizeMap);
688
+ }
689
+ function size(value) {
690
+ return sizeRuleMulti(["width", "height"], value);
691
+ }
692
+ function minW(value) {
693
+ return sizeRule("min-width", value);
694
+ }
695
+ function minH(value) {
696
+ return sizeRule("min-height", value, heightSizeMap);
697
+ }
698
+ function maxW(value) {
699
+ return sizeRule("max-width", value, maxWidthMap);
700
+ }
701
+ function maxH(value) {
702
+ return sizeRule("max-height", value, heightSizeMap);
703
+ }
704
+ function display(value) {
705
+ return createRule({ display: value });
706
+ }
707
+ function items(value) {
708
+ return createRule({ "align-items": value });
709
+ }
710
+ function justify(value) {
711
+ return createRule({ "justify-content": value });
712
+ }
713
+ function self(value) {
714
+ return createRule({ "align-self": value });
715
+ }
716
+ function overflow(value) {
717
+ return createRule({ overflow: value });
718
+ }
719
+ function overflowX(value) {
720
+ return createRule({ "overflow-x": value });
721
+ }
722
+ function overflowY(value) {
723
+ return createRule({ "overflow-y": value });
724
+ }
725
+ function relative() {
726
+ return createRule({ position: "relative" });
727
+ }
728
+ function absolute() {
729
+ return createRule({ position: "absolute" });
730
+ }
731
+ function fixed() {
732
+ return createRule({ position: "fixed" });
733
+ }
734
+ function sticky() {
735
+ return createRule({ position: "sticky" });
736
+ }
737
+ function top(value) {
738
+ return sizeRule("top", value);
739
+ }
740
+ function right(value) {
741
+ return sizeRule("right", value);
742
+ }
743
+ function bottom(value) {
744
+ return sizeRule("bottom", value);
745
+ }
746
+ function left(value) {
747
+ return sizeRule("left", value);
748
+ }
749
+ function inset(value) {
750
+ return sizeRule("inset", value);
751
+ }
752
+ function z(value) {
753
+ if (isDynamic(value)) {
754
+ return createDynamicRule(
755
+ { "z-index": `var(${value.__id})` },
756
+ { [value.__id]: String(value.__value) }
757
+ );
758
+ }
759
+ return createRule({ "z-index": String(value) });
760
+ }
761
+ var aspectRatioMap = {
762
+ auto: "auto",
763
+ square: "1 / 1",
764
+ video: "16 / 9"
765
+ };
766
+ function aspectRatio(value) {
767
+ return createRule({ "aspect-ratio": aspectRatioMap[value] ?? value });
768
+ }
769
+ function columns(value) {
770
+ return createRule({ columns: String(value) });
771
+ }
772
+ function breakAfter(value) {
773
+ return createRule({ "break-after": value });
774
+ }
775
+ function breakBefore(value) {
776
+ return createRule({ "break-before": value });
777
+ }
778
+ function breakInside(value) {
779
+ return createRule({ "break-inside": value });
780
+ }
781
+ function boxDecorationBreak(value) {
782
+ return createRule({ "box-decoration-break": value });
783
+ }
784
+ function boxSizing(value) {
785
+ return createRule({ "box-sizing": value });
786
+ }
787
+ function float_(value) {
788
+ return createRule({ float: value });
789
+ }
790
+ function clear_(value) {
791
+ return createRule({ clear: value });
792
+ }
793
+ function isolate() {
794
+ return createRule({ isolation: "isolate" });
795
+ }
796
+ function isolationAuto() {
797
+ return createRule({ isolation: "auto" });
798
+ }
799
+ function objectFit(value) {
800
+ return createRule({ "object-fit": value });
801
+ }
802
+ function objectPosition(value) {
803
+ return createRule({ "object-position": value });
804
+ }
805
+ function overscrollBehavior(value) {
806
+ return createRule({ "overscroll-behavior": value });
807
+ }
808
+ function overscrollX(value) {
809
+ return createRule({ "overscroll-behavior-x": value });
810
+ }
811
+ function overscrollY(value) {
812
+ return createRule({ "overscroll-behavior-y": value });
813
+ }
814
+ function static_() {
815
+ return createRule({ position: "static" });
816
+ }
817
+ function insetX(value) {
818
+ return sizeRuleMulti(["left", "right"], value);
819
+ }
820
+ function insetY(value) {
821
+ return sizeRuleMulti(["top", "bottom"], value);
822
+ }
823
+ function start(value) {
824
+ return sizeRule("inset-inline-start", value);
825
+ }
826
+ function end(value) {
827
+ return sizeRule("inset-inline-end", value);
828
+ }
829
+ function visible() {
830
+ return createRule({ visibility: "visible" });
831
+ }
832
+ function invisible() {
833
+ return createRule({ visibility: "hidden" });
834
+ }
835
+ function collapse_() {
836
+ return createRule({ visibility: "collapse" });
837
+ }
838
+ function flexBasis(value) {
839
+ return sizeRule("flex-basis", value);
840
+ }
841
+ function flexRowReverse() {
842
+ return createRule({ "flex-direction": "row-reverse" });
843
+ }
844
+ function flexColReverse() {
845
+ return createRule({ "flex-direction": "column-reverse" });
846
+ }
847
+ function flexWrapReverse() {
848
+ return createRule({ "flex-wrap": "wrap-reverse" });
849
+ }
850
+ function flexNowrap() {
851
+ return createRule({ "flex-wrap": "nowrap" });
852
+ }
853
+ function flex1() {
854
+ return createRule({ flex: "1 1 0%" });
855
+ }
856
+ function flexAuto() {
857
+ return createRule({ flex: "1 1 auto" });
858
+ }
859
+ function flexInitial() {
860
+ return createRule({ flex: "0 1 auto" });
861
+ }
862
+ function flexNone() {
863
+ return createRule({ flex: "none" });
864
+ }
865
+ function grow(value = 1) {
866
+ return createRule({ "flex-grow": String(value) });
867
+ }
868
+ function shrink(value = 1) {
869
+ return createRule({ "flex-shrink": String(value) });
870
+ }
871
+ function order(value) {
872
+ if (isDynamic(value)) {
873
+ return createDynamicRule(
874
+ { order: `var(${value.__id})` },
875
+ { [value.__id]: String(value.__value) }
876
+ );
877
+ }
878
+ return createRule({ order: String(value) });
879
+ }
880
+ function colSpan(value) {
881
+ if (value === "full") return createRule({ "grid-column": "1 / -1" });
882
+ return createRule({ "grid-column": `span ${value} / span ${value}` });
883
+ }
884
+ function colStart(value) {
885
+ return createRule({ "grid-column-start": String(value) });
886
+ }
887
+ function colEnd(value) {
888
+ return createRule({ "grid-column-end": String(value) });
889
+ }
890
+ function rowSpan(value) {
891
+ if (value === "full") return createRule({ "grid-row": "1 / -1" });
892
+ return createRule({ "grid-row": `span ${value} / span ${value}` });
893
+ }
894
+ function rowStart(value) {
895
+ return createRule({ "grid-row-start": String(value) });
896
+ }
897
+ function rowEnd(value) {
898
+ return createRule({ "grid-row-end": String(value) });
899
+ }
900
+ function gridFlow(value) {
901
+ return createRule({ "grid-auto-flow": value });
902
+ }
903
+ function autoCols(value) {
904
+ return createRule({ "grid-auto-columns": value });
905
+ }
906
+ function autoRows(value) {
907
+ return createRule({ "grid-auto-rows": value });
908
+ }
909
+ function justifyItems(value) {
910
+ return createRule({ "justify-items": value });
911
+ }
912
+ function justifySelf(value) {
913
+ return createRule({ "justify-self": value });
914
+ }
915
+ function alignContent(value) {
916
+ return createRule({ "align-content": value });
917
+ }
918
+ function placeContent(value) {
919
+ return createRule({ "place-content": value });
920
+ }
921
+ function placeItems(value) {
922
+ return createRule({ "place-items": value });
923
+ }
924
+ function placeSelf(value) {
925
+ return createRule({ "place-self": value });
926
+ }
927
+ function container() {
928
+ return createRule({ width: "100%" });
929
+ }
930
+
931
+ // src/utilities/borders.ts
932
+ function px2(value) {
933
+ return typeof value === "number" ? `${value}px` : value;
934
+ }
935
+ var radiusMap = {
936
+ none,
937
+ sm,
938
+ DEFAULT,
939
+ md,
940
+ lg,
941
+ xl,
942
+ "2xl": _2xl,
943
+ "3xl": _3xl,
944
+ full
945
+ };
946
+ function resolveRadius(value) {
947
+ if (value == null) return DEFAULT;
948
+ if (typeof value === "string") return radiusMap[value] ?? value;
949
+ return value;
950
+ }
951
+ function rounded(value) {
952
+ if (isDynamic(value)) {
953
+ return createDynamicRule(
954
+ { "border-radius": `var(${value.__id})` },
955
+ { [value.__id]: String(value.__value) }
956
+ );
957
+ }
958
+ return createRule({ "border-radius": resolveRadius(value) });
959
+ }
960
+ function roundedT(value) {
961
+ if (isDynamic(value)) {
962
+ return createDynamicRule(
963
+ { "border-top-left-radius": `var(${value.__id})`, "border-top-right-radius": `var(${value.__id})` },
964
+ { [value.__id]: String(value.__value) }
965
+ );
966
+ }
967
+ const v = resolveRadius(value);
968
+ return createRule({ "border-top-left-radius": v, "border-top-right-radius": v });
969
+ }
970
+ function roundedB(value) {
971
+ if (isDynamic(value)) {
972
+ return createDynamicRule(
973
+ { "border-bottom-left-radius": `var(${value.__id})`, "border-bottom-right-radius": `var(${value.__id})` },
974
+ { [value.__id]: String(value.__value) }
975
+ );
976
+ }
977
+ const v = resolveRadius(value);
978
+ return createRule({ "border-bottom-left-radius": v, "border-bottom-right-radius": v });
979
+ }
980
+ function roundedL(value) {
981
+ if (isDynamic(value)) {
982
+ return createDynamicRule(
983
+ { "border-top-left-radius": `var(${value.__id})`, "border-bottom-left-radius": `var(${value.__id})` },
984
+ { [value.__id]: String(value.__value) }
985
+ );
986
+ }
987
+ const v = resolveRadius(value);
988
+ return createRule({ "border-top-left-radius": v, "border-bottom-left-radius": v });
989
+ }
990
+ function roundedR(value) {
991
+ if (isDynamic(value)) {
992
+ return createDynamicRule(
993
+ { "border-top-right-radius": `var(${value.__id})`, "border-bottom-right-radius": `var(${value.__id})` },
994
+ { [value.__id]: String(value.__value) }
995
+ );
996
+ }
997
+ const v = resolveRadius(value);
998
+ return createRule({ "border-top-right-radius": v, "border-bottom-right-radius": v });
999
+ }
1000
+ function border(width) {
1001
+ return createRule({ "border-width": width != null ? px2(width) : "1px", "border-style": "solid" });
1002
+ }
1003
+ function borderT(width) {
1004
+ return createRule({ "border-top-width": width != null ? px2(width) : "1px", "border-style": "solid" });
1005
+ }
1006
+ function borderR(width) {
1007
+ return createRule({ "border-right-width": width != null ? px2(width) : "1px", "border-style": "solid" });
1008
+ }
1009
+ function borderB(width) {
1010
+ return createRule({ "border-bottom-width": width != null ? px2(width) : "1px", "border-style": "solid" });
1011
+ }
1012
+ function borderL(width) {
1013
+ return createRule({ "border-left-width": width != null ? px2(width) : "1px", "border-style": "solid" });
1014
+ }
1015
+ function ring(width, color) {
1016
+ const w2 = width != null ? px2(width) : "3px";
1017
+ const c = color ?? "#3b82f6";
1018
+ return createRule({ "box-shadow": `0 0 0 ${w2} ${c}` });
1019
+ }
1020
+ function roundedTL(value) {
1021
+ if (isDynamic(value)) {
1022
+ return createDynamicRule(
1023
+ { "border-top-left-radius": `var(${value.__id})` },
1024
+ { [value.__id]: String(value.__value) }
1025
+ );
1026
+ }
1027
+ return createRule({ "border-top-left-radius": resolveRadius(value) });
1028
+ }
1029
+ function roundedTR(value) {
1030
+ if (isDynamic(value)) {
1031
+ return createDynamicRule(
1032
+ { "border-top-right-radius": `var(${value.__id})` },
1033
+ { [value.__id]: String(value.__value) }
1034
+ );
1035
+ }
1036
+ return createRule({ "border-top-right-radius": resolveRadius(value) });
1037
+ }
1038
+ function roundedBR(value) {
1039
+ if (isDynamic(value)) {
1040
+ return createDynamicRule(
1041
+ { "border-bottom-right-radius": `var(${value.__id})` },
1042
+ { [value.__id]: String(value.__value) }
1043
+ );
1044
+ }
1045
+ return createRule({ "border-bottom-right-radius": resolveRadius(value) });
1046
+ }
1047
+ function roundedBL(value) {
1048
+ if (isDynamic(value)) {
1049
+ return createDynamicRule(
1050
+ { "border-bottom-left-radius": `var(${value.__id})` },
1051
+ { [value.__id]: String(value.__value) }
1052
+ );
1053
+ }
1054
+ return createRule({ "border-bottom-left-radius": resolveRadius(value) });
1055
+ }
1056
+ function roundedSS(value) {
1057
+ if (isDynamic(value)) {
1058
+ return createDynamicRule(
1059
+ { "border-start-start-radius": `var(${value.__id})`, "border-end-start-radius": `var(${value.__id})` },
1060
+ { [value.__id]: String(value.__value) }
1061
+ );
1062
+ }
1063
+ const v = resolveRadius(value);
1064
+ return createRule({ "border-start-start-radius": v, "border-end-start-radius": v });
1065
+ }
1066
+ function roundedSE(value) {
1067
+ if (isDynamic(value)) {
1068
+ return createDynamicRule(
1069
+ { "border-start-end-radius": `var(${value.__id})`, "border-end-end-radius": `var(${value.__id})` },
1070
+ { [value.__id]: String(value.__value) }
1071
+ );
1072
+ }
1073
+ const v = resolveRadius(value);
1074
+ return createRule({ "border-start-end-radius": v, "border-end-end-radius": v });
1075
+ }
1076
+ function roundedEE(value) {
1077
+ if (isDynamic(value)) {
1078
+ return createDynamicRule(
1079
+ { "border-start-end-radius": `var(${value.__id})`, "border-end-end-radius": `var(${value.__id})` },
1080
+ { [value.__id]: String(value.__value) }
1081
+ );
1082
+ }
1083
+ const v = resolveRadius(value);
1084
+ return createRule({ "border-start-end-radius": v, "border-end-end-radius": v });
1085
+ }
1086
+ function roundedES(value) {
1087
+ if (isDynamic(value)) {
1088
+ return createDynamicRule(
1089
+ { "border-end-start-radius": `var(${value.__id})`, "border-start-start-radius": `var(${value.__id})` },
1090
+ { [value.__id]: String(value.__value) }
1091
+ );
1092
+ }
1093
+ const v = resolveRadius(value);
1094
+ return createRule({ "border-end-start-radius": v, "border-start-start-radius": v });
1095
+ }
1096
+ function borderX(width) {
1097
+ const w2 = width != null ? px2(width) : "1px";
1098
+ return createRule({ "border-left-width": w2, "border-right-width": w2, "border-style": "solid" });
1099
+ }
1100
+ function borderY(width) {
1101
+ const w2 = width != null ? px2(width) : "1px";
1102
+ return createRule({ "border-top-width": w2, "border-bottom-width": w2, "border-style": "solid" });
1103
+ }
1104
+ function borderS(width) {
1105
+ return createRule({ "border-inline-start-width": width != null ? px2(width) : "1px", "border-style": "solid" });
1106
+ }
1107
+ function borderE(width) {
1108
+ return createRule({ "border-inline-end-width": width != null ? px2(width) : "1px", "border-style": "solid" });
1109
+ }
1110
+ function borderStyle(value) {
1111
+ return createRule({ "border-style": value });
1112
+ }
1113
+ function outlineWidth(value) {
1114
+ return createRule({ "outline-width": px2(value) });
1115
+ }
1116
+ function outlineColor(value) {
1117
+ if (isDynamic(value)) {
1118
+ return createDynamicRule(
1119
+ { "outline-color": `var(${value.__id})` },
1120
+ { [value.__id]: String(value.__value) }
1121
+ );
1122
+ }
1123
+ return createRule({ "outline-color": resolveColor(value) });
1124
+ }
1125
+ function outlineStyle(value) {
1126
+ return createRule({ "outline-style": value });
1127
+ }
1128
+ function outlineOffset(value) {
1129
+ return createRule({ "outline-offset": px2(value) });
1130
+ }
1131
+ function outline(width, style, color) {
1132
+ const decls = {};
1133
+ decls["outline-width"] = width != null ? px2(width) : "2px";
1134
+ decls["outline-style"] = style ?? "solid";
1135
+ if (color) decls["outline-color"] = color;
1136
+ return createRule(decls);
1137
+ }
1138
+ function outlineNone() {
1139
+ return createRule({ outline: "2px solid transparent", "outline-offset": "2px" });
1140
+ }
1141
+ function ringInset() {
1142
+ return createRule({ "--twc-ring-inset": "inset" });
1143
+ }
1144
+ function ringColor(value) {
1145
+ if (isDynamic(value)) {
1146
+ return createDynamicRule(
1147
+ { "--twc-ring-color": `var(${value.__id})` },
1148
+ { [value.__id]: String(value.__value) }
1149
+ );
1150
+ }
1151
+ return createRule({ "--twc-ring-color": resolveColor(value) });
1152
+ }
1153
+ function ringOffsetWidth(value) {
1154
+ return createRule({ "--twc-ring-offset-width": px2(value) });
1155
+ }
1156
+ function ringOffsetColor(value) {
1157
+ if (isDynamic(value)) {
1158
+ return createDynamicRule(
1159
+ { "--twc-ring-offset-color": `var(${value.__id})` },
1160
+ { [value.__id]: String(value.__value) }
1161
+ );
1162
+ }
1163
+ return createRule({ "--twc-ring-offset-color": resolveColor(value) });
1164
+ }
1165
+ function divideX(width) {
1166
+ const rule = createRule({ "border-left-width": width != null ? px2(width) : "1px", "border-style": "solid" });
1167
+ return wrapWithSelectorTemplate(rule, "& > :not([hidden]) ~ :not([hidden])");
1168
+ }
1169
+ function divideY(width) {
1170
+ const rule = createRule({ "border-top-width": width != null ? px2(width) : "1px", "border-style": "solid" });
1171
+ return wrapWithSelectorTemplate(rule, "& > :not([hidden]) ~ :not([hidden])");
1172
+ }
1173
+ function divideColor(value) {
1174
+ let rule;
1175
+ if (isDynamic(value)) {
1176
+ rule = createDynamicRule(
1177
+ { "border-color": `var(${value.__id})` },
1178
+ { [value.__id]: String(value.__value) }
1179
+ );
1180
+ } else {
1181
+ rule = createRule({ "border-color": resolveColor(value) });
1182
+ }
1183
+ return wrapWithSelectorTemplate(rule, "& > :not([hidden]) ~ :not([hidden])");
1184
+ }
1185
+ function divideStyle(value) {
1186
+ const rule = createRule({ "border-style": value });
1187
+ return wrapWithSelectorTemplate(rule, "& > :not([hidden]) ~ :not([hidden])");
1188
+ }
1189
+ function divideXReverse() {
1190
+ const rule = createRule({ "--twc-divide-x-reverse": "1" });
1191
+ return wrapWithSelectorTemplate(rule, "& > :not([hidden]) ~ :not([hidden])");
1192
+ }
1193
+ function divideYReverse() {
1194
+ const rule = createRule({ "--twc-divide-y-reverse": "1" });
1195
+ return wrapWithSelectorTemplate(rule, "& > :not([hidden]) ~ :not([hidden])");
1196
+ }
1197
+
1198
+ // src/utilities/effects.ts
1199
+ var shadowMap = {
1200
+ sm: sm2,
1201
+ DEFAULT: DEFAULT2,
1202
+ md: md2,
1203
+ lg: lg2,
1204
+ xl: xl2,
1205
+ "2xl": _2xl2,
1206
+ inner,
1207
+ none: none2
1208
+ };
1209
+ function resolveShadow(value) {
1210
+ if (value == null) return DEFAULT2;
1211
+ return shadowMap[value] ?? value;
1212
+ }
1213
+ function shadow(value) {
1214
+ if (isDynamic(value)) {
1215
+ return createDynamicRule(
1216
+ { "box-shadow": `var(${value.__id})` },
1217
+ { [value.__id]: String(value.__value) }
1218
+ );
1219
+ }
1220
+ return createRule({ "box-shadow": resolveShadow(value) });
1221
+ }
1222
+ function opacity(value) {
1223
+ if (isDynamic(value)) {
1224
+ return createDynamicRule(
1225
+ { opacity: `var(${value.__id})` },
1226
+ { [value.__id]: String(value.__value) }
1227
+ );
1228
+ }
1229
+ return createRule({ opacity: String(value) });
1230
+ }
1231
+ function backdrop(value) {
1232
+ if (isDynamic(value)) {
1233
+ return createDynamicRule(
1234
+ { "backdrop-filter": `var(${value.__id})` },
1235
+ { [value.__id]: String(value.__value) }
1236
+ );
1237
+ }
1238
+ return createRule({ "backdrop-filter": value });
1239
+ }
1240
+ function shadowColor(value) {
1241
+ if (isDynamic(value)) {
1242
+ return createDynamicRule(
1243
+ { "--twc-shadow-color": `var(${value.__id})` },
1244
+ { [value.__id]: String(value.__value) }
1245
+ );
1246
+ }
1247
+ return createRule({ "--twc-shadow-color": resolveColor(value) });
1248
+ }
1249
+ function mixBlendMode(value) {
1250
+ return createRule({ "mix-blend-mode": value });
1251
+ }
1252
+ function bgBlendMode(value) {
1253
+ return createRule({ "background-blend-mode": value });
1254
+ }
1255
+
1256
+ // src/utilities/interactivity.ts
1257
+ function cursor(value) {
1258
+ if (isDynamic(value)) {
1259
+ return createDynamicRule(
1260
+ { cursor: `var(${value.__id})` },
1261
+ { [value.__id]: String(value.__value) }
1262
+ );
1263
+ }
1264
+ return createRule({ cursor: value });
1265
+ }
1266
+ function select(value) {
1267
+ return createRule({ "user-select": value });
1268
+ }
1269
+ function pointerEvents(value) {
1270
+ return createRule({ "pointer-events": value });
1271
+ }
1272
+ function accentColor(value) {
1273
+ if (isDynamic(value)) {
1274
+ return createDynamicRule(
1275
+ { "accent-color": `var(${value.__id})` },
1276
+ { [value.__id]: String(value.__value) }
1277
+ );
1278
+ }
1279
+ return createRule({ "accent-color": resolveColor(value) });
1280
+ }
1281
+ function appearance(value) {
1282
+ return createRule({ appearance: value });
1283
+ }
1284
+ function caretColor(value) {
1285
+ if (isDynamic(value)) {
1286
+ return createDynamicRule(
1287
+ { "caret-color": `var(${value.__id})` },
1288
+ { [value.__id]: String(value.__value) }
1289
+ );
1290
+ }
1291
+ return createRule({ "caret-color": resolveColor(value) });
1292
+ }
1293
+ function resize(value) {
1294
+ return createRule({ resize: value });
1295
+ }
1296
+ function scrollBehavior(value) {
1297
+ return createRule({ "scroll-behavior": value });
1298
+ }
1299
+ function scrollSpacingRule(prop, value) {
1300
+ if (isDynamic(value)) {
1301
+ return createDynamicRule(
1302
+ { [prop]: `var(${value.__id})` },
1303
+ { [value.__id]: String(value.__value) }
1304
+ );
1305
+ }
1306
+ const v = typeof value === "number" ? resolveSpacing(value) : value;
1307
+ return createRule({ [prop]: v });
1308
+ }
1309
+ function scrollMargin(value) {
1310
+ return scrollSpacingRule("scroll-margin", value);
1311
+ }
1312
+ function scrollMarginX(value) {
1313
+ if (isDynamic(value)) {
1314
+ return createDynamicRule(
1315
+ { "scroll-margin-left": `var(${value.__id})`, "scroll-margin-right": `var(${value.__id})` },
1316
+ { [value.__id]: String(value.__value) }
1317
+ );
1318
+ }
1319
+ const v = typeof value === "number" ? resolveSpacing(value) : String(value);
1320
+ return createRule({ "scroll-margin-left": v, "scroll-margin-right": v });
1321
+ }
1322
+ function scrollMarginY(value) {
1323
+ if (isDynamic(value)) {
1324
+ return createDynamicRule(
1325
+ { "scroll-margin-top": `var(${value.__id})`, "scroll-margin-bottom": `var(${value.__id})` },
1326
+ { [value.__id]: String(value.__value) }
1327
+ );
1328
+ }
1329
+ const v = typeof value === "number" ? resolveSpacing(value) : String(value);
1330
+ return createRule({ "scroll-margin-top": v, "scroll-margin-bottom": v });
1331
+ }
1332
+ function scrollMarginT(value) {
1333
+ return scrollSpacingRule("scroll-margin-top", value);
1334
+ }
1335
+ function scrollMarginR(value) {
1336
+ return scrollSpacingRule("scroll-margin-right", value);
1337
+ }
1338
+ function scrollMarginB(value) {
1339
+ return scrollSpacingRule("scroll-margin-bottom", value);
1340
+ }
1341
+ function scrollMarginL(value) {
1342
+ return scrollSpacingRule("scroll-margin-left", value);
1343
+ }
1344
+ function scrollPadding(value) {
1345
+ return scrollSpacingRule("scroll-padding", value);
1346
+ }
1347
+ function scrollPaddingX(value) {
1348
+ if (isDynamic(value)) {
1349
+ return createDynamicRule(
1350
+ { "scroll-padding-left": `var(${value.__id})`, "scroll-padding-right": `var(${value.__id})` },
1351
+ { [value.__id]: String(value.__value) }
1352
+ );
1353
+ }
1354
+ const v = typeof value === "number" ? resolveSpacing(value) : String(value);
1355
+ return createRule({ "scroll-padding-left": v, "scroll-padding-right": v });
1356
+ }
1357
+ function scrollPaddingY(value) {
1358
+ if (isDynamic(value)) {
1359
+ return createDynamicRule(
1360
+ { "scroll-padding-top": `var(${value.__id})`, "scroll-padding-bottom": `var(${value.__id})` },
1361
+ { [value.__id]: String(value.__value) }
1362
+ );
1363
+ }
1364
+ const v = typeof value === "number" ? resolveSpacing(value) : String(value);
1365
+ return createRule({ "scroll-padding-top": v, "scroll-padding-bottom": v });
1366
+ }
1367
+ function scrollPaddingT(value) {
1368
+ return scrollSpacingRule("scroll-padding-top", value);
1369
+ }
1370
+ function scrollPaddingR(value) {
1371
+ return scrollSpacingRule("scroll-padding-right", value);
1372
+ }
1373
+ function scrollPaddingB(value) {
1374
+ return scrollSpacingRule("scroll-padding-bottom", value);
1375
+ }
1376
+ function scrollPaddingL(value) {
1377
+ return scrollSpacingRule("scroll-padding-left", value);
1378
+ }
1379
+ function snapAlign(value) {
1380
+ return createRule({ "scroll-snap-align": value });
1381
+ }
1382
+ function snapStop(value) {
1383
+ return createRule({ "scroll-snap-stop": value });
1384
+ }
1385
+ function snapType(value) {
1386
+ return createRule({ "scroll-snap-type": value });
1387
+ }
1388
+ function touchAction(value) {
1389
+ return createRule({ "touch-action": value });
1390
+ }
1391
+ function willChange(value) {
1392
+ return createRule({ "will-change": value });
1393
+ }
1394
+
1395
+ // src/utilities/filters.ts
1396
+ var blurMap = {
1397
+ none: blur.none,
1398
+ sm: blur.sm,
1399
+ DEFAULT: blur.DEFAULT,
1400
+ md: blur.md,
1401
+ lg: blur.lg,
1402
+ xl: blur.xl,
1403
+ "2xl": blur._2xl,
1404
+ "3xl": blur._3xl
1405
+ };
1406
+ var dropShadowMap = {
1407
+ sm: dropShadow.sm,
1408
+ DEFAULT: dropShadow.DEFAULT,
1409
+ md: dropShadow.md,
1410
+ lg: dropShadow.lg,
1411
+ xl: dropShadow.xl,
1412
+ "2xl": dropShadow._2xl,
1413
+ none: dropShadow.none
1414
+ };
1415
+ function filterRule(fn, value, prop = "filter") {
1416
+ if (isDynamic(value)) {
1417
+ return createDynamicRule(
1418
+ { [prop]: `${fn}(var(${value.__id}))` },
1419
+ { [value.__id]: String(value.__value) }
1420
+ );
1421
+ }
1422
+ return createRule({ [prop]: `${fn}(${value})` });
1423
+ }
1424
+ function blur2(value = "8px") {
1425
+ if (!isDynamic(value)) return filterRule("blur", blurMap[value] ?? value);
1426
+ return filterRule("blur", value);
1427
+ }
1428
+ function brightness(value) {
1429
+ return filterRule("brightness", value);
1430
+ }
1431
+ function contrast(value) {
1432
+ return filterRule("contrast", value);
1433
+ }
1434
+ function dropShadow2(value = "DEFAULT") {
1435
+ if (isDynamic(value)) {
1436
+ return createDynamicRule(
1437
+ { filter: `drop-shadow(var(${value.__id}))` },
1438
+ { [value.__id]: String(value.__value) }
1439
+ );
1440
+ }
1441
+ const resolved = dropShadowMap[value] ?? value;
1442
+ return createRule({ filter: `drop-shadow(${resolved})` });
1443
+ }
1444
+ function grayscale(value = "100%") {
1445
+ return filterRule("grayscale", value);
1446
+ }
1447
+ function hueRotate(value) {
1448
+ return filterRule("hue-rotate", value);
1449
+ }
1450
+ function invert(value = "100%") {
1451
+ return filterRule("invert", value);
1452
+ }
1453
+ function saturate(value) {
1454
+ return filterRule("saturate", value);
1455
+ }
1456
+ function sepia(value = "100%") {
1457
+ return filterRule("sepia", value);
1458
+ }
1459
+ function backdropBlur(value = "8px") {
1460
+ if (!isDynamic(value)) return filterRule("blur", blurMap[value] ?? value, "backdrop-filter");
1461
+ return filterRule("blur", value, "backdrop-filter");
1462
+ }
1463
+ function backdropBrightness(value) {
1464
+ return filterRule("brightness", value, "backdrop-filter");
1465
+ }
1466
+ function backdropContrast(value) {
1467
+ return filterRule("contrast", value, "backdrop-filter");
1468
+ }
1469
+ function backdropGrayscale(value = "100%") {
1470
+ return filterRule("grayscale", value, "backdrop-filter");
1471
+ }
1472
+ function backdropHueRotate(value) {
1473
+ return filterRule("hue-rotate", value, "backdrop-filter");
1474
+ }
1475
+ function backdropInvert(value = "100%") {
1476
+ return filterRule("invert", value, "backdrop-filter");
1477
+ }
1478
+ function backdropOpacity(value) {
1479
+ return filterRule("opacity", value, "backdrop-filter");
1480
+ }
1481
+ function backdropSaturate(value) {
1482
+ return filterRule("saturate", value, "backdrop-filter");
1483
+ }
1484
+ function backdropSepia(value = "100%") {
1485
+ return filterRule("sepia", value, "backdrop-filter");
1486
+ }
1487
+
1488
+ // src/utilities/transforms.ts
1489
+ function transformRule(fn, value) {
1490
+ if (isDynamic(value)) {
1491
+ return createDynamicRule(
1492
+ { transform: `${fn}(var(${value.__id}))` },
1493
+ { [value.__id]: String(value.__value) }
1494
+ );
1495
+ }
1496
+ return createRule({ transform: `${fn}(${value})` });
1497
+ }
1498
+ function scale(value) {
1499
+ if (isDynamic(value)) {
1500
+ return createDynamicRule(
1501
+ { transform: `scale(var(${value.__id}))` },
1502
+ { [value.__id]: String(value.__value) }
1503
+ );
1504
+ }
1505
+ const v = typeof value === "number" ? String(value / 100) : value;
1506
+ return createRule({ transform: `scale(${v})` });
1507
+ }
1508
+ function scaleX(value) {
1509
+ if (isDynamic(value)) {
1510
+ return createDynamicRule(
1511
+ { transform: `scaleX(var(${value.__id}))` },
1512
+ { [value.__id]: String(value.__value) }
1513
+ );
1514
+ }
1515
+ const v = typeof value === "number" ? String(value / 100) : value;
1516
+ return createRule({ transform: `scaleX(${v})` });
1517
+ }
1518
+ function scaleY(value) {
1519
+ if (isDynamic(value)) {
1520
+ return createDynamicRule(
1521
+ { transform: `scaleY(var(${value.__id}))` },
1522
+ { [value.__id]: String(value.__value) }
1523
+ );
1524
+ }
1525
+ const v = typeof value === "number" ? String(value / 100) : value;
1526
+ return createRule({ transform: `scaleY(${v})` });
1527
+ }
1528
+ function rotate(value) {
1529
+ return transformRule("rotate", value);
1530
+ }
1531
+ function translateX(value) {
1532
+ if (typeof value === "number") return transformRule("translateX", resolveSpacing(value));
1533
+ return transformRule("translateX", value);
1534
+ }
1535
+ function translateY(value) {
1536
+ if (typeof value === "number") return transformRule("translateY", resolveSpacing(value));
1537
+ return transformRule("translateY", value);
1538
+ }
1539
+ function skewX(value) {
1540
+ return transformRule("skewX", value);
1541
+ }
1542
+ function skewY(value) {
1543
+ return transformRule("skewY", value);
1544
+ }
1545
+ function transformOrigin(value) {
1546
+ if (isDynamic(value)) {
1547
+ return createDynamicRule(
1548
+ { "transform-origin": `var(${value.__id})` },
1549
+ { [value.__id]: String(value.__value) }
1550
+ );
1551
+ }
1552
+ return createRule({ "transform-origin": value });
1553
+ }
1554
+ function transformGpu() {
1555
+ return createRule({ transform: "translate3d(0, 0, 0)" });
1556
+ }
1557
+ function transformNone() {
1558
+ return createRule({ transform: "none" });
1559
+ }
1560
+
1561
+ // src/utilities/transitions.ts
1562
+ var animateMap = {
1563
+ spin,
1564
+ ping,
1565
+ pulse,
1566
+ bounce,
1567
+ none: "none"
1568
+ };
1569
+ function transition() {
1570
+ return createRule({
1571
+ "transition-property": "color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",
1572
+ "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)",
1573
+ "transition-duration": "150ms"
1574
+ });
1575
+ }
1576
+ function transitionAll() {
1577
+ return createRule({
1578
+ "transition-property": "all",
1579
+ "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)",
1580
+ "transition-duration": "150ms"
1581
+ });
1582
+ }
1583
+ function transitionColors() {
1584
+ return createRule({
1585
+ "transition-property": "color, background-color, border-color, text-decoration-color, fill, stroke",
1586
+ "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)",
1587
+ "transition-duration": "150ms"
1588
+ });
1589
+ }
1590
+ function transitionOpacity() {
1591
+ return createRule({
1592
+ "transition-property": "opacity",
1593
+ "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)",
1594
+ "transition-duration": "150ms"
1595
+ });
1596
+ }
1597
+ function transitionShadow() {
1598
+ return createRule({
1599
+ "transition-property": "box-shadow",
1600
+ "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)",
1601
+ "transition-duration": "150ms"
1602
+ });
1603
+ }
1604
+ function transitionTransform() {
1605
+ return createRule({
1606
+ "transition-property": "transform",
1607
+ "transition-timing-function": "cubic-bezier(0.4, 0, 0.2, 1)",
1608
+ "transition-duration": "150ms"
1609
+ });
1610
+ }
1611
+ function transitionNone() {
1612
+ return createRule({ "transition-property": "none" });
1613
+ }
1614
+ function duration(value) {
1615
+ if (isDynamic(value)) {
1616
+ return createDynamicRule(
1617
+ { "transition-duration": `var(${value.__id})` },
1618
+ { [value.__id]: String(value.__value) }
1619
+ );
1620
+ }
1621
+ const v = typeof value === "number" ? `${value}ms` : value;
1622
+ return createRule({ "transition-duration": v });
1623
+ }
1624
+ function ease(value) {
1625
+ if (isDynamic(value)) {
1626
+ return createDynamicRule(
1627
+ { "transition-timing-function": `var(${value.__id})` },
1628
+ { [value.__id]: String(value.__value) }
1629
+ );
1630
+ }
1631
+ return createRule({ "transition-timing-function": value });
1632
+ }
1633
+ function delay(value) {
1634
+ if (isDynamic(value)) {
1635
+ return createDynamicRule(
1636
+ { "transition-delay": `var(${value.__id})` },
1637
+ { [value.__id]: String(value.__value) }
1638
+ );
1639
+ }
1640
+ const v = typeof value === "number" ? `${value}ms` : value;
1641
+ return createRule({ "transition-delay": v });
1642
+ }
1643
+ function animate(value) {
1644
+ if (isDynamic(value)) {
1645
+ return createDynamicRule(
1646
+ { animation: `var(${value.__id})` },
1647
+ { [value.__id]: String(value.__value) }
1648
+ );
1649
+ }
1650
+ return createRule({ animation: animateMap[value] ?? value });
1651
+ }
1652
+
1653
+ // src/utilities/tables.ts
1654
+ function borderCollapse() {
1655
+ return createRule({ "border-collapse": "collapse" });
1656
+ }
1657
+ function borderSeparate() {
1658
+ return createRule({ "border-collapse": "separate" });
1659
+ }
1660
+ function borderSpacing(value) {
1661
+ if (isDynamic(value)) {
1662
+ return createDynamicRule(
1663
+ { "border-spacing": `var(${value.__id})` },
1664
+ { [value.__id]: String(value.__value) }
1665
+ );
1666
+ }
1667
+ const v = typeof value === "number" ? resolveSpacing(value) : value;
1668
+ return createRule({ "border-spacing": v });
1669
+ }
1670
+ function borderSpacingX(value) {
1671
+ if (isDynamic(value)) {
1672
+ return createDynamicRule(
1673
+ { "border-spacing": `var(${value.__id}) 0` },
1674
+ { [value.__id]: String(value.__value) }
1675
+ );
1676
+ }
1677
+ const v = typeof value === "number" ? resolveSpacing(value) : value;
1678
+ return createRule({ "border-spacing": `${v} 0` });
1679
+ }
1680
+ function borderSpacingY(value) {
1681
+ if (isDynamic(value)) {
1682
+ return createDynamicRule(
1683
+ { "border-spacing": `0 var(${value.__id})` },
1684
+ { [value.__id]: String(value.__value) }
1685
+ );
1686
+ }
1687
+ const v = typeof value === "number" ? resolveSpacing(value) : value;
1688
+ return createRule({ "border-spacing": `0 ${v}` });
1689
+ }
1690
+ function tableLayout(value) {
1691
+ return createRule({ "table-layout": value });
1692
+ }
1693
+ function captionSide(value) {
1694
+ return createRule({ "caption-side": value });
1695
+ }
1696
+
1697
+ // src/utilities/svg.ts
1698
+ function fill(value) {
1699
+ if (isDynamic(value)) {
1700
+ return createDynamicRule(
1701
+ { fill: `var(${value.__id})` },
1702
+ { [value.__id]: String(value.__value) }
1703
+ );
1704
+ }
1705
+ return createRule({ fill: resolveColor(value) });
1706
+ }
1707
+ function stroke(value) {
1708
+ if (isDynamic(value)) {
1709
+ return createDynamicRule(
1710
+ { stroke: `var(${value.__id})` },
1711
+ { [value.__id]: String(value.__value) }
1712
+ );
1713
+ }
1714
+ return createRule({ stroke: resolveColor(value) });
1715
+ }
1716
+ function strokeWidth(value) {
1717
+ if (isDynamic(value)) {
1718
+ return createDynamicRule(
1719
+ { "stroke-width": `var(${value.__id})` },
1720
+ { [value.__id]: String(value.__value) }
1721
+ );
1722
+ }
1723
+ return createRule({ "stroke-width": String(value) });
1724
+ }
1725
+
1726
+ // src/utilities/accessibility.ts
1727
+ function srOnly() {
1728
+ return createRule({
1729
+ position: "absolute",
1730
+ width: "1px",
1731
+ height: "1px",
1732
+ padding: "0",
1733
+ margin: "-1px",
1734
+ overflow: "hidden",
1735
+ clip: "rect(0, 0, 0, 0)",
1736
+ "white-space": "nowrap",
1737
+ "border-width": "0"
1738
+ });
1739
+ }
1740
+ function notSrOnly() {
1741
+ return createRule({
1742
+ position: "static",
1743
+ width: "auto",
1744
+ height: "auto",
1745
+ padding: "0",
1746
+ margin: "0",
1747
+ overflow: "visible",
1748
+ clip: "auto",
1749
+ "white-space": "normal"
1750
+ });
1751
+ }
1752
+ function forcedColorAdjust(value) {
1753
+ return createRule({ "forced-color-adjust": value });
1754
+ }
1755
+
1756
+ // src/utilities/backgrounds.ts
1757
+ function bgAttachment(value) {
1758
+ return createRule({ "background-attachment": value });
1759
+ }
1760
+ function bgClip(value) {
1761
+ return createRule({ "background-clip": value });
1762
+ }
1763
+ function bgOrigin(value) {
1764
+ return createRule({ "background-origin": value });
1765
+ }
1766
+ function bgPosition(value) {
1767
+ if (isDynamic(value)) {
1768
+ return createDynamicRule(
1769
+ { "background-position": `var(${value.__id})` },
1770
+ { [value.__id]: String(value.__value) }
1771
+ );
1772
+ }
1773
+ return createRule({ "background-position": value });
1774
+ }
1775
+ function bgRepeat(value) {
1776
+ return createRule({ "background-repeat": value });
1777
+ }
1778
+ function bgSize(value) {
1779
+ if (isDynamic(value)) {
1780
+ return createDynamicRule(
1781
+ { "background-size": `var(${value.__id})` },
1782
+ { [value.__id]: String(value.__value) }
1783
+ );
1784
+ }
1785
+ return createRule({ "background-size": value });
1786
+ }
1787
+ function bgImage(value) {
1788
+ if (isDynamic(value)) {
1789
+ return createDynamicRule(
1790
+ { "background-image": `var(${value.__id})` },
1791
+ { [value.__id]: String(value.__value) }
1792
+ );
1793
+ }
1794
+ return createRule({ "background-image": value });
1795
+ }
1796
+ function bgGradient(direction = "to right") {
1797
+ return createRule({
1798
+ "background-image": `linear-gradient(${direction}, var(--twc-gradient-stops, var(--twc-gradient-from, transparent), var(--twc-gradient-to, transparent)))`
1799
+ });
1800
+ }
1801
+ function gradientFrom(color) {
1802
+ if (isDynamic(color)) {
1803
+ return createDynamicRule(
1804
+ { "--twc-gradient-from": `var(${color.__id})` },
1805
+ { [color.__id]: String(color.__value) }
1806
+ );
1807
+ }
1808
+ return createRule({ "--twc-gradient-from": resolveColor(color) });
1809
+ }
1810
+ function gradientVia(color) {
1811
+ if (isDynamic(color)) {
1812
+ return createDynamicRule(
1813
+ { "--twc-gradient-via": `var(${color.__id})`, "--twc-gradient-stops": "var(--twc-gradient-from, transparent), var(--twc-gradient-via), var(--twc-gradient-to, transparent)" },
1814
+ { [color.__id]: String(color.__value) }
1815
+ );
1816
+ }
1817
+ return createRule({ "--twc-gradient-via": resolveColor(color), "--twc-gradient-stops": "var(--twc-gradient-from, transparent), var(--twc-gradient-via), var(--twc-gradient-to, transparent)" });
1818
+ }
1819
+ function gradientTo(color) {
1820
+ if (isDynamic(color)) {
1821
+ return createDynamicRule(
1822
+ { "--twc-gradient-to": `var(${color.__id})` },
1823
+ { [color.__id]: String(color.__value) }
1824
+ );
1825
+ }
1826
+ return createRule({ "--twc-gradient-to": resolveColor(color) });
1827
+ }
1828
+
1829
+ // src/modifiers/pseudo.ts
1830
+ var hover = (rule) => wrapWithSelector(rule, ":hover");
1831
+ var focus = (rule) => wrapWithSelector(rule, ":focus");
1832
+ var active = (rule) => wrapWithSelector(rule, ":active");
1833
+ var disabled = (rule) => wrapWithSelector(rule, ":disabled");
1834
+ var focusVisible = (rule) => wrapWithSelector(rule, ":focus-visible");
1835
+ var focusWithin = (rule) => wrapWithSelector(rule, ":focus-within");
1836
+ var firstChild = (rule) => wrapWithSelector(rule, ":first-child");
1837
+ var lastChild = (rule) => wrapWithSelector(rule, ":last-child");
1838
+ var visited = (rule) => wrapWithSelector(rule, ":visited");
1839
+ var checked = (rule) => wrapWithSelector(rule, ":checked");
1840
+ var indeterminate = (rule) => wrapWithSelector(rule, ":indeterminate");
1841
+ var default_ = (rule) => wrapWithSelector(rule, ":default");
1842
+ var required_ = (rule) => wrapWithSelector(rule, ":required");
1843
+ var valid = (rule) => wrapWithSelector(rule, ":valid");
1844
+ var invalid = (rule) => wrapWithSelector(rule, ":invalid");
1845
+ var inRange = (rule) => wrapWithSelector(rule, ":in-range");
1846
+ var outOfRange = (rule) => wrapWithSelector(rule, ":out-of-range");
1847
+ var placeholderShown = (rule) => wrapWithSelector(rule, ":placeholder-shown");
1848
+ var autofill = (rule) => wrapWithSelector(rule, ":autofill");
1849
+ var readOnly = (rule) => wrapWithSelector(rule, ":read-only");
1850
+ var empty = (rule) => wrapWithSelector(rule, ":empty");
1851
+ var even = (rule) => wrapWithSelector(rule, ":nth-child(even)");
1852
+ var odd = (rule) => wrapWithSelector(rule, ":nth-child(odd)");
1853
+ var firstOfType = (rule) => wrapWithSelector(rule, ":first-of-type");
1854
+ var lastOfType = (rule) => wrapWithSelector(rule, ":last-of-type");
1855
+ var onlyChild = (rule) => wrapWithSelector(rule, ":only-child");
1856
+ var onlyOfType = (rule) => wrapWithSelector(rule, ":only-of-type");
1857
+ var target = (rule) => wrapWithSelector(rule, ":target");
1858
+ var open_ = (rule) => wrapWithSelector(rule, "[open]");
1859
+ function has_(selector) {
1860
+ return (rule) => wrapWithSelector(rule, `:has(${selector})`);
1861
+ }
1862
+
1863
+ // src/modifiers/responsive.ts
1864
+ var sm3 = (rule) => wrapWithMediaQuery(rule, "(min-width: 640px)");
1865
+ var md3 = (rule) => wrapWithMediaQuery(rule, "(min-width: 768px)");
1866
+ var lg3 = (rule) => wrapWithMediaQuery(rule, "(min-width: 1024px)");
1867
+ var xl3 = (rule) => wrapWithMediaQuery(rule, "(min-width: 1280px)");
1868
+ var _2xl3 = (rule) => wrapWithMediaQuery(rule, "(min-width: 1536px)");
1869
+ var maxSm = (rule) => wrapWithMediaQuery(rule, "(max-width: 639px)");
1870
+ var maxMd = (rule) => wrapWithMediaQuery(rule, "(max-width: 767px)");
1871
+ var maxLg = (rule) => wrapWithMediaQuery(rule, "(max-width: 1023px)");
1872
+ var maxXl = (rule) => wrapWithMediaQuery(rule, "(max-width: 1279px)");
1873
+ var max2xl = (rule) => wrapWithMediaQuery(rule, "(max-width: 1535px)");
1874
+
1875
+ // src/modifiers/colorScheme.ts
1876
+ var dark = (rule) => wrapWithMediaQuery(rule, "(prefers-color-scheme: dark)");
1877
+
1878
+ // src/modifiers/media.ts
1879
+ var motionReduce = (rule) => wrapWithMediaQuery(rule, "(prefers-reduced-motion: reduce)");
1880
+ var motionSafe = (rule) => wrapWithMediaQuery(rule, "(prefers-reduced-motion: no-preference)");
1881
+ var print_ = (rule) => wrapWithMediaQuery(rule, "print");
1882
+ var portrait = (rule) => wrapWithMediaQuery(rule, "(orientation: portrait)");
1883
+ var landscape = (rule) => wrapWithMediaQuery(rule, "(orientation: landscape)");
1884
+ var contrastMore = (rule) => wrapWithMediaQuery(rule, "(prefers-contrast: more)");
1885
+ var contrastLess = (rule) => wrapWithMediaQuery(rule, "(prefers-contrast: less)");
1886
+ var forcedColors = (rule) => wrapWithMediaQuery(rule, "(forced-colors: active)");
1887
+
1888
+ // src/modifiers/pseudoElements.ts
1889
+ var before = (rule) => {
1890
+ const result = wrapWithSelector(rule, "::before");
1891
+ if (!result.declarations.content) {
1892
+ result.declarations = { content: '""', ...result.declarations };
1893
+ }
1894
+ return result;
1895
+ };
1896
+ var after = (rule) => {
1897
+ const result = wrapWithSelector(rule, "::after");
1898
+ if (!result.declarations.content) {
1899
+ result.declarations = { content: '""', ...result.declarations };
1900
+ }
1901
+ return result;
1902
+ };
1903
+ var placeholder_ = (rule) => wrapWithSelector(rule, "::placeholder");
1904
+ var file_ = (rule) => wrapWithSelector(rule, "::file-selector-button");
1905
+ var marker = (rule) => wrapWithSelector(rule, "::marker");
1906
+ var selection_ = (rule) => wrapWithSelector(rule, "::selection");
1907
+ var firstLine = (rule) => wrapWithSelector(rule, "::first-line");
1908
+ var firstLetter = (rule) => wrapWithSelector(rule, "::first-letter");
1909
+ var backdrop_ = (rule) => wrapWithSelector(rule, "::backdrop");
1910
+
1911
+ // src/modifiers/aria.ts
1912
+ var ariaChecked = (rule) => wrapWithSelector(rule, '[aria-checked="true"]');
1913
+ var ariaDisabled = (rule) => wrapWithSelector(rule, '[aria-disabled="true"]');
1914
+ var ariaExpanded = (rule) => wrapWithSelector(rule, '[aria-expanded="true"]');
1915
+ var ariaHidden = (rule) => wrapWithSelector(rule, '[aria-hidden="true"]');
1916
+ var ariaPressed = (rule) => wrapWithSelector(rule, '[aria-pressed="true"]');
1917
+ var ariaReadonly = (rule) => wrapWithSelector(rule, '[aria-readonly="true"]');
1918
+ var ariaRequired = (rule) => wrapWithSelector(rule, '[aria-required="true"]');
1919
+ var ariaSelected = (rule) => wrapWithSelector(rule, '[aria-selected="true"]');
1920
+ function aria(attr) {
1921
+ return (rule) => wrapWithSelector(rule, `[aria-${attr}]`);
1922
+ }
1923
+
1924
+ // src/modifiers/data.ts
1925
+ function data(attr) {
1926
+ return (rule) => wrapWithSelector(rule, `[data-${attr}]`);
1927
+ }
1928
+
1929
+ // src/modifiers/supports.ts
1930
+ function supports(query) {
1931
+ return (rule) => wrapWithSupportsQuery(rule, query);
1932
+ }
1933
+
1934
+ // src/modifiers/group.ts
1935
+ var groupHover = (rule) => wrapWithSelectorTemplate(rule, ".group:hover &");
1936
+ var groupFocus = (rule) => wrapWithSelectorTemplate(rule, ".group:focus &");
1937
+ var groupActive = (rule) => wrapWithSelectorTemplate(rule, ".group:active &");
1938
+ var groupFocusVisible = (rule) => wrapWithSelectorTemplate(rule, ".group:focus-visible &");
1939
+ var groupFocusWithin = (rule) => wrapWithSelectorTemplate(rule, ".group:focus-within &");
1940
+ var groupDisabled = (rule) => wrapWithSelectorTemplate(rule, ".group:disabled &");
1941
+ var groupChecked = (rule) => wrapWithSelectorTemplate(rule, ".group:checked &");
1942
+ var groupEmpty = (rule) => wrapWithSelectorTemplate(rule, ".group:empty &");
1943
+ var groupFirst = (rule) => wrapWithSelectorTemplate(rule, ".group:first-child &");
1944
+ var groupLast = (rule) => wrapWithSelectorTemplate(rule, ".group:last-child &");
1945
+ var groupOdd = (rule) => wrapWithSelectorTemplate(rule, ".group:nth-child(odd) &");
1946
+ var groupEven = (rule) => wrapWithSelectorTemplate(rule, ".group:nth-child(even) &");
1947
+ var groupOpen = (rule) => wrapWithSelectorTemplate(rule, ".group[open] &");
1948
+ var groupVisited = (rule) => wrapWithSelectorTemplate(rule, ".group:visited &");
1949
+ function groupHas(selector) {
1950
+ return (rule) => wrapWithSelectorTemplate(rule, `.group:has(${selector}) &`);
1951
+ }
1952
+
1953
+ // src/modifiers/peer.ts
1954
+ var peerHover = (rule) => wrapWithSelectorTemplate(rule, ".peer:hover ~ &");
1955
+ var peerFocus = (rule) => wrapWithSelectorTemplate(rule, ".peer:focus ~ &");
1956
+ var peerActive = (rule) => wrapWithSelectorTemplate(rule, ".peer:active ~ &");
1957
+ var peerFocusVisible = (rule) => wrapWithSelectorTemplate(rule, ".peer:focus-visible ~ &");
1958
+ var peerDisabled = (rule) => wrapWithSelectorTemplate(rule, ".peer:disabled ~ &");
1959
+ var peerChecked = (rule) => wrapWithSelectorTemplate(rule, ".peer:checked ~ &");
1960
+ var peerInvalid = (rule) => wrapWithSelectorTemplate(rule, ".peer:invalid ~ &");
1961
+ var peerRequired = (rule) => wrapWithSelectorTemplate(rule, ".peer:required ~ &");
1962
+ var peerPlaceholderShown = (rule) => wrapWithSelectorTemplate(rule, ".peer:placeholder-shown ~ &");
1963
+ var peerFocusWithin = (rule) => wrapWithSelectorTemplate(rule, ".peer:focus-within ~ &");
1964
+ var peerEmpty = (rule) => wrapWithSelectorTemplate(rule, ".peer:empty ~ &");
1965
+ var peerFirst = (rule) => wrapWithSelectorTemplate(rule, ".peer:first-child ~ &");
1966
+ var peerLast = (rule) => wrapWithSelectorTemplate(rule, ".peer:last-child ~ &");
1967
+ var peerOdd = (rule) => wrapWithSelectorTemplate(rule, ".peer:nth-child(odd) ~ &");
1968
+ var peerEven = (rule) => wrapWithSelectorTemplate(rule, ".peer:nth-child(even) ~ &");
1969
+ var peerOpen = (rule) => wrapWithSelectorTemplate(rule, ".peer[open] ~ &");
1970
+ var peerVisited = (rule) => wrapWithSelectorTemplate(rule, ".peer:visited ~ &");
1971
+ function peerHas(selector) {
1972
+ return (rule) => wrapWithSelectorTemplate(rule, `.peer:has(${selector}) ~ &`);
1973
+ }
1974
+
1975
+ // src/modifiers/direction.ts
1976
+ var rtl = (rule) => wrapWithSelectorTemplate(rule, '[dir="rtl"] &');
1977
+ var ltr = (rule) => wrapWithSelectorTemplate(rule, '[dir="ltr"] &');
1978
+
1979
+ // src/tw.ts
1980
+ var UTILS = {
1981
+ // Spacing
1982
+ p,
1983
+ px,
1984
+ py,
1985
+ pt,
1986
+ pr,
1987
+ pb,
1988
+ pl,
1989
+ m,
1990
+ mx,
1991
+ my,
1992
+ mt,
1993
+ mr,
1994
+ mb,
1995
+ ml,
1996
+ gap,
1997
+ gapX,
1998
+ gapY,
1999
+ ps,
2000
+ pe,
2001
+ ms,
2002
+ me,
2003
+ spaceX,
2004
+ spaceY,
2005
+ // Colors
2006
+ bg,
2007
+ textColor,
2008
+ borderColor,
2009
+ // Typography
2010
+ text,
2011
+ font,
2012
+ tracking,
2013
+ leading,
2014
+ textAlign,
2015
+ fontFamily,
2016
+ lineClamp,
2017
+ listStyleImage,
2018
+ listStylePosition,
2019
+ listStyleType,
2020
+ textDecoration,
2021
+ textDecorationColor,
2022
+ textDecorationStyle,
2023
+ textDecorationThickness,
2024
+ textUnderlineOffset,
2025
+ textTransform,
2026
+ textOverflow,
2027
+ textWrap,
2028
+ textIndent,
2029
+ verticalAlign,
2030
+ whitespace,
2031
+ wordBreak,
2032
+ hyphens,
2033
+ content: content_,
2034
+ // Layout
2035
+ grid,
2036
+ gridCols,
2037
+ gridRows,
2038
+ w,
2039
+ h,
2040
+ size,
2041
+ minW,
2042
+ minH,
2043
+ maxW,
2044
+ maxH,
2045
+ display,
2046
+ items,
2047
+ justify,
2048
+ self,
2049
+ overflow,
2050
+ overflowX,
2051
+ overflowY,
2052
+ top,
2053
+ right,
2054
+ bottom,
2055
+ left,
2056
+ inset,
2057
+ z,
2058
+ aspectRatio,
2059
+ columns,
2060
+ breakAfter,
2061
+ breakBefore,
2062
+ breakInside,
2063
+ boxDecorationBreak,
2064
+ boxSizing,
2065
+ float: float_,
2066
+ clear: clear_,
2067
+ objectFit,
2068
+ objectPosition,
2069
+ overscrollBehavior,
2070
+ overscrollX,
2071
+ overscrollY,
2072
+ insetX,
2073
+ insetY,
2074
+ start,
2075
+ end,
2076
+ flexBasis,
2077
+ grow,
2078
+ shrink,
2079
+ order,
2080
+ colSpan,
2081
+ colStart,
2082
+ colEnd,
2083
+ rowSpan,
2084
+ rowStart,
2085
+ rowEnd,
2086
+ gridFlow,
2087
+ autoCols,
2088
+ autoRows,
2089
+ justifyItems,
2090
+ justifySelf,
2091
+ alignContent,
2092
+ placeContent,
2093
+ placeItems,
2094
+ placeSelf,
2095
+ // Borders
2096
+ rounded,
2097
+ roundedT,
2098
+ roundedB,
2099
+ roundedL,
2100
+ roundedR,
2101
+ roundedTL,
2102
+ roundedTR,
2103
+ roundedBR,
2104
+ roundedBL,
2105
+ roundedSS,
2106
+ roundedSE,
2107
+ roundedEE,
2108
+ roundedES,
2109
+ border,
2110
+ borderT,
2111
+ borderR,
2112
+ borderB,
2113
+ borderL,
2114
+ borderX,
2115
+ borderY,
2116
+ borderS,
2117
+ borderE,
2118
+ borderStyle,
2119
+ ring,
2120
+ ringColor,
2121
+ ringOffsetWidth,
2122
+ ringOffsetColor,
2123
+ outlineWidth,
2124
+ outlineColor,
2125
+ outlineStyle,
2126
+ outlineOffset,
2127
+ outline,
2128
+ divideX,
2129
+ divideY,
2130
+ divideColor,
2131
+ divideStyle,
2132
+ // Effects
2133
+ shadow,
2134
+ opacity,
2135
+ backdrop,
2136
+ shadowColor,
2137
+ mixBlendMode,
2138
+ bgBlendMode,
2139
+ // Interactivity
2140
+ cursor,
2141
+ select,
2142
+ pointerEvents,
2143
+ accentColor,
2144
+ appearance,
2145
+ caretColor,
2146
+ resize,
2147
+ scrollBehavior,
2148
+ scrollMargin,
2149
+ scrollMarginX,
2150
+ scrollMarginY,
2151
+ scrollMarginT,
2152
+ scrollMarginR,
2153
+ scrollMarginB,
2154
+ scrollMarginL,
2155
+ scrollPadding,
2156
+ scrollPaddingX,
2157
+ scrollPaddingY,
2158
+ scrollPaddingT,
2159
+ scrollPaddingR,
2160
+ scrollPaddingB,
2161
+ scrollPaddingL,
2162
+ snapAlign,
2163
+ snapStop,
2164
+ snapType,
2165
+ touchAction,
2166
+ willChange,
2167
+ // Filters
2168
+ blur: blur2,
2169
+ brightness,
2170
+ contrast,
2171
+ dropShadow: dropShadow2,
2172
+ grayscale,
2173
+ hueRotate,
2174
+ invert,
2175
+ saturate,
2176
+ sepia,
2177
+ backdropBlur,
2178
+ backdropBrightness,
2179
+ backdropContrast,
2180
+ backdropGrayscale,
2181
+ backdropHueRotate,
2182
+ backdropInvert,
2183
+ backdropOpacity,
2184
+ backdropSaturate,
2185
+ backdropSepia,
2186
+ // Transforms
2187
+ scale,
2188
+ scaleX,
2189
+ scaleY,
2190
+ rotate,
2191
+ translateX,
2192
+ translateY,
2193
+ skewX,
2194
+ skewY,
2195
+ transformOrigin,
2196
+ // Transitions
2197
+ transition,
2198
+ duration,
2199
+ ease,
2200
+ delay,
2201
+ animate,
2202
+ // Tables
2203
+ borderSpacing,
2204
+ borderSpacingX,
2205
+ borderSpacingY,
2206
+ tableLayout,
2207
+ captionSide,
2208
+ // SVG
2209
+ fill,
2210
+ stroke,
2211
+ strokeWidth,
2212
+ // Accessibility
2213
+ forcedColorAdjust,
2214
+ // Backgrounds
2215
+ bgAttachment,
2216
+ bgClip,
2217
+ bgOrigin,
2218
+ bgPosition,
2219
+ bgRepeat,
2220
+ bgSize,
2221
+ bgImage,
2222
+ bgGradient,
2223
+ gradientFrom,
2224
+ gradientVia,
2225
+ gradientTo
2226
+ };
2227
+ var VALUELESS = {
2228
+ // Layout
2229
+ flex,
2230
+ flexCol,
2231
+ flexRow,
2232
+ flexWrap,
2233
+ inlineFlex,
2234
+ relative,
2235
+ absolute,
2236
+ fixed,
2237
+ sticky,
2238
+ static: static_,
2239
+ visible,
2240
+ invisible,
2241
+ collapse: collapse_,
2242
+ isolate,
2243
+ isolationAuto,
2244
+ container,
2245
+ flexRowReverse,
2246
+ flexColReverse,
2247
+ flexWrapReverse,
2248
+ flexNowrap,
2249
+ flex1,
2250
+ flexAuto,
2251
+ flexInitial,
2252
+ flexNone,
2253
+ // Typography
2254
+ antialiased,
2255
+ subpixelAntialiased,
2256
+ italic,
2257
+ notItalic,
2258
+ truncate,
2259
+ normalNums,
2260
+ ordinal,
2261
+ slashedZero,
2262
+ liningNums,
2263
+ oldstyleNums,
2264
+ proportionalNums,
2265
+ tabularNums,
2266
+ diagonalFractions,
2267
+ stackedFractions,
2268
+ // Borders
2269
+ ringInset,
2270
+ outlineNone,
2271
+ borderCollapse,
2272
+ borderSeparate,
2273
+ spaceXReverse,
2274
+ spaceYReverse,
2275
+ divideXReverse,
2276
+ divideYReverse,
2277
+ // Transforms
2278
+ transformGpu,
2279
+ transformNone,
2280
+ // Transitions
2281
+ transitionAll,
2282
+ transitionColors,
2283
+ transitionOpacity,
2284
+ transitionShadow,
2285
+ transitionTransform,
2286
+ transitionNone,
2287
+ // Accessibility
2288
+ srOnly,
2289
+ notSrOnly,
2290
+ // Raw class names
2291
+ group: "group",
2292
+ peer: "peer"
2293
+ };
2294
+ var MODS = {
2295
+ // Pseudo-classes
2296
+ hover,
2297
+ focus,
2298
+ active,
2299
+ disabled,
2300
+ focusVisible,
2301
+ focusWithin,
2302
+ firstChild,
2303
+ lastChild,
2304
+ visited,
2305
+ checked,
2306
+ indeterminate,
2307
+ default: default_,
2308
+ required: required_,
2309
+ valid,
2310
+ invalid,
2311
+ inRange,
2312
+ outOfRange,
2313
+ placeholderShown,
2314
+ autofill,
2315
+ readOnly,
2316
+ empty,
2317
+ even,
2318
+ odd,
2319
+ firstOfType,
2320
+ lastOfType,
2321
+ onlyChild,
2322
+ onlyOfType,
2323
+ target,
2324
+ open: open_,
2325
+ // Responsive
2326
+ sm: sm3,
2327
+ md: md3,
2328
+ lg: lg3,
2329
+ xl: xl3,
2330
+ _2xl: _2xl3,
2331
+ maxSm,
2332
+ maxMd,
2333
+ maxLg,
2334
+ maxXl,
2335
+ max2xl,
2336
+ // Color scheme
2337
+ dark,
2338
+ // Media
2339
+ motionReduce,
2340
+ motionSafe,
2341
+ print: print_,
2342
+ portrait,
2343
+ landscape,
2344
+ contrastMore,
2345
+ contrastLess,
2346
+ forcedColors,
2347
+ // Pseudo-elements
2348
+ before,
2349
+ after,
2350
+ placeholder: placeholder_,
2351
+ file: file_,
2352
+ marker,
2353
+ selection: selection_,
2354
+ firstLine,
2355
+ firstLetter,
2356
+ backdropEl: backdrop_,
2357
+ // ARIA
2358
+ ariaChecked,
2359
+ ariaDisabled,
2360
+ ariaExpanded,
2361
+ ariaHidden,
2362
+ ariaPressed,
2363
+ ariaReadonly,
2364
+ ariaRequired,
2365
+ ariaSelected,
2366
+ // Group
2367
+ groupHover,
2368
+ groupFocus,
2369
+ groupActive,
2370
+ groupFocusVisible,
2371
+ groupFocusWithin,
2372
+ groupDisabled,
2373
+ groupChecked,
2374
+ groupEmpty,
2375
+ groupFirst,
2376
+ groupLast,
2377
+ groupOdd,
2378
+ groupEven,
2379
+ groupOpen,
2380
+ groupVisited,
2381
+ // Peer
2382
+ peerHover,
2383
+ peerFocus,
2384
+ peerActive,
2385
+ peerFocusVisible,
2386
+ peerDisabled,
2387
+ peerChecked,
2388
+ peerInvalid,
2389
+ peerRequired,
2390
+ peerPlaceholderShown,
2391
+ peerFocusWithin,
2392
+ peerEmpty,
2393
+ peerFirst,
2394
+ peerLast,
2395
+ peerOdd,
2396
+ peerEven,
2397
+ peerOpen,
2398
+ peerVisited,
2399
+ // Direction
2400
+ rtl,
2401
+ ltr
2402
+ };
2403
+ var PARAM_MODS = {
2404
+ has: has_,
2405
+ aria,
2406
+ data,
2407
+ supports,
2408
+ groupHas,
2409
+ peerHas
2410
+ };
2411
+ var TW_BRAND = /* @__PURE__ */ Symbol.for("twc.chain");
2412
+ function isTwChain(value) {
2413
+ return value != null && (typeof value === "object" || typeof value === "function") && value[TW_BRAND] === true;
2414
+ }
2415
+ function applyMods(rule, mods) {
2416
+ if (mods.length === 0) return rule;
2417
+ return when(...mods)(rule);
2418
+ }
2419
+ function applyModsToRules(rules, mods) {
2420
+ if (mods.length === 0) return rules;
2421
+ return rules.map((r) => typeof r === "string" ? r : applyMods(r, mods));
2422
+ }
2423
+ function createChain(rules, pendingMods) {
2424
+ const target2 = function() {
2425
+ };
2426
+ return new Proxy(target2, {
2427
+ get(_target, prop) {
2428
+ if (prop === TW_BRAND) return true;
2429
+ if (prop === "_rules") return rules;
2430
+ if (prop === Symbol.toPrimitive || prop === "toString" || prop === "valueOf") {
2431
+ return () => cx(...rules);
2432
+ }
2433
+ if (prop === Symbol.toStringTag) return "TwChain";
2434
+ if (prop === "value" || prop === "className") {
2435
+ return cx(...rules);
2436
+ }
2437
+ if (prop === Symbol.iterator) return void 0;
2438
+ if (prop === "inspect" || prop === /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")) {
2439
+ return () => `TwChain(${cx(...rules)})`;
2440
+ }
2441
+ const name = prop;
2442
+ if (name in PARAM_MODS) {
2443
+ const paramModFn = PARAM_MODS[name];
2444
+ return (...args) => {
2445
+ const mod = paramModFn(...args);
2446
+ return createChain(rules, [...pendingMods, mod]);
2447
+ };
2448
+ }
2449
+ if (name in MODS) {
2450
+ const mod = MODS[name];
2451
+ const innerChain = createChain(rules, [...pendingMods, mod]);
2452
+ return new Proxy(function() {
2453
+ }, {
2454
+ get(_t, innerProp) {
2455
+ return innerChain[innerProp];
2456
+ },
2457
+ apply(_t, _this, args) {
2458
+ if (args.length > 0 && isTwChain(args[0])) {
2459
+ const childRules = args[0]._rules;
2460
+ const modified = applyModsToRules(childRules, [...pendingMods, mod]);
2461
+ return createChain([...rules, ...modified], []);
2462
+ }
2463
+ const allChildRules = [];
2464
+ for (const arg of args) {
2465
+ if (isTwChain(arg)) {
2466
+ allChildRules.push(...arg._rules);
2467
+ }
2468
+ }
2469
+ if (allChildRules.length > 0) {
2470
+ const modified = applyModsToRules(allChildRules, [...pendingMods, mod]);
2471
+ return createChain([...rules, ...modified], []);
2472
+ }
2473
+ return innerChain;
2474
+ }
2475
+ });
2476
+ }
2477
+ if (name in VALUELESS) {
2478
+ const entry = VALUELESS[name];
2479
+ if (typeof entry === "string") {
2480
+ return createChain([...rules, entry], []);
2481
+ }
2482
+ const rule = entry();
2483
+ const modified = applyMods(rule, pendingMods);
2484
+ return createChain([...rules, modified], []);
2485
+ }
2486
+ if (name in UTILS) {
2487
+ const utilFn = UTILS[name];
2488
+ return new Proxy(function() {
2489
+ }, {
2490
+ get(_t, innerProp) {
2491
+ const rule = utilFn();
2492
+ const modified = applyMods(rule, pendingMods);
2493
+ return createChain([...rules, modified], [])[innerProp];
2494
+ },
2495
+ apply(_t, _this, args) {
2496
+ const rule = utilFn(...args);
2497
+ const modified = applyMods(rule, pendingMods);
2498
+ return createChain([...rules, modified], []);
2499
+ }
2500
+ });
2501
+ }
2502
+ return createChain([...rules, name], []);
2503
+ },
2504
+ apply(_target, _this, args) {
2505
+ const extra = [];
2506
+ for (const arg of args) {
2507
+ if (isTwChain(arg)) {
2508
+ extra.push(...arg._rules);
2509
+ } else {
2510
+ extra.push(arg);
2511
+ }
2512
+ }
2513
+ return createChain([...rules, ...extra], pendingMods);
2514
+ }
2515
+ });
2516
+ }
2517
+ var tw = createChain([], []);
2518
+
2519
+ // src/plugins/googleFonts.ts
2520
+ var injected = /* @__PURE__ */ new Set();
2521
+ function googleFonts(family, options) {
2522
+ if (typeof document !== "undefined" && !injected.has(family)) {
2523
+ injected.add(family);
2524
+ const params = new URLSearchParams();
2525
+ const weights = options?.weights;
2526
+ if (weights && weights.length > 0) {
2527
+ params.set("family", `${family}:wght@${weights.join(";")}`);
2528
+ } else {
2529
+ params.set("family", family);
2530
+ }
2531
+ params.set("display", options?.display ?? "swap");
2532
+ const link = document.createElement("link");
2533
+ link.rel = "stylesheet";
2534
+ link.href = `https://fonts.googleapis.com/css2?${params.toString()}`;
2535
+ document.head.appendChild(link);
2536
+ }
2537
+ return family;
2538
+ }
2539
+ export {
2540
+ _2xl3 as _2xl,
2541
+ absolute,
2542
+ accentColor,
2543
+ active,
2544
+ after,
2545
+ alignContent,
2546
+ animate,
2547
+ antialiased,
2548
+ appearance,
2549
+ aria,
2550
+ ariaChecked,
2551
+ ariaDisabled,
2552
+ ariaExpanded,
2553
+ ariaHidden,
2554
+ ariaPressed,
2555
+ ariaReadonly,
2556
+ ariaRequired,
2557
+ ariaSelected,
2558
+ aspectRatio,
2559
+ autoCols,
2560
+ autoRows,
2561
+ autofill,
2562
+ backdrop,
2563
+ backdropBlur,
2564
+ backdropBrightness,
2565
+ backdropContrast,
2566
+ backdropGrayscale,
2567
+ backdropHueRotate,
2568
+ backdropInvert,
2569
+ backdropOpacity,
2570
+ backdropSaturate,
2571
+ backdropSepia,
2572
+ backdrop_,
2573
+ before,
2574
+ bg,
2575
+ bgAttachment,
2576
+ bgBlendMode,
2577
+ bgClip,
2578
+ bgGradient,
2579
+ bgImage,
2580
+ bgOrigin,
2581
+ bgPosition,
2582
+ bgRepeat,
2583
+ bgSize,
2584
+ blur2 as blur,
2585
+ border,
2586
+ borderB,
2587
+ borderCollapse,
2588
+ borderColor,
2589
+ borderE,
2590
+ borderL,
2591
+ borderR,
2592
+ borderS,
2593
+ borderSeparate,
2594
+ borderSpacing,
2595
+ borderSpacingX,
2596
+ borderSpacingY,
2597
+ borderStyle,
2598
+ borderT,
2599
+ borderX,
2600
+ borderY,
2601
+ bottom,
2602
+ boxDecorationBreak,
2603
+ boxSizing,
2604
+ breakAfter,
2605
+ breakBefore,
2606
+ breakInside,
2607
+ brightness,
2608
+ captionSide,
2609
+ caretColor,
2610
+ checked,
2611
+ clear_,
2612
+ colEnd,
2613
+ colSpan,
2614
+ colStart,
2615
+ collapse_,
2616
+ columns,
2617
+ container,
2618
+ content_,
2619
+ contrast,
2620
+ contrastLess,
2621
+ contrastMore,
2622
+ createTheme,
2623
+ css,
2624
+ cursor,
2625
+ cx,
2626
+ dark,
2627
+ data,
2628
+ dcx,
2629
+ default_,
2630
+ delay,
2631
+ diagonalFractions,
2632
+ disabled,
2633
+ display,
2634
+ divideColor,
2635
+ divideStyle,
2636
+ divideX,
2637
+ divideXReverse,
2638
+ divideY,
2639
+ divideYReverse,
2640
+ dropShadow2 as dropShadow,
2641
+ duration,
2642
+ dynamic,
2643
+ ease,
2644
+ empty,
2645
+ end,
2646
+ even,
2647
+ file_,
2648
+ fill,
2649
+ firstChild,
2650
+ firstLetter,
2651
+ firstLine,
2652
+ firstOfType,
2653
+ fixed,
2654
+ flex,
2655
+ flex1,
2656
+ flexAuto,
2657
+ flexBasis,
2658
+ flexCol,
2659
+ flexColReverse,
2660
+ flexInitial,
2661
+ flexNone,
2662
+ flexNowrap,
2663
+ flexRow,
2664
+ flexRowReverse,
2665
+ flexWrap,
2666
+ flexWrapReverse,
2667
+ float_,
2668
+ focus,
2669
+ focusVisible,
2670
+ focusWithin,
2671
+ font,
2672
+ fontFamily,
2673
+ forcedColorAdjust,
2674
+ forcedColors,
2675
+ gap,
2676
+ gapX,
2677
+ gapY,
2678
+ generateCSS,
2679
+ googleFonts,
2680
+ gradientFrom,
2681
+ gradientTo,
2682
+ gradientVia,
2683
+ grayscale,
2684
+ grid,
2685
+ gridCols,
2686
+ gridFlow,
2687
+ gridRows,
2688
+ groupActive,
2689
+ groupChecked,
2690
+ groupDisabled,
2691
+ groupEmpty,
2692
+ groupEven,
2693
+ groupFirst,
2694
+ groupFocus,
2695
+ groupFocusVisible,
2696
+ groupFocusWithin,
2697
+ groupHas,
2698
+ groupHover,
2699
+ groupLast,
2700
+ groupOdd,
2701
+ groupOpen,
2702
+ groupVisited,
2703
+ grow,
2704
+ h,
2705
+ has_,
2706
+ hover,
2707
+ hueRotate,
2708
+ hyphens,
2709
+ inRange,
2710
+ indeterminate,
2711
+ injectTheme,
2712
+ inlineFlex,
2713
+ inset,
2714
+ insetX,
2715
+ insetY,
2716
+ invalid,
2717
+ invert,
2718
+ invisible,
2719
+ isDynamic,
2720
+ isolate,
2721
+ isolationAuto,
2722
+ italic,
2723
+ items,
2724
+ justify,
2725
+ justifyItems,
2726
+ justifySelf,
2727
+ landscape,
2728
+ lastChild,
2729
+ lastOfType,
2730
+ layer,
2731
+ leading,
2732
+ left,
2733
+ lg3 as lg,
2734
+ lineClamp,
2735
+ liningNums,
2736
+ listStyleImage,
2737
+ listStylePosition,
2738
+ listStyleType,
2739
+ ltr,
2740
+ m,
2741
+ marker,
2742
+ max2xl,
2743
+ maxH,
2744
+ maxLg,
2745
+ maxMd,
2746
+ maxSm,
2747
+ maxW,
2748
+ maxXl,
2749
+ mb,
2750
+ md3 as md,
2751
+ me,
2752
+ minH,
2753
+ minW,
2754
+ mixBlendMode,
2755
+ ml,
2756
+ motionReduce,
2757
+ motionSafe,
2758
+ mr,
2759
+ ms,
2760
+ mt,
2761
+ mx,
2762
+ my,
2763
+ normalNums,
2764
+ notItalic,
2765
+ notSrOnly,
2766
+ objectFit,
2767
+ objectPosition,
2768
+ odd,
2769
+ oldstyleNums,
2770
+ onlyChild,
2771
+ onlyOfType,
2772
+ opacity,
2773
+ open_,
2774
+ order,
2775
+ ordinal,
2776
+ outOfRange,
2777
+ outline,
2778
+ outlineColor,
2779
+ outlineNone,
2780
+ outlineOffset,
2781
+ outlineStyle,
2782
+ outlineWidth,
2783
+ overflow,
2784
+ overflowX,
2785
+ overflowY,
2786
+ overscrollBehavior,
2787
+ overscrollX,
2788
+ overscrollY,
2789
+ p,
2790
+ pb,
2791
+ pe,
2792
+ peerActive,
2793
+ peerChecked,
2794
+ peerDisabled,
2795
+ peerEmpty,
2796
+ peerEven,
2797
+ peerFirst,
2798
+ peerFocus,
2799
+ peerFocusVisible,
2800
+ peerFocusWithin,
2801
+ peerHas,
2802
+ peerHover,
2803
+ peerInvalid,
2804
+ peerLast,
2805
+ peerOdd,
2806
+ peerOpen,
2807
+ peerPlaceholderShown,
2808
+ peerRequired,
2809
+ peerVisited,
2810
+ pl,
2811
+ placeContent,
2812
+ placeItems,
2813
+ placeSelf,
2814
+ placeholderShown,
2815
+ placeholder_,
2816
+ pointerEvents,
2817
+ portrait,
2818
+ pr,
2819
+ print_,
2820
+ proportionalNums,
2821
+ ps,
2822
+ pt,
2823
+ px,
2824
+ py,
2825
+ readOnly,
2826
+ relative,
2827
+ required_,
2828
+ resize,
2829
+ right,
2830
+ ring,
2831
+ ringColor,
2832
+ ringInset,
2833
+ ringOffsetColor,
2834
+ ringOffsetWidth,
2835
+ rotate,
2836
+ rounded,
2837
+ roundedB,
2838
+ roundedBL,
2839
+ roundedBR,
2840
+ roundedEE,
2841
+ roundedES,
2842
+ roundedL,
2843
+ roundedR,
2844
+ roundedSE,
2845
+ roundedSS,
2846
+ roundedT,
2847
+ roundedTL,
2848
+ roundedTR,
2849
+ rowEnd,
2850
+ rowSpan,
2851
+ rowStart,
2852
+ rtl,
2853
+ saturate,
2854
+ scale,
2855
+ scaleX,
2856
+ scaleY,
2857
+ scrollBehavior,
2858
+ scrollMargin,
2859
+ scrollMarginB,
2860
+ scrollMarginL,
2861
+ scrollMarginR,
2862
+ scrollMarginT,
2863
+ scrollMarginX,
2864
+ scrollMarginY,
2865
+ scrollPadding,
2866
+ scrollPaddingB,
2867
+ scrollPaddingL,
2868
+ scrollPaddingR,
2869
+ scrollPaddingT,
2870
+ scrollPaddingX,
2871
+ scrollPaddingY,
2872
+ select,
2873
+ selection_,
2874
+ self,
2875
+ sepia,
2876
+ setTheme,
2877
+ shadow,
2878
+ shadowColor,
2879
+ shrink,
2880
+ size,
2881
+ skewX,
2882
+ skewY,
2883
+ slashedZero,
2884
+ sm3 as sm,
2885
+ snapAlign,
2886
+ snapStop,
2887
+ snapType,
2888
+ spaceX,
2889
+ spaceXReverse,
2890
+ spaceY,
2891
+ spaceYReverse,
2892
+ srOnly,
2893
+ stackedFractions,
2894
+ start,
2895
+ static_,
2896
+ sticky,
2897
+ stroke,
2898
+ strokeWidth,
2899
+ subpixelAntialiased,
2900
+ supports,
2901
+ tableLayout,
2902
+ tabularNums,
2903
+ target,
2904
+ text,
2905
+ textAlign,
2906
+ textColor,
2907
+ textDecoration,
2908
+ textDecorationColor,
2909
+ textDecorationStyle,
2910
+ textDecorationThickness,
2911
+ textIndent,
2912
+ textOverflow,
2913
+ textTransform,
2914
+ textUnderlineOffset,
2915
+ textWrap,
2916
+ top,
2917
+ touchAction,
2918
+ tracking,
2919
+ transformGpu,
2920
+ transformNone,
2921
+ transformOrigin,
2922
+ transition,
2923
+ transitionAll,
2924
+ transitionColors,
2925
+ transitionNone,
2926
+ transitionOpacity,
2927
+ transitionShadow,
2928
+ transitionTransform,
2929
+ translateX,
2930
+ translateY,
2931
+ truncate,
2932
+ tw,
2933
+ valid,
2934
+ verticalAlign,
2935
+ visible,
2936
+ visited,
2937
+ w,
2938
+ when,
2939
+ whitespace,
2940
+ willChange,
2941
+ wordBreak,
2942
+ xl3 as xl,
2943
+ z
2944
+ };