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