@koaris/bloom-ui 1.0.1

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