@lindle/linoardo 1.0.46 → 1.0.47

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.
Files changed (118) hide show
  1. package/dist/{ExpansionPanelItem-C9KW1yBc.d.cts → ExpansionPanelItem-By0ziOVw.d.cts} +1 -1
  2. package/dist/{ExpansionPanelItem-Pi3BM-4v.d.ts → ExpansionPanelItem-CFfWX7ia.d.ts} +1 -1
  3. package/dist/badge.d.cts +1 -1
  4. package/dist/badge.d.ts +1 -1
  5. package/dist/block.cjs +0 -1
  6. package/dist/block.cjs.map +1 -1
  7. package/dist/block.d.cts +1 -1
  8. package/dist/block.d.ts +1 -1
  9. package/dist/block.js +1 -1
  10. package/dist/button.cjs +73 -17
  11. package/dist/button.cjs.map +1 -1
  12. package/dist/button.d.cts +16 -5
  13. package/dist/button.d.ts +16 -5
  14. package/dist/button.js +1 -1
  15. package/dist/card.cjs +0 -1
  16. package/dist/card.cjs.map +1 -1
  17. package/dist/card.d.cts +1 -1
  18. package/dist/card.d.ts +1 -1
  19. package/dist/card.js +1 -1
  20. package/dist/chip.cjs +7 -15
  21. package/dist/chip.cjs.map +1 -1
  22. package/dist/chip.d.cts +1 -1
  23. package/dist/chip.d.ts +1 -1
  24. package/dist/chip.js +2 -2
  25. package/dist/{chunk-PSMGRUU5.js → chunk-4CYM2UM3.js} +9 -17
  26. package/dist/chunk-4CYM2UM3.js.map +1 -0
  27. package/dist/{chunk-5GT6L4BE.js → chunk-4NKKWBMP.js} +2 -3
  28. package/dist/chunk-4NKKWBMP.js.map +1 -0
  29. package/dist/{chunk-ZTP2JSQ6.js → chunk-4VHGXXZE.js} +52 -26
  30. package/dist/chunk-4VHGXXZE.js.map +1 -0
  31. package/dist/{chunk-HT5XBHWN.js → chunk-57CCAWFX.js} +3 -3
  32. package/dist/{chunk-HT5XBHWN.js.map → chunk-57CCAWFX.js.map} +1 -1
  33. package/dist/{chunk-5MVIF5GP.js → chunk-7HOQSHPQ.js} +4 -7
  34. package/dist/chunk-7HOQSHPQ.js.map +1 -0
  35. package/dist/{chunk-U4P2VJCV.js → chunk-7YZBEH2K.js} +2 -3
  36. package/dist/chunk-7YZBEH2K.js.map +1 -0
  37. package/dist/{chunk-NADLY6LM.js → chunk-DUEQOGNR.js} +3 -4
  38. package/dist/chunk-DUEQOGNR.js.map +1 -0
  39. package/dist/{chunk-FEGFA3FN.js → chunk-JFIFVLWE.js} +3 -3
  40. package/dist/{chunk-FEGFA3FN.js.map → chunk-JFIFVLWE.js.map} +1 -1
  41. package/dist/{chunk-DIWGVTWO.js → chunk-RUOU46YI.js} +75 -19
  42. package/dist/chunk-RUOU46YI.js.map +1 -0
  43. package/dist/{chunk-F3PI7A6V.js → chunk-TRR7TDVA.js} +3 -4
  44. package/dist/chunk-TRR7TDVA.js.map +1 -0
  45. package/dist/chunk-UGG35FPX.js +141 -0
  46. package/dist/chunk-UGG35FPX.js.map +1 -0
  47. package/dist/{chunk-VPF7M2PB.js → chunk-UWNDN4XL.js} +2 -5
  48. package/dist/chunk-UWNDN4XL.js.map +1 -0
  49. package/dist/expansion-panel/item.d.cts +2 -2
  50. package/dist/expansion-panel/item.d.ts +2 -2
  51. package/dist/expansion-panel.d.cts +3 -3
  52. package/dist/expansion-panel.d.ts +3 -3
  53. package/dist/{global.types-gx9A7mUe.d.cts → global.types-CjO3VRWu.d.cts} +1 -1
  54. package/dist/{global.types-gx9A7mUe.d.ts → global.types-CjO3VRWu.d.ts} +1 -1
  55. package/dist/hero.cjs +0 -3
  56. package/dist/hero.cjs.map +1 -1
  57. package/dist/hero.d.cts +1 -1
  58. package/dist/hero.d.ts +1 -1
  59. package/dist/hero.js +1 -1
  60. package/dist/icon.d.cts +1 -1
  61. package/dist/icon.d.ts +1 -1
  62. package/dist/{index-CNwl6vmH.d.ts → index-BgLrabTA.d.ts} +1 -1
  63. package/dist/{index-BDrBOeFI.d.cts → index-C19gZTrO.d.cts} +1 -1
  64. package/dist/index.cjs +263 -277
  65. package/dist/index.cjs.map +1 -1
  66. package/dist/index.d.cts +4 -4
  67. package/dist/index.d.ts +4 -4
  68. package/dist/index.js +12 -12
  69. package/dist/input.cjs +62 -145
  70. package/dist/input.cjs.map +1 -1
  71. package/dist/input.d.cts +6 -6
  72. package/dist/input.d.ts +6 -6
  73. package/dist/input.js +1 -2
  74. package/dist/list/item.d.cts +2 -2
  75. package/dist/list/item.d.ts +2 -2
  76. package/dist/list.cjs +1 -2
  77. package/dist/list.cjs.map +1 -1
  78. package/dist/list.d.cts +3 -3
  79. package/dist/list.d.ts +3 -3
  80. package/dist/list.js +1 -1
  81. package/dist/menu.cjs +50 -24
  82. package/dist/menu.cjs.map +1 -1
  83. package/dist/menu.js +1 -1
  84. package/dist/notification.d.cts +1 -1
  85. package/dist/notification.d.ts +1 -1
  86. package/dist/profileCard.cjs +74 -21
  87. package/dist/profileCard.cjs.map +1 -1
  88. package/dist/profileCard.d.cts +1 -1
  89. package/dist/profileCard.d.ts +1 -1
  90. package/dist/profileCard.js +2 -2
  91. package/dist/select.cjs +1 -2
  92. package/dist/select.cjs.map +1 -1
  93. package/dist/select.d.cts +2 -2
  94. package/dist/select.d.ts +2 -2
  95. package/dist/select.js +1 -1
  96. package/dist/slider.d.cts +1 -1
  97. package/dist/slider.d.ts +1 -1
  98. package/dist/styles.css +250 -91
  99. package/dist/switch.d.cts +1 -1
  100. package/dist/switch.d.ts +1 -1
  101. package/dist/timeline.cjs.map +1 -1
  102. package/dist/timeline.d.cts +2 -2
  103. package/dist/timeline.d.ts +2 -2
  104. package/dist/timeline.js +2 -2
  105. package/dist/{types-DaTHYIPO.d.ts → types-B4puM-zr.d.cts} +3 -4
  106. package/dist/{types-CJ0zqPXF.d.cts → types-BDisBwnf.d.ts} +3 -4
  107. package/package.json +1 -1
  108. package/dist/chunk-5GT6L4BE.js.map +0 -1
  109. package/dist/chunk-5MVIF5GP.js.map +0 -1
  110. package/dist/chunk-DIWGVTWO.js.map +0 -1
  111. package/dist/chunk-F3PI7A6V.js.map +0 -1
  112. package/dist/chunk-NADLY6LM.js.map +0 -1
  113. package/dist/chunk-OBGYXMZ3.js +0 -218
  114. package/dist/chunk-OBGYXMZ3.js.map +0 -1
  115. package/dist/chunk-PSMGRUU5.js.map +0 -1
  116. package/dist/chunk-U4P2VJCV.js.map +0 -1
  117. package/dist/chunk-VPF7M2PB.js.map +0 -1
  118. package/dist/chunk-ZTP2JSQ6.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var React4 = require('react');
3
+ var React = require('react');
4
4
  var tailwindMerge = require('tailwind-merge');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var reactDom = require('react-dom');
@@ -29,7 +29,7 @@ function _interopNamespace(e) {
29
29
  return Object.freeze(n);
30
30
  }
31
31
 
32
- var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
32
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
33
33
  var StarterKit__default = /*#__PURE__*/_interopDefault(StarterKit);
34
34
  var TurndownService__default = /*#__PURE__*/_interopDefault(TurndownService);
35
35
 
@@ -49,7 +49,6 @@ var blackAndWhitePaletteClasses = {
49
49
  text: "bg-transparent text-black hover:bg-neutral-200 focus-visible:ring-black/20 underline-offset-2 border border-transparent",
50
50
  filled: "bg-black/10 text-black border border-black/30 hover:bg-black/20 focus-visible:ring-black/20",
51
51
  underlined: "bg-transparent text-black border border-transparent underline decoration-2 underline-offset-4 hover:bg-neutral-200 focus-visible:ring-black/20",
52
- rounded: "rounded-full border-2 border-black bg-white text-black hover:bg-black hover:text-white focus-visible:ring-black/40 focus-visible:ring-offset-white",
53
52
  sharp: "bg-black text-white rounded-none hover:bg-black/90 focus-visible:ring-black/40"
54
53
  };
