moondust 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dev.js ADDED
@@ -0,0 +1,2631 @@
1
+ import { createComponent, Dynamic, mergeProps, insert, template } from 'solid-js/web';
2
+ import { splitProps, createSignal, createComputed } from 'solid-js';
3
+
4
+ // src/index.tsx
5
+
6
+ // node_modules/class-variance-authority/node_modules/clsx/dist/clsx.mjs
7
+ function r(e) {
8
+ var t, f, n = "";
9
+ if ("string" == typeof e || "number" == typeof e) n += e;
10
+ else if ("object" == typeof e) if (Array.isArray(e)) for (t = 0; t < e.length; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
11
+ else for (t in e) e[t] && (n && (n += " "), n += t);
12
+ return n;
13
+ }
14
+ function clsx() {
15
+ for (var e, t, f = 0, n = ""; f < arguments.length; ) (e = arguments[f++]) && (t = r(e)) && (n && (n += " "), n += t);
16
+ return n;
17
+ }
18
+
19
+ // node_modules/class-variance-authority/dist/index.mjs
20
+ var falsyToString = (value) => typeof value === "boolean" ? "".concat(value) : value === 0 ? "0" : value;
21
+ var cx = clsx;
22
+ var cva = (base, config) => {
23
+ return (props) => {
24
+ var ref;
25
+ if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
26
+ const { variants: variants2, defaultVariants } = config;
27
+ const getVariantClassNames = Object.keys(variants2).map((variant) => {
28
+ const variantProp = props === null || props === void 0 ? void 0 : props[variant];
29
+ const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];
30
+ if (variantProp === null) return null;
31
+ const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);
32
+ return variants2[variant][variantKey];
33
+ });
34
+ const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param) => {
35
+ let [key, value] = param;
36
+ if (value === void 0) {
37
+ return acc;
38
+ }
39
+ acc[key] = value;
40
+ return acc;
41
+ }, {});
42
+ const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (ref = config.compoundVariants) === null || ref === void 0 ? void 0 : ref.reduce((acc, param1) => {
43
+ let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param1;
44
+ return Object.entries(compoundVariantOptions).every((param) => {
45
+ let [key, value] = param;
46
+ return Array.isArray(value) ? value.includes({
47
+ ...defaultVariants,
48
+ ...propsWithoutUndefined
49
+ }[key]) : {
50
+ ...defaultVariants,
51
+ ...propsWithoutUndefined
52
+ }[key] === value;
53
+ }) ? [
54
+ ...acc,
55
+ cvClass,
56
+ cvClassName
57
+ ] : acc;
58
+ }, []);
59
+ return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
60
+ };
61
+ };
62
+
63
+ // node_modules/clsx/dist/clsx.mjs
64
+ function r2(e) {
65
+ var t, f, n = "";
66
+ if ("string" == typeof e || "number" == typeof e) n += e;
67
+ else if ("object" == typeof e) if (Array.isArray(e)) {
68
+ var o = e.length;
69
+ for (t = 0; t < o; t++) e[t] && (f = r2(e[t])) && (n && (n += " "), n += f);
70
+ } else for (f in e) e[f] && (n && (n += " "), n += f);
71
+ return n;
72
+ }
73
+ function clsx2() {
74
+ for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r2(e)) && (n && (n += " "), n += t);
75
+ return n;
76
+ }
77
+ var clsx_default = clsx2;
78
+
79
+ // node_modules/tailwind-merge/dist/bundle-mjs.mjs
80
+ var CLASS_PART_SEPARATOR = "-";
81
+ function createClassGroupUtils(config) {
82
+ const classMap = createClassMap(config);
83
+ const {
84
+ conflictingClassGroups,
85
+ conflictingClassGroupModifiers
86
+ } = config;
87
+ function getClassGroupId(className) {
88
+ const classParts = className.split(CLASS_PART_SEPARATOR);
89
+ if (classParts[0] === "" && classParts.length !== 1) {
90
+ classParts.shift();
91
+ }
92
+ return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
93
+ }
94
+ function getConflictingClassGroupIds(classGroupId, hasPostfixModifier) {
95
+ const conflicts = conflictingClassGroups[classGroupId] || [];
96
+ if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
97
+ return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
98
+ }
99
+ return conflicts;
100
+ }
101
+ return {
102
+ getClassGroupId,
103
+ getConflictingClassGroupIds
104
+ };
105
+ }
106
+ function getGroupRecursive(classParts, classPartObject) {
107
+ if (classParts.length === 0) {
108
+ return classPartObject.classGroupId;
109
+ }
110
+ const currentClassPart = classParts[0];
111
+ const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
112
+ const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : void 0;
113
+ if (classGroupFromNextClassPart) {
114
+ return classGroupFromNextClassPart;
115
+ }
116
+ if (classPartObject.validators.length === 0) {
117
+ return void 0;
118
+ }
119
+ const classRest = classParts.join(CLASS_PART_SEPARATOR);
120
+ return classPartObject.validators.find(({
121
+ validator
122
+ }) => validator(classRest))?.classGroupId;
123
+ }
124
+ var arbitraryPropertyRegex = /^\[(.+)\]$/;
125
+ function getGroupIdForArbitraryProperty(className) {
126
+ if (arbitraryPropertyRegex.test(className)) {
127
+ const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
128
+ const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(":"));
129
+ if (property) {
130
+ return "arbitrary.." + property;
131
+ }
132
+ }
133
+ }
134
+ function createClassMap(config) {
135
+ const {
136
+ theme,
137
+ prefix
138
+ } = config;
139
+ const classMap = {
140
+ nextPart: /* @__PURE__ */ new Map(),
141
+ validators: []
142
+ };
143
+ const prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);
144
+ prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {
145
+ processClassesRecursively(classGroup, classMap, classGroupId, theme);
146
+ });
147
+ return classMap;
148
+ }
149
+ function processClassesRecursively(classGroup, classPartObject, classGroupId, theme) {
150
+ classGroup.forEach((classDefinition) => {
151
+ if (typeof classDefinition === "string") {
152
+ const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
153
+ classPartObjectToEdit.classGroupId = classGroupId;
154
+ return;
155
+ }
156
+ if (typeof classDefinition === "function") {
157
+ if (isThemeGetter(classDefinition)) {
158
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
159
+ return;
160
+ }
161
+ classPartObject.validators.push({
162
+ validator: classDefinition,
163
+ classGroupId
164
+ });
165
+ return;
166
+ }
167
+ Object.entries(classDefinition).forEach(([key, classGroup2]) => {
168
+ processClassesRecursively(classGroup2, getPart(classPartObject, key), classGroupId, theme);
169
+ });
170
+ });
171
+ }
172
+ function getPart(classPartObject, path) {
173
+ let currentClassPartObject = classPartObject;
174
+ path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {
175
+ if (!currentClassPartObject.nextPart.has(pathPart)) {
176
+ currentClassPartObject.nextPart.set(pathPart, {
177
+ nextPart: /* @__PURE__ */ new Map(),
178
+ validators: []
179
+ });
180
+ }
181
+ currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
182
+ });
183
+ return currentClassPartObject;
184
+ }
185
+ function isThemeGetter(func) {
186
+ return func.isThemeGetter;
187
+ }
188
+ function getPrefixedClassGroupEntries(classGroupEntries, prefix) {
189
+ if (!prefix) {
190
+ return classGroupEntries;
191
+ }
192
+ return classGroupEntries.map(([classGroupId, classGroup]) => {
193
+ const prefixedClassGroup = classGroup.map((classDefinition) => {
194
+ if (typeof classDefinition === "string") {
195
+ return prefix + classDefinition;
196
+ }
197
+ if (typeof classDefinition === "object") {
198
+ return Object.fromEntries(Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]));
199
+ }
200
+ return classDefinition;
201
+ });
202
+ return [classGroupId, prefixedClassGroup];
203
+ });
204
+ }
205
+ function createLruCache(maxCacheSize) {
206
+ if (maxCacheSize < 1) {
207
+ return {
208
+ get: () => void 0,
209
+ set: () => {
210
+ }
211
+ };
212
+ }
213
+ let cacheSize = 0;
214
+ let cache = /* @__PURE__ */ new Map();
215
+ let previousCache = /* @__PURE__ */ new Map();
216
+ function update(key, value) {
217
+ cache.set(key, value);
218
+ cacheSize++;
219
+ if (cacheSize > maxCacheSize) {
220
+ cacheSize = 0;
221
+ previousCache = cache;
222
+ cache = /* @__PURE__ */ new Map();
223
+ }
224
+ }
225
+ return {
226
+ get(key) {
227
+ let value = cache.get(key);
228
+ if (value !== void 0) {
229
+ return value;
230
+ }
231
+ if ((value = previousCache.get(key)) !== void 0) {
232
+ update(key, value);
233
+ return value;
234
+ }
235
+ },
236
+ set(key, value) {
237
+ if (cache.has(key)) {
238
+ cache.set(key, value);
239
+ } else {
240
+ update(key, value);
241
+ }
242
+ }
243
+ };
244
+ }
245
+ var IMPORTANT_MODIFIER = "!";
246
+ function createParseClassName(config) {
247
+ const {
248
+ separator,
249
+ experimentalParseClassName
250
+ } = config;
251
+ const isSeparatorSingleCharacter = separator.length === 1;
252
+ const firstSeparatorCharacter = separator[0];
253
+ const separatorLength = separator.length;
254
+ function parseClassName(className) {
255
+ const modifiers = [];
256
+ let bracketDepth = 0;
257
+ let modifierStart = 0;
258
+ let postfixModifierPosition;
259
+ for (let index = 0; index < className.length; index++) {
260
+ let currentCharacter = className[index];
261
+ if (bracketDepth === 0) {
262
+ if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) {
263
+ modifiers.push(className.slice(modifierStart, index));
264
+ modifierStart = index + separatorLength;
265
+ continue;
266
+ }
267
+ if (currentCharacter === "/") {
268
+ postfixModifierPosition = index;
269
+ continue;
270
+ }
271
+ }
272
+ if (currentCharacter === "[") {
273
+ bracketDepth++;
274
+ } else if (currentCharacter === "]") {
275
+ bracketDepth--;
276
+ }
277
+ }
278
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
279
+ const hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);
280
+ const baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;
281
+ const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
282
+ return {
283
+ modifiers,
284
+ hasImportantModifier,
285
+ baseClassName,
286
+ maybePostfixModifierPosition
287
+ };
288
+ }
289
+ if (experimentalParseClassName) {
290
+ return function parseClassNameExperimental(className) {
291
+ return experimentalParseClassName({
292
+ className,
293
+ parseClassName
294
+ });
295
+ };
296
+ }
297
+ return parseClassName;
298
+ }
299
+ function sortModifiers(modifiers) {
300
+ if (modifiers.length <= 1) {
301
+ return modifiers;
302
+ }
303
+ const sortedModifiers = [];
304
+ let unsortedModifiers = [];
305
+ modifiers.forEach((modifier) => {
306
+ const isArbitraryVariant = modifier[0] === "[";
307
+ if (isArbitraryVariant) {
308
+ sortedModifiers.push(...unsortedModifiers.sort(), modifier);
309
+ unsortedModifiers = [];
310
+ } else {
311
+ unsortedModifiers.push(modifier);
312
+ }
313
+ });
314
+ sortedModifiers.push(...unsortedModifiers.sort());
315
+ return sortedModifiers;
316
+ }
317
+ function createConfigUtils(config) {
318
+ return {
319
+ cache: createLruCache(config.cacheSize),
320
+ parseClassName: createParseClassName(config),
321
+ ...createClassGroupUtils(config)
322
+ };
323
+ }
324
+ var SPLIT_CLASSES_REGEX = /\s+/;
325
+ function mergeClassList(classList, configUtils) {
326
+ const {
327
+ parseClassName,
328
+ getClassGroupId,
329
+ getConflictingClassGroupIds
330
+ } = configUtils;
331
+ const classGroupsInConflict = /* @__PURE__ */ new Set();
332
+ return classList.trim().split(SPLIT_CLASSES_REGEX).map((originalClassName) => {
333
+ const {
334
+ modifiers,
335
+ hasImportantModifier,
336
+ baseClassName,
337
+ maybePostfixModifierPosition
338
+ } = parseClassName(originalClassName);
339
+ let hasPostfixModifier = Boolean(maybePostfixModifierPosition);
340
+ let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
341
+ if (!classGroupId) {
342
+ if (!hasPostfixModifier) {
343
+ return {
344
+ isTailwindClass: false,
345
+ originalClassName
346
+ };
347
+ }
348
+ classGroupId = getClassGroupId(baseClassName);
349
+ if (!classGroupId) {
350
+ return {
351
+ isTailwindClass: false,
352
+ originalClassName
353
+ };
354
+ }
355
+ hasPostfixModifier = false;
356
+ }
357
+ const variantModifier = sortModifiers(modifiers).join(":");
358
+ const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
359
+ return {
360
+ isTailwindClass: true,
361
+ modifierId,
362
+ classGroupId,
363
+ originalClassName,
364
+ hasPostfixModifier
365
+ };
366
+ }).reverse().filter((parsed) => {
367
+ if (!parsed.isTailwindClass) {
368
+ return true;
369
+ }
370
+ const {
371
+ modifierId,
372
+ classGroupId,
373
+ hasPostfixModifier
374
+ } = parsed;
375
+ const classId = modifierId + classGroupId;
376
+ if (classGroupsInConflict.has(classId)) {
377
+ return false;
378
+ }
379
+ classGroupsInConflict.add(classId);
380
+ getConflictingClassGroupIds(classGroupId, hasPostfixModifier).forEach((group) => classGroupsInConflict.add(modifierId + group));
381
+ return true;
382
+ }).reverse().map((parsed) => parsed.originalClassName).join(" ");
383
+ }
384
+ function twJoin() {
385
+ let index = 0;
386
+ let argument;
387
+ let resolvedValue;
388
+ let string = "";
389
+ while (index < arguments.length) {
390
+ if (argument = arguments[index++]) {
391
+ if (resolvedValue = toValue(argument)) {
392
+ string && (string += " ");
393
+ string += resolvedValue;
394
+ }
395
+ }
396
+ }
397
+ return string;
398
+ }
399
+ function toValue(mix) {
400
+ if (typeof mix === "string") {
401
+ return mix;
402
+ }
403
+ let resolvedValue;
404
+ let string = "";
405
+ for (let k = 0; k < mix.length; k++) {
406
+ if (mix[k]) {
407
+ if (resolvedValue = toValue(mix[k])) {
408
+ string && (string += " ");
409
+ string += resolvedValue;
410
+ }
411
+ }
412
+ }
413
+ return string;
414
+ }
415
+ function createTailwindMerge(createConfigFirst, ...createConfigRest) {
416
+ let configUtils;
417
+ let cacheGet;
418
+ let cacheSet;
419
+ let functionToCall = initTailwindMerge;
420
+ function initTailwindMerge(classList) {
421
+ const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
422
+ configUtils = createConfigUtils(config);
423
+ cacheGet = configUtils.cache.get;
424
+ cacheSet = configUtils.cache.set;
425
+ functionToCall = tailwindMerge;
426
+ return tailwindMerge(classList);
427
+ }
428
+ function tailwindMerge(classList) {
429
+ const cachedResult = cacheGet(classList);
430
+ if (cachedResult) {
431
+ return cachedResult;
432
+ }
433
+ const result = mergeClassList(classList, configUtils);
434
+ cacheSet(classList, result);
435
+ return result;
436
+ }
437
+ return function callTailwindMerge() {
438
+ return functionToCall(twJoin.apply(null, arguments));
439
+ };
440
+ }
441
+ function fromTheme(key) {
442
+ const themeGetter = (theme) => theme[key] || [];
443
+ themeGetter.isThemeGetter = true;
444
+ return themeGetter;
445
+ }
446
+ var arbitraryValueRegex = /^\[(?:([a-z-]+):)?(.+)\]$/i;
447
+ var fractionRegex = /^\d+\/\d+$/;
448
+ var stringLengths = /* @__PURE__ */ new Set(["px", "full", "screen"]);
449
+ var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
450
+ var lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
451
+ var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/;
452
+ var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
453
+ var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
454
+ function isLength(value) {
455
+ return isNumber(value) || stringLengths.has(value) || fractionRegex.test(value);
456
+ }
457
+ function isArbitraryLength(value) {
458
+ return getIsArbitraryValue(value, "length", isLengthOnly);
459
+ }
460
+ function isNumber(value) {
461
+ return Boolean(value) && !Number.isNaN(Number(value));
462
+ }
463
+ function isArbitraryNumber(value) {
464
+ return getIsArbitraryValue(value, "number", isNumber);
465
+ }
466
+ function isInteger(value) {
467
+ return Boolean(value) && Number.isInteger(Number(value));
468
+ }
469
+ function isPercent(value) {
470
+ return value.endsWith("%") && isNumber(value.slice(0, -1));
471
+ }
472
+ function isArbitraryValue(value) {
473
+ return arbitraryValueRegex.test(value);
474
+ }
475
+ function isTshirtSize(value) {
476
+ return tshirtUnitRegex.test(value);
477
+ }
478
+ var sizeLabels = /* @__PURE__ */ new Set(["length", "size", "percentage"]);
479
+ function isArbitrarySize(value) {
480
+ return getIsArbitraryValue(value, sizeLabels, isNever);
481
+ }
482
+ function isArbitraryPosition(value) {
483
+ return getIsArbitraryValue(value, "position", isNever);
484
+ }
485
+ var imageLabels = /* @__PURE__ */ new Set(["image", "url"]);
486
+ function isArbitraryImage(value) {
487
+ return getIsArbitraryValue(value, imageLabels, isImage);
488
+ }
489
+ function isArbitraryShadow(value) {
490
+ return getIsArbitraryValue(value, "", isShadow);
491
+ }
492
+ function isAny() {
493
+ return true;
494
+ }
495
+ function getIsArbitraryValue(value, label, testValue) {
496
+ const result = arbitraryValueRegex.exec(value);
497
+ if (result) {
498
+ if (result[1]) {
499
+ return typeof label === "string" ? result[1] === label : label.has(result[1]);
500
+ }
501
+ return testValue(result[2]);
502
+ }
503
+ return false;
504
+ }
505
+ function isLengthOnly(value) {
506
+ return lengthUnitRegex.test(value) && !colorFunctionRegex.test(value);
507
+ }
508
+ function isNever() {
509
+ return false;
510
+ }
511
+ function isShadow(value) {
512
+ return shadowRegex.test(value);
513
+ }
514
+ function isImage(value) {
515
+ return imageRegex.test(value);
516
+ }
517
+ function getDefaultConfig() {
518
+ const colors = fromTheme("colors");
519
+ const spacing = fromTheme("spacing");
520
+ const blur = fromTheme("blur");
521
+ const brightness = fromTheme("brightness");
522
+ const borderColor = fromTheme("borderColor");
523
+ const borderRadius = fromTheme("borderRadius");
524
+ const borderSpacing = fromTheme("borderSpacing");
525
+ const borderWidth = fromTheme("borderWidth");
526
+ const contrast = fromTheme("contrast");
527
+ const grayscale = fromTheme("grayscale");
528
+ const hueRotate = fromTheme("hueRotate");
529
+ const invert = fromTheme("invert");
530
+ const gap = fromTheme("gap");
531
+ const gradientColorStops = fromTheme("gradientColorStops");
532
+ const gradientColorStopPositions = fromTheme("gradientColorStopPositions");
533
+ const inset = fromTheme("inset");
534
+ const margin = fromTheme("margin");
535
+ const opacity = fromTheme("opacity");
536
+ const padding = fromTheme("padding");
537
+ const saturate = fromTheme("saturate");
538
+ const scale = fromTheme("scale");
539
+ const sepia = fromTheme("sepia");
540
+ const skew = fromTheme("skew");
541
+ const space = fromTheme("space");
542
+ const translate = fromTheme("translate");
543
+ const getOverscroll = () => ["auto", "contain", "none"];
544
+ const getOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
545
+ const getSpacingWithAutoAndArbitrary = () => ["auto", isArbitraryValue, spacing];
546
+ const getSpacingWithArbitrary = () => [isArbitraryValue, spacing];
547
+ const getLengthWithEmptyAndArbitrary = () => ["", isLength, isArbitraryLength];
548
+ const getNumberWithAutoAndArbitrary = () => ["auto", isNumber, isArbitraryValue];
549
+ const getPositions = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"];
550
+ const getLineStyles = () => ["solid", "dashed", "dotted", "double", "none"];
551
+ const getBlendModes = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
552
+ const getAlign = () => ["start", "end", "center", "between", "around", "evenly", "stretch"];
553
+ const getZeroAndEmpty = () => ["", "0", isArbitraryValue];
554
+ const getBreaks = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
555
+ const getNumber = () => [isNumber, isArbitraryNumber];
556
+ const getNumberAndArbitrary = () => [isNumber, isArbitraryValue];
557
+ return {
558
+ cacheSize: 500,
559
+ separator: ":",
560
+ theme: {
561
+ colors: [isAny],
562
+ spacing: [isLength, isArbitraryLength],
563
+ blur: ["none", "", isTshirtSize, isArbitraryValue],
564
+ brightness: getNumber(),
565
+ borderColor: [colors],
566
+ borderRadius: ["none", "", "full", isTshirtSize, isArbitraryValue],
567
+ borderSpacing: getSpacingWithArbitrary(),
568
+ borderWidth: getLengthWithEmptyAndArbitrary(),
569
+ contrast: getNumber(),
570
+ grayscale: getZeroAndEmpty(),
571
+ hueRotate: getNumberAndArbitrary(),
572
+ invert: getZeroAndEmpty(),
573
+ gap: getSpacingWithArbitrary(),
574
+ gradientColorStops: [colors],
575
+ gradientColorStopPositions: [isPercent, isArbitraryLength],
576
+ inset: getSpacingWithAutoAndArbitrary(),
577
+ margin: getSpacingWithAutoAndArbitrary(),
578
+ opacity: getNumber(),
579
+ padding: getSpacingWithArbitrary(),
580
+ saturate: getNumber(),
581
+ scale: getNumber(),
582
+ sepia: getZeroAndEmpty(),
583
+ skew: getNumberAndArbitrary(),
584
+ space: getSpacingWithArbitrary(),
585
+ translate: getSpacingWithArbitrary()
586
+ },
587
+ classGroups: {
588
+ // Layout
589
+ /**
590
+ * Aspect Ratio
591
+ * @see https://tailwindcss.com/docs/aspect-ratio
592
+ */
593
+ aspect: [{
594
+ aspect: ["auto", "square", "video", isArbitraryValue]
595
+ }],
596
+ /**
597
+ * Container
598
+ * @see https://tailwindcss.com/docs/container
599
+ */
600
+ container: ["container"],
601
+ /**
602
+ * Columns
603
+ * @see https://tailwindcss.com/docs/columns
604
+ */
605
+ columns: [{
606
+ columns: [isTshirtSize]
607
+ }],
608
+ /**
609
+ * Break After
610
+ * @see https://tailwindcss.com/docs/break-after
611
+ */
612
+ "break-after": [{
613
+ "break-after": getBreaks()
614
+ }],
615
+ /**
616
+ * Break Before
617
+ * @see https://tailwindcss.com/docs/break-before
618
+ */
619
+ "break-before": [{
620
+ "break-before": getBreaks()
621
+ }],
622
+ /**
623
+ * Break Inside
624
+ * @see https://tailwindcss.com/docs/break-inside
625
+ */
626
+ "break-inside": [{
627
+ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
628
+ }],
629
+ /**
630
+ * Box Decoration Break
631
+ * @see https://tailwindcss.com/docs/box-decoration-break
632
+ */
633
+ "box-decoration": [{
634
+ "box-decoration": ["slice", "clone"]
635
+ }],
636
+ /**
637
+ * Box Sizing
638
+ * @see https://tailwindcss.com/docs/box-sizing
639
+ */
640
+ box: [{
641
+ box: ["border", "content"]
642
+ }],
643
+ /**
644
+ * Display
645
+ * @see https://tailwindcss.com/docs/display
646
+ */
647
+ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
648
+ /**
649
+ * Floats
650
+ * @see https://tailwindcss.com/docs/float
651
+ */
652
+ float: [{
653
+ float: ["right", "left", "none", "start", "end"]
654
+ }],
655
+ /**
656
+ * Clear
657
+ * @see https://tailwindcss.com/docs/clear
658
+ */
659
+ clear: [{
660
+ clear: ["left", "right", "both", "none", "start", "end"]
661
+ }],
662
+ /**
663
+ * Isolation
664
+ * @see https://tailwindcss.com/docs/isolation
665
+ */
666
+ isolation: ["isolate", "isolation-auto"],
667
+ /**
668
+ * Object Fit
669
+ * @see https://tailwindcss.com/docs/object-fit
670
+ */
671
+ "object-fit": [{
672
+ object: ["contain", "cover", "fill", "none", "scale-down"]
673
+ }],
674
+ /**
675
+ * Object Position
676
+ * @see https://tailwindcss.com/docs/object-position
677
+ */
678
+ "object-position": [{
679
+ object: [...getPositions(), isArbitraryValue]
680
+ }],
681
+ /**
682
+ * Overflow
683
+ * @see https://tailwindcss.com/docs/overflow
684
+ */
685
+ overflow: [{
686
+ overflow: getOverflow()
687
+ }],
688
+ /**
689
+ * Overflow X
690
+ * @see https://tailwindcss.com/docs/overflow
691
+ */
692
+ "overflow-x": [{
693
+ "overflow-x": getOverflow()
694
+ }],
695
+ /**
696
+ * Overflow Y
697
+ * @see https://tailwindcss.com/docs/overflow
698
+ */
699
+ "overflow-y": [{
700
+ "overflow-y": getOverflow()
701
+ }],
702
+ /**
703
+ * Overscroll Behavior
704
+ * @see https://tailwindcss.com/docs/overscroll-behavior
705
+ */
706
+ overscroll: [{
707
+ overscroll: getOverscroll()
708
+ }],
709
+ /**
710
+ * Overscroll Behavior X
711
+ * @see https://tailwindcss.com/docs/overscroll-behavior
712
+ */
713
+ "overscroll-x": [{
714
+ "overscroll-x": getOverscroll()
715
+ }],
716
+ /**
717
+ * Overscroll Behavior Y
718
+ * @see https://tailwindcss.com/docs/overscroll-behavior
719
+ */
720
+ "overscroll-y": [{
721
+ "overscroll-y": getOverscroll()
722
+ }],
723
+ /**
724
+ * Position
725
+ * @see https://tailwindcss.com/docs/position
726
+ */
727
+ position: ["static", "fixed", "absolute", "relative", "sticky"],
728
+ /**
729
+ * Top / Right / Bottom / Left
730
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
731
+ */
732
+ inset: [{
733
+ inset: [inset]
734
+ }],
735
+ /**
736
+ * Right / Left
737
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
738
+ */
739
+ "inset-x": [{
740
+ "inset-x": [inset]
741
+ }],
742
+ /**
743
+ * Top / Bottom
744
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
745
+ */
746
+ "inset-y": [{
747
+ "inset-y": [inset]
748
+ }],
749
+ /**
750
+ * Start
751
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
752
+ */
753
+ start: [{
754
+ start: [inset]
755
+ }],
756
+ /**
757
+ * End
758
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
759
+ */
760
+ end: [{
761
+ end: [inset]
762
+ }],
763
+ /**
764
+ * Top
765
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
766
+ */
767
+ top: [{
768
+ top: [inset]
769
+ }],
770
+ /**
771
+ * Right
772
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
773
+ */
774
+ right: [{
775
+ right: [inset]
776
+ }],
777
+ /**
778
+ * Bottom
779
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
780
+ */
781
+ bottom: [{
782
+ bottom: [inset]
783
+ }],
784
+ /**
785
+ * Left
786
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
787
+ */
788
+ left: [{
789
+ left: [inset]
790
+ }],
791
+ /**
792
+ * Visibility
793
+ * @see https://tailwindcss.com/docs/visibility
794
+ */
795
+ visibility: ["visible", "invisible", "collapse"],
796
+ /**
797
+ * Z-Index
798
+ * @see https://tailwindcss.com/docs/z-index
799
+ */
800
+ z: [{
801
+ z: ["auto", isInteger, isArbitraryValue]
802
+ }],
803
+ // Flexbox and Grid
804
+ /**
805
+ * Flex Basis
806
+ * @see https://tailwindcss.com/docs/flex-basis
807
+ */
808
+ basis: [{
809
+ basis: getSpacingWithAutoAndArbitrary()
810
+ }],
811
+ /**
812
+ * Flex Direction
813
+ * @see https://tailwindcss.com/docs/flex-direction
814
+ */
815
+ "flex-direction": [{
816
+ flex: ["row", "row-reverse", "col", "col-reverse"]
817
+ }],
818
+ /**
819
+ * Flex Wrap
820
+ * @see https://tailwindcss.com/docs/flex-wrap
821
+ */
822
+ "flex-wrap": [{
823
+ flex: ["wrap", "wrap-reverse", "nowrap"]
824
+ }],
825
+ /**
826
+ * Flex
827
+ * @see https://tailwindcss.com/docs/flex
828
+ */
829
+ flex: [{
830
+ flex: ["1", "auto", "initial", "none", isArbitraryValue]
831
+ }],
832
+ /**
833
+ * Flex Grow
834
+ * @see https://tailwindcss.com/docs/flex-grow
835
+ */
836
+ grow: [{
837
+ grow: getZeroAndEmpty()
838
+ }],
839
+ /**
840
+ * Flex Shrink
841
+ * @see https://tailwindcss.com/docs/flex-shrink
842
+ */
843
+ shrink: [{
844
+ shrink: getZeroAndEmpty()
845
+ }],
846
+ /**
847
+ * Order
848
+ * @see https://tailwindcss.com/docs/order
849
+ */
850
+ order: [{
851
+ order: ["first", "last", "none", isInteger, isArbitraryValue]
852
+ }],
853
+ /**
854
+ * Grid Template Columns
855
+ * @see https://tailwindcss.com/docs/grid-template-columns
856
+ */
857
+ "grid-cols": [{
858
+ "grid-cols": [isAny]
859
+ }],
860
+ /**
861
+ * Grid Column Start / End
862
+ * @see https://tailwindcss.com/docs/grid-column
863
+ */
864
+ "col-start-end": [{
865
+ col: ["auto", {
866
+ span: ["full", isInteger, isArbitraryValue]
867
+ }, isArbitraryValue]
868
+ }],
869
+ /**
870
+ * Grid Column Start
871
+ * @see https://tailwindcss.com/docs/grid-column
872
+ */
873
+ "col-start": [{
874
+ "col-start": getNumberWithAutoAndArbitrary()
875
+ }],
876
+ /**
877
+ * Grid Column End
878
+ * @see https://tailwindcss.com/docs/grid-column
879
+ */
880
+ "col-end": [{
881
+ "col-end": getNumberWithAutoAndArbitrary()
882
+ }],
883
+ /**
884
+ * Grid Template Rows
885
+ * @see https://tailwindcss.com/docs/grid-template-rows
886
+ */
887
+ "grid-rows": [{
888
+ "grid-rows": [isAny]
889
+ }],
890
+ /**
891
+ * Grid Row Start / End
892
+ * @see https://tailwindcss.com/docs/grid-row
893
+ */
894
+ "row-start-end": [{
895
+ row: ["auto", {
896
+ span: [isInteger, isArbitraryValue]
897
+ }, isArbitraryValue]
898
+ }],
899
+ /**
900
+ * Grid Row Start
901
+ * @see https://tailwindcss.com/docs/grid-row
902
+ */
903
+ "row-start": [{
904
+ "row-start": getNumberWithAutoAndArbitrary()
905
+ }],
906
+ /**
907
+ * Grid Row End
908
+ * @see https://tailwindcss.com/docs/grid-row
909
+ */
910
+ "row-end": [{
911
+ "row-end": getNumberWithAutoAndArbitrary()
912
+ }],
913
+ /**
914
+ * Grid Auto Flow
915
+ * @see https://tailwindcss.com/docs/grid-auto-flow
916
+ */
917
+ "grid-flow": [{
918
+ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
919
+ }],
920
+ /**
921
+ * Grid Auto Columns
922
+ * @see https://tailwindcss.com/docs/grid-auto-columns
923
+ */
924
+ "auto-cols": [{
925
+ "auto-cols": ["auto", "min", "max", "fr", isArbitraryValue]
926
+ }],
927
+ /**
928
+ * Grid Auto Rows
929
+ * @see https://tailwindcss.com/docs/grid-auto-rows
930
+ */
931
+ "auto-rows": [{
932
+ "auto-rows": ["auto", "min", "max", "fr", isArbitraryValue]
933
+ }],
934
+ /**
935
+ * Gap
936
+ * @see https://tailwindcss.com/docs/gap
937
+ */
938
+ gap: [{
939
+ gap: [gap]
940
+ }],
941
+ /**
942
+ * Gap X
943
+ * @see https://tailwindcss.com/docs/gap
944
+ */
945
+ "gap-x": [{
946
+ "gap-x": [gap]
947
+ }],
948
+ /**
949
+ * Gap Y
950
+ * @see https://tailwindcss.com/docs/gap
951
+ */
952
+ "gap-y": [{
953
+ "gap-y": [gap]
954
+ }],
955
+ /**
956
+ * Justify Content
957
+ * @see https://tailwindcss.com/docs/justify-content
958
+ */
959
+ "justify-content": [{
960
+ justify: ["normal", ...getAlign()]
961
+ }],
962
+ /**
963
+ * Justify Items
964
+ * @see https://tailwindcss.com/docs/justify-items
965
+ */
966
+ "justify-items": [{
967
+ "justify-items": ["start", "end", "center", "stretch"]
968
+ }],
969
+ /**
970
+ * Justify Self
971
+ * @see https://tailwindcss.com/docs/justify-self
972
+ */
973
+ "justify-self": [{
974
+ "justify-self": ["auto", "start", "end", "center", "stretch"]
975
+ }],
976
+ /**
977
+ * Align Content
978
+ * @see https://tailwindcss.com/docs/align-content
979
+ */
980
+ "align-content": [{
981
+ content: ["normal", ...getAlign(), "baseline"]
982
+ }],
983
+ /**
984
+ * Align Items
985
+ * @see https://tailwindcss.com/docs/align-items
986
+ */
987
+ "align-items": [{
988
+ items: ["start", "end", "center", "baseline", "stretch"]
989
+ }],
990
+ /**
991
+ * Align Self
992
+ * @see https://tailwindcss.com/docs/align-self
993
+ */
994
+ "align-self": [{
995
+ self: ["auto", "start", "end", "center", "stretch", "baseline"]
996
+ }],
997
+ /**
998
+ * Place Content
999
+ * @see https://tailwindcss.com/docs/place-content
1000
+ */
1001
+ "place-content": [{
1002
+ "place-content": [...getAlign(), "baseline"]
1003
+ }],
1004
+ /**
1005
+ * Place Items
1006
+ * @see https://tailwindcss.com/docs/place-items
1007
+ */
1008
+ "place-items": [{
1009
+ "place-items": ["start", "end", "center", "baseline", "stretch"]
1010
+ }],
1011
+ /**
1012
+ * Place Self
1013
+ * @see https://tailwindcss.com/docs/place-self
1014
+ */
1015
+ "place-self": [{
1016
+ "place-self": ["auto", "start", "end", "center", "stretch"]
1017
+ }],
1018
+ // Spacing
1019
+ /**
1020
+ * Padding
1021
+ * @see https://tailwindcss.com/docs/padding
1022
+ */
1023
+ p: [{
1024
+ p: [padding]
1025
+ }],
1026
+ /**
1027
+ * Padding X
1028
+ * @see https://tailwindcss.com/docs/padding
1029
+ */
1030
+ px: [{
1031
+ px: [padding]
1032
+ }],
1033
+ /**
1034
+ * Padding Y
1035
+ * @see https://tailwindcss.com/docs/padding
1036
+ */
1037
+ py: [{
1038
+ py: [padding]
1039
+ }],
1040
+ /**
1041
+ * Padding Start
1042
+ * @see https://tailwindcss.com/docs/padding
1043
+ */
1044
+ ps: [{
1045
+ ps: [padding]
1046
+ }],
1047
+ /**
1048
+ * Padding End
1049
+ * @see https://tailwindcss.com/docs/padding
1050
+ */
1051
+ pe: [{
1052
+ pe: [padding]
1053
+ }],
1054
+ /**
1055
+ * Padding Top
1056
+ * @see https://tailwindcss.com/docs/padding
1057
+ */
1058
+ pt: [{
1059
+ pt: [padding]
1060
+ }],
1061
+ /**
1062
+ * Padding Right
1063
+ * @see https://tailwindcss.com/docs/padding
1064
+ */
1065
+ pr: [{
1066
+ pr: [padding]
1067
+ }],
1068
+ /**
1069
+ * Padding Bottom
1070
+ * @see https://tailwindcss.com/docs/padding
1071
+ */
1072
+ pb: [{
1073
+ pb: [padding]
1074
+ }],
1075
+ /**
1076
+ * Padding Left
1077
+ * @see https://tailwindcss.com/docs/padding
1078
+ */
1079
+ pl: [{
1080
+ pl: [padding]
1081
+ }],
1082
+ /**
1083
+ * Margin
1084
+ * @see https://tailwindcss.com/docs/margin
1085
+ */
1086
+ m: [{
1087
+ m: [margin]
1088
+ }],
1089
+ /**
1090
+ * Margin X
1091
+ * @see https://tailwindcss.com/docs/margin
1092
+ */
1093
+ mx: [{
1094
+ mx: [margin]
1095
+ }],
1096
+ /**
1097
+ * Margin Y
1098
+ * @see https://tailwindcss.com/docs/margin
1099
+ */
1100
+ my: [{
1101
+ my: [margin]
1102
+ }],
1103
+ /**
1104
+ * Margin Start
1105
+ * @see https://tailwindcss.com/docs/margin
1106
+ */
1107
+ ms: [{
1108
+ ms: [margin]
1109
+ }],
1110
+ /**
1111
+ * Margin End
1112
+ * @see https://tailwindcss.com/docs/margin
1113
+ */
1114
+ me: [{
1115
+ me: [margin]
1116
+ }],
1117
+ /**
1118
+ * Margin Top
1119
+ * @see https://tailwindcss.com/docs/margin
1120
+ */
1121
+ mt: [{
1122
+ mt: [margin]
1123
+ }],
1124
+ /**
1125
+ * Margin Right
1126
+ * @see https://tailwindcss.com/docs/margin
1127
+ */
1128
+ mr: [{
1129
+ mr: [margin]
1130
+ }],
1131
+ /**
1132
+ * Margin Bottom
1133
+ * @see https://tailwindcss.com/docs/margin
1134
+ */
1135
+ mb: [{
1136
+ mb: [margin]
1137
+ }],
1138
+ /**
1139
+ * Margin Left
1140
+ * @see https://tailwindcss.com/docs/margin
1141
+ */
1142
+ ml: [{
1143
+ ml: [margin]
1144
+ }],
1145
+ /**
1146
+ * Space Between X
1147
+ * @see https://tailwindcss.com/docs/space
1148
+ */
1149
+ "space-x": [{
1150
+ "space-x": [space]
1151
+ }],
1152
+ /**
1153
+ * Space Between X Reverse
1154
+ * @see https://tailwindcss.com/docs/space
1155
+ */
1156
+ "space-x-reverse": ["space-x-reverse"],
1157
+ /**
1158
+ * Space Between Y
1159
+ * @see https://tailwindcss.com/docs/space
1160
+ */
1161
+ "space-y": [{
1162
+ "space-y": [space]
1163
+ }],
1164
+ /**
1165
+ * Space Between Y Reverse
1166
+ * @see https://tailwindcss.com/docs/space
1167
+ */
1168
+ "space-y-reverse": ["space-y-reverse"],
1169
+ // Sizing
1170
+ /**
1171
+ * Width
1172
+ * @see https://tailwindcss.com/docs/width
1173
+ */
1174
+ w: [{
1175
+ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", isArbitraryValue, spacing]
1176
+ }],
1177
+ /**
1178
+ * Min-Width
1179
+ * @see https://tailwindcss.com/docs/min-width
1180
+ */
1181
+ "min-w": [{
1182
+ "min-w": [isArbitraryValue, spacing, "min", "max", "fit"]
1183
+ }],
1184
+ /**
1185
+ * Max-Width
1186
+ * @see https://tailwindcss.com/docs/max-width
1187
+ */
1188
+ "max-w": [{
1189
+ "max-w": [isArbitraryValue, spacing, "none", "full", "min", "max", "fit", "prose", {
1190
+ screen: [isTshirtSize]
1191
+ }, isTshirtSize]
1192
+ }],
1193
+ /**
1194
+ * Height
1195
+ * @see https://tailwindcss.com/docs/height
1196
+ */
1197
+ h: [{
1198
+ h: [isArbitraryValue, spacing, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
1199
+ }],
1200
+ /**
1201
+ * Min-Height
1202
+ * @see https://tailwindcss.com/docs/min-height
1203
+ */
1204
+ "min-h": [{
1205
+ "min-h": [isArbitraryValue, spacing, "min", "max", "fit", "svh", "lvh", "dvh"]
1206
+ }],
1207
+ /**
1208
+ * Max-Height
1209
+ * @see https://tailwindcss.com/docs/max-height
1210
+ */
1211
+ "max-h": [{
1212
+ "max-h": [isArbitraryValue, spacing, "min", "max", "fit", "svh", "lvh", "dvh"]
1213
+ }],
1214
+ /**
1215
+ * Size
1216
+ * @see https://tailwindcss.com/docs/size
1217
+ */
1218
+ size: [{
1219
+ size: [isArbitraryValue, spacing, "auto", "min", "max", "fit"]
1220
+ }],
1221
+ // Typography
1222
+ /**
1223
+ * Font Size
1224
+ * @see https://tailwindcss.com/docs/font-size
1225
+ */
1226
+ "font-size": [{
1227
+ text: ["base", isTshirtSize, isArbitraryLength]
1228
+ }],
1229
+ /**
1230
+ * Font Smoothing
1231
+ * @see https://tailwindcss.com/docs/font-smoothing
1232
+ */
1233
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
1234
+ /**
1235
+ * Font Style
1236
+ * @see https://tailwindcss.com/docs/font-style
1237
+ */
1238
+ "font-style": ["italic", "not-italic"],
1239
+ /**
1240
+ * Font Weight
1241
+ * @see https://tailwindcss.com/docs/font-weight
1242
+ */
1243
+ "font-weight": [{
1244
+ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", isArbitraryNumber]
1245
+ }],
1246
+ /**
1247
+ * Font Family
1248
+ * @see https://tailwindcss.com/docs/font-family
1249
+ */
1250
+ "font-family": [{
1251
+ font: [isAny]
1252
+ }],
1253
+ /**
1254
+ * Font Variant Numeric
1255
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1256
+ */
1257
+ "fvn-normal": ["normal-nums"],
1258
+ /**
1259
+ * Font Variant Numeric
1260
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1261
+ */
1262
+ "fvn-ordinal": ["ordinal"],
1263
+ /**
1264
+ * Font Variant Numeric
1265
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1266
+ */
1267
+ "fvn-slashed-zero": ["slashed-zero"],
1268
+ /**
1269
+ * Font Variant Numeric
1270
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1271
+ */
1272
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
1273
+ /**
1274
+ * Font Variant Numeric
1275
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1276
+ */
1277
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
1278
+ /**
1279
+ * Font Variant Numeric
1280
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1281
+ */
1282
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractons"],
1283
+ /**
1284
+ * Letter Spacing
1285
+ * @see https://tailwindcss.com/docs/letter-spacing
1286
+ */
1287
+ tracking: [{
1288
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", isArbitraryValue]
1289
+ }],
1290
+ /**
1291
+ * Line Clamp
1292
+ * @see https://tailwindcss.com/docs/line-clamp
1293
+ */
1294
+ "line-clamp": [{
1295
+ "line-clamp": ["none", isNumber, isArbitraryNumber]
1296
+ }],
1297
+ /**
1298
+ * Line Height
1299
+ * @see https://tailwindcss.com/docs/line-height
1300
+ */
1301
+ leading: [{
1302
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", isLength, isArbitraryValue]
1303
+ }],
1304
+ /**
1305
+ * List Style Image
1306
+ * @see https://tailwindcss.com/docs/list-style-image
1307
+ */
1308
+ "list-image": [{
1309
+ "list-image": ["none", isArbitraryValue]
1310
+ }],
1311
+ /**
1312
+ * List Style Type
1313
+ * @see https://tailwindcss.com/docs/list-style-type
1314
+ */
1315
+ "list-style-type": [{
1316
+ list: ["none", "disc", "decimal", isArbitraryValue]
1317
+ }],
1318
+ /**
1319
+ * List Style Position
1320
+ * @see https://tailwindcss.com/docs/list-style-position
1321
+ */
1322
+ "list-style-position": [{
1323
+ list: ["inside", "outside"]
1324
+ }],
1325
+ /**
1326
+ * Placeholder Color
1327
+ * @deprecated since Tailwind CSS v3.0.0
1328
+ * @see https://tailwindcss.com/docs/placeholder-color
1329
+ */
1330
+ "placeholder-color": [{
1331
+ placeholder: [colors]
1332
+ }],
1333
+ /**
1334
+ * Placeholder Opacity
1335
+ * @see https://tailwindcss.com/docs/placeholder-opacity
1336
+ */
1337
+ "placeholder-opacity": [{
1338
+ "placeholder-opacity": [opacity]
1339
+ }],
1340
+ /**
1341
+ * Text Alignment
1342
+ * @see https://tailwindcss.com/docs/text-align
1343
+ */
1344
+ "text-alignment": [{
1345
+ text: ["left", "center", "right", "justify", "start", "end"]
1346
+ }],
1347
+ /**
1348
+ * Text Color
1349
+ * @see https://tailwindcss.com/docs/text-color
1350
+ */
1351
+ "text-color": [{
1352
+ text: [colors]
1353
+ }],
1354
+ /**
1355
+ * Text Opacity
1356
+ * @see https://tailwindcss.com/docs/text-opacity
1357
+ */
1358
+ "text-opacity": [{
1359
+ "text-opacity": [opacity]
1360
+ }],
1361
+ /**
1362
+ * Text Decoration
1363
+ * @see https://tailwindcss.com/docs/text-decoration
1364
+ */
1365
+ "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1366
+ /**
1367
+ * Text Decoration Style
1368
+ * @see https://tailwindcss.com/docs/text-decoration-style
1369
+ */
1370
+ "text-decoration-style": [{
1371
+ decoration: [...getLineStyles(), "wavy"]
1372
+ }],
1373
+ /**
1374
+ * Text Decoration Thickness
1375
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
1376
+ */
1377
+ "text-decoration-thickness": [{
1378
+ decoration: ["auto", "from-font", isLength, isArbitraryLength]
1379
+ }],
1380
+ /**
1381
+ * Text Underline Offset
1382
+ * @see https://tailwindcss.com/docs/text-underline-offset
1383
+ */
1384
+ "underline-offset": [{
1385
+ "underline-offset": ["auto", isLength, isArbitraryValue]
1386
+ }],
1387
+ /**
1388
+ * Text Decoration Color
1389
+ * @see https://tailwindcss.com/docs/text-decoration-color
1390
+ */
1391
+ "text-decoration-color": [{
1392
+ decoration: [colors]
1393
+ }],
1394
+ /**
1395
+ * Text Transform
1396
+ * @see https://tailwindcss.com/docs/text-transform
1397
+ */
1398
+ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1399
+ /**
1400
+ * Text Overflow
1401
+ * @see https://tailwindcss.com/docs/text-overflow
1402
+ */
1403
+ "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1404
+ /**
1405
+ * Text Wrap
1406
+ * @see https://tailwindcss.com/docs/text-wrap
1407
+ */
1408
+ "text-wrap": [{
1409
+ text: ["wrap", "nowrap", "balance", "pretty"]
1410
+ }],
1411
+ /**
1412
+ * Text Indent
1413
+ * @see https://tailwindcss.com/docs/text-indent
1414
+ */
1415
+ indent: [{
1416
+ indent: getSpacingWithArbitrary()
1417
+ }],
1418
+ /**
1419
+ * Vertical Alignment
1420
+ * @see https://tailwindcss.com/docs/vertical-align
1421
+ */
1422
+ "vertical-align": [{
1423
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryValue]
1424
+ }],
1425
+ /**
1426
+ * Whitespace
1427
+ * @see https://tailwindcss.com/docs/whitespace
1428
+ */
1429
+ whitespace: [{
1430
+ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1431
+ }],
1432
+ /**
1433
+ * Word Break
1434
+ * @see https://tailwindcss.com/docs/word-break
1435
+ */
1436
+ break: [{
1437
+ break: ["normal", "words", "all", "keep"]
1438
+ }],
1439
+ /**
1440
+ * Hyphens
1441
+ * @see https://tailwindcss.com/docs/hyphens
1442
+ */
1443
+ hyphens: [{
1444
+ hyphens: ["none", "manual", "auto"]
1445
+ }],
1446
+ /**
1447
+ * Content
1448
+ * @see https://tailwindcss.com/docs/content
1449
+ */
1450
+ content: [{
1451
+ content: ["none", isArbitraryValue]
1452
+ }],
1453
+ // Backgrounds
1454
+ /**
1455
+ * Background Attachment
1456
+ * @see https://tailwindcss.com/docs/background-attachment
1457
+ */
1458
+ "bg-attachment": [{
1459
+ bg: ["fixed", "local", "scroll"]
1460
+ }],
1461
+ /**
1462
+ * Background Clip
1463
+ * @see https://tailwindcss.com/docs/background-clip
1464
+ */
1465
+ "bg-clip": [{
1466
+ "bg-clip": ["border", "padding", "content", "text"]
1467
+ }],
1468
+ /**
1469
+ * Background Opacity
1470
+ * @deprecated since Tailwind CSS v3.0.0
1471
+ * @see https://tailwindcss.com/docs/background-opacity
1472
+ */
1473
+ "bg-opacity": [{
1474
+ "bg-opacity": [opacity]
1475
+ }],
1476
+ /**
1477
+ * Background Origin
1478
+ * @see https://tailwindcss.com/docs/background-origin
1479
+ */
1480
+ "bg-origin": [{
1481
+ "bg-origin": ["border", "padding", "content"]
1482
+ }],
1483
+ /**
1484
+ * Background Position
1485
+ * @see https://tailwindcss.com/docs/background-position
1486
+ */
1487
+ "bg-position": [{
1488
+ bg: [...getPositions(), isArbitraryPosition]
1489
+ }],
1490
+ /**
1491
+ * Background Repeat
1492
+ * @see https://tailwindcss.com/docs/background-repeat
1493
+ */
1494
+ "bg-repeat": [{
1495
+ bg: ["no-repeat", {
1496
+ repeat: ["", "x", "y", "round", "space"]
1497
+ }]
1498
+ }],
1499
+ /**
1500
+ * Background Size
1501
+ * @see https://tailwindcss.com/docs/background-size
1502
+ */
1503
+ "bg-size": [{
1504
+ bg: ["auto", "cover", "contain", isArbitrarySize]
1505
+ }],
1506
+ /**
1507
+ * Background Image
1508
+ * @see https://tailwindcss.com/docs/background-image
1509
+ */
1510
+ "bg-image": [{
1511
+ bg: ["none", {
1512
+ "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1513
+ }, isArbitraryImage]
1514
+ }],
1515
+ /**
1516
+ * Background Color
1517
+ * @see https://tailwindcss.com/docs/background-color
1518
+ */
1519
+ "bg-color": [{
1520
+ bg: [colors]
1521
+ }],
1522
+ /**
1523
+ * Gradient Color Stops From Position
1524
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1525
+ */
1526
+ "gradient-from-pos": [{
1527
+ from: [gradientColorStopPositions]
1528
+ }],
1529
+ /**
1530
+ * Gradient Color Stops Via Position
1531
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1532
+ */
1533
+ "gradient-via-pos": [{
1534
+ via: [gradientColorStopPositions]
1535
+ }],
1536
+ /**
1537
+ * Gradient Color Stops To Position
1538
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1539
+ */
1540
+ "gradient-to-pos": [{
1541
+ to: [gradientColorStopPositions]
1542
+ }],
1543
+ /**
1544
+ * Gradient Color Stops From
1545
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1546
+ */
1547
+ "gradient-from": [{
1548
+ from: [gradientColorStops]
1549
+ }],
1550
+ /**
1551
+ * Gradient Color Stops Via
1552
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1553
+ */
1554
+ "gradient-via": [{
1555
+ via: [gradientColorStops]
1556
+ }],
1557
+ /**
1558
+ * Gradient Color Stops To
1559
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1560
+ */
1561
+ "gradient-to": [{
1562
+ to: [gradientColorStops]
1563
+ }],
1564
+ // Borders
1565
+ /**
1566
+ * Border Radius
1567
+ * @see https://tailwindcss.com/docs/border-radius
1568
+ */
1569
+ rounded: [{
1570
+ rounded: [borderRadius]
1571
+ }],
1572
+ /**
1573
+ * Border Radius Start
1574
+ * @see https://tailwindcss.com/docs/border-radius
1575
+ */
1576
+ "rounded-s": [{
1577
+ "rounded-s": [borderRadius]
1578
+ }],
1579
+ /**
1580
+ * Border Radius End
1581
+ * @see https://tailwindcss.com/docs/border-radius
1582
+ */
1583
+ "rounded-e": [{
1584
+ "rounded-e": [borderRadius]
1585
+ }],
1586
+ /**
1587
+ * Border Radius Top
1588
+ * @see https://tailwindcss.com/docs/border-radius
1589
+ */
1590
+ "rounded-t": [{
1591
+ "rounded-t": [borderRadius]
1592
+ }],
1593
+ /**
1594
+ * Border Radius Right
1595
+ * @see https://tailwindcss.com/docs/border-radius
1596
+ */
1597
+ "rounded-r": [{
1598
+ "rounded-r": [borderRadius]
1599
+ }],
1600
+ /**
1601
+ * Border Radius Bottom
1602
+ * @see https://tailwindcss.com/docs/border-radius
1603
+ */
1604
+ "rounded-b": [{
1605
+ "rounded-b": [borderRadius]
1606
+ }],
1607
+ /**
1608
+ * Border Radius Left
1609
+ * @see https://tailwindcss.com/docs/border-radius
1610
+ */
1611
+ "rounded-l": [{
1612
+ "rounded-l": [borderRadius]
1613
+ }],
1614
+ /**
1615
+ * Border Radius Start Start
1616
+ * @see https://tailwindcss.com/docs/border-radius
1617
+ */
1618
+ "rounded-ss": [{
1619
+ "rounded-ss": [borderRadius]
1620
+ }],
1621
+ /**
1622
+ * Border Radius Start End
1623
+ * @see https://tailwindcss.com/docs/border-radius
1624
+ */
1625
+ "rounded-se": [{
1626
+ "rounded-se": [borderRadius]
1627
+ }],
1628
+ /**
1629
+ * Border Radius End End
1630
+ * @see https://tailwindcss.com/docs/border-radius
1631
+ */
1632
+ "rounded-ee": [{
1633
+ "rounded-ee": [borderRadius]
1634
+ }],
1635
+ /**
1636
+ * Border Radius End Start
1637
+ * @see https://tailwindcss.com/docs/border-radius
1638
+ */
1639
+ "rounded-es": [{
1640
+ "rounded-es": [borderRadius]
1641
+ }],
1642
+ /**
1643
+ * Border Radius Top Left
1644
+ * @see https://tailwindcss.com/docs/border-radius
1645
+ */
1646
+ "rounded-tl": [{
1647
+ "rounded-tl": [borderRadius]
1648
+ }],
1649
+ /**
1650
+ * Border Radius Top Right
1651
+ * @see https://tailwindcss.com/docs/border-radius
1652
+ */
1653
+ "rounded-tr": [{
1654
+ "rounded-tr": [borderRadius]
1655
+ }],
1656
+ /**
1657
+ * Border Radius Bottom Right
1658
+ * @see https://tailwindcss.com/docs/border-radius
1659
+ */
1660
+ "rounded-br": [{
1661
+ "rounded-br": [borderRadius]
1662
+ }],
1663
+ /**
1664
+ * Border Radius Bottom Left
1665
+ * @see https://tailwindcss.com/docs/border-radius
1666
+ */
1667
+ "rounded-bl": [{
1668
+ "rounded-bl": [borderRadius]
1669
+ }],
1670
+ /**
1671
+ * Border Width
1672
+ * @see https://tailwindcss.com/docs/border-width
1673
+ */
1674
+ "border-w": [{
1675
+ border: [borderWidth]
1676
+ }],
1677
+ /**
1678
+ * Border Width X
1679
+ * @see https://tailwindcss.com/docs/border-width
1680
+ */
1681
+ "border-w-x": [{
1682
+ "border-x": [borderWidth]
1683
+ }],
1684
+ /**
1685
+ * Border Width Y
1686
+ * @see https://tailwindcss.com/docs/border-width
1687
+ */
1688
+ "border-w-y": [{
1689
+ "border-y": [borderWidth]
1690
+ }],
1691
+ /**
1692
+ * Border Width Start
1693
+ * @see https://tailwindcss.com/docs/border-width
1694
+ */
1695
+ "border-w-s": [{
1696
+ "border-s": [borderWidth]
1697
+ }],
1698
+ /**
1699
+ * Border Width End
1700
+ * @see https://tailwindcss.com/docs/border-width
1701
+ */
1702
+ "border-w-e": [{
1703
+ "border-e": [borderWidth]
1704
+ }],
1705
+ /**
1706
+ * Border Width Top
1707
+ * @see https://tailwindcss.com/docs/border-width
1708
+ */
1709
+ "border-w-t": [{
1710
+ "border-t": [borderWidth]
1711
+ }],
1712
+ /**
1713
+ * Border Width Right
1714
+ * @see https://tailwindcss.com/docs/border-width
1715
+ */
1716
+ "border-w-r": [{
1717
+ "border-r": [borderWidth]
1718
+ }],
1719
+ /**
1720
+ * Border Width Bottom
1721
+ * @see https://tailwindcss.com/docs/border-width
1722
+ */
1723
+ "border-w-b": [{
1724
+ "border-b": [borderWidth]
1725
+ }],
1726
+ /**
1727
+ * Border Width Left
1728
+ * @see https://tailwindcss.com/docs/border-width
1729
+ */
1730
+ "border-w-l": [{
1731
+ "border-l": [borderWidth]
1732
+ }],
1733
+ /**
1734
+ * Border Opacity
1735
+ * @see https://tailwindcss.com/docs/border-opacity
1736
+ */
1737
+ "border-opacity": [{
1738
+ "border-opacity": [opacity]
1739
+ }],
1740
+ /**
1741
+ * Border Style
1742
+ * @see https://tailwindcss.com/docs/border-style
1743
+ */
1744
+ "border-style": [{
1745
+ border: [...getLineStyles(), "hidden"]
1746
+ }],
1747
+ /**
1748
+ * Divide Width X
1749
+ * @see https://tailwindcss.com/docs/divide-width
1750
+ */
1751
+ "divide-x": [{
1752
+ "divide-x": [borderWidth]
1753
+ }],
1754
+ /**
1755
+ * Divide Width X Reverse
1756
+ * @see https://tailwindcss.com/docs/divide-width
1757
+ */
1758
+ "divide-x-reverse": ["divide-x-reverse"],
1759
+ /**
1760
+ * Divide Width Y
1761
+ * @see https://tailwindcss.com/docs/divide-width
1762
+ */
1763
+ "divide-y": [{
1764
+ "divide-y": [borderWidth]
1765
+ }],
1766
+ /**
1767
+ * Divide Width Y Reverse
1768
+ * @see https://tailwindcss.com/docs/divide-width
1769
+ */
1770
+ "divide-y-reverse": ["divide-y-reverse"],
1771
+ /**
1772
+ * Divide Opacity
1773
+ * @see https://tailwindcss.com/docs/divide-opacity
1774
+ */
1775
+ "divide-opacity": [{
1776
+ "divide-opacity": [opacity]
1777
+ }],
1778
+ /**
1779
+ * Divide Style
1780
+ * @see https://tailwindcss.com/docs/divide-style
1781
+ */
1782
+ "divide-style": [{
1783
+ divide: getLineStyles()
1784
+ }],
1785
+ /**
1786
+ * Border Color
1787
+ * @see https://tailwindcss.com/docs/border-color
1788
+ */
1789
+ "border-color": [{
1790
+ border: [borderColor]
1791
+ }],
1792
+ /**
1793
+ * Border Color X
1794
+ * @see https://tailwindcss.com/docs/border-color
1795
+ */
1796
+ "border-color-x": [{
1797
+ "border-x": [borderColor]
1798
+ }],
1799
+ /**
1800
+ * Border Color Y
1801
+ * @see https://tailwindcss.com/docs/border-color
1802
+ */
1803
+ "border-color-y": [{
1804
+ "border-y": [borderColor]
1805
+ }],
1806
+ /**
1807
+ * Border Color Top
1808
+ * @see https://tailwindcss.com/docs/border-color
1809
+ */
1810
+ "border-color-t": [{
1811
+ "border-t": [borderColor]
1812
+ }],
1813
+ /**
1814
+ * Border Color Right
1815
+ * @see https://tailwindcss.com/docs/border-color
1816
+ */
1817
+ "border-color-r": [{
1818
+ "border-r": [borderColor]
1819
+ }],
1820
+ /**
1821
+ * Border Color Bottom
1822
+ * @see https://tailwindcss.com/docs/border-color
1823
+ */
1824
+ "border-color-b": [{
1825
+ "border-b": [borderColor]
1826
+ }],
1827
+ /**
1828
+ * Border Color Left
1829
+ * @see https://tailwindcss.com/docs/border-color
1830
+ */
1831
+ "border-color-l": [{
1832
+ "border-l": [borderColor]
1833
+ }],
1834
+ /**
1835
+ * Divide Color
1836
+ * @see https://tailwindcss.com/docs/divide-color
1837
+ */
1838
+ "divide-color": [{
1839
+ divide: [borderColor]
1840
+ }],
1841
+ /**
1842
+ * Outline Style
1843
+ * @see https://tailwindcss.com/docs/outline-style
1844
+ */
1845
+ "outline-style": [{
1846
+ outline: ["", ...getLineStyles()]
1847
+ }],
1848
+ /**
1849
+ * Outline Offset
1850
+ * @see https://tailwindcss.com/docs/outline-offset
1851
+ */
1852
+ "outline-offset": [{
1853
+ "outline-offset": [isLength, isArbitraryValue]
1854
+ }],
1855
+ /**
1856
+ * Outline Width
1857
+ * @see https://tailwindcss.com/docs/outline-width
1858
+ */
1859
+ "outline-w": [{
1860
+ outline: [isLength, isArbitraryLength]
1861
+ }],
1862
+ /**
1863
+ * Outline Color
1864
+ * @see https://tailwindcss.com/docs/outline-color
1865
+ */
1866
+ "outline-color": [{
1867
+ outline: [colors]
1868
+ }],
1869
+ /**
1870
+ * Ring Width
1871
+ * @see https://tailwindcss.com/docs/ring-width
1872
+ */
1873
+ "ring-w": [{
1874
+ ring: getLengthWithEmptyAndArbitrary()
1875
+ }],
1876
+ /**
1877
+ * Ring Width Inset
1878
+ * @see https://tailwindcss.com/docs/ring-width
1879
+ */
1880
+ "ring-w-inset": ["ring-inset"],
1881
+ /**
1882
+ * Ring Color
1883
+ * @see https://tailwindcss.com/docs/ring-color
1884
+ */
1885
+ "ring-color": [{
1886
+ ring: [colors]
1887
+ }],
1888
+ /**
1889
+ * Ring Opacity
1890
+ * @see https://tailwindcss.com/docs/ring-opacity
1891
+ */
1892
+ "ring-opacity": [{
1893
+ "ring-opacity": [opacity]
1894
+ }],
1895
+ /**
1896
+ * Ring Offset Width
1897
+ * @see https://tailwindcss.com/docs/ring-offset-width
1898
+ */
1899
+ "ring-offset-w": [{
1900
+ "ring-offset": [isLength, isArbitraryLength]
1901
+ }],
1902
+ /**
1903
+ * Ring Offset Color
1904
+ * @see https://tailwindcss.com/docs/ring-offset-color
1905
+ */
1906
+ "ring-offset-color": [{
1907
+ "ring-offset": [colors]
1908
+ }],
1909
+ // Effects
1910
+ /**
1911
+ * Box Shadow
1912
+ * @see https://tailwindcss.com/docs/box-shadow
1913
+ */
1914
+ shadow: [{
1915
+ shadow: ["", "inner", "none", isTshirtSize, isArbitraryShadow]
1916
+ }],
1917
+ /**
1918
+ * Box Shadow Color
1919
+ * @see https://tailwindcss.com/docs/box-shadow-color
1920
+ */
1921
+ "shadow-color": [{
1922
+ shadow: [isAny]
1923
+ }],
1924
+ /**
1925
+ * Opacity
1926
+ * @see https://tailwindcss.com/docs/opacity
1927
+ */
1928
+ opacity: [{
1929
+ opacity: [opacity]
1930
+ }],
1931
+ /**
1932
+ * Mix Blend Mode
1933
+ * @see https://tailwindcss.com/docs/mix-blend-mode
1934
+ */
1935
+ "mix-blend": [{
1936
+ "mix-blend": [...getBlendModes(), "plus-lighter", "plus-darker"]
1937
+ }],
1938
+ /**
1939
+ * Background Blend Mode
1940
+ * @see https://tailwindcss.com/docs/background-blend-mode
1941
+ */
1942
+ "bg-blend": [{
1943
+ "bg-blend": getBlendModes()
1944
+ }],
1945
+ // Filters
1946
+ /**
1947
+ * Filter
1948
+ * @deprecated since Tailwind CSS v3.0.0
1949
+ * @see https://tailwindcss.com/docs/filter
1950
+ */
1951
+ filter: [{
1952
+ filter: ["", "none"]
1953
+ }],
1954
+ /**
1955
+ * Blur
1956
+ * @see https://tailwindcss.com/docs/blur
1957
+ */
1958
+ blur: [{
1959
+ blur: [blur]
1960
+ }],
1961
+ /**
1962
+ * Brightness
1963
+ * @see https://tailwindcss.com/docs/brightness
1964
+ */
1965
+ brightness: [{
1966
+ brightness: [brightness]
1967
+ }],
1968
+ /**
1969
+ * Contrast
1970
+ * @see https://tailwindcss.com/docs/contrast
1971
+ */
1972
+ contrast: [{
1973
+ contrast: [contrast]
1974
+ }],
1975
+ /**
1976
+ * Drop Shadow
1977
+ * @see https://tailwindcss.com/docs/drop-shadow
1978
+ */
1979
+ "drop-shadow": [{
1980
+ "drop-shadow": ["", "none", isTshirtSize, isArbitraryValue]
1981
+ }],
1982
+ /**
1983
+ * Grayscale
1984
+ * @see https://tailwindcss.com/docs/grayscale
1985
+ */
1986
+ grayscale: [{
1987
+ grayscale: [grayscale]
1988
+ }],
1989
+ /**
1990
+ * Hue Rotate
1991
+ * @see https://tailwindcss.com/docs/hue-rotate
1992
+ */
1993
+ "hue-rotate": [{
1994
+ "hue-rotate": [hueRotate]
1995
+ }],
1996
+ /**
1997
+ * Invert
1998
+ * @see https://tailwindcss.com/docs/invert
1999
+ */
2000
+ invert: [{
2001
+ invert: [invert]
2002
+ }],
2003
+ /**
2004
+ * Saturate
2005
+ * @see https://tailwindcss.com/docs/saturate
2006
+ */
2007
+ saturate: [{
2008
+ saturate: [saturate]
2009
+ }],
2010
+ /**
2011
+ * Sepia
2012
+ * @see https://tailwindcss.com/docs/sepia
2013
+ */
2014
+ sepia: [{
2015
+ sepia: [sepia]
2016
+ }],
2017
+ /**
2018
+ * Backdrop Filter
2019
+ * @deprecated since Tailwind CSS v3.0.0
2020
+ * @see https://tailwindcss.com/docs/backdrop-filter
2021
+ */
2022
+ "backdrop-filter": [{
2023
+ "backdrop-filter": ["", "none"]
2024
+ }],
2025
+ /**
2026
+ * Backdrop Blur
2027
+ * @see https://tailwindcss.com/docs/backdrop-blur
2028
+ */
2029
+ "backdrop-blur": [{
2030
+ "backdrop-blur": [blur]
2031
+ }],
2032
+ /**
2033
+ * Backdrop Brightness
2034
+ * @see https://tailwindcss.com/docs/backdrop-brightness
2035
+ */
2036
+ "backdrop-brightness": [{
2037
+ "backdrop-brightness": [brightness]
2038
+ }],
2039
+ /**
2040
+ * Backdrop Contrast
2041
+ * @see https://tailwindcss.com/docs/backdrop-contrast
2042
+ */
2043
+ "backdrop-contrast": [{
2044
+ "backdrop-contrast": [contrast]
2045
+ }],
2046
+ /**
2047
+ * Backdrop Grayscale
2048
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
2049
+ */
2050
+ "backdrop-grayscale": [{
2051
+ "backdrop-grayscale": [grayscale]
2052
+ }],
2053
+ /**
2054
+ * Backdrop Hue Rotate
2055
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2056
+ */
2057
+ "backdrop-hue-rotate": [{
2058
+ "backdrop-hue-rotate": [hueRotate]
2059
+ }],
2060
+ /**
2061
+ * Backdrop Invert
2062
+ * @see https://tailwindcss.com/docs/backdrop-invert
2063
+ */
2064
+ "backdrop-invert": [{
2065
+ "backdrop-invert": [invert]
2066
+ }],
2067
+ /**
2068
+ * Backdrop Opacity
2069
+ * @see https://tailwindcss.com/docs/backdrop-opacity
2070
+ */
2071
+ "backdrop-opacity": [{
2072
+ "backdrop-opacity": [opacity]
2073
+ }],
2074
+ /**
2075
+ * Backdrop Saturate
2076
+ * @see https://tailwindcss.com/docs/backdrop-saturate
2077
+ */
2078
+ "backdrop-saturate": [{
2079
+ "backdrop-saturate": [saturate]
2080
+ }],
2081
+ /**
2082
+ * Backdrop Sepia
2083
+ * @see https://tailwindcss.com/docs/backdrop-sepia
2084
+ */
2085
+ "backdrop-sepia": [{
2086
+ "backdrop-sepia": [sepia]
2087
+ }],
2088
+ // Tables
2089
+ /**
2090
+ * Border Collapse
2091
+ * @see https://tailwindcss.com/docs/border-collapse
2092
+ */
2093
+ "border-collapse": [{
2094
+ border: ["collapse", "separate"]
2095
+ }],
2096
+ /**
2097
+ * Border Spacing
2098
+ * @see https://tailwindcss.com/docs/border-spacing
2099
+ */
2100
+ "border-spacing": [{
2101
+ "border-spacing": [borderSpacing]
2102
+ }],
2103
+ /**
2104
+ * Border Spacing X
2105
+ * @see https://tailwindcss.com/docs/border-spacing
2106
+ */
2107
+ "border-spacing-x": [{
2108
+ "border-spacing-x": [borderSpacing]
2109
+ }],
2110
+ /**
2111
+ * Border Spacing Y
2112
+ * @see https://tailwindcss.com/docs/border-spacing
2113
+ */
2114
+ "border-spacing-y": [{
2115
+ "border-spacing-y": [borderSpacing]
2116
+ }],
2117
+ /**
2118
+ * Table Layout
2119
+ * @see https://tailwindcss.com/docs/table-layout
2120
+ */
2121
+ "table-layout": [{
2122
+ table: ["auto", "fixed"]
2123
+ }],
2124
+ /**
2125
+ * Caption Side
2126
+ * @see https://tailwindcss.com/docs/caption-side
2127
+ */
2128
+ caption: [{
2129
+ caption: ["top", "bottom"]
2130
+ }],
2131
+ // Transitions and Animation
2132
+ /**
2133
+ * Tranisition Property
2134
+ * @see https://tailwindcss.com/docs/transition-property
2135
+ */
2136
+ transition: [{
2137
+ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", isArbitraryValue]
2138
+ }],
2139
+ /**
2140
+ * Transition Duration
2141
+ * @see https://tailwindcss.com/docs/transition-duration
2142
+ */
2143
+ duration: [{
2144
+ duration: getNumberAndArbitrary()
2145
+ }],
2146
+ /**
2147
+ * Transition Timing Function
2148
+ * @see https://tailwindcss.com/docs/transition-timing-function
2149
+ */
2150
+ ease: [{
2151
+ ease: ["linear", "in", "out", "in-out", isArbitraryValue]
2152
+ }],
2153
+ /**
2154
+ * Transition Delay
2155
+ * @see https://tailwindcss.com/docs/transition-delay
2156
+ */
2157
+ delay: [{
2158
+ delay: getNumberAndArbitrary()
2159
+ }],
2160
+ /**
2161
+ * Animation
2162
+ * @see https://tailwindcss.com/docs/animation
2163
+ */
2164
+ animate: [{
2165
+ animate: ["none", "spin", "ping", "pulse", "bounce", isArbitraryValue]
2166
+ }],
2167
+ // Transforms
2168
+ /**
2169
+ * Transform
2170
+ * @see https://tailwindcss.com/docs/transform
2171
+ */
2172
+ transform: [{
2173
+ transform: ["", "gpu", "none"]
2174
+ }],
2175
+ /**
2176
+ * Scale
2177
+ * @see https://tailwindcss.com/docs/scale
2178
+ */
2179
+ scale: [{
2180
+ scale: [scale]
2181
+ }],
2182
+ /**
2183
+ * Scale X
2184
+ * @see https://tailwindcss.com/docs/scale
2185
+ */
2186
+ "scale-x": [{
2187
+ "scale-x": [scale]
2188
+ }],
2189
+ /**
2190
+ * Scale Y
2191
+ * @see https://tailwindcss.com/docs/scale
2192
+ */
2193
+ "scale-y": [{
2194
+ "scale-y": [scale]
2195
+ }],
2196
+ /**
2197
+ * Rotate
2198
+ * @see https://tailwindcss.com/docs/rotate
2199
+ */
2200
+ rotate: [{
2201
+ rotate: [isInteger, isArbitraryValue]
2202
+ }],
2203
+ /**
2204
+ * Translate X
2205
+ * @see https://tailwindcss.com/docs/translate
2206
+ */
2207
+ "translate-x": [{
2208
+ "translate-x": [translate]
2209
+ }],
2210
+ /**
2211
+ * Translate Y
2212
+ * @see https://tailwindcss.com/docs/translate
2213
+ */
2214
+ "translate-y": [{
2215
+ "translate-y": [translate]
2216
+ }],
2217
+ /**
2218
+ * Skew X
2219
+ * @see https://tailwindcss.com/docs/skew
2220
+ */
2221
+ "skew-x": [{
2222
+ "skew-x": [skew]
2223
+ }],
2224
+ /**
2225
+ * Skew Y
2226
+ * @see https://tailwindcss.com/docs/skew
2227
+ */
2228
+ "skew-y": [{
2229
+ "skew-y": [skew]
2230
+ }],
2231
+ /**
2232
+ * Transform Origin
2233
+ * @see https://tailwindcss.com/docs/transform-origin
2234
+ */
2235
+ "transform-origin": [{
2236
+ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", isArbitraryValue]
2237
+ }],
2238
+ // Interactivity
2239
+ /**
2240
+ * Accent Color
2241
+ * @see https://tailwindcss.com/docs/accent-color
2242
+ */
2243
+ accent: [{
2244
+ accent: ["auto", colors]
2245
+ }],
2246
+ /**
2247
+ * Appearance
2248
+ * @see https://tailwindcss.com/docs/appearance
2249
+ */
2250
+ appearance: [{
2251
+ appearance: ["none", "auto"]
2252
+ }],
2253
+ /**
2254
+ * Cursor
2255
+ * @see https://tailwindcss.com/docs/cursor
2256
+ */
2257
+ cursor: [{
2258
+ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", isArbitraryValue]
2259
+ }],
2260
+ /**
2261
+ * Caret Color
2262
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2263
+ */
2264
+ "caret-color": [{
2265
+ caret: [colors]
2266
+ }],
2267
+ /**
2268
+ * Pointer Events
2269
+ * @see https://tailwindcss.com/docs/pointer-events
2270
+ */
2271
+ "pointer-events": [{
2272
+ "pointer-events": ["none", "auto"]
2273
+ }],
2274
+ /**
2275
+ * Resize
2276
+ * @see https://tailwindcss.com/docs/resize
2277
+ */
2278
+ resize: [{
2279
+ resize: ["none", "y", "x", ""]
2280
+ }],
2281
+ /**
2282
+ * Scroll Behavior
2283
+ * @see https://tailwindcss.com/docs/scroll-behavior
2284
+ */
2285
+ "scroll-behavior": [{
2286
+ scroll: ["auto", "smooth"]
2287
+ }],
2288
+ /**
2289
+ * Scroll Margin
2290
+ * @see https://tailwindcss.com/docs/scroll-margin
2291
+ */
2292
+ "scroll-m": [{
2293
+ "scroll-m": getSpacingWithArbitrary()
2294
+ }],
2295
+ /**
2296
+ * Scroll Margin X
2297
+ * @see https://tailwindcss.com/docs/scroll-margin
2298
+ */
2299
+ "scroll-mx": [{
2300
+ "scroll-mx": getSpacingWithArbitrary()
2301
+ }],
2302
+ /**
2303
+ * Scroll Margin Y
2304
+ * @see https://tailwindcss.com/docs/scroll-margin
2305
+ */
2306
+ "scroll-my": [{
2307
+ "scroll-my": getSpacingWithArbitrary()
2308
+ }],
2309
+ /**
2310
+ * Scroll Margin Start
2311
+ * @see https://tailwindcss.com/docs/scroll-margin
2312
+ */
2313
+ "scroll-ms": [{
2314
+ "scroll-ms": getSpacingWithArbitrary()
2315
+ }],
2316
+ /**
2317
+ * Scroll Margin End
2318
+ * @see https://tailwindcss.com/docs/scroll-margin
2319
+ */
2320
+ "scroll-me": [{
2321
+ "scroll-me": getSpacingWithArbitrary()
2322
+ }],
2323
+ /**
2324
+ * Scroll Margin Top
2325
+ * @see https://tailwindcss.com/docs/scroll-margin
2326
+ */
2327
+ "scroll-mt": [{
2328
+ "scroll-mt": getSpacingWithArbitrary()
2329
+ }],
2330
+ /**
2331
+ * Scroll Margin Right
2332
+ * @see https://tailwindcss.com/docs/scroll-margin
2333
+ */
2334
+ "scroll-mr": [{
2335
+ "scroll-mr": getSpacingWithArbitrary()
2336
+ }],
2337
+ /**
2338
+ * Scroll Margin Bottom
2339
+ * @see https://tailwindcss.com/docs/scroll-margin
2340
+ */
2341
+ "scroll-mb": [{
2342
+ "scroll-mb": getSpacingWithArbitrary()
2343
+ }],
2344
+ /**
2345
+ * Scroll Margin Left
2346
+ * @see https://tailwindcss.com/docs/scroll-margin
2347
+ */
2348
+ "scroll-ml": [{
2349
+ "scroll-ml": getSpacingWithArbitrary()
2350
+ }],
2351
+ /**
2352
+ * Scroll Padding
2353
+ * @see https://tailwindcss.com/docs/scroll-padding
2354
+ */
2355
+ "scroll-p": [{
2356
+ "scroll-p": getSpacingWithArbitrary()
2357
+ }],
2358
+ /**
2359
+ * Scroll Padding X
2360
+ * @see https://tailwindcss.com/docs/scroll-padding
2361
+ */
2362
+ "scroll-px": [{
2363
+ "scroll-px": getSpacingWithArbitrary()
2364
+ }],
2365
+ /**
2366
+ * Scroll Padding Y
2367
+ * @see https://tailwindcss.com/docs/scroll-padding
2368
+ */
2369
+ "scroll-py": [{
2370
+ "scroll-py": getSpacingWithArbitrary()
2371
+ }],
2372
+ /**
2373
+ * Scroll Padding Start
2374
+ * @see https://tailwindcss.com/docs/scroll-padding
2375
+ */
2376
+ "scroll-ps": [{
2377
+ "scroll-ps": getSpacingWithArbitrary()
2378
+ }],
2379
+ /**
2380
+ * Scroll Padding End
2381
+ * @see https://tailwindcss.com/docs/scroll-padding
2382
+ */
2383
+ "scroll-pe": [{
2384
+ "scroll-pe": getSpacingWithArbitrary()
2385
+ }],
2386
+ /**
2387
+ * Scroll Padding Top
2388
+ * @see https://tailwindcss.com/docs/scroll-padding
2389
+ */
2390
+ "scroll-pt": [{
2391
+ "scroll-pt": getSpacingWithArbitrary()
2392
+ }],
2393
+ /**
2394
+ * Scroll Padding Right
2395
+ * @see https://tailwindcss.com/docs/scroll-padding
2396
+ */
2397
+ "scroll-pr": [{
2398
+ "scroll-pr": getSpacingWithArbitrary()
2399
+ }],
2400
+ /**
2401
+ * Scroll Padding Bottom
2402
+ * @see https://tailwindcss.com/docs/scroll-padding
2403
+ */
2404
+ "scroll-pb": [{
2405
+ "scroll-pb": getSpacingWithArbitrary()
2406
+ }],
2407
+ /**
2408
+ * Scroll Padding Left
2409
+ * @see https://tailwindcss.com/docs/scroll-padding
2410
+ */
2411
+ "scroll-pl": [{
2412
+ "scroll-pl": getSpacingWithArbitrary()
2413
+ }],
2414
+ /**
2415
+ * Scroll Snap Align
2416
+ * @see https://tailwindcss.com/docs/scroll-snap-align
2417
+ */
2418
+ "snap-align": [{
2419
+ snap: ["start", "end", "center", "align-none"]
2420
+ }],
2421
+ /**
2422
+ * Scroll Snap Stop
2423
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
2424
+ */
2425
+ "snap-stop": [{
2426
+ snap: ["normal", "always"]
2427
+ }],
2428
+ /**
2429
+ * Scroll Snap Type
2430
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2431
+ */
2432
+ "snap-type": [{
2433
+ snap: ["none", "x", "y", "both"]
2434
+ }],
2435
+ /**
2436
+ * Scroll Snap Type Strictness
2437
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2438
+ */
2439
+ "snap-strictness": [{
2440
+ snap: ["mandatory", "proximity"]
2441
+ }],
2442
+ /**
2443
+ * Touch Action
2444
+ * @see https://tailwindcss.com/docs/touch-action
2445
+ */
2446
+ touch: [{
2447
+ touch: ["auto", "none", "manipulation"]
2448
+ }],
2449
+ /**
2450
+ * Touch Action X
2451
+ * @see https://tailwindcss.com/docs/touch-action
2452
+ */
2453
+ "touch-x": [{
2454
+ "touch-pan": ["x", "left", "right"]
2455
+ }],
2456
+ /**
2457
+ * Touch Action Y
2458
+ * @see https://tailwindcss.com/docs/touch-action
2459
+ */
2460
+ "touch-y": [{
2461
+ "touch-pan": ["y", "up", "down"]
2462
+ }],
2463
+ /**
2464
+ * Touch Action Pinch Zoom
2465
+ * @see https://tailwindcss.com/docs/touch-action
2466
+ */
2467
+ "touch-pz": ["touch-pinch-zoom"],
2468
+ /**
2469
+ * User Select
2470
+ * @see https://tailwindcss.com/docs/user-select
2471
+ */
2472
+ select: [{
2473
+ select: ["none", "text", "all", "auto"]
2474
+ }],
2475
+ /**
2476
+ * Will Change
2477
+ * @see https://tailwindcss.com/docs/will-change
2478
+ */
2479
+ "will-change": [{
2480
+ "will-change": ["auto", "scroll", "contents", "transform", isArbitraryValue]
2481
+ }],
2482
+ // SVG
2483
+ /**
2484
+ * Fill
2485
+ * @see https://tailwindcss.com/docs/fill
2486
+ */
2487
+ fill: [{
2488
+ fill: [colors, "none"]
2489
+ }],
2490
+ /**
2491
+ * Stroke Width
2492
+ * @see https://tailwindcss.com/docs/stroke-width
2493
+ */
2494
+ "stroke-w": [{
2495
+ stroke: [isLength, isArbitraryLength, isArbitraryNumber]
2496
+ }],
2497
+ /**
2498
+ * Stroke
2499
+ * @see https://tailwindcss.com/docs/stroke
2500
+ */
2501
+ stroke: [{
2502
+ stroke: [colors, "none"]
2503
+ }],
2504
+ // Accessibility
2505
+ /**
2506
+ * Screen Readers
2507
+ * @see https://tailwindcss.com/docs/screen-readers
2508
+ */
2509
+ sr: ["sr-only", "not-sr-only"],
2510
+ /**
2511
+ * Forced Color Adjust
2512
+ * @see https://tailwindcss.com/docs/forced-color-adjust
2513
+ */
2514
+ "forced-color-adjust": [{
2515
+ "forced-color-adjust": ["auto", "none"]
2516
+ }]
2517
+ },
2518
+ conflictingClassGroups: {
2519
+ overflow: ["overflow-x", "overflow-y"],
2520
+ overscroll: ["overscroll-x", "overscroll-y"],
2521
+ inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
2522
+ "inset-x": ["right", "left"],
2523
+ "inset-y": ["top", "bottom"],
2524
+ flex: ["basis", "grow", "shrink"],
2525
+ gap: ["gap-x", "gap-y"],
2526
+ p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
2527
+ px: ["pr", "pl"],
2528
+ py: ["pt", "pb"],
2529
+ m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
2530
+ mx: ["mr", "ml"],
2531
+ my: ["mt", "mb"],
2532
+ size: ["w", "h"],
2533
+ "font-size": ["leading"],
2534
+ "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
2535
+ "fvn-ordinal": ["fvn-normal"],
2536
+ "fvn-slashed-zero": ["fvn-normal"],
2537
+ "fvn-figure": ["fvn-normal"],
2538
+ "fvn-spacing": ["fvn-normal"],
2539
+ "fvn-fraction": ["fvn-normal"],
2540
+ "line-clamp": ["display", "overflow"],
2541
+ rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
2542
+ "rounded-s": ["rounded-ss", "rounded-es"],
2543
+ "rounded-e": ["rounded-se", "rounded-ee"],
2544
+ "rounded-t": ["rounded-tl", "rounded-tr"],
2545
+ "rounded-r": ["rounded-tr", "rounded-br"],
2546
+ "rounded-b": ["rounded-br", "rounded-bl"],
2547
+ "rounded-l": ["rounded-tl", "rounded-bl"],
2548
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
2549
+ "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
2550
+ "border-w-x": ["border-w-r", "border-w-l"],
2551
+ "border-w-y": ["border-w-t", "border-w-b"],
2552
+ "border-color": ["border-color-t", "border-color-r", "border-color-b", "border-color-l"],
2553
+ "border-color-x": ["border-color-r", "border-color-l"],
2554
+ "border-color-y": ["border-color-t", "border-color-b"],
2555
+ "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
2556
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
2557
+ "scroll-my": ["scroll-mt", "scroll-mb"],
2558
+ "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
2559
+ "scroll-px": ["scroll-pr", "scroll-pl"],
2560
+ "scroll-py": ["scroll-pt", "scroll-pb"],
2561
+ touch: ["touch-x", "touch-y", "touch-pz"],
2562
+ "touch-x": ["touch"],
2563
+ "touch-y": ["touch"],
2564
+ "touch-pz": ["touch"]
2565
+ },
2566
+ conflictingClassGroupModifiers: {
2567
+ "font-size": ["leading"]
2568
+ }
2569
+ };
2570
+ }
2571
+ var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
2572
+
2573
+ // src/cn.tsx
2574
+ function cn(...args) {
2575
+ return twMerge(clsx_default(args));
2576
+ }
2577
+
2578
+ // src/Text.tsx
2579
+ function Text(props) {
2580
+ const [, rest] = splitProps(props, ["class", "variant", "as"]);
2581
+ return createComponent(Dynamic, mergeProps({
2582
+ get component() {
2583
+ return props.as ?? "p";
2584
+ },
2585
+ get ["class"]() {
2586
+ return cn(variants({
2587
+ as: props.as,
2588
+ variant: props.variant
2589
+ }), props.class);
2590
+ }
2591
+ }, rest));
2592
+ }
2593
+ var variants = cva("", {
2594
+ variants: {
2595
+ as: {
2596
+ h1: "text-4xl font-bold",
2597
+ h2: "text-2xl font-bold",
2598
+ h4: "text-lg font-bold",
2599
+ p: ""
2600
+ },
2601
+ variant: {
2602
+ default: "",
2603
+ error: "text-error text-sm italic"
2604
+ }
2605
+ },
2606
+ defaultVariants: {
2607
+ as: "p",
2608
+ variant: "default"
2609
+ }
2610
+ });
2611
+
2612
+ // src/index.tsx
2613
+ var _tmpl$ = /* @__PURE__ */ template(`<div>`);
2614
+ function createHello() {
2615
+ const [hello, setHello] = createSignal("Hello World!");
2616
+ return [hello, (to) => setHello(`Hello ${to}!`)];
2617
+ }
2618
+ var Hello = (props) => {
2619
+ const [hello, setHello] = createHello();
2620
+ console.log("Hello World!");
2621
+ createComputed(() => {
2622
+ if (typeof props.to === "string") setHello(props.to);
2623
+ });
2624
+ return (() => {
2625
+ var _el$ = _tmpl$();
2626
+ insert(_el$, hello);
2627
+ return _el$;
2628
+ })();
2629
+ };
2630
+
2631
+ export { Hello, Text, createHello };