@koaris/bloom-ui 1.2.0 → 1.2.2

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