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