@meshsdk/react 1.7.20 → 1.7.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2,23 +2,2951 @@
2
2
  import { useEffect as useEffect7, useState as useState9 } from "react";
3
3
 
4
4
  // src/common/button.tsx
5
- import { jsx } from "react/jsx-runtime";
6
- function Button({
7
- children,
8
- isDarkMode = false,
9
- hideMenuList = false,
10
- setHideMenuList,
11
- onMouseEnter,
12
- onMouseLeave
5
+ import * as React3 from "react";
6
+
7
+ // ../../node_modules/@radix-ui/react-slot/dist/index.mjs
8
+ import * as React2 from "react";
9
+
10
+ // ../../node_modules/@radix-ui/react-compose-refs/dist/index.mjs
11
+ import * as React from "react";
12
+ function setRef(ref, value) {
13
+ if (typeof ref === "function") {
14
+ ref(value);
15
+ } else if (ref !== null && ref !== void 0) {
16
+ ref.current = value;
17
+ }
18
+ }
19
+ function composeRefs(...refs) {
20
+ return (node) => refs.forEach((ref) => setRef(ref, node));
21
+ }
22
+
23
+ // ../../node_modules/@radix-ui/react-slot/dist/index.mjs
24
+ import { Fragment, jsx } from "react/jsx-runtime";
25
+ var Slot = React2.forwardRef((props, forwardedRef) => {
26
+ const { children, ...slotProps } = props;
27
+ const childrenArray = React2.Children.toArray(children);
28
+ const slottable = childrenArray.find(isSlottable);
29
+ if (slottable) {
30
+ const newElement = slottable.props.children;
31
+ const newChildren = childrenArray.map((child) => {
32
+ if (child === slottable) {
33
+ if (React2.Children.count(newElement) > 1) return React2.Children.only(null);
34
+ return React2.isValidElement(newElement) ? newElement.props.children : null;
35
+ } else {
36
+ return child;
37
+ }
38
+ });
39
+ return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React2.isValidElement(newElement) ? React2.cloneElement(newElement, void 0, newChildren) : null });
40
+ }
41
+ return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
42
+ });
43
+ Slot.displayName = "Slot";
44
+ var SlotClone = React2.forwardRef((props, forwardedRef) => {
45
+ const { children, ...slotProps } = props;
46
+ if (React2.isValidElement(children)) {
47
+ const childrenRef = getElementRef(children);
48
+ return React2.cloneElement(children, {
49
+ ...mergeProps(slotProps, children.props),
50
+ // @ts-ignore
51
+ ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef
52
+ });
53
+ }
54
+ return React2.Children.count(children) > 1 ? React2.Children.only(null) : null;
55
+ });
56
+ SlotClone.displayName = "SlotClone";
57
+ var Slottable = ({ children }) => {
58
+ return /* @__PURE__ */ jsx(Fragment, { children });
59
+ };
60
+ function isSlottable(child) {
61
+ return React2.isValidElement(child) && child.type === Slottable;
62
+ }
63
+ function mergeProps(slotProps, childProps) {
64
+ const overrideProps = { ...childProps };
65
+ for (const propName in childProps) {
66
+ const slotPropValue = slotProps[propName];
67
+ const childPropValue = childProps[propName];
68
+ const isHandler = /^on[A-Z]/.test(propName);
69
+ if (isHandler) {
70
+ if (slotPropValue && childPropValue) {
71
+ overrideProps[propName] = (...args) => {
72
+ childPropValue(...args);
73
+ slotPropValue(...args);
74
+ };
75
+ } else if (slotPropValue) {
76
+ overrideProps[propName] = slotPropValue;
77
+ }
78
+ } else if (propName === "style") {
79
+ overrideProps[propName] = { ...slotPropValue, ...childPropValue };
80
+ } else if (propName === "className") {
81
+ overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
82
+ }
83
+ }
84
+ return { ...slotProps, ...overrideProps };
85
+ }
86
+ function getElementRef(element) {
87
+ let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
88
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
89
+ if (mayWarn) {
90
+ return element.ref;
91
+ }
92
+ getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
93
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
94
+ if (mayWarn) {
95
+ return element.props.ref;
96
+ }
97
+ return element.props.ref || element.ref;
98
+ }
99
+
100
+ // src/common/button.tsx
101
+ import { cva } from "class-variance-authority";
102
+
103
+ // ../../node_modules/clsx/dist/clsx.mjs
104
+ function r(e) {
105
+ var t, f, n = "";
106
+ if ("string" == typeof e || "number" == typeof e) n += e;
107
+ else if ("object" == typeof e) if (Array.isArray(e)) {
108
+ var o = e.length;
109
+ for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
110
+ } else for (f in e) e[f] && (n && (n += " "), n += f);
111
+ return n;
112
+ }
113
+ function clsx() {
114
+ for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
115
+ return n;
116
+ }
117
+
118
+ // ../../node_modules/tailwind-merge/dist/bundle-mjs.mjs
119
+ var CLASS_PART_SEPARATOR = "-";
120
+ function createClassUtils(config) {
121
+ const classMap = createClassMap(config);
122
+ const {
123
+ conflictingClassGroups,
124
+ conflictingClassGroupModifiers
125
+ } = config;
126
+ function getClassGroupId(className) {
127
+ const classParts = className.split(CLASS_PART_SEPARATOR);
128
+ if (classParts[0] === "" && classParts.length !== 1) {
129
+ classParts.shift();
130
+ }
131
+ return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
132
+ }
133
+ function getConflictingClassGroupIds(classGroupId, hasPostfixModifier) {
134
+ const conflicts = conflictingClassGroups[classGroupId] || [];
135
+ if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
136
+ return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
137
+ }
138
+ return conflicts;
139
+ }
140
+ return {
141
+ getClassGroupId,
142
+ getConflictingClassGroupIds
143
+ };
144
+ }
145
+ function getGroupRecursive(classParts, classPartObject) {
146
+ if (classParts.length === 0) {
147
+ return classPartObject.classGroupId;
148
+ }
149
+ const currentClassPart = classParts[0];
150
+ const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
151
+ const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : void 0;
152
+ if (classGroupFromNextClassPart) {
153
+ return classGroupFromNextClassPart;
154
+ }
155
+ if (classPartObject.validators.length === 0) {
156
+ return void 0;
157
+ }
158
+ const classRest = classParts.join(CLASS_PART_SEPARATOR);
159
+ return classPartObject.validators.find(({
160
+ validator
161
+ }) => validator(classRest))?.classGroupId;
162
+ }
163
+ var arbitraryPropertyRegex = /^\[(.+)\]$/;
164
+ function getGroupIdForArbitraryProperty(className) {
165
+ if (arbitraryPropertyRegex.test(className)) {
166
+ const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
167
+ const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(":"));
168
+ if (property) {
169
+ return "arbitrary.." + property;
170
+ }
171
+ }
172
+ }
173
+ function createClassMap(config) {
174
+ const {
175
+ theme,
176
+ prefix
177
+ } = config;
178
+ const classMap = {
179
+ nextPart: /* @__PURE__ */ new Map(),
180
+ validators: []
181
+ };
182
+ const prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);
183
+ prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {
184
+ processClassesRecursively(classGroup, classMap, classGroupId, theme);
185
+ });
186
+ return classMap;
187
+ }
188
+ function processClassesRecursively(classGroup, classPartObject, classGroupId, theme) {
189
+ classGroup.forEach((classDefinition) => {
190
+ if (typeof classDefinition === "string") {
191
+ const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
192
+ classPartObjectToEdit.classGroupId = classGroupId;
193
+ return;
194
+ }
195
+ if (typeof classDefinition === "function") {
196
+ if (isThemeGetter(classDefinition)) {
197
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
198
+ return;
199
+ }
200
+ classPartObject.validators.push({
201
+ validator: classDefinition,
202
+ classGroupId
203
+ });
204
+ return;
205
+ }
206
+ Object.entries(classDefinition).forEach(([key, classGroup2]) => {
207
+ processClassesRecursively(classGroup2, getPart(classPartObject, key), classGroupId, theme);
208
+ });
209
+ });
210
+ }
211
+ function getPart(classPartObject, path) {
212
+ let currentClassPartObject = classPartObject;
213
+ path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {
214
+ if (!currentClassPartObject.nextPart.has(pathPart)) {
215
+ currentClassPartObject.nextPart.set(pathPart, {
216
+ nextPart: /* @__PURE__ */ new Map(),
217
+ validators: []
218
+ });
219
+ }
220
+ currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
221
+ });
222
+ return currentClassPartObject;
223
+ }
224
+ function isThemeGetter(func) {
225
+ return func.isThemeGetter;
226
+ }
227
+ function getPrefixedClassGroupEntries(classGroupEntries, prefix) {
228
+ if (!prefix) {
229
+ return classGroupEntries;
230
+ }
231
+ return classGroupEntries.map(([classGroupId, classGroup]) => {
232
+ const prefixedClassGroup = classGroup.map((classDefinition) => {
233
+ if (typeof classDefinition === "string") {
234
+ return prefix + classDefinition;
235
+ }
236
+ if (typeof classDefinition === "object") {
237
+ return Object.fromEntries(Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]));
238
+ }
239
+ return classDefinition;
240
+ });
241
+ return [classGroupId, prefixedClassGroup];
242
+ });
243
+ }
244
+ function createLruCache(maxCacheSize) {
245
+ if (maxCacheSize < 1) {
246
+ return {
247
+ get: () => void 0,
248
+ set: () => {
249
+ }
250
+ };
251
+ }
252
+ let cacheSize = 0;
253
+ let cache = /* @__PURE__ */ new Map();
254
+ let previousCache = /* @__PURE__ */ new Map();
255
+ function update(key, value) {
256
+ cache.set(key, value);
257
+ cacheSize++;
258
+ if (cacheSize > maxCacheSize) {
259
+ cacheSize = 0;
260
+ previousCache = cache;
261
+ cache = /* @__PURE__ */ new Map();
262
+ }
263
+ }
264
+ return {
265
+ get(key) {
266
+ let value = cache.get(key);
267
+ if (value !== void 0) {
268
+ return value;
269
+ }
270
+ if ((value = previousCache.get(key)) !== void 0) {
271
+ update(key, value);
272
+ return value;
273
+ }
274
+ },
275
+ set(key, value) {
276
+ if (cache.has(key)) {
277
+ cache.set(key, value);
278
+ } else {
279
+ update(key, value);
280
+ }
281
+ }
282
+ };
283
+ }
284
+ var IMPORTANT_MODIFIER = "!";
285
+ function createSplitModifiers(config) {
286
+ const separator = config.separator;
287
+ const isSeparatorSingleCharacter = separator.length === 1;
288
+ const firstSeparatorCharacter = separator[0];
289
+ const separatorLength = separator.length;
290
+ return function splitModifiers(className) {
291
+ const modifiers = [];
292
+ let bracketDepth = 0;
293
+ let modifierStart = 0;
294
+ let postfixModifierPosition;
295
+ for (let index = 0; index < className.length; index++) {
296
+ let currentCharacter = className[index];
297
+ if (bracketDepth === 0) {
298
+ if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) {
299
+ modifiers.push(className.slice(modifierStart, index));
300
+ modifierStart = index + separatorLength;
301
+ continue;
302
+ }
303
+ if (currentCharacter === "/") {
304
+ postfixModifierPosition = index;
305
+ continue;
306
+ }
307
+ }
308
+ if (currentCharacter === "[") {
309
+ bracketDepth++;
310
+ } else if (currentCharacter === "]") {
311
+ bracketDepth--;
312
+ }
313
+ }
314
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
315
+ const hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);
316
+ const baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;
317
+ const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
318
+ return {
319
+ modifiers,
320
+ hasImportantModifier,
321
+ baseClassName,
322
+ maybePostfixModifierPosition
323
+ };
324
+ };
325
+ }
326
+ function sortModifiers(modifiers) {
327
+ if (modifiers.length <= 1) {
328
+ return modifiers;
329
+ }
330
+ const sortedModifiers = [];
331
+ let unsortedModifiers = [];
332
+ modifiers.forEach((modifier) => {
333
+ const isArbitraryVariant = modifier[0] === "[";
334
+ if (isArbitraryVariant) {
335
+ sortedModifiers.push(...unsortedModifiers.sort(), modifier);
336
+ unsortedModifiers = [];
337
+ } else {
338
+ unsortedModifiers.push(modifier);
339
+ }
340
+ });
341
+ sortedModifiers.push(...unsortedModifiers.sort());
342
+ return sortedModifiers;
343
+ }
344
+ function createConfigUtils(config) {
345
+ return {
346
+ cache: createLruCache(config.cacheSize),
347
+ splitModifiers: createSplitModifiers(config),
348
+ ...createClassUtils(config)
349
+ };
350
+ }
351
+ var SPLIT_CLASSES_REGEX = /\s+/;
352
+ function mergeClassList(classList, configUtils) {
353
+ const {
354
+ splitModifiers,
355
+ getClassGroupId,
356
+ getConflictingClassGroupIds
357
+ } = configUtils;
358
+ const classGroupsInConflict = /* @__PURE__ */ new Set();
359
+ return classList.trim().split(SPLIT_CLASSES_REGEX).map((originalClassName) => {
360
+ const {
361
+ modifiers,
362
+ hasImportantModifier,
363
+ baseClassName,
364
+ maybePostfixModifierPosition
365
+ } = splitModifiers(originalClassName);
366
+ let classGroupId = getClassGroupId(maybePostfixModifierPosition ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
367
+ let hasPostfixModifier = Boolean(maybePostfixModifierPosition);
368
+ if (!classGroupId) {
369
+ if (!maybePostfixModifierPosition) {
370
+ return {
371
+ isTailwindClass: false,
372
+ originalClassName
373
+ };
374
+ }
375
+ classGroupId = getClassGroupId(baseClassName);
376
+ if (!classGroupId) {
377
+ return {
378
+ isTailwindClass: false,
379
+ originalClassName
380
+ };
381
+ }
382
+ hasPostfixModifier = false;
383
+ }
384
+ const variantModifier = sortModifiers(modifiers).join(":");
385
+ const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
386
+ return {
387
+ isTailwindClass: true,
388
+ modifierId,
389
+ classGroupId,
390
+ originalClassName,
391
+ hasPostfixModifier
392
+ };
393
+ }).reverse().filter((parsed) => {
394
+ if (!parsed.isTailwindClass) {
395
+ return true;
396
+ }
397
+ const {
398
+ modifierId,
399
+ classGroupId,
400
+ hasPostfixModifier
401
+ } = parsed;
402
+ const classId = modifierId + classGroupId;
403
+ if (classGroupsInConflict.has(classId)) {
404
+ return false;
405
+ }
406
+ classGroupsInConflict.add(classId);
407
+ getConflictingClassGroupIds(classGroupId, hasPostfixModifier).forEach((group) => classGroupsInConflict.add(modifierId + group));
408
+ return true;
409
+ }).reverse().map((parsed) => parsed.originalClassName).join(" ");
410
+ }
411
+ function twJoin() {
412
+ let index = 0;
413
+ let argument;
414
+ let resolvedValue;
415
+ let string = "";
416
+ while (index < arguments.length) {
417
+ if (argument = arguments[index++]) {
418
+ if (resolvedValue = toValue(argument)) {
419
+ string && (string += " ");
420
+ string += resolvedValue;
421
+ }
422
+ }
423
+ }
424
+ return string;
425
+ }
426
+ function toValue(mix) {
427
+ if (typeof mix === "string") {
428
+ return mix;
429
+ }
430
+ let resolvedValue;
431
+ let string = "";
432
+ for (let k = 0; k < mix.length; k++) {
433
+ if (mix[k]) {
434
+ if (resolvedValue = toValue(mix[k])) {
435
+ string && (string += " ");
436
+ string += resolvedValue;
437
+ }
438
+ }
439
+ }
440
+ return string;
441
+ }
442
+ function createTailwindMerge(createConfigFirst, ...createConfigRest) {
443
+ let configUtils;
444
+ let cacheGet;
445
+ let cacheSet;
446
+ let functionToCall = initTailwindMerge;
447
+ function initTailwindMerge(classList) {
448
+ const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
449
+ configUtils = createConfigUtils(config);
450
+ cacheGet = configUtils.cache.get;
451
+ cacheSet = configUtils.cache.set;
452
+ functionToCall = tailwindMerge;
453
+ return tailwindMerge(classList);
454
+ }
455
+ function tailwindMerge(classList) {
456
+ const cachedResult = cacheGet(classList);
457
+ if (cachedResult) {
458
+ return cachedResult;
459
+ }
460
+ const result = mergeClassList(classList, configUtils);
461
+ cacheSet(classList, result);
462
+ return result;
463
+ }
464
+ return function callTailwindMerge() {
465
+ return functionToCall(twJoin.apply(null, arguments));
466
+ };
467
+ }
468
+ function fromTheme(key) {
469
+ const themeGetter = (theme) => theme[key] || [];
470
+ themeGetter.isThemeGetter = true;
471
+ return themeGetter;
472
+ }
473
+ var arbitraryValueRegex = /^\[(?:([a-z-]+):)?(.+)\]$/i;
474
+ var fractionRegex = /^\d+\/\d+$/;
475
+ var stringLengths = /* @__PURE__ */ new Set(["px", "full", "screen"]);
476
+ var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
477
+ 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$/;
478
+ var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/;
479
+ var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
480
+ var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
481
+ function isLength(value) {
482
+ return isNumber(value) || stringLengths.has(value) || fractionRegex.test(value);
483
+ }
484
+ function isArbitraryLength(value) {
485
+ return getIsArbitraryValue(value, "length", isLengthOnly);
486
+ }
487
+ function isNumber(value) {
488
+ return Boolean(value) && !Number.isNaN(Number(value));
489
+ }
490
+ function isArbitraryNumber(value) {
491
+ return getIsArbitraryValue(value, "number", isNumber);
492
+ }
493
+ function isInteger(value) {
494
+ return Boolean(value) && Number.isInteger(Number(value));
495
+ }
496
+ function isPercent(value) {
497
+ return value.endsWith("%") && isNumber(value.slice(0, -1));
498
+ }
499
+ function isArbitraryValue(value) {
500
+ return arbitraryValueRegex.test(value);
501
+ }
502
+ function isTshirtSize(value) {
503
+ return tshirtUnitRegex.test(value);
504
+ }
505
+ var sizeLabels = /* @__PURE__ */ new Set(["length", "size", "percentage"]);
506
+ function isArbitrarySize(value) {
507
+ return getIsArbitraryValue(value, sizeLabels, isNever);
508
+ }
509
+ function isArbitraryPosition(value) {
510
+ return getIsArbitraryValue(value, "position", isNever);
511
+ }
512
+ var imageLabels = /* @__PURE__ */ new Set(["image", "url"]);
513
+ function isArbitraryImage(value) {
514
+ return getIsArbitraryValue(value, imageLabels, isImage);
515
+ }
516
+ function isArbitraryShadow(value) {
517
+ return getIsArbitraryValue(value, "", isShadow);
518
+ }
519
+ function isAny() {
520
+ return true;
521
+ }
522
+ function getIsArbitraryValue(value, label, testValue) {
523
+ const result = arbitraryValueRegex.exec(value);
524
+ if (result) {
525
+ if (result[1]) {
526
+ return typeof label === "string" ? result[1] === label : label.has(result[1]);
527
+ }
528
+ return testValue(result[2]);
529
+ }
530
+ return false;
531
+ }
532
+ function isLengthOnly(value) {
533
+ return lengthUnitRegex.test(value) && !colorFunctionRegex.test(value);
534
+ }
535
+ function isNever() {
536
+ return false;
537
+ }
538
+ function isShadow(value) {
539
+ return shadowRegex.test(value);
540
+ }
541
+ function isImage(value) {
542
+ return imageRegex.test(value);
543
+ }
544
+ function getDefaultConfig() {
545
+ const colors = fromTheme("colors");
546
+ const spacing = fromTheme("spacing");
547
+ const blur = fromTheme("blur");
548
+ const brightness = fromTheme("brightness");
549
+ const borderColor = fromTheme("borderColor");
550
+ const borderRadius = fromTheme("borderRadius");
551
+ const borderSpacing = fromTheme("borderSpacing");
552
+ const borderWidth = fromTheme("borderWidth");
553
+ const contrast = fromTheme("contrast");
554
+ const grayscale = fromTheme("grayscale");
555
+ const hueRotate = fromTheme("hueRotate");
556
+ const invert = fromTheme("invert");
557
+ const gap = fromTheme("gap");
558
+ const gradientColorStops = fromTheme("gradientColorStops");
559
+ const gradientColorStopPositions = fromTheme("gradientColorStopPositions");
560
+ const inset = fromTheme("inset");
561
+ const margin = fromTheme("margin");
562
+ const opacity = fromTheme("opacity");
563
+ const padding = fromTheme("padding");
564
+ const saturate = fromTheme("saturate");
565
+ const scale = fromTheme("scale");
566
+ const sepia = fromTheme("sepia");
567
+ const skew = fromTheme("skew");
568
+ const space = fromTheme("space");
569
+ const translate = fromTheme("translate");
570
+ const getOverscroll = () => ["auto", "contain", "none"];
571
+ const getOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
572
+ const getSpacingWithAutoAndArbitrary = () => ["auto", isArbitraryValue, spacing];
573
+ const getSpacingWithArbitrary = () => [isArbitraryValue, spacing];
574
+ const getLengthWithEmptyAndArbitrary = () => ["", isLength, isArbitraryLength];
575
+ const getNumberWithAutoAndArbitrary = () => ["auto", isNumber, isArbitraryValue];
576
+ const getPositions = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"];
577
+ const getLineStyles = () => ["solid", "dashed", "dotted", "double", "none"];
578
+ const getBlendModes = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity", "plus-lighter"];
579
+ const getAlign = () => ["start", "end", "center", "between", "around", "evenly", "stretch"];
580
+ const getZeroAndEmpty = () => ["", "0", isArbitraryValue];
581
+ const getBreaks = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
582
+ const getNumber = () => [isNumber, isArbitraryNumber];
583
+ const getNumberAndArbitrary = () => [isNumber, isArbitraryValue];
584
+ return {
585
+ cacheSize: 500,
586
+ separator: ":",
587
+ theme: {
588
+ colors: [isAny],
589
+ spacing: [isLength, isArbitraryLength],
590
+ blur: ["none", "", isTshirtSize, isArbitraryValue],
591
+ brightness: getNumber(),
592
+ borderColor: [colors],
593
+ borderRadius: ["none", "", "full", isTshirtSize, isArbitraryValue],
594
+ borderSpacing: getSpacingWithArbitrary(),
595
+ borderWidth: getLengthWithEmptyAndArbitrary(),
596
+ contrast: getNumber(),
597
+ grayscale: getZeroAndEmpty(),
598
+ hueRotate: getNumberAndArbitrary(),
599
+ invert: getZeroAndEmpty(),
600
+ gap: getSpacingWithArbitrary(),
601
+ gradientColorStops: [colors],
602
+ gradientColorStopPositions: [isPercent, isArbitraryLength],
603
+ inset: getSpacingWithAutoAndArbitrary(),
604
+ margin: getSpacingWithAutoAndArbitrary(),
605
+ opacity: getNumber(),
606
+ padding: getSpacingWithArbitrary(),
607
+ saturate: getNumber(),
608
+ scale: getNumber(),
609
+ sepia: getZeroAndEmpty(),
610
+ skew: getNumberAndArbitrary(),
611
+ space: getSpacingWithArbitrary(),
612
+ translate: getSpacingWithArbitrary()
613
+ },
614
+ classGroups: {
615
+ // Layout
616
+ /**
617
+ * Aspect Ratio
618
+ * @see https://tailwindcss.com/docs/aspect-ratio
619
+ */
620
+ aspect: [{
621
+ aspect: ["auto", "square", "video", isArbitraryValue]
622
+ }],
623
+ /**
624
+ * Container
625
+ * @see https://tailwindcss.com/docs/container
626
+ */
627
+ container: ["container"],
628
+ /**
629
+ * Columns
630
+ * @see https://tailwindcss.com/docs/columns
631
+ */
632
+ columns: [{
633
+ columns: [isTshirtSize]
634
+ }],
635
+ /**
636
+ * Break After
637
+ * @see https://tailwindcss.com/docs/break-after
638
+ */
639
+ "break-after": [{
640
+ "break-after": getBreaks()
641
+ }],
642
+ /**
643
+ * Break Before
644
+ * @see https://tailwindcss.com/docs/break-before
645
+ */
646
+ "break-before": [{
647
+ "break-before": getBreaks()
648
+ }],
649
+ /**
650
+ * Break Inside
651
+ * @see https://tailwindcss.com/docs/break-inside
652
+ */
653
+ "break-inside": [{
654
+ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
655
+ }],
656
+ /**
657
+ * Box Decoration Break
658
+ * @see https://tailwindcss.com/docs/box-decoration-break
659
+ */
660
+ "box-decoration": [{
661
+ "box-decoration": ["slice", "clone"]
662
+ }],
663
+ /**
664
+ * Box Sizing
665
+ * @see https://tailwindcss.com/docs/box-sizing
666
+ */
667
+ box: [{
668
+ box: ["border", "content"]
669
+ }],
670
+ /**
671
+ * Display
672
+ * @see https://tailwindcss.com/docs/display
673
+ */
674
+ 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"],
675
+ /**
676
+ * Floats
677
+ * @see https://tailwindcss.com/docs/float
678
+ */
679
+ float: [{
680
+ float: ["right", "left", "none", "start", "end"]
681
+ }],
682
+ /**
683
+ * Clear
684
+ * @see https://tailwindcss.com/docs/clear
685
+ */
686
+ clear: [{
687
+ clear: ["left", "right", "both", "none", "start", "end"]
688
+ }],
689
+ /**
690
+ * Isolation
691
+ * @see https://tailwindcss.com/docs/isolation
692
+ */
693
+ isolation: ["isolate", "isolation-auto"],
694
+ /**
695
+ * Object Fit
696
+ * @see https://tailwindcss.com/docs/object-fit
697
+ */
698
+ "object-fit": [{
699
+ object: ["contain", "cover", "fill", "none", "scale-down"]
700
+ }],
701
+ /**
702
+ * Object Position
703
+ * @see https://tailwindcss.com/docs/object-position
704
+ */
705
+ "object-position": [{
706
+ object: [...getPositions(), isArbitraryValue]
707
+ }],
708
+ /**
709
+ * Overflow
710
+ * @see https://tailwindcss.com/docs/overflow
711
+ */
712
+ overflow: [{
713
+ overflow: getOverflow()
714
+ }],
715
+ /**
716
+ * Overflow X
717
+ * @see https://tailwindcss.com/docs/overflow
718
+ */
719
+ "overflow-x": [{
720
+ "overflow-x": getOverflow()
721
+ }],
722
+ /**
723
+ * Overflow Y
724
+ * @see https://tailwindcss.com/docs/overflow
725
+ */
726
+ "overflow-y": [{
727
+ "overflow-y": getOverflow()
728
+ }],
729
+ /**
730
+ * Overscroll Behavior
731
+ * @see https://tailwindcss.com/docs/overscroll-behavior
732
+ */
733
+ overscroll: [{
734
+ overscroll: getOverscroll()
735
+ }],
736
+ /**
737
+ * Overscroll Behavior X
738
+ * @see https://tailwindcss.com/docs/overscroll-behavior
739
+ */
740
+ "overscroll-x": [{
741
+ "overscroll-x": getOverscroll()
742
+ }],
743
+ /**
744
+ * Overscroll Behavior Y
745
+ * @see https://tailwindcss.com/docs/overscroll-behavior
746
+ */
747
+ "overscroll-y": [{
748
+ "overscroll-y": getOverscroll()
749
+ }],
750
+ /**
751
+ * Position
752
+ * @see https://tailwindcss.com/docs/position
753
+ */
754
+ position: ["static", "fixed", "absolute", "relative", "sticky"],
755
+ /**
756
+ * Top / Right / Bottom / Left
757
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
758
+ */
759
+ inset: [{
760
+ inset: [inset]
761
+ }],
762
+ /**
763
+ * Right / Left
764
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
765
+ */
766
+ "inset-x": [{
767
+ "inset-x": [inset]
768
+ }],
769
+ /**
770
+ * Top / Bottom
771
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
772
+ */
773
+ "inset-y": [{
774
+ "inset-y": [inset]
775
+ }],
776
+ /**
777
+ * Start
778
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
779
+ */
780
+ start: [{
781
+ start: [inset]
782
+ }],
783
+ /**
784
+ * End
785
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
786
+ */
787
+ end: [{
788
+ end: [inset]
789
+ }],
790
+ /**
791
+ * Top
792
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
793
+ */
794
+ top: [{
795
+ top: [inset]
796
+ }],
797
+ /**
798
+ * Right
799
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
800
+ */
801
+ right: [{
802
+ right: [inset]
803
+ }],
804
+ /**
805
+ * Bottom
806
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
807
+ */
808
+ bottom: [{
809
+ bottom: [inset]
810
+ }],
811
+ /**
812
+ * Left
813
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
814
+ */
815
+ left: [{
816
+ left: [inset]
817
+ }],
818
+ /**
819
+ * Visibility
820
+ * @see https://tailwindcss.com/docs/visibility
821
+ */
822
+ visibility: ["visible", "invisible", "collapse"],
823
+ /**
824
+ * Z-Index
825
+ * @see https://tailwindcss.com/docs/z-index
826
+ */
827
+ z: [{
828
+ z: ["auto", isInteger, isArbitraryValue]
829
+ }],
830
+ // Flexbox and Grid
831
+ /**
832
+ * Flex Basis
833
+ * @see https://tailwindcss.com/docs/flex-basis
834
+ */
835
+ basis: [{
836
+ basis: getSpacingWithAutoAndArbitrary()
837
+ }],
838
+ /**
839
+ * Flex Direction
840
+ * @see https://tailwindcss.com/docs/flex-direction
841
+ */
842
+ "flex-direction": [{
843
+ flex: ["row", "row-reverse", "col", "col-reverse"]
844
+ }],
845
+ /**
846
+ * Flex Wrap
847
+ * @see https://tailwindcss.com/docs/flex-wrap
848
+ */
849
+ "flex-wrap": [{
850
+ flex: ["wrap", "wrap-reverse", "nowrap"]
851
+ }],
852
+ /**
853
+ * Flex
854
+ * @see https://tailwindcss.com/docs/flex
855
+ */
856
+ flex: [{
857
+ flex: ["1", "auto", "initial", "none", isArbitraryValue]
858
+ }],
859
+ /**
860
+ * Flex Grow
861
+ * @see https://tailwindcss.com/docs/flex-grow
862
+ */
863
+ grow: [{
864
+ grow: getZeroAndEmpty()
865
+ }],
866
+ /**
867
+ * Flex Shrink
868
+ * @see https://tailwindcss.com/docs/flex-shrink
869
+ */
870
+ shrink: [{
871
+ shrink: getZeroAndEmpty()
872
+ }],
873
+ /**
874
+ * Order
875
+ * @see https://tailwindcss.com/docs/order
876
+ */
877
+ order: [{
878
+ order: ["first", "last", "none", isInteger, isArbitraryValue]
879
+ }],
880
+ /**
881
+ * Grid Template Columns
882
+ * @see https://tailwindcss.com/docs/grid-template-columns
883
+ */
884
+ "grid-cols": [{
885
+ "grid-cols": [isAny]
886
+ }],
887
+ /**
888
+ * Grid Column Start / End
889
+ * @see https://tailwindcss.com/docs/grid-column
890
+ */
891
+ "col-start-end": [{
892
+ col: ["auto", {
893
+ span: ["full", isInteger, isArbitraryValue]
894
+ }, isArbitraryValue]
895
+ }],
896
+ /**
897
+ * Grid Column Start
898
+ * @see https://tailwindcss.com/docs/grid-column
899
+ */
900
+ "col-start": [{
901
+ "col-start": getNumberWithAutoAndArbitrary()
902
+ }],
903
+ /**
904
+ * Grid Column End
905
+ * @see https://tailwindcss.com/docs/grid-column
906
+ */
907
+ "col-end": [{
908
+ "col-end": getNumberWithAutoAndArbitrary()
909
+ }],
910
+ /**
911
+ * Grid Template Rows
912
+ * @see https://tailwindcss.com/docs/grid-template-rows
913
+ */
914
+ "grid-rows": [{
915
+ "grid-rows": [isAny]
916
+ }],
917
+ /**
918
+ * Grid Row Start / End
919
+ * @see https://tailwindcss.com/docs/grid-row
920
+ */
921
+ "row-start-end": [{
922
+ row: ["auto", {
923
+ span: [isInteger, isArbitraryValue]
924
+ }, isArbitraryValue]
925
+ }],
926
+ /**
927
+ * Grid Row Start
928
+ * @see https://tailwindcss.com/docs/grid-row
929
+ */
930
+ "row-start": [{
931
+ "row-start": getNumberWithAutoAndArbitrary()
932
+ }],
933
+ /**
934
+ * Grid Row End
935
+ * @see https://tailwindcss.com/docs/grid-row
936
+ */
937
+ "row-end": [{
938
+ "row-end": getNumberWithAutoAndArbitrary()
939
+ }],
940
+ /**
941
+ * Grid Auto Flow
942
+ * @see https://tailwindcss.com/docs/grid-auto-flow
943
+ */
944
+ "grid-flow": [{
945
+ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
946
+ }],
947
+ /**
948
+ * Grid Auto Columns
949
+ * @see https://tailwindcss.com/docs/grid-auto-columns
950
+ */
951
+ "auto-cols": [{
952
+ "auto-cols": ["auto", "min", "max", "fr", isArbitraryValue]
953
+ }],
954
+ /**
955
+ * Grid Auto Rows
956
+ * @see https://tailwindcss.com/docs/grid-auto-rows
957
+ */
958
+ "auto-rows": [{
959
+ "auto-rows": ["auto", "min", "max", "fr", isArbitraryValue]
960
+ }],
961
+ /**
962
+ * Gap
963
+ * @see https://tailwindcss.com/docs/gap
964
+ */
965
+ gap: [{
966
+ gap: [gap]
967
+ }],
968
+ /**
969
+ * Gap X
970
+ * @see https://tailwindcss.com/docs/gap
971
+ */
972
+ "gap-x": [{
973
+ "gap-x": [gap]
974
+ }],
975
+ /**
976
+ * Gap Y
977
+ * @see https://tailwindcss.com/docs/gap
978
+ */
979
+ "gap-y": [{
980
+ "gap-y": [gap]
981
+ }],
982
+ /**
983
+ * Justify Content
984
+ * @see https://tailwindcss.com/docs/justify-content
985
+ */
986
+ "justify-content": [{
987
+ justify: ["normal", ...getAlign()]
988
+ }],
989
+ /**
990
+ * Justify Items
991
+ * @see https://tailwindcss.com/docs/justify-items
992
+ */
993
+ "justify-items": [{
994
+ "justify-items": ["start", "end", "center", "stretch"]
995
+ }],
996
+ /**
997
+ * Justify Self
998
+ * @see https://tailwindcss.com/docs/justify-self
999
+ */
1000
+ "justify-self": [{
1001
+ "justify-self": ["auto", "start", "end", "center", "stretch"]
1002
+ }],
1003
+ /**
1004
+ * Align Content
1005
+ * @see https://tailwindcss.com/docs/align-content
1006
+ */
1007
+ "align-content": [{
1008
+ content: ["normal", ...getAlign(), "baseline"]
1009
+ }],
1010
+ /**
1011
+ * Align Items
1012
+ * @see https://tailwindcss.com/docs/align-items
1013
+ */
1014
+ "align-items": [{
1015
+ items: ["start", "end", "center", "baseline", "stretch"]
1016
+ }],
1017
+ /**
1018
+ * Align Self
1019
+ * @see https://tailwindcss.com/docs/align-self
1020
+ */
1021
+ "align-self": [{
1022
+ self: ["auto", "start", "end", "center", "stretch", "baseline"]
1023
+ }],
1024
+ /**
1025
+ * Place Content
1026
+ * @see https://tailwindcss.com/docs/place-content
1027
+ */
1028
+ "place-content": [{
1029
+ "place-content": [...getAlign(), "baseline"]
1030
+ }],
1031
+ /**
1032
+ * Place Items
1033
+ * @see https://tailwindcss.com/docs/place-items
1034
+ */
1035
+ "place-items": [{
1036
+ "place-items": ["start", "end", "center", "baseline", "stretch"]
1037
+ }],
1038
+ /**
1039
+ * Place Self
1040
+ * @see https://tailwindcss.com/docs/place-self
1041
+ */
1042
+ "place-self": [{
1043
+ "place-self": ["auto", "start", "end", "center", "stretch"]
1044
+ }],
1045
+ // Spacing
1046
+ /**
1047
+ * Padding
1048
+ * @see https://tailwindcss.com/docs/padding
1049
+ */
1050
+ p: [{
1051
+ p: [padding]
1052
+ }],
1053
+ /**
1054
+ * Padding X
1055
+ * @see https://tailwindcss.com/docs/padding
1056
+ */
1057
+ px: [{
1058
+ px: [padding]
1059
+ }],
1060
+ /**
1061
+ * Padding Y
1062
+ * @see https://tailwindcss.com/docs/padding
1063
+ */
1064
+ py: [{
1065
+ py: [padding]
1066
+ }],
1067
+ /**
1068
+ * Padding Start
1069
+ * @see https://tailwindcss.com/docs/padding
1070
+ */
1071
+ ps: [{
1072
+ ps: [padding]
1073
+ }],
1074
+ /**
1075
+ * Padding End
1076
+ * @see https://tailwindcss.com/docs/padding
1077
+ */
1078
+ pe: [{
1079
+ pe: [padding]
1080
+ }],
1081
+ /**
1082
+ * Padding Top
1083
+ * @see https://tailwindcss.com/docs/padding
1084
+ */
1085
+ pt: [{
1086
+ pt: [padding]
1087
+ }],
1088
+ /**
1089
+ * Padding Right
1090
+ * @see https://tailwindcss.com/docs/padding
1091
+ */
1092
+ pr: [{
1093
+ pr: [padding]
1094
+ }],
1095
+ /**
1096
+ * Padding Bottom
1097
+ * @see https://tailwindcss.com/docs/padding
1098
+ */
1099
+ pb: [{
1100
+ pb: [padding]
1101
+ }],
1102
+ /**
1103
+ * Padding Left
1104
+ * @see https://tailwindcss.com/docs/padding
1105
+ */
1106
+ pl: [{
1107
+ pl: [padding]
1108
+ }],
1109
+ /**
1110
+ * Margin
1111
+ * @see https://tailwindcss.com/docs/margin
1112
+ */
1113
+ m: [{
1114
+ m: [margin]
1115
+ }],
1116
+ /**
1117
+ * Margin X
1118
+ * @see https://tailwindcss.com/docs/margin
1119
+ */
1120
+ mx: [{
1121
+ mx: [margin]
1122
+ }],
1123
+ /**
1124
+ * Margin Y
1125
+ * @see https://tailwindcss.com/docs/margin
1126
+ */
1127
+ my: [{
1128
+ my: [margin]
1129
+ }],
1130
+ /**
1131
+ * Margin Start
1132
+ * @see https://tailwindcss.com/docs/margin
1133
+ */
1134
+ ms: [{
1135
+ ms: [margin]
1136
+ }],
1137
+ /**
1138
+ * Margin End
1139
+ * @see https://tailwindcss.com/docs/margin
1140
+ */
1141
+ me: [{
1142
+ me: [margin]
1143
+ }],
1144
+ /**
1145
+ * Margin Top
1146
+ * @see https://tailwindcss.com/docs/margin
1147
+ */
1148
+ mt: [{
1149
+ mt: [margin]
1150
+ }],
1151
+ /**
1152
+ * Margin Right
1153
+ * @see https://tailwindcss.com/docs/margin
1154
+ */
1155
+ mr: [{
1156
+ mr: [margin]
1157
+ }],
1158
+ /**
1159
+ * Margin Bottom
1160
+ * @see https://tailwindcss.com/docs/margin
1161
+ */
1162
+ mb: [{
1163
+ mb: [margin]
1164
+ }],
1165
+ /**
1166
+ * Margin Left
1167
+ * @see https://tailwindcss.com/docs/margin
1168
+ */
1169
+ ml: [{
1170
+ ml: [margin]
1171
+ }],
1172
+ /**
1173
+ * Space Between X
1174
+ * @see https://tailwindcss.com/docs/space
1175
+ */
1176
+ "space-x": [{
1177
+ "space-x": [space]
1178
+ }],
1179
+ /**
1180
+ * Space Between X Reverse
1181
+ * @see https://tailwindcss.com/docs/space
1182
+ */
1183
+ "space-x-reverse": ["space-x-reverse"],
1184
+ /**
1185
+ * Space Between Y
1186
+ * @see https://tailwindcss.com/docs/space
1187
+ */
1188
+ "space-y": [{
1189
+ "space-y": [space]
1190
+ }],
1191
+ /**
1192
+ * Space Between Y Reverse
1193
+ * @see https://tailwindcss.com/docs/space
1194
+ */
1195
+ "space-y-reverse": ["space-y-reverse"],
1196
+ // Sizing
1197
+ /**
1198
+ * Width
1199
+ * @see https://tailwindcss.com/docs/width
1200
+ */
1201
+ w: [{
1202
+ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", isArbitraryValue, spacing]
1203
+ }],
1204
+ /**
1205
+ * Min-Width
1206
+ * @see https://tailwindcss.com/docs/min-width
1207
+ */
1208
+ "min-w": [{
1209
+ "min-w": [isArbitraryValue, spacing, "min", "max", "fit"]
1210
+ }],
1211
+ /**
1212
+ * Max-Width
1213
+ * @see https://tailwindcss.com/docs/max-width
1214
+ */
1215
+ "max-w": [{
1216
+ "max-w": [isArbitraryValue, spacing, "none", "full", "min", "max", "fit", "prose", {
1217
+ screen: [isTshirtSize]
1218
+ }, isTshirtSize]
1219
+ }],
1220
+ /**
1221
+ * Height
1222
+ * @see https://tailwindcss.com/docs/height
1223
+ */
1224
+ h: [{
1225
+ h: [isArbitraryValue, spacing, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
1226
+ }],
1227
+ /**
1228
+ * Min-Height
1229
+ * @see https://tailwindcss.com/docs/min-height
1230
+ */
1231
+ "min-h": [{
1232
+ "min-h": [isArbitraryValue, spacing, "min", "max", "fit", "svh", "lvh", "dvh"]
1233
+ }],
1234
+ /**
1235
+ * Max-Height
1236
+ * @see https://tailwindcss.com/docs/max-height
1237
+ */
1238
+ "max-h": [{
1239
+ "max-h": [isArbitraryValue, spacing, "min", "max", "fit", "svh", "lvh", "dvh"]
1240
+ }],
1241
+ /**
1242
+ * Size
1243
+ * @see https://tailwindcss.com/docs/size
1244
+ */
1245
+ size: [{
1246
+ size: [isArbitraryValue, spacing, "auto", "min", "max", "fit"]
1247
+ }],
1248
+ // Typography
1249
+ /**
1250
+ * Font Size
1251
+ * @see https://tailwindcss.com/docs/font-size
1252
+ */
1253
+ "font-size": [{
1254
+ text: ["base", isTshirtSize, isArbitraryLength]
1255
+ }],
1256
+ /**
1257
+ * Font Smoothing
1258
+ * @see https://tailwindcss.com/docs/font-smoothing
1259
+ */
1260
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
1261
+ /**
1262
+ * Font Style
1263
+ * @see https://tailwindcss.com/docs/font-style
1264
+ */
1265
+ "font-style": ["italic", "not-italic"],
1266
+ /**
1267
+ * Font Weight
1268
+ * @see https://tailwindcss.com/docs/font-weight
1269
+ */
1270
+ "font-weight": [{
1271
+ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", isArbitraryNumber]
1272
+ }],
1273
+ /**
1274
+ * Font Family
1275
+ * @see https://tailwindcss.com/docs/font-family
1276
+ */
1277
+ "font-family": [{
1278
+ font: [isAny]
1279
+ }],
1280
+ /**
1281
+ * Font Variant Numeric
1282
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1283
+ */
1284
+ "fvn-normal": ["normal-nums"],
1285
+ /**
1286
+ * Font Variant Numeric
1287
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1288
+ */
1289
+ "fvn-ordinal": ["ordinal"],
1290
+ /**
1291
+ * Font Variant Numeric
1292
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1293
+ */
1294
+ "fvn-slashed-zero": ["slashed-zero"],
1295
+ /**
1296
+ * Font Variant Numeric
1297
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1298
+ */
1299
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
1300
+ /**
1301
+ * Font Variant Numeric
1302
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1303
+ */
1304
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
1305
+ /**
1306
+ * Font Variant Numeric
1307
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1308
+ */
1309
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractons"],
1310
+ /**
1311
+ * Letter Spacing
1312
+ * @see https://tailwindcss.com/docs/letter-spacing
1313
+ */
1314
+ tracking: [{
1315
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", isArbitraryValue]
1316
+ }],
1317
+ /**
1318
+ * Line Clamp
1319
+ * @see https://tailwindcss.com/docs/line-clamp
1320
+ */
1321
+ "line-clamp": [{
1322
+ "line-clamp": ["none", isNumber, isArbitraryNumber]
1323
+ }],
1324
+ /**
1325
+ * Line Height
1326
+ * @see https://tailwindcss.com/docs/line-height
1327
+ */
1328
+ leading: [{
1329
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", isLength, isArbitraryValue]
1330
+ }],
1331
+ /**
1332
+ * List Style Image
1333
+ * @see https://tailwindcss.com/docs/list-style-image
1334
+ */
1335
+ "list-image": [{
1336
+ "list-image": ["none", isArbitraryValue]
1337
+ }],
1338
+ /**
1339
+ * List Style Type
1340
+ * @see https://tailwindcss.com/docs/list-style-type
1341
+ */
1342
+ "list-style-type": [{
1343
+ list: ["none", "disc", "decimal", isArbitraryValue]
1344
+ }],
1345
+ /**
1346
+ * List Style Position
1347
+ * @see https://tailwindcss.com/docs/list-style-position
1348
+ */
1349
+ "list-style-position": [{
1350
+ list: ["inside", "outside"]
1351
+ }],
1352
+ /**
1353
+ * Placeholder Color
1354
+ * @deprecated since Tailwind CSS v3.0.0
1355
+ * @see https://tailwindcss.com/docs/placeholder-color
1356
+ */
1357
+ "placeholder-color": [{
1358
+ placeholder: [colors]
1359
+ }],
1360
+ /**
1361
+ * Placeholder Opacity
1362
+ * @see https://tailwindcss.com/docs/placeholder-opacity
1363
+ */
1364
+ "placeholder-opacity": [{
1365
+ "placeholder-opacity": [opacity]
1366
+ }],
1367
+ /**
1368
+ * Text Alignment
1369
+ * @see https://tailwindcss.com/docs/text-align
1370
+ */
1371
+ "text-alignment": [{
1372
+ text: ["left", "center", "right", "justify", "start", "end"]
1373
+ }],
1374
+ /**
1375
+ * Text Color
1376
+ * @see https://tailwindcss.com/docs/text-color
1377
+ */
1378
+ "text-color": [{
1379
+ text: [colors]
1380
+ }],
1381
+ /**
1382
+ * Text Opacity
1383
+ * @see https://tailwindcss.com/docs/text-opacity
1384
+ */
1385
+ "text-opacity": [{
1386
+ "text-opacity": [opacity]
1387
+ }],
1388
+ /**
1389
+ * Text Decoration
1390
+ * @see https://tailwindcss.com/docs/text-decoration
1391
+ */
1392
+ "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1393
+ /**
1394
+ * Text Decoration Style
1395
+ * @see https://tailwindcss.com/docs/text-decoration-style
1396
+ */
1397
+ "text-decoration-style": [{
1398
+ decoration: [...getLineStyles(), "wavy"]
1399
+ }],
1400
+ /**
1401
+ * Text Decoration Thickness
1402
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
1403
+ */
1404
+ "text-decoration-thickness": [{
1405
+ decoration: ["auto", "from-font", isLength, isArbitraryLength]
1406
+ }],
1407
+ /**
1408
+ * Text Underline Offset
1409
+ * @see https://tailwindcss.com/docs/text-underline-offset
1410
+ */
1411
+ "underline-offset": [{
1412
+ "underline-offset": ["auto", isLength, isArbitraryValue]
1413
+ }],
1414
+ /**
1415
+ * Text Decoration Color
1416
+ * @see https://tailwindcss.com/docs/text-decoration-color
1417
+ */
1418
+ "text-decoration-color": [{
1419
+ decoration: [colors]
1420
+ }],
1421
+ /**
1422
+ * Text Transform
1423
+ * @see https://tailwindcss.com/docs/text-transform
1424
+ */
1425
+ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1426
+ /**
1427
+ * Text Overflow
1428
+ * @see https://tailwindcss.com/docs/text-overflow
1429
+ */
1430
+ "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1431
+ /**
1432
+ * Text Wrap
1433
+ * @see https://tailwindcss.com/docs/text-wrap
1434
+ */
1435
+ "text-wrap": [{
1436
+ text: ["wrap", "nowrap", "balance", "pretty"]
1437
+ }],
1438
+ /**
1439
+ * Text Indent
1440
+ * @see https://tailwindcss.com/docs/text-indent
1441
+ */
1442
+ indent: [{
1443
+ indent: getSpacingWithArbitrary()
1444
+ }],
1445
+ /**
1446
+ * Vertical Alignment
1447
+ * @see https://tailwindcss.com/docs/vertical-align
1448
+ */
1449
+ "vertical-align": [{
1450
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryValue]
1451
+ }],
1452
+ /**
1453
+ * Whitespace
1454
+ * @see https://tailwindcss.com/docs/whitespace
1455
+ */
1456
+ whitespace: [{
1457
+ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1458
+ }],
1459
+ /**
1460
+ * Word Break
1461
+ * @see https://tailwindcss.com/docs/word-break
1462
+ */
1463
+ break: [{
1464
+ break: ["normal", "words", "all", "keep"]
1465
+ }],
1466
+ /**
1467
+ * Hyphens
1468
+ * @see https://tailwindcss.com/docs/hyphens
1469
+ */
1470
+ hyphens: [{
1471
+ hyphens: ["none", "manual", "auto"]
1472
+ }],
1473
+ /**
1474
+ * Content
1475
+ * @see https://tailwindcss.com/docs/content
1476
+ */
1477
+ content: [{
1478
+ content: ["none", isArbitraryValue]
1479
+ }],
1480
+ // Backgrounds
1481
+ /**
1482
+ * Background Attachment
1483
+ * @see https://tailwindcss.com/docs/background-attachment
1484
+ */
1485
+ "bg-attachment": [{
1486
+ bg: ["fixed", "local", "scroll"]
1487
+ }],
1488
+ /**
1489
+ * Background Clip
1490
+ * @see https://tailwindcss.com/docs/background-clip
1491
+ */
1492
+ "bg-clip": [{
1493
+ "bg-clip": ["border", "padding", "content", "text"]
1494
+ }],
1495
+ /**
1496
+ * Background Opacity
1497
+ * @deprecated since Tailwind CSS v3.0.0
1498
+ * @see https://tailwindcss.com/docs/background-opacity
1499
+ */
1500
+ "bg-opacity": [{
1501
+ "bg-opacity": [opacity]
1502
+ }],
1503
+ /**
1504
+ * Background Origin
1505
+ * @see https://tailwindcss.com/docs/background-origin
1506
+ */
1507
+ "bg-origin": [{
1508
+ "bg-origin": ["border", "padding", "content"]
1509
+ }],
1510
+ /**
1511
+ * Background Position
1512
+ * @see https://tailwindcss.com/docs/background-position
1513
+ */
1514
+ "bg-position": [{
1515
+ bg: [...getPositions(), isArbitraryPosition]
1516
+ }],
1517
+ /**
1518
+ * Background Repeat
1519
+ * @see https://tailwindcss.com/docs/background-repeat
1520
+ */
1521
+ "bg-repeat": [{
1522
+ bg: ["no-repeat", {
1523
+ repeat: ["", "x", "y", "round", "space"]
1524
+ }]
1525
+ }],
1526
+ /**
1527
+ * Background Size
1528
+ * @see https://tailwindcss.com/docs/background-size
1529
+ */
1530
+ "bg-size": [{
1531
+ bg: ["auto", "cover", "contain", isArbitrarySize]
1532
+ }],
1533
+ /**
1534
+ * Background Image
1535
+ * @see https://tailwindcss.com/docs/background-image
1536
+ */
1537
+ "bg-image": [{
1538
+ bg: ["none", {
1539
+ "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1540
+ }, isArbitraryImage]
1541
+ }],
1542
+ /**
1543
+ * Background Color
1544
+ * @see https://tailwindcss.com/docs/background-color
1545
+ */
1546
+ "bg-color": [{
1547
+ bg: [colors]
1548
+ }],
1549
+ /**
1550
+ * Gradient Color Stops From Position
1551
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1552
+ */
1553
+ "gradient-from-pos": [{
1554
+ from: [gradientColorStopPositions]
1555
+ }],
1556
+ /**
1557
+ * Gradient Color Stops Via Position
1558
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1559
+ */
1560
+ "gradient-via-pos": [{
1561
+ via: [gradientColorStopPositions]
1562
+ }],
1563
+ /**
1564
+ * Gradient Color Stops To Position
1565
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1566
+ */
1567
+ "gradient-to-pos": [{
1568
+ to: [gradientColorStopPositions]
1569
+ }],
1570
+ /**
1571
+ * Gradient Color Stops From
1572
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1573
+ */
1574
+ "gradient-from": [{
1575
+ from: [gradientColorStops]
1576
+ }],
1577
+ /**
1578
+ * Gradient Color Stops Via
1579
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1580
+ */
1581
+ "gradient-via": [{
1582
+ via: [gradientColorStops]
1583
+ }],
1584
+ /**
1585
+ * Gradient Color Stops To
1586
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1587
+ */
1588
+ "gradient-to": [{
1589
+ to: [gradientColorStops]
1590
+ }],
1591
+ // Borders
1592
+ /**
1593
+ * Border Radius
1594
+ * @see https://tailwindcss.com/docs/border-radius
1595
+ */
1596
+ rounded: [{
1597
+ rounded: [borderRadius]
1598
+ }],
1599
+ /**
1600
+ * Border Radius Start
1601
+ * @see https://tailwindcss.com/docs/border-radius
1602
+ */
1603
+ "rounded-s": [{
1604
+ "rounded-s": [borderRadius]
1605
+ }],
1606
+ /**
1607
+ * Border Radius End
1608
+ * @see https://tailwindcss.com/docs/border-radius
1609
+ */
1610
+ "rounded-e": [{
1611
+ "rounded-e": [borderRadius]
1612
+ }],
1613
+ /**
1614
+ * Border Radius Top
1615
+ * @see https://tailwindcss.com/docs/border-radius
1616
+ */
1617
+ "rounded-t": [{
1618
+ "rounded-t": [borderRadius]
1619
+ }],
1620
+ /**
1621
+ * Border Radius Right
1622
+ * @see https://tailwindcss.com/docs/border-radius
1623
+ */
1624
+ "rounded-r": [{
1625
+ "rounded-r": [borderRadius]
1626
+ }],
1627
+ /**
1628
+ * Border Radius Bottom
1629
+ * @see https://tailwindcss.com/docs/border-radius
1630
+ */
1631
+ "rounded-b": [{
1632
+ "rounded-b": [borderRadius]
1633
+ }],
1634
+ /**
1635
+ * Border Radius Left
1636
+ * @see https://tailwindcss.com/docs/border-radius
1637
+ */
1638
+ "rounded-l": [{
1639
+ "rounded-l": [borderRadius]
1640
+ }],
1641
+ /**
1642
+ * Border Radius Start Start
1643
+ * @see https://tailwindcss.com/docs/border-radius
1644
+ */
1645
+ "rounded-ss": [{
1646
+ "rounded-ss": [borderRadius]
1647
+ }],
1648
+ /**
1649
+ * Border Radius Start End
1650
+ * @see https://tailwindcss.com/docs/border-radius
1651
+ */
1652
+ "rounded-se": [{
1653
+ "rounded-se": [borderRadius]
1654
+ }],
1655
+ /**
1656
+ * Border Radius End End
1657
+ * @see https://tailwindcss.com/docs/border-radius
1658
+ */
1659
+ "rounded-ee": [{
1660
+ "rounded-ee": [borderRadius]
1661
+ }],
1662
+ /**
1663
+ * Border Radius End Start
1664
+ * @see https://tailwindcss.com/docs/border-radius
1665
+ */
1666
+ "rounded-es": [{
1667
+ "rounded-es": [borderRadius]
1668
+ }],
1669
+ /**
1670
+ * Border Radius Top Left
1671
+ * @see https://tailwindcss.com/docs/border-radius
1672
+ */
1673
+ "rounded-tl": [{
1674
+ "rounded-tl": [borderRadius]
1675
+ }],
1676
+ /**
1677
+ * Border Radius Top Right
1678
+ * @see https://tailwindcss.com/docs/border-radius
1679
+ */
1680
+ "rounded-tr": [{
1681
+ "rounded-tr": [borderRadius]
1682
+ }],
1683
+ /**
1684
+ * Border Radius Bottom Right
1685
+ * @see https://tailwindcss.com/docs/border-radius
1686
+ */
1687
+ "rounded-br": [{
1688
+ "rounded-br": [borderRadius]
1689
+ }],
1690
+ /**
1691
+ * Border Radius Bottom Left
1692
+ * @see https://tailwindcss.com/docs/border-radius
1693
+ */
1694
+ "rounded-bl": [{
1695
+ "rounded-bl": [borderRadius]
1696
+ }],
1697
+ /**
1698
+ * Border Width
1699
+ * @see https://tailwindcss.com/docs/border-width
1700
+ */
1701
+ "border-w": [{
1702
+ border: [borderWidth]
1703
+ }],
1704
+ /**
1705
+ * Border Width X
1706
+ * @see https://tailwindcss.com/docs/border-width
1707
+ */
1708
+ "border-w-x": [{
1709
+ "border-x": [borderWidth]
1710
+ }],
1711
+ /**
1712
+ * Border Width Y
1713
+ * @see https://tailwindcss.com/docs/border-width
1714
+ */
1715
+ "border-w-y": [{
1716
+ "border-y": [borderWidth]
1717
+ }],
1718
+ /**
1719
+ * Border Width Start
1720
+ * @see https://tailwindcss.com/docs/border-width
1721
+ */
1722
+ "border-w-s": [{
1723
+ "border-s": [borderWidth]
1724
+ }],
1725
+ /**
1726
+ * Border Width End
1727
+ * @see https://tailwindcss.com/docs/border-width
1728
+ */
1729
+ "border-w-e": [{
1730
+ "border-e": [borderWidth]
1731
+ }],
1732
+ /**
1733
+ * Border Width Top
1734
+ * @see https://tailwindcss.com/docs/border-width
1735
+ */
1736
+ "border-w-t": [{
1737
+ "border-t": [borderWidth]
1738
+ }],
1739
+ /**
1740
+ * Border Width Right
1741
+ * @see https://tailwindcss.com/docs/border-width
1742
+ */
1743
+ "border-w-r": [{
1744
+ "border-r": [borderWidth]
1745
+ }],
1746
+ /**
1747
+ * Border Width Bottom
1748
+ * @see https://tailwindcss.com/docs/border-width
1749
+ */
1750
+ "border-w-b": [{
1751
+ "border-b": [borderWidth]
1752
+ }],
1753
+ /**
1754
+ * Border Width Left
1755
+ * @see https://tailwindcss.com/docs/border-width
1756
+ */
1757
+ "border-w-l": [{
1758
+ "border-l": [borderWidth]
1759
+ }],
1760
+ /**
1761
+ * Border Opacity
1762
+ * @see https://tailwindcss.com/docs/border-opacity
1763
+ */
1764
+ "border-opacity": [{
1765
+ "border-opacity": [opacity]
1766
+ }],
1767
+ /**
1768
+ * Border Style
1769
+ * @see https://tailwindcss.com/docs/border-style
1770
+ */
1771
+ "border-style": [{
1772
+ border: [...getLineStyles(), "hidden"]
1773
+ }],
1774
+ /**
1775
+ * Divide Width X
1776
+ * @see https://tailwindcss.com/docs/divide-width
1777
+ */
1778
+ "divide-x": [{
1779
+ "divide-x": [borderWidth]
1780
+ }],
1781
+ /**
1782
+ * Divide Width X Reverse
1783
+ * @see https://tailwindcss.com/docs/divide-width
1784
+ */
1785
+ "divide-x-reverse": ["divide-x-reverse"],
1786
+ /**
1787
+ * Divide Width Y
1788
+ * @see https://tailwindcss.com/docs/divide-width
1789
+ */
1790
+ "divide-y": [{
1791
+ "divide-y": [borderWidth]
1792
+ }],
1793
+ /**
1794
+ * Divide Width Y Reverse
1795
+ * @see https://tailwindcss.com/docs/divide-width
1796
+ */
1797
+ "divide-y-reverse": ["divide-y-reverse"],
1798
+ /**
1799
+ * Divide Opacity
1800
+ * @see https://tailwindcss.com/docs/divide-opacity
1801
+ */
1802
+ "divide-opacity": [{
1803
+ "divide-opacity": [opacity]
1804
+ }],
1805
+ /**
1806
+ * Divide Style
1807
+ * @see https://tailwindcss.com/docs/divide-style
1808
+ */
1809
+ "divide-style": [{
1810
+ divide: getLineStyles()
1811
+ }],
1812
+ /**
1813
+ * Border Color
1814
+ * @see https://tailwindcss.com/docs/border-color
1815
+ */
1816
+ "border-color": [{
1817
+ border: [borderColor]
1818
+ }],
1819
+ /**
1820
+ * Border Color X
1821
+ * @see https://tailwindcss.com/docs/border-color
1822
+ */
1823
+ "border-color-x": [{
1824
+ "border-x": [borderColor]
1825
+ }],
1826
+ /**
1827
+ * Border Color Y
1828
+ * @see https://tailwindcss.com/docs/border-color
1829
+ */
1830
+ "border-color-y": [{
1831
+ "border-y": [borderColor]
1832
+ }],
1833
+ /**
1834
+ * Border Color Top
1835
+ * @see https://tailwindcss.com/docs/border-color
1836
+ */
1837
+ "border-color-t": [{
1838
+ "border-t": [borderColor]
1839
+ }],
1840
+ /**
1841
+ * Border Color Right
1842
+ * @see https://tailwindcss.com/docs/border-color
1843
+ */
1844
+ "border-color-r": [{
1845
+ "border-r": [borderColor]
1846
+ }],
1847
+ /**
1848
+ * Border Color Bottom
1849
+ * @see https://tailwindcss.com/docs/border-color
1850
+ */
1851
+ "border-color-b": [{
1852
+ "border-b": [borderColor]
1853
+ }],
1854
+ /**
1855
+ * Border Color Left
1856
+ * @see https://tailwindcss.com/docs/border-color
1857
+ */
1858
+ "border-color-l": [{
1859
+ "border-l": [borderColor]
1860
+ }],
1861
+ /**
1862
+ * Divide Color
1863
+ * @see https://tailwindcss.com/docs/divide-color
1864
+ */
1865
+ "divide-color": [{
1866
+ divide: [borderColor]
1867
+ }],
1868
+ /**
1869
+ * Outline Style
1870
+ * @see https://tailwindcss.com/docs/outline-style
1871
+ */
1872
+ "outline-style": [{
1873
+ outline: ["", ...getLineStyles()]
1874
+ }],
1875
+ /**
1876
+ * Outline Offset
1877
+ * @see https://tailwindcss.com/docs/outline-offset
1878
+ */
1879
+ "outline-offset": [{
1880
+ "outline-offset": [isLength, isArbitraryValue]
1881
+ }],
1882
+ /**
1883
+ * Outline Width
1884
+ * @see https://tailwindcss.com/docs/outline-width
1885
+ */
1886
+ "outline-w": [{
1887
+ outline: [isLength, isArbitraryLength]
1888
+ }],
1889
+ /**
1890
+ * Outline Color
1891
+ * @see https://tailwindcss.com/docs/outline-color
1892
+ */
1893
+ "outline-color": [{
1894
+ outline: [colors]
1895
+ }],
1896
+ /**
1897
+ * Ring Width
1898
+ * @see https://tailwindcss.com/docs/ring-width
1899
+ */
1900
+ "ring-w": [{
1901
+ ring: getLengthWithEmptyAndArbitrary()
1902
+ }],
1903
+ /**
1904
+ * Ring Width Inset
1905
+ * @see https://tailwindcss.com/docs/ring-width
1906
+ */
1907
+ "ring-w-inset": ["ring-inset"],
1908
+ /**
1909
+ * Ring Color
1910
+ * @see https://tailwindcss.com/docs/ring-color
1911
+ */
1912
+ "ring-color": [{
1913
+ ring: [colors]
1914
+ }],
1915
+ /**
1916
+ * Ring Opacity
1917
+ * @see https://tailwindcss.com/docs/ring-opacity
1918
+ */
1919
+ "ring-opacity": [{
1920
+ "ring-opacity": [opacity]
1921
+ }],
1922
+ /**
1923
+ * Ring Offset Width
1924
+ * @see https://tailwindcss.com/docs/ring-offset-width
1925
+ */
1926
+ "ring-offset-w": [{
1927
+ "ring-offset": [isLength, isArbitraryLength]
1928
+ }],
1929
+ /**
1930
+ * Ring Offset Color
1931
+ * @see https://tailwindcss.com/docs/ring-offset-color
1932
+ */
1933
+ "ring-offset-color": [{
1934
+ "ring-offset": [colors]
1935
+ }],
1936
+ // Effects
1937
+ /**
1938
+ * Box Shadow
1939
+ * @see https://tailwindcss.com/docs/box-shadow
1940
+ */
1941
+ shadow: [{
1942
+ shadow: ["", "inner", "none", isTshirtSize, isArbitraryShadow]
1943
+ }],
1944
+ /**
1945
+ * Box Shadow Color
1946
+ * @see https://tailwindcss.com/docs/box-shadow-color
1947
+ */
1948
+ "shadow-color": [{
1949
+ shadow: [isAny]
1950
+ }],
1951
+ /**
1952
+ * Opacity
1953
+ * @see https://tailwindcss.com/docs/opacity
1954
+ */
1955
+ opacity: [{
1956
+ opacity: [opacity]
1957
+ }],
1958
+ /**
1959
+ * Mix Blend Mode
1960
+ * @see https://tailwindcss.com/docs/mix-blend-mode
1961
+ */
1962
+ "mix-blend": [{
1963
+ "mix-blend": getBlendModes()
1964
+ }],
1965
+ /**
1966
+ * Background Blend Mode
1967
+ * @see https://tailwindcss.com/docs/background-blend-mode
1968
+ */
1969
+ "bg-blend": [{
1970
+ "bg-blend": getBlendModes()
1971
+ }],
1972
+ // Filters
1973
+ /**
1974
+ * Filter
1975
+ * @deprecated since Tailwind CSS v3.0.0
1976
+ * @see https://tailwindcss.com/docs/filter
1977
+ */
1978
+ filter: [{
1979
+ filter: ["", "none"]
1980
+ }],
1981
+ /**
1982
+ * Blur
1983
+ * @see https://tailwindcss.com/docs/blur
1984
+ */
1985
+ blur: [{
1986
+ blur: [blur]
1987
+ }],
1988
+ /**
1989
+ * Brightness
1990
+ * @see https://tailwindcss.com/docs/brightness
1991
+ */
1992
+ brightness: [{
1993
+ brightness: [brightness]
1994
+ }],
1995
+ /**
1996
+ * Contrast
1997
+ * @see https://tailwindcss.com/docs/contrast
1998
+ */
1999
+ contrast: [{
2000
+ contrast: [contrast]
2001
+ }],
2002
+ /**
2003
+ * Drop Shadow
2004
+ * @see https://tailwindcss.com/docs/drop-shadow
2005
+ */
2006
+ "drop-shadow": [{
2007
+ "drop-shadow": ["", "none", isTshirtSize, isArbitraryValue]
2008
+ }],
2009
+ /**
2010
+ * Grayscale
2011
+ * @see https://tailwindcss.com/docs/grayscale
2012
+ */
2013
+ grayscale: [{
2014
+ grayscale: [grayscale]
2015
+ }],
2016
+ /**
2017
+ * Hue Rotate
2018
+ * @see https://tailwindcss.com/docs/hue-rotate
2019
+ */
2020
+ "hue-rotate": [{
2021
+ "hue-rotate": [hueRotate]
2022
+ }],
2023
+ /**
2024
+ * Invert
2025
+ * @see https://tailwindcss.com/docs/invert
2026
+ */
2027
+ invert: [{
2028
+ invert: [invert]
2029
+ }],
2030
+ /**
2031
+ * Saturate
2032
+ * @see https://tailwindcss.com/docs/saturate
2033
+ */
2034
+ saturate: [{
2035
+ saturate: [saturate]
2036
+ }],
2037
+ /**
2038
+ * Sepia
2039
+ * @see https://tailwindcss.com/docs/sepia
2040
+ */
2041
+ sepia: [{
2042
+ sepia: [sepia]
2043
+ }],
2044
+ /**
2045
+ * Backdrop Filter
2046
+ * @deprecated since Tailwind CSS v3.0.0
2047
+ * @see https://tailwindcss.com/docs/backdrop-filter
2048
+ */
2049
+ "backdrop-filter": [{
2050
+ "backdrop-filter": ["", "none"]
2051
+ }],
2052
+ /**
2053
+ * Backdrop Blur
2054
+ * @see https://tailwindcss.com/docs/backdrop-blur
2055
+ */
2056
+ "backdrop-blur": [{
2057
+ "backdrop-blur": [blur]
2058
+ }],
2059
+ /**
2060
+ * Backdrop Brightness
2061
+ * @see https://tailwindcss.com/docs/backdrop-brightness
2062
+ */
2063
+ "backdrop-brightness": [{
2064
+ "backdrop-brightness": [brightness]
2065
+ }],
2066
+ /**
2067
+ * Backdrop Contrast
2068
+ * @see https://tailwindcss.com/docs/backdrop-contrast
2069
+ */
2070
+ "backdrop-contrast": [{
2071
+ "backdrop-contrast": [contrast]
2072
+ }],
2073
+ /**
2074
+ * Backdrop Grayscale
2075
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
2076
+ */
2077
+ "backdrop-grayscale": [{
2078
+ "backdrop-grayscale": [grayscale]
2079
+ }],
2080
+ /**
2081
+ * Backdrop Hue Rotate
2082
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2083
+ */
2084
+ "backdrop-hue-rotate": [{
2085
+ "backdrop-hue-rotate": [hueRotate]
2086
+ }],
2087
+ /**
2088
+ * Backdrop Invert
2089
+ * @see https://tailwindcss.com/docs/backdrop-invert
2090
+ */
2091
+ "backdrop-invert": [{
2092
+ "backdrop-invert": [invert]
2093
+ }],
2094
+ /**
2095
+ * Backdrop Opacity
2096
+ * @see https://tailwindcss.com/docs/backdrop-opacity
2097
+ */
2098
+ "backdrop-opacity": [{
2099
+ "backdrop-opacity": [opacity]
2100
+ }],
2101
+ /**
2102
+ * Backdrop Saturate
2103
+ * @see https://tailwindcss.com/docs/backdrop-saturate
2104
+ */
2105
+ "backdrop-saturate": [{
2106
+ "backdrop-saturate": [saturate]
2107
+ }],
2108
+ /**
2109
+ * Backdrop Sepia
2110
+ * @see https://tailwindcss.com/docs/backdrop-sepia
2111
+ */
2112
+ "backdrop-sepia": [{
2113
+ "backdrop-sepia": [sepia]
2114
+ }],
2115
+ // Tables
2116
+ /**
2117
+ * Border Collapse
2118
+ * @see https://tailwindcss.com/docs/border-collapse
2119
+ */
2120
+ "border-collapse": [{
2121
+ border: ["collapse", "separate"]
2122
+ }],
2123
+ /**
2124
+ * Border Spacing
2125
+ * @see https://tailwindcss.com/docs/border-spacing
2126
+ */
2127
+ "border-spacing": [{
2128
+ "border-spacing": [borderSpacing]
2129
+ }],
2130
+ /**
2131
+ * Border Spacing X
2132
+ * @see https://tailwindcss.com/docs/border-spacing
2133
+ */
2134
+ "border-spacing-x": [{
2135
+ "border-spacing-x": [borderSpacing]
2136
+ }],
2137
+ /**
2138
+ * Border Spacing Y
2139
+ * @see https://tailwindcss.com/docs/border-spacing
2140
+ */
2141
+ "border-spacing-y": [{
2142
+ "border-spacing-y": [borderSpacing]
2143
+ }],
2144
+ /**
2145
+ * Table Layout
2146
+ * @see https://tailwindcss.com/docs/table-layout
2147
+ */
2148
+ "table-layout": [{
2149
+ table: ["auto", "fixed"]
2150
+ }],
2151
+ /**
2152
+ * Caption Side
2153
+ * @see https://tailwindcss.com/docs/caption-side
2154
+ */
2155
+ caption: [{
2156
+ caption: ["top", "bottom"]
2157
+ }],
2158
+ // Transitions and Animation
2159
+ /**
2160
+ * Tranisition Property
2161
+ * @see https://tailwindcss.com/docs/transition-property
2162
+ */
2163
+ transition: [{
2164
+ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", isArbitraryValue]
2165
+ }],
2166
+ /**
2167
+ * Transition Duration
2168
+ * @see https://tailwindcss.com/docs/transition-duration
2169
+ */
2170
+ duration: [{
2171
+ duration: getNumberAndArbitrary()
2172
+ }],
2173
+ /**
2174
+ * Transition Timing Function
2175
+ * @see https://tailwindcss.com/docs/transition-timing-function
2176
+ */
2177
+ ease: [{
2178
+ ease: ["linear", "in", "out", "in-out", isArbitraryValue]
2179
+ }],
2180
+ /**
2181
+ * Transition Delay
2182
+ * @see https://tailwindcss.com/docs/transition-delay
2183
+ */
2184
+ delay: [{
2185
+ delay: getNumberAndArbitrary()
2186
+ }],
2187
+ /**
2188
+ * Animation
2189
+ * @see https://tailwindcss.com/docs/animation
2190
+ */
2191
+ animate: [{
2192
+ animate: ["none", "spin", "ping", "pulse", "bounce", isArbitraryValue]
2193
+ }],
2194
+ // Transforms
2195
+ /**
2196
+ * Transform
2197
+ * @see https://tailwindcss.com/docs/transform
2198
+ */
2199
+ transform: [{
2200
+ transform: ["", "gpu", "none"]
2201
+ }],
2202
+ /**
2203
+ * Scale
2204
+ * @see https://tailwindcss.com/docs/scale
2205
+ */
2206
+ scale: [{
2207
+ scale: [scale]
2208
+ }],
2209
+ /**
2210
+ * Scale X
2211
+ * @see https://tailwindcss.com/docs/scale
2212
+ */
2213
+ "scale-x": [{
2214
+ "scale-x": [scale]
2215
+ }],
2216
+ /**
2217
+ * Scale Y
2218
+ * @see https://tailwindcss.com/docs/scale
2219
+ */
2220
+ "scale-y": [{
2221
+ "scale-y": [scale]
2222
+ }],
2223
+ /**
2224
+ * Rotate
2225
+ * @see https://tailwindcss.com/docs/rotate
2226
+ */
2227
+ rotate: [{
2228
+ rotate: [isInteger, isArbitraryValue]
2229
+ }],
2230
+ /**
2231
+ * Translate X
2232
+ * @see https://tailwindcss.com/docs/translate
2233
+ */
2234
+ "translate-x": [{
2235
+ "translate-x": [translate]
2236
+ }],
2237
+ /**
2238
+ * Translate Y
2239
+ * @see https://tailwindcss.com/docs/translate
2240
+ */
2241
+ "translate-y": [{
2242
+ "translate-y": [translate]
2243
+ }],
2244
+ /**
2245
+ * Skew X
2246
+ * @see https://tailwindcss.com/docs/skew
2247
+ */
2248
+ "skew-x": [{
2249
+ "skew-x": [skew]
2250
+ }],
2251
+ /**
2252
+ * Skew Y
2253
+ * @see https://tailwindcss.com/docs/skew
2254
+ */
2255
+ "skew-y": [{
2256
+ "skew-y": [skew]
2257
+ }],
2258
+ /**
2259
+ * Transform Origin
2260
+ * @see https://tailwindcss.com/docs/transform-origin
2261
+ */
2262
+ "transform-origin": [{
2263
+ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", isArbitraryValue]
2264
+ }],
2265
+ // Interactivity
2266
+ /**
2267
+ * Accent Color
2268
+ * @see https://tailwindcss.com/docs/accent-color
2269
+ */
2270
+ accent: [{
2271
+ accent: ["auto", colors]
2272
+ }],
2273
+ /**
2274
+ * Appearance
2275
+ * @see https://tailwindcss.com/docs/appearance
2276
+ */
2277
+ appearance: [{
2278
+ appearance: ["none", "auto"]
2279
+ }],
2280
+ /**
2281
+ * Cursor
2282
+ * @see https://tailwindcss.com/docs/cursor
2283
+ */
2284
+ cursor: [{
2285
+ 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]
2286
+ }],
2287
+ /**
2288
+ * Caret Color
2289
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2290
+ */
2291
+ "caret-color": [{
2292
+ caret: [colors]
2293
+ }],
2294
+ /**
2295
+ * Pointer Events
2296
+ * @see https://tailwindcss.com/docs/pointer-events
2297
+ */
2298
+ "pointer-events": [{
2299
+ "pointer-events": ["none", "auto"]
2300
+ }],
2301
+ /**
2302
+ * Resize
2303
+ * @see https://tailwindcss.com/docs/resize
2304
+ */
2305
+ resize: [{
2306
+ resize: ["none", "y", "x", ""]
2307
+ }],
2308
+ /**
2309
+ * Scroll Behavior
2310
+ * @see https://tailwindcss.com/docs/scroll-behavior
2311
+ */
2312
+ "scroll-behavior": [{
2313
+ scroll: ["auto", "smooth"]
2314
+ }],
2315
+ /**
2316
+ * Scroll Margin
2317
+ * @see https://tailwindcss.com/docs/scroll-margin
2318
+ */
2319
+ "scroll-m": [{
2320
+ "scroll-m": getSpacingWithArbitrary()
2321
+ }],
2322
+ /**
2323
+ * Scroll Margin X
2324
+ * @see https://tailwindcss.com/docs/scroll-margin
2325
+ */
2326
+ "scroll-mx": [{
2327
+ "scroll-mx": getSpacingWithArbitrary()
2328
+ }],
2329
+ /**
2330
+ * Scroll Margin Y
2331
+ * @see https://tailwindcss.com/docs/scroll-margin
2332
+ */
2333
+ "scroll-my": [{
2334
+ "scroll-my": getSpacingWithArbitrary()
2335
+ }],
2336
+ /**
2337
+ * Scroll Margin Start
2338
+ * @see https://tailwindcss.com/docs/scroll-margin
2339
+ */
2340
+ "scroll-ms": [{
2341
+ "scroll-ms": getSpacingWithArbitrary()
2342
+ }],
2343
+ /**
2344
+ * Scroll Margin End
2345
+ * @see https://tailwindcss.com/docs/scroll-margin
2346
+ */
2347
+ "scroll-me": [{
2348
+ "scroll-me": getSpacingWithArbitrary()
2349
+ }],
2350
+ /**
2351
+ * Scroll Margin Top
2352
+ * @see https://tailwindcss.com/docs/scroll-margin
2353
+ */
2354
+ "scroll-mt": [{
2355
+ "scroll-mt": getSpacingWithArbitrary()
2356
+ }],
2357
+ /**
2358
+ * Scroll Margin Right
2359
+ * @see https://tailwindcss.com/docs/scroll-margin
2360
+ */
2361
+ "scroll-mr": [{
2362
+ "scroll-mr": getSpacingWithArbitrary()
2363
+ }],
2364
+ /**
2365
+ * Scroll Margin Bottom
2366
+ * @see https://tailwindcss.com/docs/scroll-margin
2367
+ */
2368
+ "scroll-mb": [{
2369
+ "scroll-mb": getSpacingWithArbitrary()
2370
+ }],
2371
+ /**
2372
+ * Scroll Margin Left
2373
+ * @see https://tailwindcss.com/docs/scroll-margin
2374
+ */
2375
+ "scroll-ml": [{
2376
+ "scroll-ml": getSpacingWithArbitrary()
2377
+ }],
2378
+ /**
2379
+ * Scroll Padding
2380
+ * @see https://tailwindcss.com/docs/scroll-padding
2381
+ */
2382
+ "scroll-p": [{
2383
+ "scroll-p": getSpacingWithArbitrary()
2384
+ }],
2385
+ /**
2386
+ * Scroll Padding X
2387
+ * @see https://tailwindcss.com/docs/scroll-padding
2388
+ */
2389
+ "scroll-px": [{
2390
+ "scroll-px": getSpacingWithArbitrary()
2391
+ }],
2392
+ /**
2393
+ * Scroll Padding Y
2394
+ * @see https://tailwindcss.com/docs/scroll-padding
2395
+ */
2396
+ "scroll-py": [{
2397
+ "scroll-py": getSpacingWithArbitrary()
2398
+ }],
2399
+ /**
2400
+ * Scroll Padding Start
2401
+ * @see https://tailwindcss.com/docs/scroll-padding
2402
+ */
2403
+ "scroll-ps": [{
2404
+ "scroll-ps": getSpacingWithArbitrary()
2405
+ }],
2406
+ /**
2407
+ * Scroll Padding End
2408
+ * @see https://tailwindcss.com/docs/scroll-padding
2409
+ */
2410
+ "scroll-pe": [{
2411
+ "scroll-pe": getSpacingWithArbitrary()
2412
+ }],
2413
+ /**
2414
+ * Scroll Padding Top
2415
+ * @see https://tailwindcss.com/docs/scroll-padding
2416
+ */
2417
+ "scroll-pt": [{
2418
+ "scroll-pt": getSpacingWithArbitrary()
2419
+ }],
2420
+ /**
2421
+ * Scroll Padding Right
2422
+ * @see https://tailwindcss.com/docs/scroll-padding
2423
+ */
2424
+ "scroll-pr": [{
2425
+ "scroll-pr": getSpacingWithArbitrary()
2426
+ }],
2427
+ /**
2428
+ * Scroll Padding Bottom
2429
+ * @see https://tailwindcss.com/docs/scroll-padding
2430
+ */
2431
+ "scroll-pb": [{
2432
+ "scroll-pb": getSpacingWithArbitrary()
2433
+ }],
2434
+ /**
2435
+ * Scroll Padding Left
2436
+ * @see https://tailwindcss.com/docs/scroll-padding
2437
+ */
2438
+ "scroll-pl": [{
2439
+ "scroll-pl": getSpacingWithArbitrary()
2440
+ }],
2441
+ /**
2442
+ * Scroll Snap Align
2443
+ * @see https://tailwindcss.com/docs/scroll-snap-align
2444
+ */
2445
+ "snap-align": [{
2446
+ snap: ["start", "end", "center", "align-none"]
2447
+ }],
2448
+ /**
2449
+ * Scroll Snap Stop
2450
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
2451
+ */
2452
+ "snap-stop": [{
2453
+ snap: ["normal", "always"]
2454
+ }],
2455
+ /**
2456
+ * Scroll Snap Type
2457
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2458
+ */
2459
+ "snap-type": [{
2460
+ snap: ["none", "x", "y", "both"]
2461
+ }],
2462
+ /**
2463
+ * Scroll Snap Type Strictness
2464
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2465
+ */
2466
+ "snap-strictness": [{
2467
+ snap: ["mandatory", "proximity"]
2468
+ }],
2469
+ /**
2470
+ * Touch Action
2471
+ * @see https://tailwindcss.com/docs/touch-action
2472
+ */
2473
+ touch: [{
2474
+ touch: ["auto", "none", "manipulation"]
2475
+ }],
2476
+ /**
2477
+ * Touch Action X
2478
+ * @see https://tailwindcss.com/docs/touch-action
2479
+ */
2480
+ "touch-x": [{
2481
+ "touch-pan": ["x", "left", "right"]
2482
+ }],
2483
+ /**
2484
+ * Touch Action Y
2485
+ * @see https://tailwindcss.com/docs/touch-action
2486
+ */
2487
+ "touch-y": [{
2488
+ "touch-pan": ["y", "up", "down"]
2489
+ }],
2490
+ /**
2491
+ * Touch Action Pinch Zoom
2492
+ * @see https://tailwindcss.com/docs/touch-action
2493
+ */
2494
+ "touch-pz": ["touch-pinch-zoom"],
2495
+ /**
2496
+ * User Select
2497
+ * @see https://tailwindcss.com/docs/user-select
2498
+ */
2499
+ select: [{
2500
+ select: ["none", "text", "all", "auto"]
2501
+ }],
2502
+ /**
2503
+ * Will Change
2504
+ * @see https://tailwindcss.com/docs/will-change
2505
+ */
2506
+ "will-change": [{
2507
+ "will-change": ["auto", "scroll", "contents", "transform", isArbitraryValue]
2508
+ }],
2509
+ // SVG
2510
+ /**
2511
+ * Fill
2512
+ * @see https://tailwindcss.com/docs/fill
2513
+ */
2514
+ fill: [{
2515
+ fill: [colors, "none"]
2516
+ }],
2517
+ /**
2518
+ * Stroke Width
2519
+ * @see https://tailwindcss.com/docs/stroke-width
2520
+ */
2521
+ "stroke-w": [{
2522
+ stroke: [isLength, isArbitraryLength, isArbitraryNumber]
2523
+ }],
2524
+ /**
2525
+ * Stroke
2526
+ * @see https://tailwindcss.com/docs/stroke
2527
+ */
2528
+ stroke: [{
2529
+ stroke: [colors, "none"]
2530
+ }],
2531
+ // Accessibility
2532
+ /**
2533
+ * Screen Readers
2534
+ * @see https://tailwindcss.com/docs/screen-readers
2535
+ */
2536
+ sr: ["sr-only", "not-sr-only"],
2537
+ /**
2538
+ * Forced Color Adjust
2539
+ * @see https://tailwindcss.com/docs/forced-color-adjust
2540
+ */
2541
+ "forced-color-adjust": [{
2542
+ "forced-color-adjust": ["auto", "none"]
2543
+ }]
2544
+ },
2545
+ conflictingClassGroups: {
2546
+ overflow: ["overflow-x", "overflow-y"],
2547
+ overscroll: ["overscroll-x", "overscroll-y"],
2548
+ inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
2549
+ "inset-x": ["right", "left"],
2550
+ "inset-y": ["top", "bottom"],
2551
+ flex: ["basis", "grow", "shrink"],
2552
+ gap: ["gap-x", "gap-y"],
2553
+ p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
2554
+ px: ["pr", "pl"],
2555
+ py: ["pt", "pb"],
2556
+ m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
2557
+ mx: ["mr", "ml"],
2558
+ my: ["mt", "mb"],
2559
+ size: ["w", "h"],
2560
+ "font-size": ["leading"],
2561
+ "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
2562
+ "fvn-ordinal": ["fvn-normal"],
2563
+ "fvn-slashed-zero": ["fvn-normal"],
2564
+ "fvn-figure": ["fvn-normal"],
2565
+ "fvn-spacing": ["fvn-normal"],
2566
+ "fvn-fraction": ["fvn-normal"],
2567
+ "line-clamp": ["display", "overflow"],
2568
+ 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"],
2569
+ "rounded-s": ["rounded-ss", "rounded-es"],
2570
+ "rounded-e": ["rounded-se", "rounded-ee"],
2571
+ "rounded-t": ["rounded-tl", "rounded-tr"],
2572
+ "rounded-r": ["rounded-tr", "rounded-br"],
2573
+ "rounded-b": ["rounded-br", "rounded-bl"],
2574
+ "rounded-l": ["rounded-tl", "rounded-bl"],
2575
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
2576
+ "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
2577
+ "border-w-x": ["border-w-r", "border-w-l"],
2578
+ "border-w-y": ["border-w-t", "border-w-b"],
2579
+ "border-color": ["border-color-t", "border-color-r", "border-color-b", "border-color-l"],
2580
+ "border-color-x": ["border-color-r", "border-color-l"],
2581
+ "border-color-y": ["border-color-t", "border-color-b"],
2582
+ "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
2583
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
2584
+ "scroll-my": ["scroll-mt", "scroll-mb"],
2585
+ "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
2586
+ "scroll-px": ["scroll-pr", "scroll-pl"],
2587
+ "scroll-py": ["scroll-pt", "scroll-pb"],
2588
+ touch: ["touch-x", "touch-y", "touch-pz"],
2589
+ "touch-x": ["touch"],
2590
+ "touch-y": ["touch"],
2591
+ "touch-pz": ["touch"]
2592
+ },
2593
+ conflictingClassGroupModifiers: {
2594
+ "font-size": ["leading"]
2595
+ }
2596
+ };
2597
+ }
2598
+ var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
2599
+
2600
+ // src/common/cn.ts
2601
+ function cn(...inputs) {
2602
+ return twMerge(clsx(inputs));
2603
+ }
2604
+
2605
+ // src/common/button.tsx
2606
+ import { jsx as jsx2 } from "react/jsx-runtime";
2607
+ var buttonVariants = cva(
2608
+ "mesh-inline-flex mesh-items-center mesh-justify-center mesh-whitespace-nowrap mesh-rounded-md mesh-text-sm mesh-font-medium mesh-transition-colors focus-visible:mesh-outline-none focus-visible:mesh-ring-1 focus-visible:mesh-ring-zinc-950 disabled:mesh-pointer-events-none disabled:mesh-opacity-50 dark:focus-visible:mesh-ring-zinc-300",
2609
+ {
2610
+ variants: {
2611
+ variant: {
2612
+ default: "mesh-bg-zinc-900 mesh-text-zinc-50 mesh-shadow hover:mesh-bg-zinc-900/90 dark:mesh-bg-zinc-50 dark:mesh-text-zinc-900 dark:hover:mesh-bg-zinc-50/90",
2613
+ destructive: "mesh-bg-red-500 mesh-text-zinc-50 mesh-shadow-sm hover:mesh-bg-red-500/90 dark:mesh-bg-red-900 dark:mesh-text-zinc-50 dark:hover:mesh-bg-red-900/90",
2614
+ outline: "mesh-border mesh-border-zinc-200 mesh-bg-white mesh-shadow-sm hover:mesh-bg-zinc-100 hover:mesh-text-zinc-900 dark:mesh-border-zinc-800 dark:mesh-bg-zinc-950 dark:hover:mesh-bg-zinc-800 dark:hover:mesh-text-zinc-50",
2615
+ secondary: "mesh-bg-zinc-100 mesh-text-zinc-900 mesh-shadow-sm hover:mesh-bg-zinc-100/80 dark:mesh-bg-zinc-800 dark:mesh-text-zinc-50 dark:hover:mesh-bg-zinc-800/80",
2616
+ ghost: "hover:mesh-bg-zinc-100 hover:mesh-text-zinc-900 dark:hover:mesh-bg-zinc-800 dark:hover:mesh-text-zinc-50",
2617
+ link: "mesh-text-zinc-900 mesh-underline-offset-4 hover:mesh-underline dark:mesh-text-zinc-50"
2618
+ },
2619
+ size: {
2620
+ default: "mesh-h-9 mesh-px-4 mesh-py-2",
2621
+ sm: "mesh-h-8 mesh-rounded-md mesh-px-3 mesh-text-xs",
2622
+ lg: "mesh-h-10 mesh-rounded-md mesh-px-8",
2623
+ icon: "mesh-h-9 mesh-w-9"
2624
+ }
2625
+ },
2626
+ defaultVariants: {
2627
+ variant: "default",
2628
+ size: "default"
2629
+ }
2630
+ }
2631
+ );
2632
+ var Button = React3.forwardRef(
2633
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
2634
+ const Comp = asChild ? Slot : "button";
2635
+ return /* @__PURE__ */ jsx2(
2636
+ Comp,
2637
+ {
2638
+ className: cn(buttonVariants({ variant, size, className })),
2639
+ ref,
2640
+ ...props
2641
+ }
2642
+ );
2643
+ }
2644
+ );
2645
+ Button.displayName = "Button";
2646
+
2647
+ // src/common/dialog.tsx
2648
+ import * as React4 from "react";
2649
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
2650
+ import { Cross2Icon } from "@radix-ui/react-icons";
2651
+ import { jsx as jsx3, jsxs } from "react/jsx-runtime";
2652
+ var Dialog = DialogPrimitive.Root;
2653
+ var DialogTrigger = DialogPrimitive.Trigger;
2654
+ var DialogPortal = DialogPrimitive.Portal;
2655
+ var DialogOverlay = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
2656
+ DialogPrimitive.Overlay,
2657
+ {
2658
+ ref,
2659
+ className: cn(
2660
+ "mesh-fixed mesh-inset-0 mesh-z-50 mesh-bg-black/80 data-[state=open]:mesh-animate-in data-[state=closed]:mesh-animate-out data-[state=closed]:mesh-fade-out-0 data-[state=open]:mesh-fade-in-0",
2661
+ className
2662
+ ),
2663
+ ...props
2664
+ }
2665
+ ));
2666
+ DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
2667
+ var DialogContent = React4.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
2668
+ /* @__PURE__ */ jsx3(DialogOverlay, {}),
2669
+ /* @__PURE__ */ jsxs(
2670
+ DialogPrimitive.Content,
2671
+ {
2672
+ ref,
2673
+ className: cn(
2674
+ `mesh-fixed mesh-left-[50%] mesh-top-[50%] mesh-z-50 mesh-grid mesh-w-full mesh-max-w-lg mesh-translate-x-[-50%] mesh-translate-y-[-50%] mesh-gap-4 mesh-p-6 mesh-shadow-lg mesh-duration-200 data-[state=open]:mesh-animate-in data-[state=closed]:mesh-animate-out data-[state=closed]:mesh-fade-out-0 data-[state=open]:mesh-fade-in-0 data-[state=closed]:mesh-zoom-out-95 data-[state=open]:mesh-zoom-in-95 data-[state=closed]:mesh-slide-out-to-left-1/2 data-[state=closed]:mesh-slide-out-to-top-[48%] data-[state=open]:mesh-slide-in-from-left-1/2 data-[state=open]:mesh-slide-in-from-top-[48%] sm:mesh-rounded-lg mesh-bg-zinc-900 mesh-text-white mesh-border mesh-border-zinc-700`,
2675
+ className
2676
+ ),
2677
+ ...props,
2678
+ children: [
2679
+ children,
2680
+ /* @__PURE__ */ jsxs(DialogPrimitive.Close, { className: "mesh-absolute mesh-right-4 mesh-top-4 mesh-rounded-sm mesh-opacity-70 mesh-ring-offset-background mesh-transition-opacity hover:mesh-opacity-100 disabled:mesh-pointer-events-none data-[state=open]:mesh-bg-black data-[state=open]:mesh-text-white", children: [
2681
+ /* @__PURE__ */ jsx3(Cross2Icon, { className: "mesh-h-4 mesh-w-4" }),
2682
+ /* @__PURE__ */ jsx3("span", { className: "mesh-sr-only", children: "Close" })
2683
+ ] })
2684
+ ]
2685
+ }
2686
+ )
2687
+ ] }));
2688
+ DialogContent.displayName = DialogPrimitive.Content.displayName;
2689
+ var DialogHeader = ({
2690
+ className,
2691
+ ...props
2692
+ }) => /* @__PURE__ */ jsx3(
2693
+ "div",
2694
+ {
2695
+ className: cn(
2696
+ "mesh-flex mesh-flex-col mesh-space-y-1.5 mesh-text-center sm:mesh-text-left",
2697
+ className
2698
+ ),
2699
+ ...props
2700
+ }
2701
+ );
2702
+ DialogHeader.displayName = "DialogHeader";
2703
+ var DialogFooter = ({
2704
+ className,
2705
+ ...props
2706
+ }) => /* @__PURE__ */ jsx3(
2707
+ "div",
2708
+ {
2709
+ className: cn(
2710
+ "mesh-flex mesh-flex-col-reverse sm:mesh-flex-row sm:mesh-justify-end sm:mesh-space-x-2",
2711
+ className
2712
+ ),
2713
+ ...props
2714
+ }
2715
+ );
2716
+ DialogFooter.displayName = "DialogFooter";
2717
+ var DialogTitle = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
2718
+ DialogPrimitive.Title,
2719
+ {
2720
+ ref,
2721
+ className: cn(
2722
+ "mesh-text-lg mesh-font-semibold mesh-leading-none mesh-tracking-tight",
2723
+ className
2724
+ ),
2725
+ ...props
2726
+ }
2727
+ ));
2728
+ DialogTitle.displayName = DialogPrimitive.Title.displayName;
2729
+ var DialogDescription = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
2730
+ DialogPrimitive.Description,
2731
+ {
2732
+ ref,
2733
+ className: cn("mesh-text-sm mesh-text-white", className),
2734
+ ...props
2735
+ }
2736
+ ));
2737
+ DialogDescription.displayName = DialogPrimitive.Description.displayName;
2738
+
2739
+ // src/common/dropdown-menu.tsx
2740
+ import * as React5 from "react";
2741
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
2742
+ import {
2743
+ CheckIcon,
2744
+ ChevronRightIcon,
2745
+ DotFilledIcon
2746
+ } from "@radix-ui/react-icons";
2747
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
2748
+ var DropdownMenu = DropdownMenuPrimitive.Root;
2749
+ var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
2750
+ var DropdownMenuSubTrigger = React5.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs2(
2751
+ DropdownMenuPrimitive.SubTrigger,
2752
+ {
2753
+ ref,
2754
+ className: cn(
2755
+ "mesh-flex mesh-cursor-default mesh-select-none mesh-items-center mesh-rounded-sm mesh-px-2 mesh-py-1.5 mesh-text-sm mesh-outline-none focus:mesh-bg-zinc-100 data-[state=open]:mesh-bg-zinc-100 dark:focus:mesh-bg-zinc-800 dark:data-[state=open]:mesh-bg-zinc-800",
2756
+ inset && "mesh-pl-8",
2757
+ className
2758
+ ),
2759
+ ...props,
2760
+ children: [
2761
+ children,
2762
+ /* @__PURE__ */ jsx4(ChevronRightIcon, { className: "mesh-ml-auto mesh-h-4 mesh-w-4" })
2763
+ ]
2764
+ }
2765
+ ));
2766
+ DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
2767
+ var DropdownMenuSubContent = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
2768
+ DropdownMenuPrimitive.SubContent,
2769
+ {
2770
+ ref,
2771
+ className: cn(
2772
+ "mesh-z-50 mesh-min-w-[8rem] mesh-overflow-hidden mesh-rounded-md mesh-border mesh-border-zinc-200 mesh-bg-white mesh-p-1 mesh-text-zinc-950 mesh-shadow-lg data-[state=open]:mesh-animate-in data-[state=closed]:mesh-animate-out data-[state=closed]:mesh-fade-out-0 data-[state=open]:mesh-fade-in-0 data-[state=closed]:mesh-zoom-out-95 data-[state=open]:mesh-zoom-in-95 data-[side=bottom]:mesh-slide-in-from-top-2 data-[side=left]:mesh-slide-in-from-right-2 data-[side=right]:mesh-slide-in-from-left-2 data-[side=top]:mesh-slide-in-from-bottom-2 dark:mesh-border-zinc-800 dark:mesh-bg-zinc-950 dark:mesh-text-zinc-50",
2773
+ className
2774
+ ),
2775
+ ...props
2776
+ }
2777
+ ));
2778
+ DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
2779
+ var DropdownMenuContent = React5.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx4(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx4(
2780
+ DropdownMenuPrimitive.Content,
2781
+ {
2782
+ ref,
2783
+ sideOffset,
2784
+ className: cn(
2785
+ "mesh-z-50 mesh-min-w-[8rem] mesh-overflow-hidden mesh-rounded-md mesh-border mesh-border-zinc-200 mesh-bg-white mesh-p-1 mesh-text-zinc-950 mesh-shadow-md dark:mesh-border-zinc-800 dark:mesh-bg-zinc-950 dark:mesh-text-zinc-50",
2786
+ "data-[state=open]:mesh-animate-in data-[state=closed]:mesh-animate-out data-[state=closed]:mesh-fade-out-0 data-[state=open]:mesh-fade-in-0 data-[state=closed]:mesh-zoom-out-95 data-[state=open]:mesh-zoom-in-95 data-[side=bottom]:mesh-slide-in-from-top-2 data-[side=left]:mesh-slide-in-from-right-2 data-[side=right]:mesh-slide-in-from-left-2 data-[side=top]:mesh-slide-in-from-bottom-2",
2787
+ className
2788
+ ),
2789
+ ...props
2790
+ }
2791
+ ) }));
2792
+ DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
2793
+ var DropdownMenuItem = React5.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx4(
2794
+ DropdownMenuPrimitive.Item,
2795
+ {
2796
+ ref,
2797
+ className: cn(
2798
+ "mesh-relative mesh-flex mesh-cursor-default mesh-select-none mesh-items-center mesh-rounded-sm mesh-px-2 mesh-py-1.5 mesh-text-sm mesh-outline-none mesh-transition-colors focus:mesh-bg-zinc-100 focus:mesh-text-zinc-900 data-[disabled]:mesh-pointer-events-none data-[disabled]:mesh-opacity-50 dark:focus:mesh-bg-zinc-800 dark:focus:mesh-text-zinc-50",
2799
+ inset && "mesh-pl-8",
2800
+ className
2801
+ ),
2802
+ ...props
2803
+ }
2804
+ ));
2805
+ DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
2806
+ var DropdownMenuCheckboxItem = React5.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs2(
2807
+ DropdownMenuPrimitive.CheckboxItem,
2808
+ {
2809
+ ref,
2810
+ className: cn(
2811
+ "mesh-relative mesh-flex mesh-cursor-default mesh-select-none mesh-items-center mesh-rounded-sm mesh-py-1.5 mesh-pl-8 mesh-pr-2 mesh-text-sm mesh-outline-none mesh-transition-colors focus:mesh-bg-zinc-100 focus:mesh-text-zinc-900 data-[disabled]:mesh-pointer-events-none data-[disabled]:mesh-opacity-50 dark:focus:mesh-bg-zinc-800 dark:focus:mesh-text-zinc-50",
2812
+ className
2813
+ ),
2814
+ checked,
2815
+ ...props,
2816
+ children: [
2817
+ /* @__PURE__ */ jsx4("span", { className: "mesh-absolute mesh-left-2 mesh-flex mesh-h-3.5 mesh-w-3.5 mesh-items-center mesh-justify-center", children: /* @__PURE__ */ jsx4(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx4(CheckIcon, { className: "mesh-h-4 mesh-w-4" }) }) }),
2818
+ children
2819
+ ]
2820
+ }
2821
+ ));
2822
+ DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
2823
+ var DropdownMenuRadioItem = React5.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs2(
2824
+ DropdownMenuPrimitive.RadioItem,
2825
+ {
2826
+ ref,
2827
+ className: cn(
2828
+ "mesh-relative mesh-flex mesh-cursor-default mesh-select-none mesh-items-center mesh-rounded-sm mesh-py-1.5 mesh-pl-8 mesh-pr-2 mesh-text-sm mesh-outline-none mesh-transition-colors focus:mesh-bg-zinc-100 focus:mesh-text-zinc-900 data-[disabled]:mesh-pointer-events-none data-[disabled]:mesh-opacity-50 dark:focus:mesh-bg-zinc-800 dark:focus:mesh-text-zinc-50",
2829
+ className
2830
+ ),
2831
+ ...props,
2832
+ children: [
2833
+ /* @__PURE__ */ jsx4("span", { className: "mesh-absolute mesh-left-2 mesh-flex mesh-h-3.5 mesh-w-3.5 mesh-items-center mesh-justify-center", children: /* @__PURE__ */ jsx4(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx4(DotFilledIcon, { className: "mesh-h-4 mesh-w-4 mesh-fill-current" }) }) }),
2834
+ children
2835
+ ]
2836
+ }
2837
+ ));
2838
+ DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
2839
+ var DropdownMenuLabel = React5.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx4(
2840
+ DropdownMenuPrimitive.Label,
2841
+ {
2842
+ ref,
2843
+ className: cn(
2844
+ "mesh-px-2 mesh-py-1.5 mesh-text-sm mesh-font-semibold",
2845
+ inset && "mesh-pl-8",
2846
+ className
2847
+ ),
2848
+ ...props
2849
+ }
2850
+ ));
2851
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
2852
+ var DropdownMenuSeparator = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
2853
+ DropdownMenuPrimitive.Separator,
2854
+ {
2855
+ ref,
2856
+ className: cn("-mesh-mx-1 mesh-my-1 mesh-h-px mesh-bg-zinc-100 dark:mesh-bg-zinc-800", className),
2857
+ ...props
2858
+ }
2859
+ ));
2860
+ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
2861
+ var DropdownMenuShortcut = ({
2862
+ className,
2863
+ ...props
2864
+ }) => {
2865
+ return /* @__PURE__ */ jsx4(
2866
+ "span",
2867
+ {
2868
+ className: cn("mesh-ml-auto mesh-text-xs mesh-tracking-widest mesh-opacity-60", className),
2869
+ ...props
2870
+ }
2871
+ );
2872
+ };
2873
+ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
2874
+
2875
+ // src/common/icons/icon-chevron-right.tsx
2876
+ import { jsx as jsx5 } from "react/jsx-runtime";
2877
+ function IconChevronRight() {
2878
+ return /* @__PURE__ */ jsx5(
2879
+ "svg",
2880
+ {
2881
+ xmlns: "http://www.w3.org/2000/svg",
2882
+ width: "24",
2883
+ height: "24",
2884
+ viewBox: "0 0 24 24",
2885
+ fill: "none",
2886
+ stroke: "gray",
2887
+ strokeWidth: "2",
2888
+ strokeLinecap: "round",
2889
+ strokeLinejoin: "round",
2890
+ style: {
2891
+ color: "#ffadff",
2892
+ width: "24px",
2893
+ height: "24px",
2894
+ strokeWidth: "1px"
2895
+ },
2896
+ className: "hover:mesh-fill-white",
2897
+ children: /* @__PURE__ */ jsx5("path", { d: "m15 18-6-6 6-6" })
2898
+ }
2899
+ );
2900
+ }
2901
+
2902
+ // src/common/icons/icon-monitor-smartphone.tsx
2903
+ import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
2904
+ function IconMonitorSmartphone() {
2905
+ return /* @__PURE__ */ jsxs3(
2906
+ "svg",
2907
+ {
2908
+ xmlns: "http://www.w3.org/2000/svg",
2909
+ width: "24",
2910
+ height: "24",
2911
+ viewBox: "0 0 24 24",
2912
+ fill: "none",
2913
+ stroke: "black",
2914
+ strokeWidth: "2",
2915
+ strokeLinecap: "round",
2916
+ strokeLinejoin: "round",
2917
+ style: {
2918
+ color: "#ffadff",
2919
+ width: "56px",
2920
+ height: "56px",
2921
+ strokeWidth: "1px"
2922
+ },
2923
+ children: [
2924
+ /* @__PURE__ */ jsx6("path", { d: "M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8" }),
2925
+ /* @__PURE__ */ jsx6("path", { d: "M10 19v-3.96 3.15" }),
2926
+ /* @__PURE__ */ jsx6("path", { d: "M7 19h5" }),
2927
+ /* @__PURE__ */ jsx6("rect", { width: "6", height: "10", x: "16", y: "12", rx: "2" })
2928
+ ]
2929
+ }
2930
+ );
2931
+ }
2932
+
2933
+ // src/common/icons/wallet-icon.tsx
2934
+ import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
2935
+ function WalletIcon({
2936
+ icon,
2937
+ name,
2938
+ action,
2939
+ iconReactNode
13
2940
  }) {
14
- return /* @__PURE__ */ jsx(
2941
+ return /* @__PURE__ */ jsxs4(
15
2942
  "button",
16
2943
  {
17
- className: `mesh-mr-menu-list mesh-flex mesh-w-60 mesh-items-center mesh-justify-center mesh-rounded-t-md mesh-border mesh-px-4 mesh-py-2 mesh-text-lg mesh-font-normal mesh-shadow-sm ${isDarkMode ? `mesh-bg-neutral-950 mesh-text-neutral-50` : `mesh-bg-neutral-50 mesh-text-neutral-950`}`,
18
- onClick: () => setHideMenuList && setHideMenuList(!hideMenuList),
19
- onMouseEnter,
20
- onMouseLeave,
21
- children
2944
+ className: "mesh-flex mesh-items-center mesh-justify-center mesh-rounded-lg mesh-w-10 mesh-h-10 mesh-bg-neutral-50 mesh-border mesh-border-zinc-700 hover:mesh-border-zinc-200 mesh-cursor-pointer",
2945
+ onClick: action,
2946
+ children: [
2947
+ icon && /* @__PURE__ */ jsx7("img", { src: icon, alt: name, className: "mesh-w-8 mesh-h-8" }),
2948
+ iconReactNode && iconReactNode
2949
+ ]
22
2950
  }
23
2951
  );
24
2952
  }
@@ -27,7 +2955,7 @@ function Button({
27
2955
  import { useContext, useEffect, useState as useState2 } from "react";
28
2956
 
29
2957
  // src/contexts/WalletContext.ts
30
- import { createContext, useCallback, useState } from "react";
2958
+ import { createContext, useCallback as useCallback2, useState } from "react";
31
2959
  import { BrowserWallet } from "@meshsdk/wallet";
32
2960
  var INITIAL_STATE = {
33
2961
  walletName: "",
@@ -40,7 +2968,7 @@ var useWalletStore = () => {
40
2968
  const [connectedWalletName, setConnectedWalletName] = useState(
41
2969
  INITIAL_STATE.walletName
42
2970
  );
43
- const connectWallet = useCallback(
2971
+ const connectWallet = useCallback2(
44
2972
  async (walletName, extensions) => {
45
2973
  setConnectingWallet(true);
46
2974
  try {
@@ -58,7 +2986,7 @@ var useWalletStore = () => {
58
2986
  },
59
2987
  []
60
2988
  );
61
- const disconnect = useCallback(() => {
2989
+ const disconnect = useCallback2(() => {
62
2990
  setConnectedWalletName(INITIAL_STATE.walletName);
63
2991
  setConnectedWalletInstance(INITIAL_STATE.walletInstance);
64
2992
  }, []);
@@ -80,10 +3008,10 @@ var WalletContext = createContext({
80
3008
  });
81
3009
 
82
3010
  // src/contexts/index.tsx
83
- import { Fragment, jsx as jsx2 } from "react/jsx-runtime";
3011
+ import { Fragment as Fragment2, jsx as jsx8 } from "react/jsx-runtime";
84
3012
  var MeshProvider = (props) => {
85
3013
  const store = useWalletStore();
86
- return /* @__PURE__ */ jsx2(WalletContext.Provider, { value: store, children: /* @__PURE__ */ jsx2(Fragment, { children: props.children }) });
3014
+ return /* @__PURE__ */ jsx8(WalletContext.Provider, { value: store, children: /* @__PURE__ */ jsx8(Fragment2, { children: props.children }) });
87
3015
  };
88
3016
 
89
3017
  // src/hooks/useAddress.ts
@@ -213,13 +3141,13 @@ var useWallet = () => {
213
3141
  };
214
3142
 
215
3143
  // src/hooks/useWalletSubmit.ts
216
- import { useCallback as useCallback2, useContext as useContext7, useState as useState8 } from "react";
3144
+ import { useCallback as useCallback3, useContext as useContext7, useState as useState8 } from "react";
217
3145
  var useWalletSubmit = () => {
218
3146
  const [error, setError] = useState8();
219
3147
  const [result, setResult] = useState8();
220
3148
  const [submitting, setSubmitting] = useState8(false);
221
3149
  const { hasConnectedWallet, connectedWalletInstance } = useContext7(WalletContext);
222
- const submitTx = useCallback2(async (signedTx) => {
3150
+ const submitTx = useCallback3(async (signedTx) => {
223
3151
  setSubmitting(true);
224
3152
  try {
225
3153
  if (hasConnectedWallet) {
@@ -243,22 +3171,228 @@ var useWalletSubmit = () => {
243
3171
  };
244
3172
  };
245
3173
 
246
- // src/cardano-wallet/menu-item.tsx
247
- import { jsx as jsx3, jsxs } from "react/jsx-runtime";
3174
+ // src/cardano-wallet/index.tsx
3175
+ import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
3176
+ var CardanoWallet = ({
3177
+ label = "Connect Wallet",
3178
+ onConnected = void 0,
3179
+ isDark = false,
3180
+ metamask = void 0,
3181
+ extensions = [],
3182
+ cardanoPeerConnect = void 0
3183
+ }) => {
3184
+ const [open, setOpen] = useState9(false);
3185
+ const [screen, setScreen] = useState9("main");
3186
+ const { wallet, connected } = useWallet();
3187
+ useEffect7(() => {
3188
+ if (connected && wallet) {
3189
+ if (onConnected) onConnected();
3190
+ }
3191
+ }, [connected, wallet]);
3192
+ return /* @__PURE__ */ jsxs5(Dialog, { open, onOpenChange: setOpen, children: [
3193
+ !connected ? /* @__PURE__ */ jsx9(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsx9(Button, { variant: "outline", className: "mesh-text-white", children: label }) }) : /* @__PURE__ */ jsx9(ConnectedDropdown, {}),
3194
+ /* @__PURE__ */ jsxs5(DialogContent, { className: "sm:mesh-max-w-[425px]", children: [
3195
+ /* @__PURE__ */ jsxs5(DialogHeader, { children: [
3196
+ /* @__PURE__ */ jsxs5(DialogTitle, { className: "mesh-flex mesh-justify-between", children: [
3197
+ screen != "main" ? /* @__PURE__ */ jsx9("button", { onClick: () => setScreen("main"), children: /* @__PURE__ */ jsx9(IconChevronRight, {}) }) : /* @__PURE__ */ jsx9("span", { style: { width: "24px" } }),
3198
+ /* @__PURE__ */ jsxs5("span", { children: [
3199
+ screen == "main" && "Connect Wallet",
3200
+ screen == "p2p" && "P2P Connect"
3201
+ ] }),
3202
+ /* @__PURE__ */ jsx9("span", { style: { width: "24px" } })
3203
+ ] }),
3204
+ /* @__PURE__ */ jsx9(DialogDescription, { children: screen == "p2p" && "Use wallet that supports CIP-45, scan this QR code to connect." })
3205
+ ] }),
3206
+ screen == "main" && /* @__PURE__ */ jsx9(
3207
+ MainScreen,
3208
+ {
3209
+ metamask,
3210
+ extensions,
3211
+ setOpen,
3212
+ setScreen
3213
+ }
3214
+ ),
3215
+ /* @__PURE__ */ jsx9(DialogFooter, { className: "mesh-justify-center mesh-text-sm", children: /* @__PURE__ */ jsxs5(
3216
+ "a",
3217
+ {
3218
+ href: "https://meshjs.dev/",
3219
+ target: "_blank",
3220
+ className: "mesh-grow mesh-flex mesh-gap-1 mesh-items-center mesh-justify-center mesh-text-zinc-500 hover:mesh-text-white mesh-fill-zinc-500 hover:mesh-fill-white",
3221
+ children: [
3222
+ /* @__PURE__ */ jsx9("span", { className: "", children: "Powered by" }),
3223
+ /* @__PURE__ */ jsx9(
3224
+ "svg",
3225
+ {
3226
+ width: 24,
3227
+ height: 24,
3228
+ enableBackground: "new 0 0 300 200",
3229
+ viewBox: "0 0 300 200",
3230
+ xmlns: "http://www.w3.org/2000/svg",
3231
+ children: /* @__PURE__ */ jsx9("path", { d: "m289 127-45-60-45-60c-.9-1.3-2.4-2-4-2s-3.1.7-4 2l-37 49.3c-2 2.7-6 2.7-8 0l-37-49.3c-.9-1.3-2.4-2-4-2s-3.1.7-4 2l-45 60-45 60c-1.3 1.8-1.3 4.2 0 6l45 60c.9 1.3 2.4 2 4 2s3.1-.7 4-2l37-49.3c2-2.7 6-2.7 8 0l37 49.3c.9 1.3 2.4 2 4 2s3.1-.7 4-2l37-49.3c2-2.7 6-2.7 8 0l37 49.3c.9 1.3 2.4 2 4 2s3.1-.7 4-2l45-60c1.3-1.8 1.3-4.2 0-6zm-90-103.3 32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0l-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0zm-90 0 32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0l-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0zm-53 152.6-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0l32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0zm90 0-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0l32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0zm90 0-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0l32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0z" })
3232
+ }
3233
+ ),
3234
+ /* @__PURE__ */ jsx9("span", { className: "", children: "Mesh SDK" })
3235
+ ]
3236
+ }
3237
+ ) })
3238
+ ] })
3239
+ ] });
3240
+ };
3241
+ function ConnectedDropdown() {
3242
+ const { wallet, connected, disconnect } = useWallet();
3243
+ const [address, setAddress] = useState9("");
3244
+ useEffect7(() => {
3245
+ if (connected && wallet) {
3246
+ async function afterConnectedWallet() {
3247
+ let address2 = (await wallet.getUnusedAddresses())[0];
3248
+ if (!address2) address2 = await wallet.getChangeAddress();
3249
+ setAddress(address2);
3250
+ }
3251
+ afterConnectedWallet();
3252
+ }
3253
+ }, [connected, wallet]);
3254
+ return /* @__PURE__ */ jsxs5(DropdownMenu, { children: [
3255
+ /* @__PURE__ */ jsx9(DropdownMenuTrigger, { children: /* @__PURE__ */ jsxs5(Button, { variant: "outline", className: "mesh-text-white", children: [
3256
+ address.slice(0, 6),
3257
+ "...",
3258
+ address.slice(-6)
3259
+ ] }) }),
3260
+ /* @__PURE__ */ jsxs5(DropdownMenuContent, { children: [
3261
+ /* @__PURE__ */ jsx9(DropdownMenuLabel, { children: "Wallet" }),
3262
+ /* @__PURE__ */ jsx9(DropdownMenuSeparator, {}),
3263
+ /* @__PURE__ */ jsx9(
3264
+ DropdownMenuItem,
3265
+ {
3266
+ onClick: () => {
3267
+ navigator.clipboard.writeText(address);
3268
+ },
3269
+ children: "Copy Address"
3270
+ }
3271
+ ),
3272
+ /* @__PURE__ */ jsx9(
3273
+ DropdownMenuItem,
3274
+ {
3275
+ onClick: () => {
3276
+ disconnect();
3277
+ },
3278
+ children: "Disconnect"
3279
+ }
3280
+ )
3281
+ ] })
3282
+ ] });
3283
+ }
3284
+ function MainScreen({
3285
+ metamask,
3286
+ extensions,
3287
+ setOpen,
3288
+ setScreen
3289
+ }) {
3290
+ const wallets = useWalletList({ metamask });
3291
+ const { connect } = useWallet();
3292
+ return /* @__PURE__ */ jsxs5("div", { className: "mesh-grid mesh-gap-4 mesh-py-4 mesh-grid-cols-4 mesh-place-items-center", children: [
3293
+ wallets.map((wallet, index) => /* @__PURE__ */ jsx9(
3294
+ WalletIcon,
3295
+ {
3296
+ icon: wallet.icon,
3297
+ name: wallet.name,
3298
+ action: () => {
3299
+ connect(wallet.id, extensions);
3300
+ setOpen(false);
3301
+ }
3302
+ },
3303
+ index
3304
+ )),
3305
+ /* @__PURE__ */ jsx9(
3306
+ WalletIcon,
3307
+ {
3308
+ iconReactNode: IconMonitorSmartphone(),
3309
+ name: `P2P`,
3310
+ action: () => {
3311
+ setScreen("p2p");
3312
+ }
3313
+ }
3314
+ )
3315
+ ] });
3316
+ }
3317
+
3318
+ // src/mesh-badge/mesh-logo.tsx
3319
+ import { jsx as jsx10 } from "react/jsx-runtime";
3320
+ var MeshLogo = () => /* @__PURE__ */ jsx10(
3321
+ "svg",
3322
+ {
3323
+ className: "mesh-h-16 mesh-p-2",
3324
+ fill: "currentColor",
3325
+ viewBox: "0 0 300 200",
3326
+ xmlns: "http://www.w3.org/2000/svg",
3327
+ children: /* @__PURE__ */ jsx10("path", { d: "m289 127-45-60-45-60c-.9-1.3-2.4-2-4-2s-3.1.7-4 2l-37 49.3c-2 2.7-6 2.7-8 0l-37-49.3c-.9-1.3-2.4-2-4-2s-3.1.7-4 2l-45 60-45 60c-1.3 1.8-1.3 4.2 0 6l45 60c.9 1.3 2.4 2 4 2s3.1-.7 4-2l37-49.3c2-2.7 6-2.7 8 0l37 49.3c.9 1.3 2.4 2 4 2s3.1-.7 4-2l37-49.3c2-2.7 6-2.7 8 0l37 49.3c.9 1.3 2.4 2 4 2s3.1-.7 4-2l45-60c1.3-1.8 1.3-4.2 0-6zm-90-103.3 32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0l-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0zm-90 0 32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0l-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0zm-53 152.6-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0l32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0zm90 0-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0l32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0zm90 0-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0l32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0z" })
3328
+ }
3329
+ );
3330
+
3331
+ // src/mesh-badge/index.tsx
3332
+ import { jsx as jsx11, jsxs as jsxs6 } from "react/jsx-runtime";
3333
+ var MeshBadge = ({ isDark = false }) => /* @__PURE__ */ jsxs6(
3334
+ "a",
3335
+ {
3336
+ className: `mesh-flex mesh-max-w-fit mesh-flex-col mesh-items-center mesh-rounded-md mesh-border mesh-border-solid mesh-border-current mesh-p-1 mesh-text-xl mesh-font-semibold mesh-no-underline ${isDark ? `mesh-bg-neutral-950 mesh-text-neutral-50` : `mesh-bg-neutral-50 mesh-text-neutral-950`}`,
3337
+ style: {
3338
+ color: isDark ? "#EEEEEE" : "#111111",
3339
+ backgroundColor: isDark ? "#111111" : "#EEEEEE"
3340
+ },
3341
+ href: "https://meshjs.dev/",
3342
+ rel: "noopener noreferrer",
3343
+ target: "_blank",
3344
+ children: [
3345
+ /* @__PURE__ */ jsx11(MeshLogo, {}),
3346
+ "Mesh"
3347
+ ]
3348
+ }
3349
+ );
3350
+
3351
+ // src/stake-button/index.tsx
3352
+ import { useEffect as useEffect9, useState as useState11 } from "react";
3353
+ import { Transaction } from "@meshsdk/transaction";
3354
+
3355
+ // src/cardano-wallet-dropdown/index.tsx
3356
+ import { useEffect as useEffect8, useState as useState10 } from "react";
3357
+
3358
+ // src/common/button-dropdown.tsx
3359
+ import { jsx as jsx12 } from "react/jsx-runtime";
3360
+ function ButtonDropdown({
3361
+ children,
3362
+ isDarkMode = false,
3363
+ hideMenuList = false,
3364
+ setHideMenuList,
3365
+ onMouseEnter,
3366
+ onMouseLeave
3367
+ }) {
3368
+ return /* @__PURE__ */ jsx12(
3369
+ "button",
3370
+ {
3371
+ className: `mesh-mr-menu-list mesh-flex mesh-w-60 mesh-items-center mesh-justify-center mesh-rounded-t-md mesh-border mesh-px-4 mesh-py-2 mesh-text-lg mesh-font-normal mesh-shadow-sm ${isDarkMode ? `mesh-bg-neutral-950 mesh-text-neutral-50` : `mesh-bg-neutral-50 mesh-text-neutral-950`}`,
3372
+ onClick: () => setHideMenuList && setHideMenuList(!hideMenuList),
3373
+ onMouseEnter,
3374
+ onMouseLeave,
3375
+ children
3376
+ }
3377
+ );
3378
+ }
3379
+
3380
+ // src/cardano-wallet-dropdown/menu-item.tsx
3381
+ import { jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
248
3382
  function MenuItem({
249
3383
  icon,
250
3384
  label,
251
3385
  action,
252
3386
  active
253
3387
  }) {
254
- return /* @__PURE__ */ jsxs(
3388
+ return /* @__PURE__ */ jsxs7(
255
3389
  "div",
256
3390
  {
257
3391
  className: "mesh-flex mesh-cursor-pointer mesh-items-center mesh-px-4 mesh-py-2 mesh-opacity-80 hover:mesh-opacity-100 mesh-h-16",
258
3392
  onClick: action,
259
3393
  children: [
260
- icon && /* @__PURE__ */ jsx3("img", { className: "mesh-pr-2 mesh-m-1 mesh-h-8", src: icon }),
261
- /* @__PURE__ */ jsx3("span", { className: "mesh-mr-menu-item mesh-text-xl mesh-font-normal mesh-text-gray-700 hover:mesh-text-black", children: label.split(" ").map((word) => {
3394
+ icon && /* @__PURE__ */ jsx13("img", { className: "mesh-pr-2 mesh-m-1 mesh-h-8", src: icon }),
3395
+ /* @__PURE__ */ jsx13("span", { className: "mesh-mr-menu-item mesh-text-xl mesh-font-normal mesh-text-gray-700 hover:mesh-text-black", children: label.split(" ").map((word) => {
262
3396
  return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
263
3397
  }).join(" ") })
264
3398
  ]
@@ -266,9 +3400,9 @@ function MenuItem({
266
3400
  );
267
3401
  }
268
3402
 
269
- // src/cardano-wallet/chevron-down.tsx
270
- import { jsx as jsx4 } from "react/jsx-runtime";
271
- var ChevronDown = () => /* @__PURE__ */ jsx4(
3403
+ // src/cardano-wallet-dropdown/chevron-down.tsx
3404
+ import { jsx as jsx14 } from "react/jsx-runtime";
3405
+ var ChevronDown = () => /* @__PURE__ */ jsx14(
272
3406
  "svg",
273
3407
  {
274
3408
  className: "mesh-m-2 mesh-h-6",
@@ -277,7 +3411,7 @@ var ChevronDown = () => /* @__PURE__ */ jsx4(
277
3411
  viewBox: "0 0 24 24",
278
3412
  stroke: "currentColor",
279
3413
  xmlns: "http://www.w3.org/2000/svg",
280
- children: /* @__PURE__ */ jsx4(
3414
+ children: /* @__PURE__ */ jsx14(
281
3415
  "path",
282
3416
  {
283
3417
  strokeLinecap: "round",
@@ -289,8 +3423,8 @@ var ChevronDown = () => /* @__PURE__ */ jsx4(
289
3423
  }
290
3424
  );
291
3425
 
292
- // src/cardano-wallet/wallet-balance.tsx
293
- import { Fragment as Fragment2, jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
3426
+ // src/cardano-wallet-dropdown/wallet-balance.tsx
3427
+ import { Fragment as Fragment3, jsx as jsx15, jsxs as jsxs8 } from "react/jsx-runtime";
294
3428
  var WalletBalance = ({
295
3429
  connected,
296
3430
  connecting,
@@ -298,55 +3432,56 @@ var WalletBalance = ({
298
3432
  wallet
299
3433
  }) => {
300
3434
  const lovelace = useLovelace();
301
- return connected && lovelace && wallet?.icon ? /* @__PURE__ */ jsxs2(Fragment2, { children: [
302
- /* @__PURE__ */ jsx5("img", { className: "mesh-m-2 mesh-h-6", src: wallet.icon }),
3435
+ return connected && lovelace && wallet?.icon ? /* @__PURE__ */ jsxs8(Fragment3, { children: [
3436
+ /* @__PURE__ */ jsx15("img", { className: "mesh-m-2 mesh-h-6", src: wallet.icon }),
303
3437
  "\u20B3",
304
3438
  " ",
305
3439
  parseInt((parseInt(lovelace, 10) / 1e6).toString(), 10),
306
3440
  ".",
307
- /* @__PURE__ */ jsx5("span", { className: "mesh-text-xs", children: lovelace.substring(lovelace.length - 6) })
308
- ] }) : connected && wallet?.icon ? /* @__PURE__ */ jsx5(Fragment2, { children: /* @__PURE__ */ jsx5("img", { className: "mesh-m-2 mesh-h-6", src: wallet.icon }) }) : connecting ? /* @__PURE__ */ jsx5(Fragment2, { children: "Connecting..." }) : /* @__PURE__ */ jsxs2(Fragment2, { children: [
3441
+ /* @__PURE__ */ jsx15("span", { className: "mesh-text-xs", children: lovelace.substring(lovelace.length - 6) })
3442
+ ] }) : connected && wallet?.icon ? /* @__PURE__ */ jsx15(Fragment3, { children: /* @__PURE__ */ jsx15("img", { className: "mesh-m-2 mesh-h-6", src: wallet.icon }) }) : connecting ? /* @__PURE__ */ jsx15(Fragment3, { children: "Connecting..." }) : /* @__PURE__ */ jsxs8(Fragment3, { children: [
309
3443
  label,
310
3444
  " ",
311
- /* @__PURE__ */ jsx5(ChevronDown, {})
3445
+ /* @__PURE__ */ jsx15(ChevronDown, {})
312
3446
  ] });
313
3447
  };
314
3448
 
315
- // src/cardano-wallet/index.tsx
316
- import { Fragment as Fragment3, jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
317
- var CardanoWallet = ({
3449
+ // src/cardano-wallet-dropdown/index.tsx
3450
+ import { Fragment as Fragment4, jsx as jsx16, jsxs as jsxs9 } from "react/jsx-runtime";
3451
+ var CardanoWallet2 = ({
318
3452
  label = "Connect Wallet",
319
3453
  onConnected = void 0,
320
3454
  isDark = false,
321
3455
  metamask = void 0,
322
- extensions = []
3456
+ extensions = [],
3457
+ cardanoPeerConnect = void 0
323
3458
  }) => {
324
- const [isDarkMode, setIsDarkMode] = useState9(false);
325
- const [hideMenuList, setHideMenuList] = useState9(true);
3459
+ const [isDarkMode, setIsDarkMode] = useState10(false);
3460
+ const [hideMenuList, setHideMenuList] = useState10(true);
326
3461
  const { connect, connecting, connected, disconnect, name } = useWallet();
327
3462
  const wallets = useWalletList({ metamask });
328
- useEffect7(() => {
3463
+ useEffect8(() => {
329
3464
  if (connected && onConnected) {
330
3465
  onConnected();
331
3466
  }
332
3467
  }, [connected]);
333
- useEffect7(() => {
3468
+ useEffect8(() => {
334
3469
  setIsDarkMode(isDark);
335
3470
  }, [isDark]);
336
- return /* @__PURE__ */ jsxs3(
3471
+ return /* @__PURE__ */ jsxs9(
337
3472
  "div",
338
3473
  {
339
3474
  onMouseEnter: () => setHideMenuList(false),
340
3475
  onMouseLeave: () => setHideMenuList(true),
341
3476
  style: { width: "min-content", zIndex: 50 },
342
3477
  children: [
343
- /* @__PURE__ */ jsx6(
344
- Button,
3478
+ /* @__PURE__ */ jsx16(
3479
+ ButtonDropdown,
345
3480
  {
346
3481
  isDarkMode,
347
3482
  hideMenuList,
348
3483
  setHideMenuList,
349
- children: /* @__PURE__ */ jsx6(
3484
+ children: /* @__PURE__ */ jsx16(
350
3485
  WalletBalance,
351
3486
  {
352
3487
  connected,
@@ -357,12 +3492,12 @@ var CardanoWallet = ({
357
3492
  )
358
3493
  }
359
3494
  ),
360
- /* @__PURE__ */ jsx6(
3495
+ /* @__PURE__ */ jsx16(
361
3496
  "div",
362
3497
  {
363
3498
  className: `mesh-mr-menu-list mesh-absolute mesh-w-60 mesh-rounded-b-md mesh-border mesh-text-center mesh-shadow-sm mesh-backdrop-blur ${hideMenuList && "mesh-hidden"} ${isDarkMode ? `mesh-bg-neutral-950 mesh-text-neutral-50` : `mesh-bg-neutral-50 mesh-text-neutral-950`}`,
364
3499
  style: { zIndex: 50 },
365
- children: !connected && wallets.length > 0 ? /* @__PURE__ */ jsx6(Fragment3, { children: wallets.map((wallet, index) => /* @__PURE__ */ jsx6(
3500
+ children: !connected && wallets.length > 0 ? /* @__PURE__ */ jsx16(Fragment4, { children: wallets.map((wallet, index) => /* @__PURE__ */ jsx16(
366
3501
  MenuItem,
367
3502
  {
368
3503
  icon: wallet.icon,
@@ -374,7 +3509,7 @@ var CardanoWallet = ({
374
3509
  active: name === wallet.id
375
3510
  },
376
3511
  index
377
- )) }) : wallets.length === 0 ? /* @__PURE__ */ jsx6("span", { children: "No Wallet Found" }) : /* @__PURE__ */ jsx6(Fragment3, { children: /* @__PURE__ */ jsx6(
3512
+ )) }) : wallets.length === 0 ? /* @__PURE__ */ jsx16("span", { children: "No Wallet Found" }) : /* @__PURE__ */ jsx16(Fragment4, { children: /* @__PURE__ */ jsx16(
378
3513
  MenuItem,
379
3514
  {
380
3515
  active: false,
@@ -390,43 +3525,8 @@ var CardanoWallet = ({
390
3525
  );
391
3526
  };
392
3527
 
393
- // src/mesh-badge/mesh-logo.tsx
394
- import { jsx as jsx7 } from "react/jsx-runtime";
395
- var MeshLogo = () => /* @__PURE__ */ jsx7(
396
- "svg",
397
- {
398
- className: "mesh-h-16 mesh-p-2",
399
- fill: "currentColor",
400
- viewBox: "0 0 300 200",
401
- xmlns: "http://www.w3.org/2000/svg",
402
- children: /* @__PURE__ */ jsx7("path", { d: "m289 127-45-60-45-60c-.9-1.3-2.4-2-4-2s-3.1.7-4 2l-37 49.3c-2 2.7-6 2.7-8 0l-37-49.3c-.9-1.3-2.4-2-4-2s-3.1.7-4 2l-45 60-45 60c-1.3 1.8-1.3 4.2 0 6l45 60c.9 1.3 2.4 2 4 2s3.1-.7 4-2l37-49.3c2-2.7 6-2.7 8 0l37 49.3c.9 1.3 2.4 2 4 2s3.1-.7 4-2l37-49.3c2-2.7 6-2.7 8 0l37 49.3c.9 1.3 2.4 2 4 2s3.1-.7 4-2l45-60c1.3-1.8 1.3-4.2 0-6zm-90-103.3 32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0l-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0zm-90 0 32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0l-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0zm-53 152.6-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0l32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0zm90 0-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0l32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0zm90 0-32.5-43.3c-1.3-1.8-1.3-4.2 0-6l32.5-43.3c2-2.7 6-2.7 8 0l32.5 43.3c1.3 1.8 1.3 4.2 0 6l-32.5 43.3c-2 2.7-6 2.7-8 0z" })
403
- }
404
- );
405
-
406
- // src/mesh-badge/index.tsx
407
- import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
408
- var MeshBadge = ({ isDark = false }) => /* @__PURE__ */ jsxs4(
409
- "a",
410
- {
411
- className: `mesh-flex mesh-max-w-fit mesh-flex-col mesh-items-center mesh-rounded-md mesh-border mesh-border-solid mesh-border-current mesh-p-1 mesh-text-xl mesh-font-semibold mesh-no-underline ${isDark ? `mesh-bg-neutral-950 mesh-text-neutral-50` : `mesh-bg-neutral-50 mesh-text-neutral-950`}`,
412
- style: {
413
- color: isDark ? "#EEEEEE" : "#111111",
414
- backgroundColor: isDark ? "#111111" : "#EEEEEE"
415
- },
416
- href: "https://meshjs.dev/",
417
- rel: "noopener noreferrer",
418
- target: "_blank",
419
- children: [
420
- /* @__PURE__ */ jsx8(MeshLogo, {}),
421
- "Mesh"
422
- ]
423
- }
424
- );
425
-
426
3528
  // src/stake-button/index.tsx
427
- import { useEffect as useEffect8, useState as useState10 } from "react";
428
- import { Transaction } from "@meshsdk/transaction";
429
- import { Fragment as Fragment4, jsx as jsx9 } from "react/jsx-runtime";
3529
+ import { Fragment as Fragment5, jsx as jsx17 } from "react/jsx-runtime";
430
3530
  var StakeButton = ({
431
3531
  label = "Stake your ADA",
432
3532
  isDark = false,
@@ -434,19 +3534,19 @@ var StakeButton = ({
434
3534
  onCheck,
435
3535
  onDelegated = void 0
436
3536
  }) => {
437
- const [isDarkMode, setIsDarkMode] = useState10(false);
3537
+ const [isDarkMode, setIsDarkMode] = useState11(false);
438
3538
  const { connected } = useWallet();
439
- useEffect8(() => {
3539
+ useEffect9(() => {
440
3540
  setIsDarkMode(isDark);
441
3541
  }, [isDark]);
442
- return /* @__PURE__ */ jsx9(Fragment4, { children: connected ? /* @__PURE__ */ jsx9(Button, { isDarkMode, children: /* @__PURE__ */ jsx9(
3542
+ return /* @__PURE__ */ jsx17(Fragment5, { children: connected ? /* @__PURE__ */ jsx17(ButtonDropdown, { isDarkMode, children: /* @__PURE__ */ jsx17(
443
3543
  Delegate,
444
3544
  {
445
3545
  poolId,
446
3546
  onCheck,
447
3547
  onDelegated
448
3548
  }
449
- ) }) : /* @__PURE__ */ jsx9(CardanoWallet, { label, isDark }) });
3549
+ ) }) : /* @__PURE__ */ jsx17(CardanoWallet2, { label, isDark }) });
450
3550
  };
451
3551
  var Delegate = ({
452
3552
  poolId,
@@ -455,11 +3555,11 @@ var Delegate = ({
455
3555
  }) => {
456
3556
  const { wallet } = useWallet();
457
3557
  const rewardAddress = useRewardAddress();
458
- const [_, setError] = useState10();
459
- const [checking, setChecking] = useState10(false);
460
- const [accountInfo, setAccountInfo] = useState10();
461
- const [processing, setProcessing] = useState10(false);
462
- const [done, setDone] = useState10(false);
3558
+ const [_, setError] = useState11();
3559
+ const [checking, setChecking] = useState11(false);
3560
+ const [accountInfo, setAccountInfo] = useState11();
3561
+ const [processing, setProcessing] = useState11(false);
3562
+ const [done, setDone] = useState11(false);
463
3563
  const checkAccountStatus = async () => {
464
3564
  try {
465
3565
  setChecking(true);
@@ -510,22 +3610,22 @@ var Delegate = ({
510
3610
  }
511
3611
  setProcessing(false);
512
3612
  };
513
- useEffect8(() => {
3613
+ useEffect9(() => {
514
3614
  checkAccountStatus();
515
3615
  }, [rewardAddress]);
516
3616
  if (checking) {
517
- return /* @__PURE__ */ jsx9("span", { children: "Checking..." });
3617
+ return /* @__PURE__ */ jsx17("span", { children: "Checking..." });
518
3618
  }
519
3619
  if (processing) {
520
- return /* @__PURE__ */ jsx9("span", { children: "Loading..." });
3620
+ return /* @__PURE__ */ jsx17("span", { children: "Loading..." });
521
3621
  }
522
3622
  if (done) {
523
- return /* @__PURE__ */ jsx9("span", { children: "Stake Delegated" });
3623
+ return /* @__PURE__ */ jsx17("span", { children: "Stake Delegated" });
524
3624
  }
525
3625
  if (accountInfo?.active) {
526
- return accountInfo.poolId === poolId ? /* @__PURE__ */ jsx9("span", { children: "Stake Delegated" }) : /* @__PURE__ */ jsx9("span", { onClick: delegateStake, children: "Begin Staking" });
3626
+ return accountInfo.poolId === poolId ? /* @__PURE__ */ jsx17("span", { children: "Stake Delegated" }) : /* @__PURE__ */ jsx17("span", { onClick: delegateStake, children: "Begin Staking" });
527
3627
  }
528
- return /* @__PURE__ */ jsx9("span", { onClick: registerAddress, children: "Begin Staking" });
3628
+ return /* @__PURE__ */ jsx17("span", { onClick: registerAddress, children: "Begin Staking" });
529
3629
  };
530
3630
  export {
531
3631
  CardanoWallet,