@lindle/linoardo 1.0.9 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var React5 = require('react');
3
+ var React4 = require('react');
4
4
  var tailwindMerge = require('tailwind-merge');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
 
@@ -22,7 +22,7 @@ function _interopNamespace(e) {
22
22
  return Object.freeze(n);
23
23
  }
24
24
 
25
- var React5__namespace = /*#__PURE__*/_interopNamespace(React5);
25
+ var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
26
26
 
27
27
  // src/Containment/Button/index.tsx
28
28
 
@@ -30,60 +30,90 @@ var React5__namespace = /*#__PURE__*/_interopNamespace(React5);
30
30
  var iconBaseClasses = {
31
31
  mdi: ["mdi"]
32
32
  };
33
-
34
- // src/Containment/Button/states.button.ts
35
- var base = "btn-base focus-visible:outline-none focus-visible:ring-2 rounded-md transition-colors duration-200 font-medium disabled:opacity-50 disabled:cursor-not-allowed";
36
- var blackAndWhiteVariantClass = "bg-white text-black border border-black focus-visible:ring-black/40 focus-visible:ring-offset-white";
33
+ var base = "btn-base focus-visible:outline-none focus-visible:ring-2 rounded-lg transition-colors duration-200 font-medium disabled:opacity-50 disabled:cursor-not-allowed";
34
+ var blackAndWhiteVariantClass = "bg-white text-black border border-black focus-visible:ring-black/40 focus-visible:ring-offset-white";
35
+ var blackAndWhitePaletteClasses = {
36
+ solid: tailwindMerge.twMerge(blackAndWhiteVariantClass, "bg-black text-white"),
37
+ outline: blackAndWhiteVariantClass,
38
+ ghost: "bg-neutral-300 text-white",
39
+ text: blackAndWhiteVariantClass,
40
+ filled: "bg-black text-white",
41
+ underlined: tailwindMerge.twMerge(blackAndWhiteVariantClass, "b"),
42
+ rounded: blackAndWhiteVariantClass,
43
+ sharp: "bg-black text-white rounded-none"
44
+ };
37
45
  var paletteVariantClasses = {
38
46
  primary: {
39
47
  solid: "bg-primary text-white hover:bg-primary/90 focus-visible:ring-primary",
48
+ sharp: "rounded-none bg-primary text-white hover:bg-primary/90 focus-visible:ring-primary",
40
49
  outline: "border border-primary text-primary bg-white hover:bg-primary hover:text-white focus-visible:ring-primary",
41
- ghost: "text-primary bg-primary/10 hover:bg-primary/20 focus-visible:ring-primary/40",
42
- text: "bg-transparent text-primary hover:bg-primary/10 focus-visible:ring-primary/30 underline-offset-2",
43
- bw: blackAndWhiteVariantClass
50
+ ghost: "text-primary bg-primary/10 hover:bg-primary/20 focus-visible:ring-primary/40 border border-transparent",
51
+ text: "bg-transparent text-primary hover:bg-primary/10 focus-visible:ring-primary/30 underline-offset-2 border border-transparent",
52
+ filled: "bg-primary/15 text-primary border border-primary/30 hover:bg-primary/25 focus-visible:ring-primary/25",
53
+ underlined: "bg-transparent text-primary border border-transparent underline decoration-2 underline-offset-4 hover:bg-primary/5 focus-visible:ring-primary/25",
54
+ rounded: "rounded-full border border-primary/60 bg-primary/10 text-primary hover:bg-primary/20 focus-visible:ring-primary/25"
44
55
  },
45
56
  neutral: {
46
57
  solid: "bg-gray-600 text-white hover:bg-gray-700 focus-visible:ring-gray-500",
58
+ sharp: "rounded-none bg-gray-600 text-white hover:bg-gray-700 focus-visible:ring-gray-500",
47
59
  outline: "border border-gray-400 text-gray-700 bg-white hover:bg-gray-700 hover:text-white focus-visible:ring-gray-400",
48
- ghost: "text-gray-700 bg-gray-100 hover:bg-gray-200 focus-visible:ring-gray-300",
49
- text: "bg-transparent text-gray-700 hover:bg-gray-100 focus-visible:ring-gray-200 underline-offset-2",
50
- bw: blackAndWhiteVariantClass
60
+ ghost: "text-gray-700 bg-gray-100 hover:bg-gray-200 focus-visible:ring-gray-300 border border-transparent",
61
+ text: "bg-transparent text-gray-700 hover:bg-gray-100 focus-visible:ring-gray-200 underline-offset-2 border border-transparent",
62
+ filled: "bg-gray-200 text-gray-900 border border-gray-300 hover:bg-gray-300 focus-visible:ring-gray-300",
63
+ underlined: "bg-transparent text-gray-900 border border-transparent underline decoration-2 underline-offset-4 hover:bg-gray-100 focus-visible:ring-gray-300",
64
+ rounded: "rounded-full border border-gray-400 bg-white text-gray-800 hover:bg-gray-100 focus-visible:ring-gray-300"
51
65
  },
52
66
  info: {
53
67
  solid: "bg-sky-500 text-white hover:bg-sky-600 focus-visible:ring-sky-400",
68
+ sharp: "rounded-none bg-sky-500 text-white hover:bg-sky-600 focus-visible:ring-sky-400",
54
69
  outline: "border border-sky-500 text-sky-600 bg-white hover:bg-sky-500 hover:text-white focus-visible:ring-sky-400",
55
- ghost: "text-sky-600 bg-sky-100 hover:bg-sky-200 focus-visible:ring-sky-300",
56
- text: "bg-transparent text-sky-600 hover:bg-sky-100 focus-visible:ring-sky-200 underline-offset-2",
57
- bw: blackAndWhiteVariantClass
70
+ ghost: "text-sky-600 bg-sky-100 hover:bg-sky-200 focus-visible:ring-sky-300 border border-transparent",
71
+ text: "bg-transparent text-sky-600 hover:bg-sky-100 focus-visible:ring-sky-200 underline-offset-2 border border-transparent",
72
+ filled: "bg-sky-100 text-sky-700 border border-sky-200 hover:bg-sky-200 focus-visible:ring-sky-200",
73
+ underlined: "bg-transparent text-sky-600 border border-transparent underline decoration-2 underline-offset-4 hover:bg-sky-50 focus-visible:ring-sky-200",
74
+ rounded: "rounded-full border border-sky-500/70 bg-sky-50 text-sky-700 hover:bg-sky-100 focus-visible:ring-sky-200"
58
75
  },
59
76
  success: {
60
77
  solid: "bg-emerald-500 text-white hover:bg-emerald-600 focus-visible:ring-emerald-400",
78
+ sharp: "rounded-none bg-emerald-500 text-white hover:bg-emerald-600 focus-visible:ring-emerald-400",
61
79
  outline: "border border-emerald-500 text-emerald-600 bg-white hover:bg-emerald-500 hover:text-white focus-visible:ring-emerald-400",
62
- ghost: "text-emerald-600 bg-emerald-100 hover:bg-emerald-200 focus-visible:ring-emerald-300",
63
- text: "bg-transparent text-emerald-600 hover:bg-emerald-100 focus-visible:ring-emerald-200 underline-offset-2",
64
- bw: blackAndWhiteVariantClass
80
+ ghost: "text-emerald-600 bg-emerald-100 hover:bg-emerald-200 focus-visible:ring-emerald-300 border border-transparent",
81
+ text: "bg-transparent text-emerald-600 hover:bg-emerald-100 focus-visible:ring-emerald-200 underline-offset-2 border border-transparent",
82
+ filled: "bg-emerald-100 text-emerald-700 border border-emerald-200 hover:bg-emerald-200 focus-visible:ring-emerald-200",
83
+ underlined: "bg-transparent text-emerald-600 border border-transparent underline decoration-2 underline-offset-4 hover:bg-emerald-50 focus-visible:ring-emerald-200",
84
+ rounded: "rounded-full border border-emerald-500/70 bg-emerald-50 text-emerald-700 hover:bg-emerald-100 focus-visible:ring-emerald-200"
65
85
  },
66
86
  warning: {
67
87
  solid: "bg-amber-500 text-white hover:bg-amber-600 focus-visible:ring-amber-400",
88
+ sharp: "rounded-none bg-amber-500 text-white hover:bg-amber-600 focus-visible:ring-amber-400",
68
89
  outline: "border border-amber-500 text-amber-600 bg-white hover:bg-amber-500 hover:text-white focus-visible:ring-amber-400",
69
- ghost: "text-amber-600 bg-amber-100 hover:bg-amber-200 focus-visible:ring-amber-300",
70
- text: "bg-transparent text-amber-600 hover:bg-amber-100 focus-visible:ring-amber-200 underline-offset-2",
71
- bw: blackAndWhiteVariantClass
90
+ ghost: "text-amber-600 bg-amber-100 hover:bg-amber-200 focus-visible:ring-amber-300 border border-transparent",
91
+ text: "bg-transparent text-amber-600 hover:bg-amber-100 focus-visible:ring-amber-200 underline-offset-2 border border-transparent",
92
+ filled: "bg-amber-100 text-amber-800 border border-amber-200 hover:bg-amber-200 focus-visible:ring-amber-200",
93
+ underlined: "bg-transparent text-amber-600 border border-transparent underline decoration-2 underline-offset-4 hover:bg-amber-50 focus-visible:ring-amber-200",
94
+ rounded: "rounded-full border border-amber-500/70 bg-amber-50 text-amber-700 hover:bg-amber-100 focus-visible:ring-amber-200"
72
95
  },
73
96
  danger: {
74
97
  solid: "bg-red-500 text-white hover:bg-red-600 focus-visible:ring-red-400",
98
+ sharp: "rounded-none bg-red-500 text-white hover:bg-red-600 focus-visible:ring-red-400",
75
99
  outline: "border border-red-500 text-red-600 bg-white hover:bg-red-500 hover:text-white focus-visible:ring-red-400",
76
- ghost: "text-red-600 bg-red-100 hover:bg-red-200 focus-visible:ring-red-300",
77
- text: "bg-transparent text-red-600 hover:bg-red-100 focus-visible:ring-red-200 underline-offset-2",
78
- bw: blackAndWhiteVariantClass
100
+ ghost: "text-red-600 bg-red-100 hover:bg-red-200 focus-visible:ring-red-300 border border-transparent",
101
+ text: "bg-transparent text-red-600 hover:bg-red-100 focus-visible:ring-red-200 underline-offset-2 border border-transparent",
102
+ filled: "bg-red-100 text-red-700 border border-red-200 hover:bg-red-200 focus-visible:ring-red-200",
103
+ underlined: "bg-transparent text-red-600 border border-transparent underline decoration-2 underline-offset-4 hover:bg-red-50 focus-visible:ring-red-200",
104
+ rounded: "rounded-full border border-red-500/70 bg-red-50 text-red-700 hover:bg-red-100 focus-visible:ring-red-200"
79
105
  },
80
106
  surface: {
81
107
  solid: "bg-white text-gray-900 border border-gray-200 hover:bg-gray-50 focus-visible:ring-gray-200",
108
+ sharp: "rounded-none bg-white text-gray-900 border border-gray-200 hover:bg-gray-50 focus-visible:ring-gray-200",
82
109
  outline: "border border-gray-300 text-gray-900 bg-white hover:bg-gray-100 focus-visible:ring-gray-200",
83
- ghost: "text-gray-900 bg-gray-100 hover:bg-gray-200 focus-visible:ring-gray-200",
84
- text: "bg-transparent text-gray-900 hover:bg-gray-100 focus-visible:ring-gray-200 underline-offset-2",
85
- bw: blackAndWhiteVariantClass
86
- }
110
+ ghost: "text-gray-900 bg-gray-100 hover:bg-gray-200 focus-visible:ring-gray-200 border border-transparent",
111
+ text: "bg-transparent text-gray-900 hover:bg-gray-100 focus-visible:ring-gray-200 underline-offset-2 border border-transparent",
112
+ filled: "bg-gray-50 text-gray-900 border border-gray-200 hover:bg-white focus-visible:ring-gray-200",
113
+ underlined: "bg-transparent text-gray-900 border border-transparent underline decoration-2 underline-offset-4 hover:bg-gray-100 focus-visible:ring-gray-200",
114
+ rounded: "rounded-full border border-gray-300 bg-white text-gray-900 hover:bg-gray-50 focus-visible:ring-gray-200"
115
+ },
116
+ bw: blackAndWhitePaletteClasses
87
117
  };