55
54
  var paletteVariantClasses = {
@@ -60,8 +59,7 @@ var paletteVariantClasses = {
60
59
  ghost: "text-primary bg-primary/10 hover:bg-primary/20 focus-visible:ring-primary/40 border border-transparent",
61
60
  text: "bg-transparent text-primary hover:bg-primary/10 focus-visible:ring-primary/30 underline-offset-2 border border-transparent",
62
61
  filled: "bg-primary/15 text-primary border border-primary/30 hover:bg-primary/25 focus-visible:ring-primary/25",
63
- underlined: "bg-transparent text-primary border border-transparent underline decoration-2 underline-offset-4 hover:bg-primary/5 focus-visible:ring-primary/25",
64
- rounded: "rounded-full border border-primary/60 bg-primary/10 text-primary hover:bg-primary/20 focus-visible:ring-primary/25"
62
+ underlined: "bg-transparent text-primary border border-transparent underline decoration-2 underline-offset-4 hover:bg-primary/5 focus-visible:ring-primary/25"
65
63
  },
66
64
  neutral: {
67
65
  solid: "bg-gray-600 text-white hover:bg-gray-700 focus-visible:ring-gray-500",
@@ -70,8 +68,7 @@ var paletteVariantClasses = {
70
68
  ghost: "text-gray-700 bg-gray-100 hover:bg-gray-200 focus-visible:ring-gray-300 border border-transparent",
71
69
  text: "bg-transparent text-gray-700 hover:bg-gray-100 focus-visible:ring-gray-200 underline-offset-2 border border-transparent",
72
70
  filled: "bg-gray-200 text-gray-900 border border-gray-300 hover:bg-gray-300 focus-visible:ring-gray-300",
73
- underlined: "bg-transparent text-gray-900 border border-transparent underline decoration-2 underline-offset-4 hover:bg-gray-100 focus-visible:ring-gray-300",
74
- rounded: "rounded-full border border-gray-400 bg-white text-gray-800 hover:bg-gray-100 focus-visible:ring-gray-300"
71
+ underlined: "bg-transparent text-gray-900 border border-transparent underline decoration-2 underline-offset-4 hover:bg-gray-100 focus-visible:ring-gray-300"
75
72
  },
76
73
  info: {
77
74
  solid: "bg-sky-500 text-white hover:bg-sky-600 focus-visible:ring-sky-400",
@@ -80,8 +77,7 @@ var paletteVariantClasses = {
80
77
  ghost: "text-sky-600 bg-sky-100 hover:bg-sky-200 focus-visible:ring-sky-300 border border-transparent",
81
78
  text: "bg-transparent text-sky-600 hover:bg-sky-100 focus-visible:ring-sky-200 underline-offset-2 border border-transparent",
82
79
  filled: "bg-sky-100 text-sky-700 border border-sky-200 hover:bg-sky-200 focus-visible:ring-sky-200",
83
- underlined: "bg-transparent text-sky-600 border border-transparent underline decoration-2 underline-offset-4 hover:bg-sky-50 focus-visible:ring-sky-200",
84
- rounded: "rounded-full border border-sky-500/70 bg-sky-50 text-sky-700 hover:bg-sky-100 focus-visible:ring-sky-200"
80
+ underlined: "bg-transparent text-sky-600 border border-transparent underline decoration-2 underline-offset-4 hover:bg-sky-50 focus-visible:ring-sky-200"
85
81
  },
86
82
  success: {
87
83
  solid: "bg-emerald-500 text-white hover:bg-emerald-600 focus-visible:ring-emerald-400",
@@ -90,8 +86,7 @@ var paletteVariantClasses = {
90
86
  ghost: "text-emerald-600 bg-emerald-100 hover:bg-emerald-200 focus-visible:ring-emerald-300 border border-transparent",
91
87
  text: "bg-transparent text-emerald-600 hover:bg-emerald-100 focus-visible:ring-emerald-200 underline-offset-2 border border-transparent",
92
88
  filled: "bg-emerald-100 text-emerald-700 border border-emerald-200 hover:bg-emerald-200 focus-visible:ring-emerald-200",
93
- underlined: "bg-transparent text-emerald-600 border border-transparent underline decoration-2 underline-offset-4 hover:bg-emerald-50 focus-visible:ring-emerald-200",
94
- rounded: "rounded-full border border-emerald-500/70 bg-emerald-50 text-emerald-700 hover:bg-emerald-100 focus-visible:ring-emerald-200"
89
+ underlined: "bg-transparent text-emerald-600 border border-transparent underline decoration-2 underline-offset-4 hover:bg-emerald-50 focus-visible:ring-emerald-200"
95
90
  },
96
91
  warning: {
97
92
  solid: "bg-amber-500 text-white hover:bg-amber-600 focus-visible:ring-amber-400",
@@ -100,8 +95,7 @@ var paletteVariantClasses = {
100
95
  ghost: "text-amber-600 bg-amber-100 hover:bg-amber-200 focus-visible:ring-amber-300 border border-transparent",
101
96
  text: "bg-transparent text-amber-600 hover:bg-amber-100 focus-visible:ring-amber-200 underline-offset-2 border border-transparent",
102
97
  filled: "bg-amber-100 text-amber-800 border border-amber-200 hover:bg-amber-200 focus-visible:ring-amber-200",
103
- underlined: "bg-transparent text-amber-600 border border-transparent underline decoration-2 underline-offset-4 hover:bg-amber-50 focus-visible:ring-amber-200",
104
- rounded: "rounded-full border border-amber-500/70 bg-amber-50 text-amber-700 hover:bg-amber-100 focus-visible:ring-amber-200"
98
+ underlined: "bg-transparent text-amber-600 border border-transparent underline decoration-2 underline-offset-4 hover:bg-amber-50 focus-visible:ring-amber-200"
105
99
  },
106
100
  danger: {
107
101
  solid: "bg-red-500 text-white hover:bg-red-600 focus-visible:ring-red-400",
@@ -110,8 +104,7 @@ var paletteVariantClasses = {
110
104
  ghost: "text-red-600 bg-red-100 hover:bg-red-200 focus-visible:ring-red-300 border border-transparent",
111
105
  text: "bg-transparent text-red-600 hover:bg-red-100 focus-visible:ring-red-200 underline-offset-2 border border-transparent",
112
106
  filled: "bg-red-100 text-red-700 border border-red-200 hover:bg-red-200 focus-visible:ring-red-200",
113
- underlined: "bg-transparent text-red-600 border border-transparent underline decoration-2 underline-offset-4 hover:bg-red-50 focus-visible:ring-red-200",
114
- rounded: "rounded-full border border-red-500/70 bg-red-50 text-red-700 hover:bg-red-100 focus-visible:ring-red-200"
107
+ underlined: "bg-transparent text-red-600 border border-transparent underline decoration-2 underline-offset-4 hover:bg-red-50 focus-visible:ring-red-200"
115
108
  },
116
109
  surface: {
117
110
  solid: "bg-white text-gray-900 border border-gray-200 hover:bg-gray-50 focus-visible:ring-gray-200",
@@ -120,8 +113,7 @@ var paletteVariantClasses = {
120
113
  ghost: "text-gray-900 bg-gray-100 hover:bg-gray-200 focus-visible:ring-gray-200 border border-transparent",
121
114
  text: "bg-transparent text-gray-900 hover:bg-gray-100 focus-visible:ring-gray-200 underline-offset-2 border border-transparent",
122
115
  filled: "bg-gray-50 text-gray-900 border border-gray-200 hover:bg-white focus-visible:ring-gray-200",
123
- underlined: "bg-transparent text-gray-900 border border-transparent underline decoration-2 underline-offset-4 hover:bg-gray-100 focus-visible:ring-gray-200",
124
- rounded: "rounded-full border border-gray-300 bg-white text-gray-900 hover:bg-gray-50 focus-visible:ring-gray-200"
116
+ underlined: "bg-transparent text-gray-900 border border-transparent underline decoration-2 underline-offset-4 hover:bg-gray-100 focus-visible:ring-gray-200"
125
117
  },
126
118
  bw: blackAndWhitePaletteClasses
127
119
  };
@@ -177,7 +169,7 @@ var iconOnlyIconSizeClasses = {
177
169
  large: "text-xl",
178
170
  "x-large": "text-2xl"
179
171
  };
180
- var Button = React4__namespace.forwardRef(
172
+ var ButtonBase = React__namespace.forwardRef(
181
173
  ({
182
174
  variant = "solid",
183
175
  color = "primary",
@@ -232,7 +224,71 @@ var Button = React4__namespace.forwardRef(
232
224
  );
233
225
  }
234
226
  );
235
- Button.displayName = "Button";
227
+ ButtonBase.displayName = "Button";
228
+ var isButtonElement = (element) => {
229
+ if (!React__namespace.isValidElement(element)) {
230
+ return false;
231
+ }
232
+ const elementType = element.type;
233
+ return element.type === ButtonBase || elementType.displayName === ButtonBase.displayName;
234
+ };
235
+ var ButtonGroup = React__namespace.forwardRef((props, ref) => {
236
+ const {
237
+ variant,
238
+ color,
239
+ size,
240
+ block = false,
241
+ disabled = false,
242
+ loading = false,
243
+ iconOnly,
244
+ vertical = false,
245
+ attached = true,
246
+ className,
247
+ role,
248
+ children,
249
+ ...rest
250
+ } = props;
251
+ const groupBase = vertical ? "inline-flex w-fit flex-col" : "inline-flex w-fit items-stretch";
252
+ const blockClass = block ? "w-full [&>*]:flex-1" : void 0;
253
+ const attachedClass = attached ? vertical ? "[&>*:not(:first-child)]:-mt-px [&>*:not(:first-child)]:rounded-t-none [&>*:not(:last-child)]:rounded-b-none" : "[&>*:not(:first-child)]:-ml-px [&>*:not(:first-child)]:rounded-l-none [&>*:not(:last-child)]:rounded-r-none" : void 0;
254
+ const enhanceChild = (child) => {
255
+ if (!React__namespace.isValidElement(child)) {
256
+ return child;
257
+ }
258
+ if (isButtonElement(child)) {
259
+ return React__namespace.cloneElement(child, {
260
+ variant: child.props.variant ?? variant,
261
+ color: child.props.color ?? color,
262
+ size: child.props.size ?? size,
263
+ block: child.props.block ?? block,
264
+ disabled: child.props.disabled ?? disabled,
265
+ loading: child.props.loading ?? loading,
266
+ iconOnly: child.props.iconOnly ?? iconOnly
267
+ });
268
+ }
269
+ if (child.props && typeof child.props === "object" && "children" in child.props) {
270
+ const nestedChildren = React__namespace.Children.map(child.props.children, enhanceChild);
271
+ if (nestedChildren !== child.props.children) {
272
+ return React__namespace.cloneElement(child, void 0, nestedChildren);
273
+ }
274
+ }
275
+ return child;
276
+ };
277
+ const resolvedChildren = React__namespace.Children.map(children, enhanceChild);
278
+ return /* @__PURE__ */ jsxRuntime.jsx(
279
+ "div",
280
+ {
281
+ ...rest,
282
+ ref,
283
+ role: role ?? "group",
284
+ className: tailwindMerge.twMerge(groupBase, blockClass, attachedClass, className),
285
+ children: resolvedChildren
286
+ }
287
+ );
288
+ });
289
+ ButtonGroup.displayName = "Button.Group";
290
+ var Button = ButtonBase;
291
+ Button.Group = ButtonGroup;
236
292
  var Button_default = Button;
237
293
 
238
294
  // src/Containment/Chip/states.chip.ts
@@ -245,7 +301,6 @@ var blackAndWhitePaletteClasses2 = {
245
301
  text: "bg-transparent text-black border border-transparent hover:bg-neutral-200 focus-visible:ring-black/20",
246
302
  filled: "bg-black/10 text-black border border-black/30 hover:bg-black/20 focus-visible:ring-black/20",
247
303
  underlined: "bg-transparent text-black border-0 border-b-2 border-black px-0 rounded-none hover:text-black/80 focus-visible:ring-black/20",
248
- rounded: "rounded-full bg-white text-black border-2 border-black hover:bg-black hover:text-white focus-visible:ring-black/40 focus-visible:ring-offset-white",
249
304
  sharp: "rounded-none bg-black text-white border border-black hover:bg-black/90 focus-visible:ring-black/40 focus-visible:ring-offset-white"
250
305
  };
251
306
  var paletteVariantClasses2 = {
@@ -256,8 +311,7 @@ var paletteVariantClasses2 = {
256
311
  ghost: "bg-primary/15 text-primary border border-transparent hover:bg-primary/25",
257
312
  text: "bg-transparent text-primary border border-transparent hover:text-primary/80",
258
313
  filled: "bg-primary/10 text-primary border border-primary/30 hover:bg-primary/20",
259
- underlined: "bg-transparent text-primary border-0 border-b-2 border-primary px-0 rounded-none hover:text-primary/80",
260
- rounded: "bg-white text-primary border border-primary/40 shadow-sm hover:bg-primary/5"
314
+ underlined: "bg-transparent text-primary border-0 border-b-2 border-primary px-0 rounded-none hover:text-primary/80"
261
315
  },
262
316
  neutral: {
263
317
  solid: "bg-gray-900 text-white border border-gray-900 hover:bg-gray-800",
@@ -266,8 +320,7 @@ var paletteVariantClasses2 = {
266
320
  ghost: "bg-gray-100 text-gray-900 border border-transparent hover:bg-gray-200",
267
321
  text: "bg-transparent text-gray-900 border border-transparent hover:text-gray-700",
268
322
  filled: "bg-gray-200 text-gray-900 border border-gray-300 hover:bg-gray-300",
269
- underlined: "bg-transparent text-gray-900 border-0 border-b-2 border-gray-500 px-0 rounded-none hover:text-gray-700",
270
- rounded: "bg-white text-gray-900 border border-gray-300 shadow-sm hover:bg-gray-100"
323
+ underlined: "bg-transparent text-gray-900 border-0 border-b-2 border-gray-500 px-0 rounded-none hover:text-gray-700"
271
324
  },
272
325
  info: {
273
326
  solid: "bg-sky-500 text-white border border-sky-500 hover:bg-sky-600",
@@ -276,8 +329,7 @@ var paletteVariantClasses2 = {
276
329
  ghost: "bg-sky-100 text-sky-700 border border-transparent hover:bg-sky-200",
277
330
  text: "bg-transparent text-sky-600 border border-transparent hover:text-sky-700",
278
331
  filled: "bg-sky-100 text-sky-700 border border-sky-200 hover:bg-sky-200",
279
- underlined: "bg-transparent text-sky-600 border-0 border-b-2 border-sky-500 px-0 rounded-none hover:text-sky-700",
280
- rounded: "bg-white text-sky-700 border border-sky-200 shadow-sm hover:bg-sky-50"
332
+ underlined: "bg-transparent text-sky-600 border-0 border-b-2 border-sky-500 px-0 rounded-none hover:text-sky-700"
281
333
  },
282
334
  success: {
283
335
  solid: "bg-emerald-500 text-white border border-emerald-500 hover:bg-emerald-600",
@@ -286,8 +338,7 @@ var paletteVariantClasses2 = {
286
338
  ghost: "bg-emerald-100 text-emerald-700 border border-transparent hover:bg-emerald-200",
287
339
  text: "bg-transparent text-emerald-600 border border-transparent hover:text-emerald-700",
288
340
  filled: "bg-emerald-100 text-emerald-700 border border-emerald-200 hover:bg-emerald-200",
289
- underlined: "bg-transparent text-emerald-600 border-0 border-b-2 border-emerald-500 px-0 rounded-none hover:text-emerald-700",
290
- rounded: "bg-white text-emerald-700 border border-emerald-200 shadow-sm hover:bg-emerald-50"
341
+ underlined: "bg-transparent text-emerald-600 border-0 border-b-2 border-emerald-500 px-0 rounded-none hover:text-emerald-700"
291
342
  },
292
343
  warning: {
293
344
  solid: "bg-amber-500 text-white border border-amber-500 hover:bg-amber-600",
@@ -296,8 +347,7 @@ var paletteVariantClasses2 = {
296
347
  ghost: "bg-amber-100 text-amber-800 border border-transparent hover:bg-amber-200",
297
348
  text: "bg-transparent text-amber-700 border border-transparent hover:text-amber-800",
298
349
  filled: "bg-amber-100 text-amber-800 border border-amber-200 hover:bg-amber-200",
299
- underlined: "bg-transparent text-amber-700 border-0 border-b-2 border-amber-500 px-0 rounded-none hover:text-amber-800",
300
- rounded: "bg-white text-amber-700 border border-amber-200 shadow-sm hover:bg-amber-50"
350
+ underlined: "bg-transparent text-amber-700 border-0 border-b-2 border-amber-500 px-0 rounded-none hover:text-amber-800"
301
351
  },
302
352
  danger: {
303
353
  solid: "bg-red-500 text-white border border-red-500 hover:bg-red-600",
@@ -306,8 +356,7 @@ var paletteVariantClasses2 = {
306
356
  ghost: "bg-red-100 text-red-700 border border-transparent hover:bg-red-200",
307
357
  text: "bg-transparent text-red-600 border border-transparent hover:text-red-700",
308
358
  filled: "bg-red-100 text-red-700 border border-red-200 hover:bg-red-200",
309
- underlined: "bg-transparent text-red-600 border-0 border-b-2 border-red-500 px-0 rounded-none hover:text-red-700",
310
- rounded: "bg-white text-red-600 border border-red-200 shadow-sm hover:bg-red-50"
359
+ underlined: "bg-transparent text-red-600 border-0 border-b-2 border-red-500 px-0 rounded-none hover:text-red-700"
311
360
  },
312
361
  surface: {
313
362
  solid: "bg-white text-gray-900 border border-gray-200 hover:bg-gray-50",
@@ -316,8 +365,7 @@ var paletteVariantClasses2 = {
316
365
  ghost: "bg-gray-100 text-gray-900 border border-transparent hover:bg-gray-200",
317
366
  text: "bg-transparent text-gray-900 border border-transparent hover:text-gray-600",
318
367
  filled: "bg-gray-50 text-gray-900 border border-gray-200 hover:bg-white",
319
- underlined: "bg-transparent text-gray-900 border-0 border-b-2 border-gray-400 px-0 rounded-none hover:text-gray-600",
320
- rounded: "bg-white text-gray-900 border border-gray-200 shadow-sm hover:bg-gray-50"
368
+ underlined: "bg-transparent text-gray-900 border-0 border-b-2 border-gray-400 px-0 rounded-none hover:text-gray-600"
321
369
  },
322
370
  bw: blackAndWhitePaletteClasses2
323
371
  };
@@ -357,7 +405,7 @@ var chipSizeClasses = {
357
405
  large: "h-8 text-sm px-3",
358
406
  "x-large": "h-9 text-base px-3.5"
359
407
  };
360
- var Chip = React4.forwardRef(
408
+ var Chip = React.forwardRef(
361
409
  ({
362
410
  variant = "solid",
363
411
  color = "primary",
@@ -554,7 +602,7 @@ var Badge = ({
554
602
  className,
555
603
  ...rest
556
604
  }) => {
557
- const hasChildren = React4__namespace.Children.count(children) > 0;
605
+ const hasChildren = React__namespace.Children.count(children) > 0;
558
606
  const iconClassName = resolveIconClassName3(icon);
559
607
  const isNumberContent = typeof content === "number" && Number.isFinite(content);
560
608
  let displayValue = content;
@@ -695,7 +743,7 @@ var accentClasses = {
695
743
  indicator: "bg-gray-900 dark:bg-gray-100"
696
744
  }
697
745
  };
698
- var ListItem = React4__namespace.forwardRef((props, ref) => {
746
+ var ListItem = React__namespace.forwardRef((props, ref) => {
699
747
  const {
700
748
  component,
701
749
  href,
@@ -809,8 +857,7 @@ var listVariantClasses = {
809
857
  ghost: "bg-gray-50 border border-transparent dark:bg-gray-900/60",
810
858
  text: "bg-transparent border border-transparent",
811
859
  filled: "bg-gray-50 border border-gray-200 shadow-inner shadow-gray-900/5 dark:bg-gray-900/70 dark:border-gray-800 dark:shadow-black/30",
812
- underlined: "bg-transparent border border-transparent border-b border-gray-200 rounded-none dark:border-gray-800",
813
- rounded: "bg-white border border-gray-200 shadow-lg shadow-gray-900/10 dark:bg-gray-900 dark:border-gray-800 dark:shadow-black/30"
860
+ underlined: "bg-transparent border border-transparent border-b border-gray-200 rounded-none dark:border-gray-800"
814
861
  };
815
862
  var listRoundedClasses = {
816
863
  none: "rounded-none",
@@ -821,13 +868,13 @@ var listRoundedClasses = {
821
868
  pill: "rounded-full"
822
869
  };
823
870
  var isListItemElement = (element) => {
824
- if (!React4__namespace.isValidElement(element)) {
871
+ if (!React__namespace.isValidElement(element)) {
825
872
  return false;
826
873
  }
827
874
  const elementType = element.type;
828
875
  return element.type === Item_default || elementType.displayName === Item_default.displayName;
829
876
  };
830
- var List = React4__namespace.forwardRef((props, ref) => {
877
+ var List = React__namespace.forwardRef((props, ref) => {
831
878
  const {
832
879
  variant = "solid",
833
880
  density = "default",
@@ -849,11 +896,11 @@ var List = React4__namespace.forwardRef((props, ref) => {
849
896
  const navClass = nav ? "py-1" : void 0;
850
897
  const accentColor = color;
851
898
  const enhanceChild = (child) => {
852
- if (!React4__namespace.isValidElement(child)) {
899
+ if (!React__namespace.isValidElement(child)) {
853
900
  return child;
854
901
  }
855
902
  if (isListItemElement(child)) {
856
- return React4__namespace.cloneElement(child, {
903
+ return React__namespace.cloneElement(child, {
857
904
  density: child.props.density ?? density,
858
905
  lines: child.props.lines ?? lines,
859
906
  nav: child.props.nav ?? nav,
@@ -863,14 +910,14 @@ var List = React4__namespace.forwardRef((props, ref) => {
863
910
  });
864
911
  }
865
912
  if (child.props && typeof child.props === "object" && "children" in child.props) {
866
- const nestedChildren = React4__namespace.Children.map(child.props.children, enhanceChild);
913
+ const nestedChildren = React__namespace.Children.map(child.props.children, enhanceChild);
867
914
  if (nestedChildren !== child.props.children) {
868
- return React4__namespace.cloneElement(child, void 0, nestedChildren);
915
+ return React__namespace.cloneElement(child, void 0, nestedChildren);
869
916
  }
870
917
  }
871
918
  return child;
872
919
  };
873
- const resolvedChildren = React4__namespace.Children.map(children, enhanceChild);
920
+ const resolvedChildren = React__namespace.Children.map(children, enhanceChild);
874
921
  return /* @__PURE__ */ jsxRuntime.jsx(
875
922
  "div",
876
923
  {
@@ -887,20 +934,29 @@ var ListWithItem = List;
887
934
  ListWithItem.Item = Item_default;
888
935
  var List_default = ListWithItem;
889
936
  var placementClasses = {
890
- "bottom-start": "left-0 top-full origin-top-left",
891
- bottom: "left-1/2 top-full -translate-x-1/2 origin-top",
892
- "bottom-end": "right-0 top-full origin-top-right",
893
- "top-start": "left-0 bottom-full origin-bottom-left",
894
- top: "left-1/2 bottom-full -translate-x-1/2 origin-bottom",
895
- "top-end": "right-0 bottom-full origin-bottom-right"
937
+ "bottom-start": "left-0 top-full",
938
+ bottom: "left-1/2 top-full -translate-x-1/2",
939
+ "bottom-end": "right-0 top-full",
940
+ "top-start": "left-0 bottom-full",
941
+ top: "left-1/2 bottom-full -translate-x-1/2",
942
+ "top-end": "right-0 bottom-full"
943
+ };
944
+ var originClasses = {
945
+ "bottom-start": "origin-top-left",
946
+ bottom: "origin-top",
947
+ "bottom-end": "origin-top-right",
948
+ "top-start": "origin-bottom-left",
949
+ top: "origin-bottom",
950
+ "top-end": "origin-bottom-right"
896
951
  };
897
952
  var offsetClasses = {
898
- top: "mb-2",
899
- bottom: "mt-2"
953
+ top: "pb-2",
954
+ bottom: "pt-2"
900
955
  };
901
- 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";
956
+ var menuWrapperBaseClasses = "absolute z-50";
957
+ var menuBaseClasses = "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";
902
958
  var overlayBaseClasses = "fixed inset-0 z-40 bg-gray-900/30 backdrop-blur-[1px]";
903
- var Menu = React4__namespace.forwardRef((props, ref) => {
959
+ var Menu = React__namespace.forwardRef((props, ref) => {
904
960
  const {
905
961
  activator,
906
962
  children,
@@ -925,11 +981,17 @@ var Menu = React4__namespace.forwardRef((props, ref) => {
925
981
  const shouldRenderContent = hasContent && (keepMounted || isOpen || allowHoverTrigger || allowFocusTrigger);
926
982
  const shouldRenderOverlay = scrim && hasContent && (isOpen || allowHoverTrigger || allowFocusTrigger);
927
983
  const verticalPlacement = placement.startsWith("top") ? "top" : "bottom";
928
- const visibilityClasses = tailwindMerge.twMerge(
929
- "pointer-events-none opacity-0 scale-95",
930
- isOpen ? "pointer-events-auto opacity-100 scale-100" : void 0,
931
- allowHoverTrigger ? "group-hover/menu:pointer-events-auto group-hover/menu:opacity-100 group-hover/menu:scale-100" : void 0,
932
- allowFocusTrigger ? "group-focus-within/menu:pointer-events-auto group-focus-within/menu:opacity-100 group-focus-within/menu:scale-100" : void 0
984
+ const interactiveVisibilityClasses = tailwindMerge.twMerge(
985
+ "pointer-events-none",
986
+ isOpen ? "pointer-events-auto" : void 0,
987
+ allowHoverTrigger ? "group-hover/menu:pointer-events-auto" : void 0,
988
+ allowFocusTrigger ? "group-focus-within/menu:pointer-events-auto" : void 0
989
+ );
990
+ const visualVisibilityClasses = tailwindMerge.twMerge(
991
+ "opacity-0 scale-95",
992
+ isOpen ? "opacity-100 scale-100" : void 0,
993
+ allowHoverTrigger ? "group-hover/menu:opacity-100 group-hover/menu:scale-100" : void 0,
994
+ allowFocusTrigger ? "group-focus-within/menu:opacity-100 group-focus-within/menu:scale-100" : void 0
933
995
  );
934
996
  const overlayVisibilityClasses = tailwindMerge.twMerge(
935
997
  "pointer-events-none opacity-0 transition-opacity duration-150",
@@ -964,21 +1026,32 @@ var Menu = React4__namespace.forwardRef((props, ref) => {
964
1026
  shouldRenderContent ? /* @__PURE__ */ jsxRuntime.jsx(
965
1027
  "div",
966
1028
  {
967
- ...restContentProps,
968
1029
  className: tailwindMerge.twMerge(
969
- menuBaseClasses,
1030
+ menuWrapperBaseClasses,
970
1031
  placementClasses[placement],
971
1032
  offsetClasses[verticalPlacement],
972
1033
  matchActivatorWidth ? "min-w-full" : void 0,
973
- visibilityClasses,
974
- contentClassName,
975
- contentExtraClassName
1034
+ interactiveVisibilityClasses
976
1035
  ),
977
- "data-state": isOpen ? "open" : "closed",
978
- role: contentRole ?? "menu",
979
- tabIndex: contentTabIndex ?? -1,
980
- style: contentStyle,
981
- children
1036
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1037
+ "div",
1038
+ {
1039
+ ...restContentProps,
1040
+ className: tailwindMerge.twMerge(
1041
+ menuBaseClasses,
1042
+ originClasses[placement],
1043
+ visualVisibilityClasses,
1044
+ matchActivatorWidth ? "min-w-full" : void 0,
1045
+ contentClassName,
1046
+ contentExtraClassName
1047
+ ),
1048
+ "data-state": isOpen ? "open" : "closed",
1049
+ role: contentRole ?? "menu",
1050
+ tabIndex: contentTabIndex ?? -1,
1051
+ style: contentStyle,
1052
+ children
1053
+ }
1054
+ )
982
1055
  }
983
1056
  ) : null
984
1057
  ]
@@ -1017,7 +1090,7 @@ var traverseNode = (node, value) => {
1017
1090
  if (node === null || node === void 0 || typeof node === "boolean" || typeof node === "string" || typeof node === "number") {
1018
1091
  return { node, changed: false };
1019
1092
  }
1020
- if (!React4.isValidElement(node)) {
1093
+ if (!React.isValidElement(node)) {
1021
1094
  return { node, changed: false };
1022
1095
  }
1023
1096
  const element = node;
@@ -1030,7 +1103,7 @@ var traverseNode = (node, value) => {
1030
1103
  return { node, changed: false };
1031
1104
  }
1032
1105
  const injectedProps = shouldInject ? { [EXPANSION_PANEL_CONTEXT_PROP]: value } : void 0;
1033
- const cloned = mappedChildren === void 0 ? React4.cloneElement(element, injectedProps) : React4.cloneElement(element, injectedProps, mappedChildren);
1106
+ const cloned = mappedChildren === void 0 ? React.cloneElement(element, injectedProps) : React.cloneElement(element, injectedProps, mappedChildren);
1034
1107
  return { node: cloned, changed: true };
1035
1108
  };
1036
1109
  var injectExpansionPanelContext = (children, value) => traverseNode(children, value).node;
@@ -1196,7 +1269,7 @@ var ExpansionPanelItemInner = (props) => {
1196
1269
  }
1197
1270
  );
1198
1271
  };
1199
- var ExpansionPanelItem = React4.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(ExpansionPanelItemInner, { ...props, forwardedRef: ref }));
1272
+ var ExpansionPanelItem = React.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(ExpansionPanelItemInner, { ...props, forwardedRef: ref }));
1200
1273
  ExpansionPanelItem.displayName = "ExpansionPanelItem";
1201
1274
  markExpansionPanelItem(ExpansionPanelItem);
1202
1275
  var ExpansionPanelItem_default = ExpansionPanelItem;
@@ -1272,7 +1345,7 @@ var ExpansionPanelInner = (props, forwardedRef) => {
1272
1345
  }
1273
1346
  );
1274
1347
  };
1275
- var ExpansionPanelBase = React4.forwardRef(ExpansionPanelInner);
1348
+ var ExpansionPanelBase = React.forwardRef(ExpansionPanelInner);
1276
1349
  var ExpansionPanel = Object.assign(ExpansionPanelBase, {
1277
1350
  Item: ExpansionPanelItem_default
1278
1351
  });
@@ -1288,7 +1361,7 @@ var resolveSizeValue = (value) => {
1288
1361
  }
1289
1362
  return typeof value === "number" ? `${value}px` : value;
1290
1363
  };
1291
- var Dialog = React4__namespace.forwardRef((props, forwardedRef) => {
1364
+ var Dialog = React__namespace.forwardRef((props, forwardedRef) => {
1292
1365
  const {
1293
1366
  activator,
1294
1367
  children,
@@ -1413,7 +1486,7 @@ var resolveSizeValue2 = (value) => {
1413
1486
  }
1414
1487
  return typeof value === "number" ? `${value}px` : value;
1415
1488
  };
1416
- var Drawer = React4__namespace.forwardRef((props, ref) => {
1489
+ var Drawer = React__namespace.forwardRef((props, ref) => {
1417
1490
  const {
1418
1491
  location = "left",
1419
1492
  floating = false,
@@ -1514,7 +1587,7 @@ Drawer.displayName = "Drawer";
1514
1587
  var Drawer_default = Drawer;
1515
1588
  var overlayBaseClasses4 = "inset-0 z-[55] transition-opacity duration-200 data-[state=closed]:opacity-0 data-[state=open]:opacity-100";
1516
1589
  var scrimClasses = "bg-gray-900/55 backdrop-blur-[2px]";
1517
- var Overlay = React4__namespace.forwardRef((props, ref) => {
1590
+ var Overlay = React__namespace.forwardRef((props, ref) => {
1518
1591
  const {
1519
1592
  open,
1520
1593
  keepMounted = false,
@@ -1602,7 +1675,7 @@ var arrowPlacementClasses = {
1602
1675
  "right-start": "right-full top-4 translate-x-1/2",
1603
1676
  "right-end": "right-full bottom-4 translate-x-1/2"
1604
1677
  };
1605
- var ToolTip = React4__namespace.forwardRef((props, forwardedRef) => {
1678
+ var ToolTip = React__namespace.forwardRef((props, forwardedRef) => {
1606
1679
  const {
1607
1680
  activator,
1608
1681
  children,
@@ -1708,7 +1781,6 @@ var variantClasses = {
1708
1781
  text: "rounded-2xl border border-transparent bg-transparent dark:border-transparent dark:bg-transparent",
1709
1782
  filled: "rounded-2xl border border-gray-200 bg-gray-50 dark:border-slate-800 dark:bg-slate-800",
1710
1783
  underlined: " border border-transparent border-b border-b-gray-200 dark:border-transparent dark:border-b-slate-700 dark:bg-transparent",
1711
- rounded: "rounded-3xl border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900",
1712
1784
  sharp: "rounded-none border border-gray-200 bg-white dark:border-slate-800 dark:bg-slate-900"
1713
1785
  };
1714
1786
  var elevationClasses = {
@@ -1720,7 +1792,7 @@ var elevationClasses = {
1720
1792
  5: "shadow-xl",
1721
1793
  6: "shadow-2xl"
1722
1794
  };
1723
- var CardRoot = React4.forwardRef(function Card({ className, children, variant = "solid", padding = "md", overflow = "hidden", interactive = false, dividers = true, elevation = 0, ...rest }, ref) {
1795
+ var CardRoot = React.forwardRef(function Card({ className, children, variant = "solid", padding = "md", overflow = "hidden", interactive = false, dividers = true, elevation = 0, ...rest }, ref) {
1724
1796
  const variantClass = variantClasses[variant] ?? variantClasses.solid;
1725
1797
  const paddingClass = paddingClasses[padding] ?? paddingClasses.md;
1726
1798
  const overflowClass = overflowClasses[overflow] ?? overflowClasses.hidden;
@@ -1791,13 +1863,13 @@ var Card2 = Object.assign(CardRoot, {
1791
1863
  });
1792
1864
  var Card_default = Card2;
1793
1865
  function applyDividers(children, dividers) {
1794
- return React4.Children.map(children, (child) => {
1795
- if (!React4.isValidElement(child)) return child;
1866
+ return React.Children.map(children, (child) => {
1867
+ if (!React.isValidElement(child)) return child;
1796
1868
  if (isDividerSection(child)) {
1797
- return React4.cloneElement(child, { dividers: child.props.dividers ?? dividers });
1869
+ return React.cloneElement(child, { dividers: child.props.dividers ?? dividers });
1798
1870
  }
1799
1871
  if (hasNestedChildren(child)) {
1800
- return React4.cloneElement(child, {
1872
+ return React.cloneElement(child, {
1801
1873
  children: applyDividers(child.props.children, dividers)
1802
1874
  });
1803
1875
  }
@@ -1829,10 +1901,9 @@ var variantClasses2 = {
1829
1901
  ghost: "rounded-xl bg-white/20 backdrop-opacity-5 border border-white/20 dark:bg-slate-900/30 dark:border-white/10",
1830
1902
  filled: "rounded-xl bg-white/60 backdrop-opacity-5 border border-white/40 dark:bg-slate-900/70 dark:border-white/15",
1831
1903
  underlined: "rounded-xl bg-white/20 backdrop-opacity-5 border-b border-white/40 dark:bg-slate-900/30 dark:border-white/20",
1832
- rounded: "rounded-3xl bg-white/40 backdrop-opacity-5 border border-white/30 dark:bg-slate-900/50 dark:border-white/10",
1833
1904
  sharp: "rounded-none bg-white/40 backdrop-opacity-5 border border-white/30 dark:bg-slate-900/50 dark:border-white/10"
1834
1905
  };
1835
- var Block = React4__namespace.forwardRef(function Block2({ className, variant = "solid", blur = "sm", interactive = false, children, ...rest }, ref) {
1906
+ var Block = React__namespace.forwardRef(function Block2({ className, variant = "solid", blur = "sm", interactive = false, children, ...rest }, ref) {
1836
1907
  const variantClass = variantClasses2[variant] ?? variantClasses2.solid;
1837
1908
  const blurClass = blurClasses[blur] ?? blurClasses.sm;
1838
1909
  const interactiveClass = interactive ? "transition-all duration-200 hover:-translate-y-0.5 hover:shadow-xl focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-offset-slate-900" : void 0;
@@ -1890,10 +1961,10 @@ var MasonryBase = (props, ref) => {
1890
1961
  const renderedItems = items && items.length ? items.map((item, index) => {
1891
1962
  const content = resolveItemContent(item, index, renderItem);
1892
1963
  return wrapItem(content, resolveItemKey(item, index, getKey));
1893
- }) : React4__namespace.Children.map(children, (child, index) => wrapItem(child, resolveChildKey(child, index))) ?? null;
1964
+ }) : React__namespace.Children.map(children, (child, index) => wrapItem(child, resolveChildKey(child, index))) ?? null;
1894
1965
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ...rest, ref, role, className: tailwindMerge.twMerge(masonryBaseClass, className), style: layoutStyle, children: renderedItems });
1895
1966
  };
1896
- var Masonry = React4__namespace.forwardRef(MasonryBase);
1967
+ var Masonry = React__namespace.forwardRef(MasonryBase);
1897
1968
  Masonry.displayName = "Masonry";
1898
1969
  var Masonry_default = Masonry;
1899
1970
  function toCssLength(value) {
@@ -1918,13 +1989,13 @@ function resolveColumnCount(column, maxColumn, hasColumnWidth) {
1918
1989
  }
1919
1990
  function resolveItemKey(item, index, getKey) {
1920
1991
  if (getKey) return getKey(item, index);
1921
- if (React4__namespace.isValidElement(item) && item.key != null) {
1992
+ if (React__namespace.isValidElement(item) && item.key != null) {
1922
1993
  return item.key;
1923
1994
  }
1924
1995
  return index;
1925
1996
  }
1926
1997
  function resolveChildKey(child, index) {
1927
- if (React4__namespace.isValidElement(child) && child.key != null) {
1998
+ if (React__namespace.isValidElement(child) && child.key != null) {
1928
1999
  return child.key;
1929
2000
  }
1930
2001
  return index;
@@ -1950,7 +2021,7 @@ var hasMarker2 = (type) => {
1950
2021
  return false;
1951
2022
  };
1952
2023
  var isTabsTabElement = (element) => {
1953
- if (!React4.isValidElement(element)) {
2024
+ if (!React.isValidElement(element)) {
1954
2025
  return false;
1955
2026
  }
1956
2027
  return hasMarker2(element.type);
@@ -2042,7 +2113,7 @@ var panelVariantClasses = {
2042
2113
  pill: "mt-3 rounded-2xl border border-gray-200 bg-white/90 p-4"
2043
2114
  };
2044
2115
  var isExtraContentObject = (value) => {
2045
- return !!value && typeof value === "object" && !React4__namespace.isValidElement(value) && ("left" in value || "right" in value);
2116
+ return !!value && typeof value === "object" && !React__namespace.isValidElement(value) && ("left" in value || "right" in value);
2046
2117
  };
2047
2118
  var resolveFirstEnabledTab = (tabs) => tabs.find((tab) => !tab.disabled)?.value;
2048
2119
  var clampActive = (value, tabs) => {
@@ -2069,7 +2140,7 @@ var collectTabs = (children, tabsId) => {
2069
2140
  return;
2070
2141
  }
2071
2142
  if (!isTabsTabElement(node)) {
2072
- if (React4__namespace.isValidElement(node)) {
2143
+ if (React__namespace.isValidElement(node)) {
2073
2144
  const props = node.props;
2074
2145
  if (props && Object.prototype.hasOwnProperty.call(props, "children")) {
2075
2146
  walk(props.children);
@@ -2113,7 +2184,7 @@ var injectTabs = (children, context, tabs) => {
2113
2184
  });
2114
2185
  return changed ? next : node;
2115
2186
  }
2116
- if (!React4__namespace.isValidElement(node)) {
2187
+ if (!React__namespace.isValidElement(node)) {
2117
2188
  return node;
2118
2189
  }
2119
2190
  if (isTabsTabElement(node)) {
@@ -2129,14 +2200,14 @@ var injectTabs = (children, context, tabs) => {
2129
2200
  __tabsTabId: tab.tabId,
2130
2201
  __tabsPanelId: tab.panelId
2131
2202
  };
2132
- return React4__namespace.cloneElement(node, injectedProps);
2203
+ return React__namespace.cloneElement(node, injectedProps);
2133
2204
  }
2134
2205
  if (node.props) {
2135
2206
  const props = node.props;
2136
2207
  if (props && Object.prototype.hasOwnProperty.call(props, "children")) {
2137
2208
  const mappedChildren = walk(props.children);
2138
2209
  if (mappedChildren !== props.children) {
2139
- return React4__namespace.cloneElement(node, void 0, mappedChildren);
2210
+ return React__namespace.cloneElement(node, void 0, mappedChildren);
2140
2211
  }
2141
2212
  }
2142
2213
  }
@@ -2170,7 +2241,7 @@ var handleTabListKeyDown = (event) => {
2170
2241
  tabs[nextIndex]?.focus();
2171
2242
  event.preventDefault();
2172
2243
  };
2173
- var Tabs = React4__namespace.forwardRef((props, ref) => {
2244
+ var Tabs = React__namespace.forwardRef((props, ref) => {
2174
2245
  const {
2175
2246
  activeKey,
2176
2247
  defaultActiveKey,
@@ -2291,7 +2362,7 @@ var Tabs = React4__namespace.forwardRef((props, ref) => {
2291
2362
  );
2292
2363
  });
2293
2364
  Tabs.displayName = "Tabs";
2294
- var Tab = React4__namespace.forwardRef((props, ref) => {
2365
+ var Tab = React__namespace.forwardRef((props, ref) => {
2295
2366
  const {
2296
2367
  label: _label,
2297
2368
  value,
@@ -2366,7 +2437,7 @@ var AppBar = ({
2366
2437
  children,
2367
2438
  ...rest
2368
2439
  }) => {
2369
- const [mobileOpen, setMobileOpen] = React4__namespace.useState(false);
2440
+ const [mobileOpen, setMobileOpen] = React__namespace.useState(false);
2370
2441
  const isDark = color === "primary" || color === "dark";
2371
2442
  const isTransparent = color === "transparent";
2372
2443
  const barClass = tailwindMerge.twMerge(
@@ -2479,7 +2550,6 @@ var containerVariants = {
2479
2550
  ghost: "bg-primary/5 text-gray-900 border border-primary/10",
2480
2551
  filled: "bg-slate-900 text-white shadow-2xl shadow-slate-900/40",
2481
2552
  underlined: "border-b-4 border-primary/70 bg-white text-gray-900",
2482
- rounded: "rounded-3xl border border-gray-100 bg-white text-gray-900 shadow-xl",
2483
2553
  sharp: "rounded-none border border-gray-200 bg-white text-gray-900 shadow"
2484
2554
  };
2485
2555
  var frameRadii = {
@@ -2489,7 +2559,6 @@ var frameRadii = {
2489
2559
  ghost: "rounded-2xl",
2490
2560
  filled: "rounded-3xl",
2491
2561
  underlined: "rounded-2xl",
2492
- rounded: "rounded-3xl",
2493
2562
  sharp: "rounded-none"
2494
2563
  };
2495
2564
  var badgeVariants = {
@@ -2499,7 +2568,6 @@ var badgeVariants = {
2499
2568
  ghost: "bg-primary/15 text-primary border border-primary/25",
2500
2569
  filled: "bg-white/10 text-white border border-white/20",
2501
2570
  underlined: "bg-primary/10 text-primary border border-primary/20",
2502
- rounded: "bg-primary/10 text-primary border border-primary/20",
2503
2571
  sharp: "bg-primary/10 text-primary border border-primary/20"
2504
2572
  };
2505
2573
  var Hero = ({
@@ -2612,7 +2680,6 @@ var variantMap = {
2612
2680
  ghost: "bg-slate-50 text-gray-900 border border-slate-100",
2613
2681
  filled: "bg-slate-900 text-white",
2614
2682
  underlined: "bg-white text-gray-900 border-b-4 border-primary/70",
2615
- rounded: "bg-white text-gray-900 border border-gray-200 rounded-3xl",
2616
2683
  sharp: "bg-white text-gray-900 border border-gray-200 rounded-none"
2617
2684
  };
2618
2685
  var elevationClasses2 = {
@@ -2631,7 +2698,6 @@ var cardRadiusMap = {
2631
2698
  ghost: "rounded-2xl",
2632
2699
  filled: "rounded-3xl",
2633
2700
  underlined: "rounded-t-2xl",
2634
- rounded: "rounded-3xl",
2635
2701
  sharp: "rounded-none"
2636
2702
  };
2637
2703
  var avatarRadiusMap = {
@@ -2641,7 +2707,6 @@ var avatarRadiusMap = {
2641
2707
  ghost: "rounded-2xl",
2642
2708
  filled: "rounded-3xl",
2643
2709
  underlined: "rounded-2xl",
2644
- rounded: "rounded-3xl",
2645
2710
  sharp: "rounded-none"
2646
2711
  };
2647
2712
  var isDarkVariant = (variant) => variant === "filled";
@@ -2650,7 +2715,7 @@ var SocialIcons = ({ socials, dark }) => {
2650
2715
  if (Array.isArray(socials) && socials.length === 0) return null;
2651
2716
  const isSocialLinkArray = Array.isArray(socials) && socials.length > 0 && "href" in socials[0];
2652
2717
  if (isSocialLinkArray) {
2653
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: socials.map((link) => /* @__PURE__ */ jsxRuntime.jsx(Button_default, { iconOnly: true, icon: link.icon, variant: "rounded", size: "x-small", ...{ href: link.href, as: "a" } }, link.href)) });
2718
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: socials.map((link) => /* @__PURE__ */ jsxRuntime.jsx(Button_default, { iconOnly: true, icon: link.icon, variant: "outline", size: "x-small", ...{ href: link.href, as: "a" } }, link.href)) });
2654
2719
  }
2655
2720
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: socials });
2656
2721
  };
@@ -2753,109 +2818,57 @@ var ProfileCard = ({
2753
2818
  };
2754
2819
  ProfileCard.displayName = "ProfileCard";
2755
2820
  var ProfileCard_default = ProfileCard;
2756
-
2757
- // src/Form/Input/states.input.ts
2758
- var resolveIconClassName4 = (icon) => {
2759
- if (!icon) {
2760
- return void 0;
2761
- }
2762
- if (typeof icon === "string") {
2763
- const trimmed = icon.trim();
2764
- if (!trimmed) {
2765
- return void 0;
2766
- }
2767
- if (trimmed.includes(" ")) {
2768
- return trimmed;
2769
- }
2770
- const normalizedName2 = trimmed.startsWith("mdi-") ? trimmed : `mdi-${trimmed}`;
2771
- return ["mdi", normalizedName2].join(" ");
2772
- }
2773
- const [library, iconNameRaw] = icon;
2774
- const baseClasses = iconBaseClasses[library] ?? [library];
2775
- const iconName = iconNameRaw.trim();
2776
- if (!iconName) {
2777
- return baseClasses.join(" ");
2778
- }
2779
- const normalizedName = iconName.startsWith("mdi-") ? iconName : `mdi-${iconName}`;
2780
- const classes = [...baseClasses, normalizedName];
2781
- return Array.from(new Set(classes)).join(" ");
2782
- };
2783
- var Input = React4__namespace.default.forwardRef(
2784
- ({
2785
- variant = "outline",
2786
- size = "medium",
2787
- success,
2788
- error,
2789
- warn,
2790
- icon,
2791
- className,
2792
- wrapperClassName,
2793
- label,
2794
- prefix,
2795
- suffix,
2796
- ...props
2797
- }, ref) => {
2821
+ var Input = React__namespace.default.forwardRef(
2822
+ ({ variant = "outline", size = "medium", rounded = "md", success, error, warn, className, wrapperClassName, label, prepend, append, ...props }, ref) => {
2798
2823
  const { placeholder, onFocus, onBlur, ...inputProps } = props;
2799
- const reactId = React4__namespace.default.useId();
2824
+ const reactId = React__namespace.default.useId();
2800
2825
  const hasLabel = Boolean(label);
2801
2826
  const hasProvidedPlaceholder = typeof placeholder === "string" && placeholder.trim().length > 0;
2802
2827
  const hidePlaceholderUntilFocus = hasLabel && hasProvidedPlaceholder;
2803
- const [isFocused, setIsFocused] = React4__namespace.default.useState(false);
2804
- const classBase = "input-base focus-visible:outline-none focus-visible:ring-primary transition-colors duration-200 disabled:opacity-50 disabled:cursor-not-allowed w-full text-gray-900 dark:text-gray-100 placeholder:text-gray-500 dark:placeholder:text-gray-400";
2828
+ const [isFocused, setIsFocused] = React__namespace.default.useState(false);
2829
+ const classBase = "input-base transition-colors duration-200 w-full has-[input:disabled]:opacity-50 has-[input:disabled]:cursor-not-allowed";
2830
+ const inputBase = "peer block w-full min-w-0 border-0 bg-transparent p-0 text-gray-900 dark:text-gray-100 placeholder:text-gray-500 dark:placeholder:text-gray-400 focus:outline-none focus:ring-0";
2805
2831
  const variantClasses5 = {
2806
- solid: "rounded border border-gray-400 bg-white shadow-sm focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/30 dark:border-gray-600 dark:bg-slate-900 dark:shadow-black/20 dark:focus-visible:border-primary/70 dark:focus-visible:ring-primary/40",
2807
- sharp: "rounded-none border border-gray-400 bg-white shadow-sm focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/30 dark:border-gray-600 dark:bg-slate-900 dark:shadow-black/20 dark:focus-visible:border-primary/70 dark:focus-visible:ring-primary/40",
2808
- outline: "rounded border-2 border-black bg-white focus-visible:border-black focus-visible:ring-2 focus-visible:ring-black/30 dark:border-black dark:bg-transparent dark:focus-visible:border-black dark:focus-visible:ring-black/40",
2809
- 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 dark:border-b-gray-600 dark:focus-visible:border-primary/70",
2810
- 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 dark:bg-slate-800 dark:text-gray-100 dark:focus-visible:bg-slate-700 dark:focus-visible:border-primary/60 dark:focus-visible:ring-primary/25",
2811
- filled: "rounded border border-gray-200 bg-gray-100 focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/25 dark:border-gray-700 dark:bg-slate-800 dark:focus-visible:border-primary/60 dark:focus-visible:ring-primary/30",
2812
- 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 dark:border-b-gray-600 dark:focus-visible:border-primary/70",
2813
- 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 dark:border-gray-600 dark:bg-slate-900 dark:focus-visible:border-primary/70 dark:focus-visible:ring-primary/30 dark:shadow-black/20"
2832
+ solid: "rounded border border-gray-400 bg-white shadow-sm focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/30 dark:border-gray-600 dark:bg-slate-900 dark:shadow-black/20 dark:focus-within:border-primary/70 dark:focus-within:ring-primary/40",
2833
+ sharp: "rounded-none border border-gray-400 bg-white shadow-sm focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/30 dark:border-gray-600 dark:bg-slate-900 dark:shadow-black/20 dark:focus-within:border-primary/70 dark:focus-within:ring-primary/40",
2834
+ outline: "rounded border-2 border-black bg-white focus-within:border-black focus-within:ring-2 focus-within:ring-black/30 dark:border-black dark:bg-transparent dark:focus-within:border-black dark:focus-within:ring-black/40",
2835
+ text: "rounded-none border-0 border-b border-transparent px-0 bg-transparent focus-within:border-primary focus-within:ring-0 focus-within:ring-transparent dark:border-b-gray-600 dark:focus-within:border-primary/70",
2836
+ ghost: "rounded border border-transparent bg-gray-50 text-gray-900 focus-within:bg-white focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/15 dark:bg-slate-800 dark:text-gray-100 dark:focus-within:bg-slate-700 dark:focus-within:border-primary/60 dark:focus-within:ring-primary/25",
2837
+ filled: "rounded border border-gray-200 bg-gray-100 focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/25 dark:border-gray-700 dark:bg-slate-800 dark:focus-within:border-primary/60 dark:focus-within:ring-primary/30",
2838
+ underlined: "rounded-none border-0 border-b border-gray-300 px-0 bg-transparent focus-within:border-primary focus-within:ring-0 focus-within:ring-transparent dark:border-b-gray-600 dark:focus-within:border-primary/70"
2839
+ };
2840
+ const roundedClasses3 = {
2841
+ sm: "rounded-sm",
2842
+ md: "rounded-md",
2843
+ lg: "rounded-lg",
2844
+ xl: "rounded-xl",
2845
+ "2xl": "rounded-2xl",
2846
+ "3xl": "rounded-3xl"
2814
2847
  };
2815
2848
  const sizeClasses5 = {
2816
2849
  "x-small": {
2817
2850
  paddingY: "py-2",
2818
- paddingLeft: "pl-2",
2819
- paddingRight: "pr-2",
2820
- paddingLeftLeading: "pl-8",
2821
- paddingLeftLeadingDouble: "pl-12",
2822
- paddingRightTrailing: "pr-8",
2851
+ paddingX: "px-2",
2823
2852
  text: "text-xs"
2824
2853
  },
2825
2854
  small: {
2826
2855
  paddingY: "py-2.5",
2827
- paddingLeft: "pl-2.5",
2828
- paddingRight: "pr-2.5",
2829
- paddingLeftLeading: "pl-9",
2830
- paddingLeftLeadingDouble: "pl-12",
2831
- paddingRightTrailing: "pr-9",
2856
+ paddingX: "px-2.5",
2832
2857
  text: "text-sm"
2833
2858
  },
2834
2859
  medium: {
2835
2860
  paddingY: "py-3",
2836
- paddingLeft: "pl-3",
2837
- paddingRight: "pr-3",
2838
- paddingLeftLeading: "pl-10",
2839
- paddingLeftLeadingDouble: "pl-14",
2840
- paddingRightTrailing: "pr-10",
2861
+ paddingX: "px-3",
2841
2862
  text: "text-base"
2842
2863
  },
2843
2864
  large: {
2844
2865
  paddingY: "py-3.5",
2845
- paddingLeft: "pl-3.5",
2846
- paddingRight: "pr-3.5",
2847
- paddingLeftLeading: "pl-11",
2848
- paddingLeftLeadingDouble: "pl-14",
2849
- paddingRightTrailing: "pr-11",
2866
+ paddingX: "px-3.5",
2850
2867
  text: "text-lg"
2851
2868
  },
2852
2869
  "x-large": {
2853
2870
  paddingY: "py-4",
2854
- paddingLeft: "pl-4",
2855
- paddingRight: "pr-4",
2856
- paddingLeftLeading: "pl-12",
2857
- paddingLeftLeadingDouble: "pl-16",
2858
- paddingRightTrailing: "pr-12",
2871
+ paddingX: "px-4",
2859
2872
  text: "text-xl"
2860
2873
  }
2861
2874
  };
@@ -2872,25 +2885,18 @@ var Input = React4__namespace.default.forwardRef(
2872
2885
  };
2873
2886
  const variantClass = variantClasses5[variant] ?? variantClasses5.outline;
2874
2887
  const toneClass = status ? statusClasses[status.tone] : void 0;
2875
- let prependIconClass = resolveIconClassName4(icon);
2876
- const hasPrefix = typeof prefix === "string" ? prefix.trim().length > 0 : Boolean(prefix);
2877
- const hasSuffix = typeof suffix === "string" ? suffix.trim().length > 0 : Boolean(suffix);
2878
- const hasLeadingIcon = Boolean(prependIconClass);
2879
- const hasLeadingAdornment = hasLeadingIcon || hasPrefix;
2880
- const hasTrailingAdornment = hasSuffix;
2888
+ const hasPrepend = typeof prepend === "string" ? prepend.trim().length > 0 : Boolean(prepend);
2889
+ const hasAppend = typeof append === "string" ? append.trim().length > 0 : Boolean(append);
2881
2890
  const sizeConfig = sizeClasses5[size] ?? sizeClasses5.medium;
2882
- const leftPaddingClass = hasPrefix ? sizeConfig.paddingLeftLeadingDouble : hasLeadingAdornment ? sizeConfig.paddingLeftLeading : sizeConfig.paddingLeft;
2883
- const rightPaddingClass = hasTrailingAdornment ? sizeConfig.paddingRightTrailing : sizeConfig.paddingRight;
2884
- const sizeClass = [sizeConfig.paddingY, leftPaddingClass, rightPaddingClass, sizeConfig.text].join(" ");
2891
+ const sizeClass = [sizeConfig.paddingY, sizeConfig.paddingX, sizeConfig.text].join(" ");
2892
+ const roundedClass = variant === "sharp" || variant === "text" || variant === "underlined" ? "rounded-none" : roundedClasses3[rounded];
2885
2893
  const inputName = inputProps.name || reactId;
2886
2894
  const basePlaceholder = placeholder ?? (hasLabel ? " " : void 0);
2887
2895
  const placeholderValue = hidePlaceholderUntilFocus ? isFocused ? placeholder : " " : basePlaceholder;
2888
2896
  const placeholderClass = hidePlaceholderUntilFocus ? "placeholder-transparent focus:placeholder-gray-500 focus:dark:placeholder-gray-400" : void 0;
2889
- const labelLeftClass = hasLeadingAdornment ? "left-10" : "left-3";
2890
- const labelFocusLeftClass = hasLeadingAdornment ? "peer-focus:left-10" : "peer-focus:left-3";
2891
- const renderPrefix = hasPrefix ? typeof prefix === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: tailwindMerge.twMerge("text-gray-500 dark:text-gray-400", sizeConfig.text), children: prefix }) : prefix : null;
2892
- const renderSuffix = hasSuffix ? typeof suffix === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: tailwindMerge.twMerge("text-gray-500 dark:text-gray-400", sizeConfig.text), children: suffix }) : suffix : null;
2893
- const labelBgDefault = ["outline", "text", "underlined"].includes(variant) ? "bg-transparent" : "bg-white/90 dark:bg-slate-900";
2897
+ const renderPrepend = hasPrepend ? typeof prepend === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: tailwindMerge.twMerge("text-gray-500 dark:text-gray-400", sizeConfig.text), children: prepend }) : prepend : null;
2898
+ const renderAppend = hasAppend ? typeof append === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: tailwindMerge.twMerge("text-gray-500 dark:text-gray-400", sizeConfig.text), children: append }) : append : null;
2899
+ const labelBgDefault = "bg-white px-1 dark:bg-slate-900";
2894
2900
  const handleFocus = (event) => {
2895
2901
  if (hidePlaceholderUntilFocus) setIsFocused(true);
2896
2902
  onFocus?.(event);
@@ -2900,62 +2906,43 @@ var Input = React4__namespace.default.forwardRef(
2900
2906
  onBlur?.(event);
2901
2907
  };
2902
2908
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tailwindMerge.twMerge("flex flex-col gap-1", wrapperClassName), children: [
2903
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex items-center", children: [
2904
- hasLeadingAdornment && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "absolute left-3 inset-y-0 flex items-center gap-2", children: [
2905
- prependIconClass && /* @__PURE__ */ jsxRuntime.jsx(
2906
- "i",
2909
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tailwindMerge.twMerge("flex w-full items-center gap-2", classBase, variantClass, roundedClass, toneClass, sizeClass, className), children: [
2910
+ hasPrepend && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 flex items-center", children: renderPrepend }),
2911
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative min-w-0 flex-1", children: [
2912
+ /* @__PURE__ */ jsxRuntime.jsx(
2913
+ "input",
2907
2914
  {
2915
+ ...inputProps,
2916
+ ref,
2917
+ id: inputName,
2918
+ name: inputName,
2919
+ placeholder: placeholderValue,
2920
+ onFocus: handleFocus,
2921
+ onBlur: handleBlur,
2922
+ className: tailwindMerge.twMerge(inputBase, placeholderClass)
2923
+ }
2924
+ ),
2925
+ label && /* @__PURE__ */ jsxRuntime.jsx(
2926
+ "label",
2927
+ {
2928
+ htmlFor: inputName,
2908
2929
  className: tailwindMerge.twMerge(
2909
- "text-gray-500 dark:text-gray-400",
2910
- status?.tone && statusMessageClasses[status?.tone] || "",
2911
- prependIconClass
2930
+ "absolute left-0 z-10 transition-all duration-150 pointer-events-none text-gray-700 dark:text-gray-200",
2931
+ // Floated state: keep label above the border for readability
2932
+ "-top-2 -translate-y-full text-xs",
2933
+ labelBgDefault,
2934
+ // focus state keeps the same elevated position
2935
+ "peer-focus:left-0 peer-focus:-top-5 peer-focus:-translate-y-full peer-focus:text-xs peer-focus:text-gray-600 dark:peer-focus:text-gray-300",
2936
+ // when input is empty (placeholder shown) -> center label inside input
2937
+ "peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:text-sm peer-placeholder-shown:bg-transparent peer-placeholder-shown:text-gray-500 dark:peer-placeholder-shown:text-gray-400",
2938
+ // explicit filled state so label remains visible for any variant/value combination
2939
+ "peer-[&:not(:placeholder-shown)]:left-0 peer-[&:not(:placeholder-shown)]:-top-2 peer-[&:not(:placeholder-shown)]:-translate-y-full peer-[&:not(:placeholder-shown)]:text-xs peer-[&:not(:placeholder-shown)]:text-gray-700 dark:peer-[&:not(:placeholder-shown)]:text-gray-200"
2912
2940
  ),
2913
- "aria-hidden": true
2941
+ children: label
2914
2942
  }
2915
- ),
2916
- renderPrefix
2943
+ )
2917
2944
  ] }),
2918
- /* @__PURE__ */ jsxRuntime.jsx(
2919
- "input",
2920
- {
2921
- ...inputProps,
2922
- ref,
2923
- id: inputName,
2924
- name: inputName,
2925
- placeholder: placeholderValue,
2926
- onFocus: handleFocus,
2927
- onBlur: handleBlur,
2928
- className: tailwindMerge.twMerge(
2929
- "peer",
2930
- classBase,
2931
- variantClass,
2932
- toneClass,
2933
- sizeClass,
2934
- placeholderClass,
2935
- className
2936
- )
2937
- }
2938
- ),
2939
- label && /* @__PURE__ */ jsxRuntime.jsx(
2940
- "label",
2941
- {
2942
- htmlFor: inputName,
2943
- className: tailwindMerge.twMerge(
2944
- "absolute transition-all duration-150 pointer-events-none text-gray-700 rounded dark:text-gray-200",
2945
- labelLeftClass,
2946
- // Floated state: center label's vertical middle on the top border line
2947
- "-top-1.5 -translate-y-2/3 text-xs px-1",
2948
- labelBgDefault,
2949
- // focus state mirrors floated state (keeps center on border)
2950
- labelFocusLeftClass,
2951
- "peer-focus:top-0 peer-focus:-translate-y-1/2 peer-focus:text-xs peer-focus:px-1 peer-focus:bg-white peer-focus:text-gray-600 dark:peer-focus:bg-slate-900 dark:peer-focus:text-gray-300",
2952
- // when input is empty (placeholder shown) -> center label inside input
2953
- "peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:text-sm peer-placeholder-shown:bg-transparent peer-placeholder-shown:text-gray-500 dark:peer-placeholder-shown:text-gray-400"
2954
- ),
2955
- children: label
2956
- }
2957
- ),
2958
- hasTrailingAdornment && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute right-3 inset-y-0 flex items-center", children: renderSuffix })
2945
+ hasAppend && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 flex items-center", children: renderAppend })
2959
2946
  ] }),
2960
2947
  status?.message && /* @__PURE__ */ jsxRuntime.jsx("span", { className: tailwindMerge.twMerge("text-sm", statusMessageClasses[status.tone]), children: status.message })
2961
2948
  ] });
@@ -3058,7 +3045,7 @@ var TextArea = ({
3058
3045
  const modeToggleName = `${textareaId}-mode-toggle`;
3059
3046
  const simpleToggleId = `${modeToggleName}-simple`;
3060
3047
  const advancedToggleId = `${modeToggleName}-advanced`;
3061
- const turndownService = React4__namespace.default.useMemo(() => {
3048
+ const turndownService = React__namespace.default.useMemo(() => {
3062
3049
  const service = new TurndownService__default.default({
3063
3050
  codeBlockStyle: "fenced",
3064
3051
  emDelimiter: "*",
@@ -3071,8 +3058,8 @@ var TextArea = ({
3071
3058
  });
3072
3059
  return service;
3073
3060
  }, []);
3074
- const hiddenTextareaRef = React4__namespace.default.useRef(null);
3075
- const lastMarkdownRef = React4__namespace.default.useRef(contentValue);
3061
+ const hiddenTextareaRef = React__namespace.default.useRef(null);
3062
+ const lastMarkdownRef = React__namespace.default.useRef(contentValue);
3076
3063
  const editorContentClass = tailwindMerge.twMerge(
3077
3064
  baseClass,
3078
3065
  "min-h-45 rounded border-0 bg-transparent outline-none whitespace-pre-wrap wrap-break-words",
@@ -3110,11 +3097,11 @@ var TextArea = ({
3110
3097
  dispatchInputEvent(hiddenTextareaRef.current);
3111
3098
  }
3112
3099
  });
3113
- React4__namespace.default.useEffect(() => {
3100
+ React__namespace.default.useEffect(() => {
3114
3101
  if (!editor) return;
3115
3102
  editor.setEditable(editorEditable);
3116
3103
  }, [editor, editorEditable]);
3117
- React4__namespace.default.useEffect(() => {
3104
+ React__namespace.default.useEffect(() => {
3118
3105
  if (!editor) return;
3119
3106
  editor.setOptions({
3120
3107
  editorProps: {
@@ -3129,7 +3116,7 @@ var TextArea = ({
3129
3116
  }
3130
3117
  });
3131
3118
  }, [editor, editorContentClass, label, advancedLabelId]);
3132
- React4__namespace.default.useEffect(() => {
3119
+ React__namespace.default.useEffect(() => {
3133
3120
  if (!editor || typeof value !== "string") return;
3134
3121
  if (value === lastMarkdownRef.current) return;
3135
3122
  editor.commands.setContent(renderMarkdown(value), { emitUpdate: false });
@@ -3138,7 +3125,7 @@ var TextArea = ({
3138
3125
  hiddenTextareaRef.current.value = value;
3139
3126
  }
3140
3127
  }, [editor, value]);
3141
- React4__namespace.default.useEffect(() => {
3128
+ React__namespace.default.useEffect(() => {
3142
3129
  if (!hiddenTextareaRef.current) return;
3143
3130
  if (hiddenTextareaRef.current.value === contentValue) return;
3144
3131
  hiddenTextareaRef.current.value = contentValue;
@@ -3439,8 +3426,7 @@ var variantClasses4 = {
3439
3426
  text: "rounded-none border-0 border-b border-transparent pl-0 pr-10 bg-transparent focus-visible:border-primary focus-visible:ring-0 focus-visible:ring-transparent dark:border-b-gray-600 dark:focus-visible:border-primary/70",
3440
3427
  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 dark:bg-slate-800 dark:text-gray-100 dark:focus-visible:bg-slate-700 dark:focus-visible:border-primary/60 dark:focus-visible:ring-primary/25",
3441
3428
  filled: "rounded border border-gray-200 bg-gray-100 focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/25 dark:border-gray-700 dark:bg-slate-800 dark:focus-visible:border-primary/60 dark:focus-visible:ring-primary/30",
3442
- underlined: "rounded-none border-0 border-b border-gray-300 pl-0 pr-10 bg-transparent focus-visible:border-primary focus-visible:ring-0 focus-visible:ring-transparent dark:border-b-gray-300 dark:focus-visible:border-primary/70",
3443
- rounded: "rounded-full pl-4 pr-10 border border-gray-300 bg-white focus-visible:border-primary focus-visible:ring-2 focus-visible:ring-primary/20 shadow-sm dark:border-gray-600 dark:bg-slate-900 dark:focus-visible:border-primary/70 dark:focus-visible:ring-primary/30 dark:shadow-black/20"
3429
+ underlined: "rounded-none border-0 border-b border-gray-300 pl-0 pr-10 bg-transparent focus-visible:border-primary focus-visible:ring-0 focus-visible:ring-transparent dark:border-b-gray-300 dark:focus-visible:border-primary/70"
3444
3430
  };
3445
3431
  var sizeClasses3 = {
3446
3432
  "x-small": { padding: "pl-2 pr-8 py-2", text: "text-xs" },
@@ -3459,7 +3445,7 @@ var toIdSafe = (value) => {
3459
3445
  const sanitized = value.replace(/\s+/g, "-").replace(/[^A-Za-z0-9_-]/g, "");
3460
3446
  return sanitized || "opt";
3461
3447
  };
3462
- var resolveIconClassName5 = (icon) => {
3448
+ var resolveIconClassName4 = (icon) => {
3463
3449
  if (!icon) {
3464
3450
  return void 0;
3465
3451
  }
@@ -3484,7 +3470,7 @@ var resolveIconClassName5 = (icon) => {
3484
3470
  const classes = [...baseClasses, normalizedName];
3485
3471
  return Array.from(new Set(classes)).join(" ");
3486
3472
  };
3487
- var Select = React4__namespace.default.forwardRef(
3473
+ var Select = React__namespace.default.forwardRef(
3488
3474
  ({
3489
3475
  options,
3490
3476
  label,
@@ -3568,7 +3554,7 @@ var Select = React4__namespace.default.forwardRef(
3568
3554
  const optionValueStr = String(option.value);
3569
3555
  const isSelected = Array.isArray(value) ? value.map(String).includes(optionValueStr) : String(value) === optionValueStr;
3570
3556
  const isDefaultSelected = Array.isArray(defaultValue) ? defaultValue.map(String).includes(optionValueStr) : String(defaultValue) === optionValueStr;
3571
- const iconClassName = resolveIconClassName5(option.icon);
3557
+ const iconClassName = resolveIconClassName4(option.icon);
3572
3558
  const inputId = `${selectId}-${toIdSafe(optionValueStr)}-${index}`;
3573
3559
  return /* @__PURE__ */ jsxRuntime.jsxs(
3574
3560
  "label",
@@ -3682,19 +3668,19 @@ var Slider = ({
3682
3668
  const resolvedMax = toNumber(max, resolvedMin < 100 ? 100 : resolvedMin);
3683
3669
  const resolvedStep = toNumber(step, 1);
3684
3670
  const isControlled = typeof value === "number";
3685
- const [internalValue, setInternalValue] = React4.useState(
3671
+ const [internalValue, setInternalValue] = React.useState(
3686
3672
  clamp(
3687
3673
  typeof value === "number" ? value : typeof defaultValue === "number" ? defaultValue : resolvedMin,
3688
3674
  resolvedMin,
3689
3675
  resolvedMax
3690
3676
  )
3691
3677
  );
3692
- React4.useEffect(() => {
3678
+ React.useEffect(() => {
3693
3679
  if (isControlled && typeof value === "number") {
3694
3680
  setInternalValue(clamp(value, resolvedMin, resolvedMax));
3695
3681
  }
3696
3682
  }, [isControlled, value, resolvedMin, resolvedMax]);
3697
- React4.useEffect(() => {
3683
+ React.useEffect(() => {
3698
3684
  if (!isControlled) {
3699
3685
  setInternalValue((prev) => clamp(prev, resolvedMin, resolvedMax));
3700
3686
  }
@@ -3797,7 +3783,7 @@ var thumbActiveClasses = {
3797
3783
  surface: "border-gray-900 shadow-[0_4px_12px_rgba(15,23,42,0.32)]",
3798
3784
  bw: "border-black shadow-[0_4px_12px_rgba(0,0,0,0.32)]"
3799
3785
  };
3800
- var Switch = React4.forwardRef(
3786
+ var Switch = React.forwardRef(
3801
3787
  ({
3802
3788
  color = "primary",
3803
3789
  size = "medium",
@@ -3816,10 +3802,10 @@ var Switch = React4.forwardRef(
3816
3802
  const focusClass = focusRingClasses[color] ?? focusRingClasses.primary;
3817
3803
  const thumbActive = thumbActiveClasses[color] ?? thumbActiveClasses.primary;
3818
3804
  const isControlled = checked !== void 0;
3819
- const [internalChecked, setInternalChecked] = React4.useState(
3805
+ const [internalChecked, setInternalChecked] = React.useState(
3820
3806
  Boolean((isControlled ? checked : defaultChecked) ?? false)
3821
3807
  );
3822
- React4.useEffect(() => {
3808
+ React.useEffect(() => {
3823
3809
  if (isControlled) {
3824
3810
  setInternalChecked(Boolean(checked));
3825
3811
  }
@@ -4040,7 +4026,7 @@ var resolveVariantClass3 = (variant, type) => {
4040
4026
  return "bg-white/95 text-gray-900 border border-gray-200";
4041
4027
  }
4042
4028
  };
4043
- var resolveIconClassName6 = (icon) => {
4029
+ var resolveIconClassName5 = (icon) => {
4044
4030
  if (!icon) return void 0;
4045
4031
  if (typeof icon === "string") {
4046
4032
  const trimmed = icon.trim();
@@ -4054,8 +4040,8 @@ var resolveIconClassName6 = (icon) => {
4054
4040
  return `mdi ${library} ${normalized}`.trim();
4055
4041
  };
4056
4042
  var resolveIconNode2 = (icon, fallbackClassName) => {
4057
- if (React4__namespace.isValidElement(icon)) return icon;
4058
- const iconClassName = resolveIconClassName6(icon) ?? fallbackClassName;
4043
+ if (React__namespace.isValidElement(icon)) return icon;
4044
+ const iconClassName = resolveIconClassName5(icon) ?? fallbackClassName;
4059
4045
  if (!iconClassName) return null;
4060
4046
  const hasBase = iconClassName.split(" ").some((token) => token.trim() === "mdi");
4061
4047
  const hasGlyph = iconClassName.includes("mdi-");
@@ -4186,7 +4172,7 @@ var Notification = ({
4186
4172
  };
4187
4173
  var Notification_default = Notification;
4188
4174
  var useNotification = (defaultMessage) => {
4189
- const [messages, setMessages] = React4.useState([]);
4175
+ const [messages, setMessages] = React.useState([]);
4190
4176
  const clearNotifications = (key) => {
4191
4177
  setMessages((prev) => key ? prev.filter((notification) => notification.key !== key) : []);
4192
4178
  };
@@ -4581,7 +4567,7 @@ var resolveIconNode3 = (icon) => {
4581
4567
  const iconClass = resolveIconClassName2(icon);
4582
4568
  return iconClass ? /* @__PURE__ */ jsxRuntime.jsx("i", { className: iconClass, "aria-hidden": true }) : null;
4583
4569
  };
4584
- var TimeLineItem = React4__namespace.forwardRef((props, ref) => {
4570
+ var TimeLineItem = React__namespace.forwardRef((props, ref) => {
4585
4571
  const {
4586
4572
  title,
4587
4573
  subtitle,
@@ -4700,13 +4686,13 @@ var TimeLineItem = React4__namespace.forwardRef((props, ref) => {
4700
4686
  });
4701
4687
  TimeLineItem.displayName = "TimeLine.Item";
4702
4688
  var isTimeLineItem = (child) => {
4703
- if (!React4__namespace.isValidElement(child)) {
4689
+ if (!React__namespace.isValidElement(child)) {
4704
4690
  return false;
4705
4691
  }
4706
4692
  const elementType = child.type;
4707
4693
  return child.type === TimeLineItem || elementType.displayName === TimeLineItem.displayName;
4708
4694
  };
4709
- var TimeLine = React4__namespace.forwardRef((props, ref) => {
4695
+ var TimeLine = React__namespace.forwardRef((props, ref) => {
4710
4696
  const {
4711
4697
  side = "right",
4712
4698
  axis = "center",
@@ -4721,12 +4707,12 @@ var TimeLine = React4__namespace.forwardRef((props, ref) => {
4721
4707
  ...rest
4722
4708
  } = props;
4723
4709
  const resolvedGap = densityGapClasses[density] ?? densityGapClasses.default;
4724
- const childArray = React4__namespace.Children.toArray(children);
4710
+ const childArray = React__namespace.Children.toArray(children);
4725
4711
  const resolvedChildren = childArray.map((child, index) => {
4726
4712
  if (!isTimeLineItem(child)) {
4727
4713
  return child;
4728
4714
  }
4729
- return React4__namespace.cloneElement(child, {
4715
+ return React__namespace.cloneElement(child, {
4730
4716
  __timelineSide: side,
4731
4717
  __timelineAxis: axis,
4732
4718
  __timelineAlign: align,