88
118
  var resolveVariantClass = (variant, palette) => {
89
119
  const paletteVariants = paletteVariantClasses[palette] ?? paletteVariantClasses.primary;
@@ -121,7 +151,7 @@ var sizeClasses = {
121
151
  large: "px-6 py-3 text-lg",
122
152
  "x-large": "px-7 py-3.5 text-xl"
123
153
  };
124
- var Button = React5__namespace.forwardRef(
154
+ var Button = React4__namespace.forwardRef(
125
155
  ({
126
156
  variant = "solid",
127
157
  color = "primary",
@@ -156,7 +186,7 @@ var Button = React5__namespace.forwardRef(
156
186
  ref,
157
187
  onClick,
158
188
  disabled: isDisabled,
159
- className: tailwindMerge.twMerge(base, cursor, variantClass, sizeClass, blockClass, gapClass, className, "border-2 border-l"),
189
+ className: tailwindMerge.twMerge(base, cursor, variantClass, sizeClass, blockClass, gapClass, className),
160
190
  "data-loading": loading || void 0,
161
191
  "aria-busy": loading || void 0,
162
192
  children: [
@@ -180,56 +210,88 @@ var chipSizeClasses = {
180
210
  };
181
211
  var closeButtonClasses = "ml-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-transparent text-current/70 transition-colors duration-200 hover:bg-current/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-current/30 focus-visible:ring-offset-2";
182
212
  var blackAndWhiteChipVariantClass = "bg-white text-black border border-black hover:bg-white focus-visible:ring-black/40 focus-visible:ring-offset-white";
213
+ var blackAndWhitePaletteClasses2 = {
214
+ solid: blackAndWhiteChipVariantClass,
215
+ outline: blackAndWhiteChipVariantClass,
216
+ ghost: blackAndWhiteChipVariantClass,
217
+ text: blackAndWhiteChipVariantClass,
218
+ filled: blackAndWhiteChipVariantClass,
219
+ underlined: blackAndWhiteChipVariantClass,
220
+ rounded: blackAndWhiteChipVariantClass,
221
+ sharp: `${blackAndWhiteChipVariantClass} rounded-none`
222
+ };
183
223
  var paletteVariantClasses2 = {
184
224
  primary: {
185
225
  solid: "bg-primary text-white border border-primary hover:bg-primary/90",
226
+ sharp: "rounded-none bg-primary text-white border border-primary hover:bg-primary/90",
186
227
  outline: "bg-transparent text-primary border border-primary hover:bg-primary/10",
187
228
  ghost: "bg-primary/15 text-primary border border-transparent hover:bg-primary/25",
188
229
  text: "bg-transparent text-primary border border-transparent hover:text-primary/80",
189
- bw: blackAndWhiteChipVariantClass
230
+ filled: "bg-primary/10 text-primary border border-primary/30 hover:bg-primary/20",
231
+ underlined: "bg-transparent text-primary border-0 border-b-2 border-primary px-0 rounded-none hover:text-primary/80",
232
+ rounded: "bg-white text-primary border border-primary/40 shadow-sm hover:bg-primary/5"
190
233
  },
191
234
  neutral: {
192
235
  solid: "bg-gray-900 text-white border border-gray-900 hover:bg-gray-800",
236
+ sharp: "rounded-none bg-gray-900 text-white border border-gray-900 hover:bg-gray-800",
193
237
  outline: "bg-transparent text-gray-900 border border-gray-500 hover:bg-gray-100",
194
238
  ghost: "bg-gray-100 text-gray-900 border border-transparent hover:bg-gray-200",
195
239
  text: "bg-transparent text-gray-900 border border-transparent hover:text-gray-700",
196
- bw: blackAndWhiteChipVariantClass
240
+ filled: "bg-gray-200 text-gray-900 border border-gray-300 hover:bg-gray-300",
241
+ underlined: "bg-transparent text-gray-900 border-0 border-b-2 border-gray-500 px-0 rounded-none hover:text-gray-700",
242
+ rounded: "bg-white text-gray-900 border border-gray-300 shadow-sm hover:bg-gray-100"
197
243
  },
198
244
  info: {
199
245
  solid: "bg-sky-500 text-white border border-sky-500 hover:bg-sky-600",
246
+ sharp: "rounded-none bg-sky-500 text-white border border-sky-500 hover:bg-sky-600",
200
247
  outline: "bg-transparent text-sky-600 border border-sky-500 hover:bg-sky-50",
201
248
  ghost: "bg-sky-100 text-sky-700 border border-transparent hover:bg-sky-200",
202
249
  text: "bg-transparent text-sky-600 border border-transparent hover:text-sky-700",
203
- bw: blackAndWhiteChipVariantClass
250
+ filled: "bg-sky-100 text-sky-700 border border-sky-200 hover:bg-sky-200",
251
+ underlined: "bg-transparent text-sky-600 border-0 border-b-2 border-sky-500 px-0 rounded-none hover:text-sky-700",
252
+ rounded: "bg-white text-sky-700 border border-sky-200 shadow-sm hover:bg-sky-50"
204
253
  },
205
254
  success: {
206
255
  solid: "bg-emerald-500 text-white border border-emerald-500 hover:bg-emerald-600",
256
+ sharp: "rounded-none bg-emerald-500 text-white border border-emerald-500 hover:bg-emerald-600",
207
257
  outline: "bg-transparent text-emerald-600 border border-emerald-500 hover:bg-emerald-50",
208
258
  ghost: "bg-emerald-100 text-emerald-700 border border-transparent hover:bg-emerald-200",
209
259
  text: "bg-transparent text-emerald-600 border border-transparent hover:text-emerald-700",
210
- bw: blackAndWhiteChipVariantClass
260
+ filled: "bg-emerald-100 text-emerald-700 border border-emerald-200 hover:bg-emerald-200",
261
+ underlined: "bg-transparent text-emerald-600 border-0 border-b-2 border-emerald-500 px-0 rounded-none hover:text-emerald-700",
262
+ rounded: "bg-white text-emerald-700 border border-emerald-200 shadow-sm hover:bg-emerald-50"
211
263
  },
212
264
  warning: {
213
265
  solid: "bg-amber-500 text-white border border-amber-500 hover:bg-amber-600",
266
+ sharp: "rounded-none bg-amber-500 text-white border border-amber-500 hover:bg-amber-600",
214
267
  outline: "bg-transparent text-amber-700 border border-amber-500 hover:bg-amber-50",
215
268
  ghost: "bg-amber-100 text-amber-800 border border-transparent hover:bg-amber-200",
216
269
  text: "bg-transparent text-amber-700 border border-transparent hover:text-amber-800",
217
- bw: blackAndWhiteChipVariantClass
270
+ filled: "bg-amber-100 text-amber-800 border border-amber-200 hover:bg-amber-200",
271
+ underlined: "bg-transparent text-amber-700 border-0 border-b-2 border-amber-500 px-0 rounded-none hover:text-amber-800",
272
+ rounded: "bg-white text-amber-700 border border-amber-200 shadow-sm hover:bg-amber-50"
218
273
  },
219
274
  danger: {
220
275
  solid: "bg-red-500 text-white border border-red-500 hover:bg-red-600",
276
+ sharp: "rounded-none bg-red-500 text-white border border-red-500 hover:bg-red-600",
221
277
  outline: "bg-transparent text-red-600 border border-red-500 hover:bg-red-50",
222
278
  ghost: "bg-red-100 text-red-700 border border-transparent hover:bg-red-200",
223
279
  text: "bg-transparent text-red-600 border border-transparent hover:text-red-700",
224
- bw: blackAndWhiteChipVariantClass
280
+ filled: "bg-red-100 text-red-700 border border-red-200 hover:bg-red-200",
281
+ underlined: "bg-transparent text-red-600 border-0 border-b-2 border-red-500 px-0 rounded-none hover:text-red-700",
282
+ rounded: "bg-white text-red-600 border border-red-200 shadow-sm hover:bg-red-50"
225
283
  },
226
284
  surface: {
227
285
  solid: "bg-white text-gray-900 border border-gray-200 hover:bg-gray-50",
286
+ sharp: "rounded-none bg-white text-gray-900 border border-gray-200 hover:bg-gray-50",
228
287
  outline: "bg-transparent text-gray-900 border border-gray-300 hover:bg-gray-50",
229
288
  ghost: "bg-gray-100 text-gray-900 border border-transparent hover:bg-gray-200",
230
289
  text: "bg-transparent text-gray-900 border border-transparent hover:text-gray-600",
231
- bw: blackAndWhiteChipVariantClass
232
- }
290
+ filled: "bg-gray-50 text-gray-900 border border-gray-200 hover:bg-white",
291
+ underlined: "bg-transparent text-gray-900 border-0 border-b-2 border-gray-400 px-0 rounded-none hover:text-gray-600",
292
+ rounded: "bg-white text-gray-900 border border-gray-200 shadow-sm hover:bg-gray-50"
293
+ },
294
+ bw: blackAndWhitePaletteClasses2
233
295
  };
234
296
  var resolveVariantClass2 = (variant, palette) => {
235
297
  const variants = paletteVariantClasses2[palette] ?? paletteVariantClasses2.primary;
@@ -260,7 +322,7 @@ var resolveIconClassName2 = (icon) => {
260
322
  const normalized = iconName.startsWith("mdi-") ? iconName : `mdi-${iconName}`;
261
323
  return Array.from(/* @__PURE__ */ new Set([...baseClasses, normalized])).join(" ");
262
324
  };
263
- var Chip = React5__namespace.forwardRef(
325
+ var Chip = React4__namespace.forwardRef(
264
326
  ({
265
327
  variant = "solid",
266
328
  color = "primary",
@@ -292,7 +354,7 @@ var Chip = React5__namespace.forwardRef(
292
354
  const appendIconClassName = resolveIconClassName2(appendIcon);
293
355
  const closeIconClassName = resolveIconClassName2(closeIcon);
294
356
  const filterIconClassName = filter && selected ? resolveIconClassName2(filterIcon) : void 0;
295
- const handleClick = React5__namespace.useCallback(
357
+ const handleClick = React4__namespace.useCallback(
296
358
  (event) => {
297
359
  if (disabled) {
298
360
  event.preventDefault();
@@ -303,7 +365,7 @@ var Chip = React5__namespace.forwardRef(
303
365
  },
304
366
  [disabled, onClick]
305
367
  );
306
- const handleKeyDown = React5__namespace.useCallback(
368
+ const handleKeyDown = React4__namespace.useCallback(
307
369
  (event) => {
308
370
  onKeyDown?.(event);
309
371
  if (event.defaultPrevented || disabled || !interactive) {
@@ -316,7 +378,7 @@ var Chip = React5__namespace.forwardRef(
316
378
  },
317
379
  [disabled, interactive, onKeyDown]
318
380
  );
319
- const handleCloseClick = React5__namespace.useCallback(
381
+ const handleCloseClick = React4__namespace.useCallback(
320
382
  (event) => {
321
383
  event.stopPropagation();
322
384
  if (disabled) {
@@ -327,7 +389,7 @@ var Chip = React5__namespace.forwardRef(
327
389
  },
328
390
  [disabled, onClose]
329
391
  );
330
- const handleCloseKeyDown = React5__namespace.useCallback((event) => {
392
+ const handleCloseKeyDown = React4__namespace.useCallback((event) => {
331
393
  if (event.key === " " || event.key === "Enter") {
332
394
  event.stopPropagation();
333
395
  }
@@ -396,9 +458,10 @@ var accentClasses = {
396
458
  success: { text: "text-emerald-600", bg: "bg-emerald-50", indicator: "bg-emerald-500" },
397
459
  warning: { text: "text-amber-700", bg: "bg-amber-50", indicator: "bg-amber-500" },
398
460
  danger: { text: "text-red-600", bg: "bg-red-50", indicator: "bg-red-500" },
399
- surface: { text: "text-gray-900", bg: "bg-gray-100", indicator: "bg-gray-900" }
461
+ surface: { text: "text-gray-900", bg: "bg-gray-100", indicator: "bg-gray-900" },
462
+ bw: { text: "text-gray-900", bg: "bg-gray-100", indicator: "bg-gray-900" }
400
463
  };
401
- var ListItem = React5__namespace.forwardRef((props, ref) => {
464
+ var ListItem = React4__namespace.forwardRef((props, ref) => {
402
465
  const {
403
466
  component,
404
467
  href,
@@ -418,6 +481,7 @@ var ListItem = React5__namespace.forwardRef((props, ref) => {
418
481
  nav: navOverride,
419
482
  divided: dividedOverride,
420
483
  color: colorOverride,
484
+ sharp: sharpOverride,
421
485
  className,
422
486
  children,
423
487
  tabIndex,
@@ -429,8 +493,9 @@ var ListItem = React5__namespace.forwardRef((props, ref) => {
429
493
  const nav = navOverride ?? false;
430
494
  const divided = dividedOverride ?? false;
431
495
  const color = colorOverride ?? "primary";
496
+ const sharp = sharpOverride ?? false;
432
497
  const accent = accentClasses[color] ?? accentClasses.primary;
433
- const shapeClass = divided ? "rounded-none" : "rounded-lg";
498
+ const shapeClass = divided || sharp ? "rounded-none" : "rounded-lg";
434
499
  const Component = component ?? (href ? "a" : "div");
435
500
  const interactive = typeof rest.onClick === "function" || Component === "a" || Component === "button";
436
501
  const resolvedRole = role ?? "listitem";
@@ -496,10 +561,13 @@ var Item_default = ListItem;
496
561
  var listBaseClasses = "flex w-full min-w-0 flex-col text-gray-900 transition-colors duration-150";
497
562
  var listVariantClasses = {
498
563
  solid: "bg-white border border-gray-200 shadow-sm shadow-gray-900/5",
564
+ sharp: "bg-white border border-gray-200 shadow-sm shadow-gray-900/5 rounded-none",
499
565
  outline: "bg-transparent border border-gray-300",
500
566
  ghost: "bg-gray-50 border border-transparent",
501
567
  text: "bg-transparent border border-transparent",
502
- bw: "bg-white text-black border border-black shadow-none"
568
+ filled: "bg-gray-50 border border-gray-200 shadow-inner shadow-gray-900/5",
569
+ underlined: "bg-transparent border border-transparent border-b border-gray-200 rounded-none",
570
+ rounded: "bg-white border border-gray-200 shadow-lg shadow-gray-900/10"
503
571
  };
504
572
  var listRoundedClasses = {
505
573
  none: "rounded-none",
@@ -510,13 +578,13 @@ var listRoundedClasses = {
510
578
  pill: "rounded-full"
511
579
  };
512
580
  var isListItemElement = (element) => {
513
- if (!React5__namespace.isValidElement(element)) {
581
+ if (!React4__namespace.isValidElement(element)) {
514
582
  return false;
515
583
  }
516
584
  const elementType = element.type;
517
585
  return element.type === Item_default || elementType.displayName === Item_default.displayName;
518
586
  };
519
- var List = React5__namespace.forwardRef((props, ref) => {
587
+ var List = React4__namespace.forwardRef((props, ref) => {
520
588
  const {
521
589
  variant = "solid",
522
590
  density = "default",
@@ -530,34 +598,36 @@ var List = React5__namespace.forwardRef((props, ref) => {
530
598
  children,
531
599
  ...rest
532
600
  } = props;
601
+ const isSharpVariant = variant === "sharp";
533
602
  const variantClass = listVariantClasses[variant] ?? listVariantClasses.solid;
534
- const roundedClass = listRoundedClasses[rounded] ?? listRoundedClasses.lg;
603
+ const roundedClass = isSharpVariant ? "rounded-none" : listRoundedClasses[rounded] ?? listRoundedClasses.lg;
535
604
  const dividerClass = divided ? "divide-y divide-gray-100" : void 0;
536
605
  const gapClass = divided ? "p-0" : "gap-1 p-1";
537
606
  const navClass = nav ? "py-1" : void 0;
538
- const accentColor = variant === "bw" ? "surface" : color;
607
+ const accentColor = color;
539
608
  const enhanceChild = (child) => {
540
- if (!React5__namespace.isValidElement(child)) {
609
+ if (!React4__namespace.isValidElement(child)) {
541
610
  return child;
542
611
  }
543
612
  if (isListItemElement(child)) {
544
- return React5__namespace.cloneElement(child, {
613
+ return React4__namespace.cloneElement(child, {
545
614
  density: child.props.density ?? density,
546
615
  lines: child.props.lines ?? lines,
547
616
  nav: child.props.nav ?? nav,
548
617
  divided: child.props.divided ?? divided,
549
- color: child.props.color ?? accentColor
618
+ color: child.props.color ?? accentColor,
619
+ sharp: child.props.sharp ?? isSharpVariant
550
620
  });
551
621
  }
552
622
  if (child.props && typeof child.props === "object" && "children" in child.props) {
553
- const nestedChildren = React5__namespace.Children.map(child.props.children, enhanceChild);
623
+ const nestedChildren = React4__namespace.Children.map(child.props.children, enhanceChild);
554
624
  if (nestedChildren !== child.props.children) {
555
- return React5__namespace.cloneElement(child, void 0, nestedChildren);
625
+ return React4__namespace.cloneElement(child, void 0, nestedChildren);
556
626
  }
557
627
  }
558
628
  return child;
559
629
  };
560
- const resolvedChildren = React5__namespace.Children.map(children, enhanceChild);
630
+ const resolvedChildren = React4__namespace.Children.map(children, enhanceChild);
561
631
  return /* @__PURE__ */ jsxRuntime.jsx(
562
632
  "div",
563
633
  {
@@ -571,8 +641,6 @@ var List = React5__namespace.forwardRef((props, ref) => {
571
641
  });
572
642
  List.displayName = "List";
573
643
  var List_default = List;
574
- var isBrowser = typeof window !== "undefined";
575
- var useIsomorphicLayoutEffect = isBrowser ? React5__namespace.useLayoutEffect : React5__namespace.useEffect;
576
644
  var placementClasses = {
577
645
  "bottom-start": "left-0 top-full origin-top-left",
578
646
  bottom: "left-1/2 top-full -translate-x-1/2 origin-top",
@@ -585,350 +653,75 @@ var offsetClasses = {
585
653
  top: "mb-2",
586
654
  bottom: "mt-2"
587
655
  };
588
- var menuBaseClasses = "absolute z-50 min-w-[10rem] rounded-xl border border-gray-200/80 bg-white/95 p-2 text-sm text-gray-700 shadow-lg shadow-gray-900/10 ring-1 ring-black/5 backdrop-blur-md transition-all duration-150 data-[state=closed]:pointer-events-none data-[state=closed]:opacity-0 data-[state=closed]:scale-95 data-[state=open]:opacity-100 data-[state=open]:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2";
656
+ var menuBaseClasses = "absolute z-50 min-w-[10rem] rounded-xl border border-gray-200/80 bg-white/95 p-2 text-sm text-gray-700 shadow-lg shadow-gray-900/10 ring-1 ring-black/5 backdrop-blur-md transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2";
589
657
  var overlayBaseClasses = "fixed inset-0 z-40 bg-gray-900/30 backdrop-blur-[1px]";
590
- var Menu = React5__namespace.forwardRef((props, ref) => {
658
+ var Menu = React4__namespace.forwardRef((props, ref) => {
591
659
  const {
592
660
  activator,
593
661
  children,
594
- open: openProp,
595
- defaultOpen = false,
596
- onOpenChange,
597
662
  placement = "bottom-start",
598
- openOnHover = false,
599
- closeOnContentClick = true,
663
+ open,
664
+ openOnHover = true,
665
+ openOnFocus = true,
600
666
  matchActivatorWidth = false,
601
667
  keepMounted = false,
602
- disabled = false,
603
668
  scrim = false,
604
669
  contentClassName,
605
670
  contentProps,
606
671
  overlayClassName,
607
672
  className,
608
- onMouseEnter: rootMouseEnter,
609
- onMouseLeave: rootMouseLeave,
610
673
  ...rest
611
674
  } = props;
612
- const baseId = React5__namespace.useId();
613
- const menuId = `${baseId}-menu`;
614
- const activatorId = `${baseId}-activator`;
615
- const isControlled = typeof openProp === "boolean";
616
- const [internalOpen, setInternalOpen] = React5__namespace.useState(defaultOpen);
617
- const open = isControlled ? Boolean(openProp) : internalOpen;
618
- const localRootRef = React5__namespace.useRef(null);
619
- const menuRef = React5__namespace.useRef(null);
620
- const activatorRef = React5__namespace.useRef(null);
621
- const closeTimeoutRef = React5__namespace.useRef(null);
622
- const mergedRootRef = React5__namespace.useCallback(
623
- (node) => {
624
- localRootRef.current = node;
625
- if (typeof ref === "function") {
626
- ref(node);
627
- } else if (ref) {
628
- ref.current = node;
629
- }
630
- },
631
- [ref]
632
- );
633
- const [activatorWidth, setActivatorWidth] = React5__namespace.useState();
634
- const updateActivatorWidth = React5__namespace.useCallback(() => {
635
- if (!matchActivatorWidth) {
636
- setActivatorWidth(void 0);
637
- return;
638
- }
639
- const node = activatorRef.current;
640
- if (!node) {
641
- return;
642
- }
643
- setActivatorWidth(node.getBoundingClientRect().width);
644
- }, [matchActivatorWidth]);
645
- useIsomorphicLayoutEffect(() => {
646
- if (!matchActivatorWidth) {
647
- return;
648
- }
649
- updateActivatorWidth();
650
- if (!activatorRef.current || typeof ResizeObserver === "undefined") {
651
- return;
652
- }
653
- const observer = new ResizeObserver(() => updateActivatorWidth());
654
- observer.observe(activatorRef.current);
655
- return () => observer.disconnect();
656
- }, [matchActivatorWidth, updateActivatorWidth]);
657
- const setOpen = React5__namespace.useCallback(
658
- (nextOpen) => {
659
- if (disabled || open === nextOpen) {
660
- return;
661
- }
662
- if (!isControlled) {
663
- setInternalOpen(nextOpen);
664
- }
665
- onOpenChange?.(nextOpen);
666
- },
667
- [disabled, isControlled, onOpenChange, open]
668
- );
669
- React5__namespace.useEffect(() => {
670
- if (!disabled || !open) {
671
- return;
672
- }
673
- if (!isControlled) {
674
- setInternalOpen(false);
675
- }
676
- onOpenChange?.(false);
677
- }, [disabled, open, isControlled, onOpenChange]);
678
- React5__namespace.useEffect(() => {
679
- if (!open) {
680
- return;
681
- }
682
- const handlePointerDown = (event) => {
683
- const target = event.target;
684
- if (!target) {
685
- return;
686
- }
687
- if (localRootRef.current?.contains(target)) {
688
- return;
689
- }
690
- setOpen(false);
691
- };
692
- const handleKeyDown = (event) => {
693
- if (event.key === "Escape") {
694
- event.stopPropagation();
695
- setOpen(false);
696
- activatorRef.current?.focus();
697
- }
698
- };
699
- document.addEventListener("pointerdown", handlePointerDown);
700
- document.addEventListener("keydown", handleKeyDown);
701
- return () => {
702
- document.removeEventListener("pointerdown", handlePointerDown);
703
- document.removeEventListener("keydown", handleKeyDown);
704
- };
705
- }, [open, setOpen]);
706
- React5__namespace.useEffect(() => {
707
- if (!open) {
708
- return;
709
- }
710
- const node = menuRef.current;
711
- if (!node) {
712
- return;
713
- }
714
- const id = window.requestAnimationFrame(() => {
715
- node.focus({ preventScroll: true });
716
- });
717
- return () => window.cancelAnimationFrame(id);
718
- }, [open]);
719
- const setActivatorNode = React5__namespace.useCallback(
720
- (node) => {
721
- activatorRef.current = node;
722
- if (node && matchActivatorWidth) {
723
- setActivatorWidth(node.getBoundingClientRect().width);
724
- }
725
- },
726
- [matchActivatorWidth]
727
- );
728
- const handleActivatorClick = React5__namespace.useCallback(
729
- (event) => {
730
- event.preventDefault();
731
- if (disabled) {
732
- return;
733
- }
734
- setOpen(!open);
735
- },
736
- [disabled, open, setOpen]
737
- );
738
- const handleActivatorKeyDown = React5__namespace.useCallback(
739
- (event) => {
740
- if (event.key === "Enter" || event.key === " ") {
741
- event.preventDefault();
742
- setOpen(!open);
743
- }
744
- if (event.key === "ArrowDown") {
745
- event.preventDefault();
746
- setOpen(true);
747
- }
748
- },
749
- [open, setOpen]
750
- );
751
- const clearCloseTimeout = React5__namespace.useCallback(() => {
752
- if (closeTimeoutRef.current !== null) {
753
- if (isBrowser) {
754
- window.clearTimeout(closeTimeoutRef.current);
755
- }
756
- closeTimeoutRef.current = null;
757
- }
758
- }, []);
759
- const scheduleClose = React5__namespace.useCallback(() => {
760
- if (!isBrowser) {
761
- setOpen(false);
762
- return;
675
+ const hasContent = children !== void 0 && children !== null;
676
+ const manual = typeof open === "boolean";
677
+ const visible = Boolean(open);
678
+ const shouldRenderContent = hasContent && (keepMounted || visible || !manual && (openOnHover || openOnFocus));
679
+ const verticalPlacement = placement.startsWith("top") ? "top" : "bottom";
680
+ const visibilityClasses = (() => {
681
+ if (manual) {
682
+ return visible ? "pointer-events-auto opacity-100 scale-100" : "pointer-events-none opacity-0 scale-95";
763
683
  }
764
- clearCloseTimeout();
765
- closeTimeoutRef.current = window.setTimeout(() => {
766
- setOpen(false);
767
- closeTimeoutRef.current = null;
768
- }, 150);
769
- }, [clearCloseTimeout, setOpen]);
770
- React5__namespace.useEffect(() => {
771
- return () => clearCloseTimeout();
772
- }, [clearCloseTimeout]);
773
- const isMovingWithinMenu = React5__namespace.useCallback(
774
- (event) => {
775
- const nextTarget = event.relatedTarget;
776
- if (!nextTarget || !localRootRef.current) {
777
- return false;
778
- }
779
- return localRootRef.current.contains(nextTarget);
780
- },
781
- [localRootRef]
782
- );
783
- const handleRootMouseEnter = React5__namespace.useCallback(
784
- (event) => {
785
- rootMouseEnter?.(event);
786
- if (event.defaultPrevented) {
787
- return;
788
- }
789
- if (openOnHover) {
790
- clearCloseTimeout();
791
- setOpen(true);
792
- }
793
- },
794
- [clearCloseTimeout, openOnHover, rootMouseEnter, setOpen]
795
- );
796
- const handleRootMouseLeave = React5__namespace.useCallback(
797
- (event) => {
798
- rootMouseLeave?.(event);
799
- if (event.defaultPrevented) {
800
- return;
801
- }
802
- if (openOnHover) {
803
- if (isMovingWithinMenu(event)) {
804
- return;
805
- }
806
- scheduleClose();
807
- }
808
- },
809
- [isMovingWithinMenu, openOnHover, rootMouseLeave, scheduleClose]
810
- );
811
- const handleActivatorMouseEnter = React5__namespace.useCallback(
812
- (_event) => {
813
- if (disabled) {
814
- return;
815
- }
816
- clearCloseTimeout();
817
- setOpen(true);
818
- },
819
- [clearCloseTimeout, disabled, setOpen]
820
- );
821
- const handleActivatorMouseLeave = React5__namespace.useCallback(
822
- (event) => {
823
- if (disabled || !openOnHover) {
824
- return;
825
- }
826
- if (isMovingWithinMenu(event)) {
827
- return;
828
- }
829
- scheduleClose();
830
- },
831
- [disabled, isMovingWithinMenu, openOnHover, scheduleClose]
832
- );
684
+ const base2 = "pointer-events-none opacity-0 scale-95";
685
+ const hover = openOnHover ? " group-hover/menu:pointer-events-auto group-hover/menu:opacity-100 group-hover/menu:scale-100" : "";
686
+ const focus = openOnFocus ? " group-focus-within/menu:pointer-events-auto group-focus-within/menu:opacity-100 group-focus-within/menu:scale-100" : "";
687
+ return `${base2}${hover}${focus}`;
688
+ })();
833
689
  const {
834
- className: contentClass,
690
+ className: contentExtraClassName,
835
691
  style: contentStyle,
836
- onClick: contentOnClick,
837
- onMouseEnter: contentOnMouseEnter,
838
- onMouseLeave: contentOnMouseLeave,
839
692
  role: contentRole,
840
693
  tabIndex: contentTabIndex,
841
- ["aria-labelledby"]: ariaLabelledBy,
842
694
  ...restContentProps
843
695
  } = contentProps ?? {};
844
- const shouldRenderContent = open || keepMounted;
845
- const verticalPlacement = placement.startsWith("top") ? "top" : "bottom";
846
- const activatorElement = activator({
847
- ref: setActivatorNode,
848
- id: activatorId,
849
- "aria-haspopup": "menu",
850
- "aria-expanded": open,
851
- "aria-controls": menuId,
852
- onClick: handleActivatorClick,
853
- onKeyDown: handleActivatorKeyDown,
854
- onMouseEnter: openOnHover ? handleActivatorMouseEnter : void 0,
855
- onMouseLeave: openOnHover ? handleActivatorMouseLeave : void 0,
856
- disabled,
857
- open
858
- });
696
+ const overlayNode = scrim && visible ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: tailwindMerge.twMerge(overlayBaseClasses, overlayClassName), "aria-hidden": true }) : null;
859
697
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
860
- scrim && open ? /* @__PURE__ */ jsxRuntime.jsx(
861
- "div",
862
- {
863
- className: tailwindMerge.twMerge(overlayBaseClasses, overlayClassName),
864
- "aria-hidden": true,
865
- onClick: () => setOpen(false),
866
- onMouseDown: (event) => event.preventDefault()
867
- }
868
- ) : null,
698
+ overlayNode,
869
699
  /* @__PURE__ */ jsxRuntime.jsxs(
870
700
  "div",
871
701
  {
872
702
  ...rest,
873
- ref: mergedRootRef,
874
- className: tailwindMerge.twMerge("relative inline-flex min-w-0", className),
875
- "data-open": open || void 0,
876
- onMouseEnter: openOnHover ? handleRootMouseEnter : rootMouseEnter,
877
- onMouseLeave: openOnHover ? handleRootMouseLeave : rootMouseLeave,
703
+ ref,
704
+ className: tailwindMerge.twMerge("relative inline-flex min-w-0 group/menu", className),
705
+ "data-open": visible || void 0,
878
706
  children: [
879
- activatorElement,
707
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex w-full min-w-0", children: activator }),
880
708
  shouldRenderContent ? /* @__PURE__ */ jsxRuntime.jsx(
881
709
  "div",
882
710
  {
883
711
  ...restContentProps,
884
- ref: menuRef,
885
- id: menuId,
886
- role: contentRole ?? "menu",
887
- tabIndex: contentTabIndex ?? -1,
888
- "aria-labelledby": ariaLabelledBy ?? activatorId,
889
- "data-state": open ? "open" : "closed",
890
712
  className: tailwindMerge.twMerge(
891
713
  menuBaseClasses,
892
714
  placementClasses[placement],
893
715
  offsetClasses[verticalPlacement],
716
+ matchActivatorWidth ? "min-w-full" : void 0,
717
+ visibilityClasses,
894
718
  contentClassName,
895
- contentClass
719
+ contentExtraClassName
896
720
  ),
897
- style: {
898
- ...contentStyle,
899
- ...matchActivatorWidth && activatorWidth ? { minWidth: activatorWidth, width: activatorWidth } : void 0
900
- },
901
- onMouseEnter: (event) => {
902
- contentOnMouseEnter?.(event);
903
- if (event.defaultPrevented) {
904
- return;
905
- }
906
- if (openOnHover) {
907
- clearCloseTimeout();
908
- setOpen(true);
909
- }
910
- },
911
- onMouseLeave: (event) => {
912
- contentOnMouseLeave?.(event);
913
- if (event.defaultPrevented) {
914
- return;
915
- }
916
- if (openOnHover) {
917
- if (isMovingWithinMenu(event)) {
918
- return;
919
- }
920
- scheduleClose();
921
- }
922
- },
923
- onClick: (event) => {
924
- contentOnClick?.(event);
925
- if (event.defaultPrevented) {
926
- return;
927
- }
928
- if (closeOnContentClick) {
929
- setOpen(false);
930
- }
931
- },
721
+ "data-state": visible ? "open" : "closed",
722
+ role: contentRole ?? "menu",
723
+ tabIndex: contentTabIndex ?? -1,
724
+ style: contentStyle,
932
725
  children
933
726
  }
934
727
  ) : null
@@ -939,6 +732,462 @@ var Menu = React5__namespace.forwardRef((props, ref) => {
939
732
  });
940
733
  Menu.displayName = "Menu";
941
734
  var Menu_default = Menu;
735
+ var ExpansionPanelContext = React4__namespace.createContext(null);
736
+ var densityClasses2 = {
737
+ comfortable: "py-5",
738
+ default: "py-4",
739
+ compact: "py-3"
740
+ };
741
+ var roundedClasses = {
742
+ none: "rounded-none",
743
+ sm: "rounded-sm",
744
+ md: "rounded-md",
745
+ lg: "rounded-lg",
746
+ xl: "rounded-xl"
747
+ };
748
+ var itemVariantClasses = {
749
+ elevated: "bg-white border border-gray-200 shadow-sm shadow-gray-900/5",
750
+ outlined: "bg-white border border-gray-200",
751
+ tonal: "bg-gray-50 border border-gray-100",
752
+ plain: "bg-transparent border border-transparent"
753
+ };
754
+ var accentClasses2 = {
755
+ primary: { text: "text-primary", bg: "bg-primary/5", border: "border-primary/30" },
756
+ neutral: { text: "text-gray-900", bg: "bg-gray-100", border: "border-gray-200" },
757
+ info: { text: "text-sky-600", bg: "bg-sky-50", border: "border-sky-200" },
758
+ success: { text: "text-emerald-600", bg: "bg-emerald-50", border: "border-emerald-200" },
759
+ warning: { text: "text-amber-600", bg: "bg-amber-50", border: "border-amber-200" },
760
+ danger: { text: "text-red-600", bg: "bg-red-50", border: "border-red-200" },
761
+ surface: { text: "text-gray-900", bg: "bg-gray-100", border: "border-gray-200" },
762
+ bw: { text: "text-gray-900", bg: "bg-gray-100", border: "border-gray-200" }
763
+ };
764
+ var ExpansionPanelItem = React4__namespace.forwardRef((props, ref) => {
765
+ const {
766
+ value,
767
+ title,
768
+ subtitle,
769
+ text,
770
+ prepend,
771
+ append,
772
+ expandIcon,
773
+ collapseIcon,
774
+ hideToggleIcon = false,
775
+ headerClassName,
776
+ contentClassName,
777
+ className,
778
+ disabled = false,
779
+ children,
780
+ color: colorOverride,
781
+ ...rest
782
+ } = props;
783
+ const context = React4__namespace.useContext(ExpansionPanelContext);
784
+ const generatedValue = React4__namespace.useId();
785
+ const panelValue = value ?? generatedValue;
786
+ const density = context?.density ?? "default";
787
+ const color = colorOverride ?? context?.color ?? "primary";
788
+ const divider = context?.divider ?? true;
789
+ const variant = context?.variant ?? "elevated";
790
+ const rounded = context?.rounded ?? "lg";
791
+ const accent = accentClasses2[color] ?? accentClasses2.primary;
792
+ const headerId = React4__namespace.useId();
793
+ const contentId = React4__namespace.useId();
794
+ const [standaloneExpanded, setStandaloneExpanded] = React4__namespace.useState(false);
795
+ const isExpanded = context ? context.expandedValues.includes(panelValue) : standaloneExpanded;
796
+ const handleToggle = () => {
797
+ if (disabled) {
798
+ return;
799
+ }
800
+ if (context) {
801
+ context.toggle(panelValue, disabled);
802
+ } else {
803
+ setStandaloneExpanded((prev) => !prev);
804
+ }
805
+ };
806
+ const rootSurface = divider ? "bg-transparent border-0 shadow-none" : itemVariantClasses[variant];
807
+ const shapeClass = divider ? void 0 : roundedClasses[rounded] ?? roundedClasses.lg;
808
+ const densityPadding = densityClasses2[density] ?? densityClasses2.default;
809
+ const disabledClass = disabled ? "cursor-not-allowed opacity-60" : "cursor-pointer";
810
+ const titleClass = isExpanded ? accent.text : void 0;
811
+ const activeBorderClass = tailwindMerge.twMerge("border-l-2 border-transparent", isExpanded ? accent.border : void 0);
812
+ const defaultToggleIcon = /* @__PURE__ */ jsxRuntime.jsx("i", { className: "mdi mdi-chevron-down text-lg leading-none transition-transform duration-200", "aria-hidden": true });
813
+ const hasContent = Boolean(children ?? text);
814
+ const contentAnimationClass = isExpanded ? "pb-5 opacity-100" : "pb-0 opacity-0";
815
+ const toggleIconNode = hideToggleIcon ? null : isExpanded && collapseIcon ? collapseIcon : expandIcon ?? defaultToggleIcon;
816
+ const shouldRotateDefaultIcon = !expandIcon && !collapseIcon && !hideToggleIcon;
817
+ const toggleWrapperClass = tailwindMerge.twMerge(
818
+ "ml-3 flex h-6 w-6 items-center justify-center text-gray-500 transition-transform duration-200",
819
+ shouldRotateDefaultIcon && isExpanded ? "rotate-180" : void 0
820
+ );
821
+ return /* @__PURE__ */ jsxRuntime.jsxs(
822
+ "div",
823
+ {
824
+ ...rest,
825
+ ref,
826
+ className: tailwindMerge.twMerge(
827
+ "expansion-panel-item flex flex-col overflow-hidden transition-colors duration-200",
828
+ rootSurface,
829
+ shapeClass,
830
+ className
831
+ ),
832
+ "data-state": isExpanded ? "open" : "closed",
833
+ "data-disabled": disabled || void 0,
834
+ children: [
835
+ /* @__PURE__ */ jsxRuntime.jsxs(
836
+ "button",
837
+ {
838
+ type: "button",
839
+ id: headerId,
840
+ onClick: handleToggle,
841
+ disabled,
842
+ "aria-expanded": isExpanded,
843
+ "aria-controls": hasContent ? contentId : void 0,
844
+ className: tailwindMerge.twMerge(
845
+ "flex w-full items-center gap-4 px-4 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40",
846
+ densityPadding,
847
+ disabledClass,
848
+ isExpanded ? accent.bg : void 0,
849
+ headerClassName
850
+ ),
851
+ "data-state": isExpanded ? "open" : "closed",
852
+ children: [
853
+ prepend && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-10 w-10 items-center justify-center text-gray-500", children: prepend }),
854
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-1 flex-col gap-0.5 text-left", children: [
855
+ title && /* @__PURE__ */ jsxRuntime.jsx("span", { className: tailwindMerge.twMerge("truncate font-medium text-gray-900", titleClass), children: title }),
856
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-gray-500", children: subtitle })
857
+ ] }),
858
+ append && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto flex items-center gap-2 text-sm text-gray-500", children: append }),
859
+ !hideToggleIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: toggleWrapperClass, children: toggleIconNode })
860
+ ]
861
+ }
862
+ ),
863
+ hasContent && /* @__PURE__ */ jsxRuntime.jsx(
864
+ "div",
865
+ {
866
+ className: "grid overflow-hidden border-t border-gray-100 transition-all duration-200 ease-in-out",
867
+ style: { gridTemplateRows: isExpanded ? "1fr" : "0fr" },
868
+ "aria-hidden": isExpanded ? void 0 : true,
869
+ "data-state": isExpanded ? "open" : "closed",
870
+ children: /* @__PURE__ */ jsxRuntime.jsx(
871
+ "div",
872
+ {
873
+ id: contentId,
874
+ role: "region",
875
+ "aria-labelledby": headerId,
876
+ "data-state": isExpanded ? "open" : "closed",
877
+ className: tailwindMerge.twMerge(
878
+ "min-h-0 px-4 pt-0 text-sm text-gray-600 transition-all duration-200",
879
+ activeBorderClass,
880
+ contentAnimationClass,
881
+ isExpanded ? "pointer-events-auto" : "pointer-events-none",
882
+ contentClassName
883
+ ),
884
+ children: children ?? text
885
+ }
886
+ )
887
+ }
888
+ )
889
+ ]
890
+ }
891
+ );
892
+ });
893
+ ExpansionPanelItem.displayName = "ExpansionPanelItem";
894
+ var ExpansionPanelItem_default = ExpansionPanelItem;
895
+ var variantContainerClasses = {
896
+ elevated: "bg-white border border-gray-200 shadow-lg shadow-gray-900/10",
897
+ outlined: "bg-white border border-gray-200",
898
+ tonal: "bg-gray-50 border border-gray-100",
899
+ plain: "bg-transparent border border-transparent"
900
+ };
901
+ var roundedClasses2 = {
902
+ none: "rounded-none",
903
+ sm: "rounded-sm",
904
+ md: "rounded-md",
905
+ lg: "rounded-lg",
906
+ xl: "rounded-xl"
907
+ };
908
+ var uniqueValues = (values) => Array.from(new Set(values));
909
+ var normalizeValues = (value, allowMultiple) => {
910
+ if (value === void 0 || value === null) {
911
+ return [];
912
+ }
913
+ const normalized = Array.isArray(value) ? value : [value];
914
+ if (allowMultiple) {
915
+ return uniqueValues(normalized);
916
+ }
917
+ return normalized.length ? [normalized[0]] : [];
918
+ };
919
+ var clampValues = (values, allowMultiple) => allowMultiple ? uniqueValues(values) : values.length ? [values[0]] : [];
920
+ var ExpansionPanel = React4__namespace.forwardRef((props, ref) => {
921
+ const {
922
+ variant = "elevated",
923
+ rounded = "lg",
924
+ density = "default",
925
+ color = "primary",
926
+ divider = true,
927
+ multiple = false,
928
+ value,
929
+ defaultValue,
930
+ onChange,
931
+ className,
932
+ children,
933
+ ...rest
934
+ } = props;
935
+ const isControlled = value !== void 0;
936
+ const controlledValues = React4__namespace.useMemo(() => {
937
+ if (!isControlled) {
938
+ return void 0;
939
+ }
940
+ return normalizeValues(value, multiple);
941
+ }, [isControlled, value, multiple]);
942
+ const [internalValues, setInternalValues] = React4__namespace.useState(
943
+ () => normalizeValues(defaultValue, multiple)
944
+ );
945
+ const expandedValues = controlledValues ?? internalValues;
946
+ React4__namespace.useEffect(() => {
947
+ if (!isControlled) {
948
+ setInternalValues((prev) => clampValues(prev, multiple));
949
+ }
950
+ }, [multiple, isControlled]);
951
+ const handleValueChange = React4__namespace.useCallback(
952
+ (next) => {
953
+ if (!isControlled) {
954
+ setInternalValues(next);
955
+ }
956
+ if (onChange) {
957
+ if (multiple) {
958
+ onChange(next);
959
+ } else {
960
+ onChange(next[0] ?? null);
961
+ }
962
+ }
963
+ },
964
+ [isControlled, multiple, onChange]
965
+ );
966
+ const toggle = React4__namespace.useCallback(
967
+ (panelValue, disabled) => {
968
+ if (disabled) {
969
+ return;
970
+ }
971
+ const isActive = expandedValues.includes(panelValue);
972
+ const next = multiple ? isActive ? expandedValues.filter((v) => v !== panelValue) : [...expandedValues, panelValue] : isActive ? [] : [panelValue];
973
+ handleValueChange(next);
974
+ },
975
+ [expandedValues, handleValueChange, multiple]
976
+ );
977
+ const providerValue = React4__namespace.useMemo(
978
+ () => ({ expandedValues, toggle, density, color, divider, rounded, variant }),
979
+ [expandedValues, toggle, density, color, divider, rounded, variant]
980
+ );
981
+ const variantClass = divider ? variantContainerClasses[variant] : "bg-transparent border border-transparent shadow-none";
982
+ const shapeClass = roundedClasses2[rounded] ?? roundedClasses2.lg;
983
+ const layoutClass = divider ? "divide-y divide-gray-100 overflow-hidden" : "gap-4";
984
+ return /* @__PURE__ */ jsxRuntime.jsx(ExpansionPanelContext.Provider, { value: providerValue, children: /* @__PURE__ */ jsxRuntime.jsx(
985
+ "div",
986
+ {
987
+ ...rest,
988
+ ref,
989
+ className: tailwindMerge.twMerge("expansion-panel flex w-full flex-col text-gray-900", variantClass, shapeClass, layoutClass, className),
990
+ children
991
+ }
992
+ ) });
993
+ });
994
+ ExpansionPanel.displayName = "ExpansionPanel";
995
+ var ExpansionPanel_default = ExpansionPanel;
996
+ var containerBaseClasses = "fixed inset-0 z-[70] flex items-center justify-center p-4 sm:p-8 data-[state=closed]:pointer-events-none";
997
+ var overlayBaseClasses2 = "absolute inset-0 bg-gray-900/55 backdrop-blur-[2px] transition-opacity duration-200 data-[state=closed]:opacity-0 data-[state=open]:opacity-100";
998
+ var panelWrapperClasses = "relative z-10 flex w-full max-h-[95vh] justify-center transition-transform transition-opacity duration-200 data-[state=closed]:translate-y-4 data-[state=closed]:opacity-0 data-[state=open]:translate-y-0 data-[state=open]:opacity-100";
999
+ var panelBaseClasses = "pointer-events-auto w-full max-h-[90vh] overflow-auto rounded-2xl bg-white p-6 text-gray-900 shadow-2xl shadow-black/20 ring-1 ring-black/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40";
1000
+ var resolveSizeValue = (value) => {
1001
+ if (value === void 0) {
1002
+ return void 0;
1003
+ }
1004
+ return typeof value === "number" ? `${value}px` : value;
1005
+ };
1006
+ var Dialog = React4__namespace.forwardRef((props, forwardedRef) => {
1007
+ const {
1008
+ activator,
1009
+ children,
1010
+ open = false,
1011
+ keepMounted = false,
1012
+ scrim = true,
1013
+ fullscreen = false,
1014
+ maxWidth = "32rem",
1015
+ width,
1016
+ containerClassName,
1017
+ overlayClassName,
1018
+ overlayProps,
1019
+ className,
1020
+ style,
1021
+ role: roleProp = "dialog",
1022
+ tabIndex = -1,
1023
+ id,
1024
+ ["aria-modal"]: ariaModalProp,
1025
+ ...rest
1026
+ } = props;
1027
+ const state = open ? "open" : "closed";
1028
+ const shouldRenderDialog = keepMounted || open;
1029
+ const resolvedStyle = { ...style };
1030
+ if (fullscreen) {
1031
+ if (resolvedStyle.maxWidth === void 0) {
1032
+ resolvedStyle.maxWidth = "none";
1033
+ }
1034
+ if (resolvedStyle.width === void 0) {
1035
+ resolvedStyle.width = "100%";
1036
+ }
1037
+ if (resolvedStyle.height === void 0) {
1038
+ resolvedStyle.height = "100%";
1039
+ }
1040
+ if (resolvedStyle.maxHeight === void 0) {
1041
+ resolvedStyle.maxHeight = "100%";
1042
+ }
1043
+ } else {
1044
+ if (resolvedStyle.maxWidth === void 0) {
1045
+ resolvedStyle.maxWidth = resolveSizeValue(maxWidth);
1046
+ }
1047
+ if (width !== void 0 && resolvedStyle.width === void 0) {
1048
+ resolvedStyle.width = resolveSizeValue(width);
1049
+ }
1050
+ }
1051
+ const ariaModal = ariaModalProp ?? (roleProp === "dialog" || roleProp === "alertdialog" ? true : void 0);
1052
+ const { className: overlayExtraClassName, ...restOverlayProps } = overlayProps ?? {};
1053
+ const overlayNode = shouldRenderDialog && scrim ? /* @__PURE__ */ jsxRuntime.jsx(
1054
+ "div",
1055
+ {
1056
+ ...restOverlayProps,
1057
+ className: tailwindMerge.twMerge(overlayBaseClasses2, overlayClassName, overlayExtraClassName),
1058
+ "data-state": state,
1059
+ "aria-hidden": true
1060
+ }
1061
+ ) : null;
1062
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1063
+ activator ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex", children: activator }) : null,
1064
+ shouldRenderDialog ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tailwindMerge.twMerge(containerBaseClasses, containerClassName), "data-state": state, "aria-hidden": !open, children: [
1065
+ overlayNode,
1066
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: tailwindMerge.twMerge(panelWrapperClasses, fullscreen ? "h-full items-stretch" : "mx-auto"), "data-state": state, children: /* @__PURE__ */ jsxRuntime.jsx(
1067
+ "div",
1068
+ {
1069
+ ...rest,
1070
+ ref: forwardedRef,
1071
+ id,
1072
+ role: roleProp,
1073
+ tabIndex,
1074
+ "aria-modal": ariaModal,
1075
+ className: tailwindMerge.twMerge(panelBaseClasses, fullscreen ? "h-full w-full max-w-none rounded-none" : void 0, className),
1076
+ style: resolvedStyle,
1077
+ "data-state": state,
1078
+ children
1079
+ }
1080
+ ) })
1081
+ ] }) : null
1082
+ ] });
1083
+ });
1084
+ Dialog.displayName = "Dialog";
1085
+ var Dialog_default = Dialog;
1086
+ var tooltipBaseClasses = "absolute z-[60] max-w-xs rounded-lg border border-white/10 bg-gray-900 px-3 py-2 text-xs font-medium text-white shadow-lg shadow-black/30 ring-1 ring-black/40 transition-all duration-150";
1087
+ var wrapperBaseClasses = "relative inline-flex max-w-full align-middle";
1088
+ var arrowBaseClasses = "pointer-events-none absolute h-2 w-2 rotate-45 border border-white/10 bg-gray-900 shadow-lg shadow-black/20";
1089
+ var resolveSizeValue2 = (value) => {
1090
+ if (value === void 0) {
1091
+ return void 0;
1092
+ }
1093
+ return typeof value === "number" ? `${value}px` : value;
1094
+ };
1095
+ var placementClasses2 = {
1096
+ top: "bottom-full left-1/2 -translate-x-1/2 -translate-y-2 origin-bottom",
1097
+ "top-start": "bottom-full left-0 -translate-y-2 origin-bottom-left",
1098
+ "top-end": "bottom-full right-0 -translate-y-2 origin-bottom-right",
1099
+ bottom: "top-full left-1/2 -translate-x-1/2 translate-y-2 origin-top",
1100
+ "bottom-start": "top-full left-0 translate-y-2 origin-top-left",
1101
+ "bottom-end": "top-full right-0 translate-y-2 origin-top-right",
1102
+ left: "right-full top-1/2 -translate-y-1/2 -translate-x-2 origin-right",
1103
+ "left-start": "right-full top-0 -translate-x-2 origin-top-right",
1104
+ "left-end": "right-full bottom-0 -translate-x-2 origin-bottom-right",
1105
+ right: "left-full top-1/2 -translate-y-1/2 translate-x-2 origin-left",
1106
+ "right-start": "left-full top-0 translate-x-2 origin-top-left",
1107
+ "right-end": "left-full bottom-0 translate-x-2 origin-bottom-left"
1108
+ };
1109
+ var arrowPlacementClasses = {
1110
+ top: "left-1/2 top-full -translate-x-1/2 -translate-y-1/2",
1111
+ "top-start": "left-4 top-full -translate-y-1/2",
1112
+ "top-end": "right-4 top-full -translate-y-1/2",
1113
+ bottom: "left-1/2 bottom-full -translate-x-1/2 translate-y-1/2",
1114
+ "bottom-start": "left-4 bottom-full translate-y-1/2",
1115
+ "bottom-end": "right-4 bottom-full translate-y-1/2",
1116
+ left: "right-full top-1/2 -translate-y-1/2 translate-x-1/2",
1117
+ "left-start": "right-full top-4 translate-x-1/2",
1118
+ "left-end": "right-full bottom-4 translate-x-1/2",
1119
+ right: "left-full top-1/2 -translate-y-1/2 -translate-x-1/2",
1120
+ "right-start": "left-full top-4 -translate-x-1/2",
1121
+ "right-end": "left-full bottom-4 -translate-x-1/2"
1122
+ };
1123
+ var ToolTip = React4__namespace.forwardRef((props, forwardedRef) => {
1124
+ const {
1125
+ activator,
1126
+ children,
1127
+ placement = "top",
1128
+ arrow = true,
1129
+ disabled = false,
1130
+ persistent = false,
1131
+ showOnHover = true,
1132
+ showOnFocus = true,
1133
+ interactive = false,
1134
+ keepMounted = false,
1135
+ maxWidth = "18rem",
1136
+ wrapperClassName,
1137
+ className,
1138
+ style,
1139
+ id,
1140
+ ...rest
1141
+ } = props;
1142
+ const hasRenderableContent = children !== void 0 && children !== null;
1143
+ const shouldEnableTriggers = !disabled && (persistent || showOnHover || showOnFocus);
1144
+ const shouldRenderTooltip = hasRenderableContent && (shouldEnableTriggers || keepMounted);
1145
+ const resolvedStyle = { ...style };
1146
+ if (resolvedStyle.maxWidth === void 0) {
1147
+ resolvedStyle.maxWidth = resolveSizeValue2(maxWidth);
1148
+ }
1149
+ const baseVisibility = persistent ? "opacity-100 scale-100" : "opacity-0 scale-95";
1150
+ const hoverClasses = !persistent && showOnHover ? " group-hover/tooltip:opacity-100 group-hover/tooltip:scale-100" : "";
1151
+ const focusClasses = !persistent && showOnFocus ? " group-focus-within/tooltip:opacity-100 group-focus-within/tooltip:scale-100" : "";
1152
+ const visibilityClasses = `${baseVisibility}${hoverClasses}${focusClasses}`;
1153
+ const pointerClasses = (() => {
1154
+ if (persistent) {
1155
+ return "pointer-events-auto";
1156
+ }
1157
+ if (!interactive) {
1158
+ return "pointer-events-none";
1159
+ }
1160
+ const classes = ["pointer-events-none"];
1161
+ if (showOnHover) {
1162
+ classes.push("group-hover/tooltip:pointer-events-auto");
1163
+ }
1164
+ if (showOnFocus) {
1165
+ classes.push("group-focus-within/tooltip:pointer-events-auto");
1166
+ }
1167
+ return classes.join(" ");
1168
+ })();
1169
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: tailwindMerge.twMerge(wrapperBaseClasses, "group/tooltip", wrapperClassName), "data-disabled": disabled || void 0, children: [
1170
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex max-w-full", children: activator }),
1171
+ shouldRenderTooltip ? /* @__PURE__ */ jsxRuntime.jsxs(
1172
+ "div",
1173
+ {
1174
+ ...rest,
1175
+ ref: forwardedRef,
1176
+ role: "tooltip",
1177
+ id,
1178
+ "aria-hidden": persistent || disabled ? void 0 : true,
1179
+ className: tailwindMerge.twMerge(tooltipBaseClasses, placementClasses2[placement], visibilityClasses, pointerClasses, className),
1180
+ style: resolvedStyle,
1181
+ children: [
1182
+ children,
1183
+ arrow && /* @__PURE__ */ jsxRuntime.jsx("span", { className: tailwindMerge.twMerge(arrowBaseClasses, arrowPlacementClasses[placement]), "aria-hidden": true, "data-arrow": true })
1184
+ ]
1185
+ }
1186
+ ) : null
1187
+ ] });
1188
+ });
1189
+ ToolTip.displayName = "ToolTip";
1190
+ var ToolTip_default = ToolTip;
942
1191
 
943
1192
  // src/Form/Input/states.input.ts
944
1193
  var resolveIconClassName3 = (icon) => {
@@ -966,6 +1215,17 @@ var resolveIconClassName3 = (icon) => {
966
1215
  const classes = [...baseClasses, normalizedName];
967
1216
  return Array.from(new Set(classes)).join(" ");
968
1217
  };
1218
+
1219
+ // src/utils/helpers/randomStr.ts
1220
+ var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
1221
+ function generateString(length = 5) {
1222
+ let result = "";
1223
+ const charactersLength = characters.length;
1224
+ for (let i = 0; i < length; i++) {
1225
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
1226
+ }
1227
+ return result;
1228
+ }
969
1229
  var Input = ({
970
1230
  variant = "outline",
971
1231
  success,
@@ -978,9 +1238,14 @@ var Input = ({
978
1238
  }) => {
979
1239
  const classBase = "input-base px-3 py-2 focus-visible:outline-none focus-visible:ring-primary transition-colors duration-200 disabled:opacity-50 disabled:cursor-not-allowed w-full";
980
1240
  const variantClasses = {
981
- outline: "rounded border border-gray-300 focus:border-primary focus:ring-1 focus:ring-primary",
982
- filled: "rounded bg-gray-100 border border-gray-300 focus:border-primary focus:ring-1 focus:ring-primary",
983
- underlined: "border-b-1 border-gray-300 focus:border-red-400 focus:outline-none focus:ring-none"
1241
+ solid: "rounded border border-gray-400 bg-white shadow-sm focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/30",
1242
+ sharp: "rounded-none border border-gray-400 bg-white shadow-sm focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/30",
1243
+ outline: "rounded border border-gray-300 bg-transparent focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/30",
1244
+ text: "rounded-none border-0 border-b border-transparent px-0 bg-transparent focus-visible:border-primary focus-visible:ring-0 focus-visible:ring-transparent",
1245
+ ghost: "rounded border border-transparent bg-gray-50 text-gray-900 focus-visible:bg-white focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/15",
1246
+ filled: "rounded border border-gray-200 bg-gray-100 focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/25",
1247
+ underlined: "rounded-none border-0 border-b border-gray-300 px-0 bg-transparent focus-visible:border-primary focus-visible:ring-0 focus-visible:ring-transparent",
1248
+ rounded: "rounded-full px-4 border border-gray-300 bg-white focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/20 shadow-sm"
984
1249
  };
985
1250
  const status = error ? { tone: "error", message: error } : warn ? { tone: "warn", message: warn } : success ? { tone: "success", message: success } : void 0;
986
1251
  const statusClasses = {
@@ -997,10 +1262,18 @@ var Input = ({
997
1262
  const toneClass = status ? statusClasses[status.tone] : void 0;
998
1263
  const prependIconClass = resolveIconClassName3(icon);
999
1264
  const prependPadding = prependIconClass ? "pl-10" : void 0;
1265
+ const inputName = props.name || generateString();
1000
1266
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tailwindMerge.twMerge("flex flex-col gap-1", wrapperClassName), children: [
1001
1267
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex items-center", children: [
1002
1268
  prependIconClass && /* @__PURE__ */ jsxRuntime.jsx("i", { className: tailwindMerge.twMerge("pointer-events-none absolute left-3 ", prependIconClass), "aria-hidden": true }),
1003
- /* @__PURE__ */ jsxRuntime.jsx("input", { ...props, className: tailwindMerge.twMerge(classBase, variantClass, toneClass, prependPadding, className) })
1269
+ /* @__PURE__ */ jsxRuntime.jsx(
1270
+ "input",
1271
+ {
1272
+ ...props,
1273
+ className: tailwindMerge.twMerge(classBase, variantClass, toneClass, prependPadding, className),
1274
+ name: inputName
1275
+ }
1276
+ )
1004
1277
  ] }),
1005
1278
  status?.message && /* @__PURE__ */ jsxRuntime.jsx("span", { className: tailwindMerge.twMerge("text-sm", statusMessageClasses[status.tone]), children: status.message })
1006
1279
  ] });
@@ -1009,9 +1282,13 @@ var Input_default = Input;
1009
1282
 
1010
1283
  exports.Button = Button_default;
1011
1284
  exports.Chip = Chip_default;
1285
+ exports.Dialog = Dialog_default;
1286
+ exports.ExpansionPanel = ExpansionPanel_default;
1287
+ exports.ExpansionPanelItem = ExpansionPanelItem_default;
1012
1288
  exports.Input = Input_default;
1013
1289
  exports.List = List_default;
1014
1290
  exports.ListItem = Item_default;
1015
1291
  exports.Menu = Menu_default;
1292
+ exports.ToolTip = ToolTip_default;
1016
1293
  //# sourceMappingURL=index.cjs.map
1017
1294
  //# sourceMappingURL=index.cjs.map