@dimasbaguspm/versaur 0.0.7 → 0.0.9

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 (249) hide show
  1. package/README.md +5 -44
  2. package/dist/calendar-DwRERSxq.js +645 -0
  3. package/dist/drawer-Cn7sreJG.js +221 -0
  4. package/dist/enforce-subpath-import.js +106 -0
  5. package/dist/feedbacks/index.d.ts +3 -0
  6. package/dist/feedbacks/index.js +6 -0
  7. package/dist/feedbacks/progress-indicator/index.d.ts +2 -0
  8. package/dist/feedbacks/progress-indicator/progress-indicator.d.ts +7 -0
  9. package/dist/feedbacks/progress-indicator/types.d.ts +19 -0
  10. package/dist/form-layout-COQbtyW5.js +302 -0
  11. package/dist/forms/calculator-input/calculator-input.atoms.d.ts +11 -0
  12. package/dist/forms/calculator-input/calculator-input.d.ts +8 -0
  13. package/dist/forms/calculator-input/index.d.ts +1 -0
  14. package/dist/forms/calculator-input/types.d.ts +51 -0
  15. package/dist/forms/index.d.ts +12 -0
  16. package/dist/forms/index.js +18 -0
  17. package/dist/{components → forms}/segment-multiple-input/types.d.ts +4 -0
  18. package/dist/{components → forms}/segment-single-input/types.d.ts +4 -0
  19. package/dist/forms/time-picker-input/index.d.ts +2 -0
  20. package/dist/forms/time-picker-input/time-picker-input.atoms.d.ts +15 -0
  21. package/dist/forms/time-picker-input/time-picker-input.d.ts +9 -0
  22. package/dist/forms/time-picker-input/types.d.ts +47 -0
  23. package/dist/index-DOdDlCoL.js +3055 -0
  24. package/dist/index.d.ts +6 -2
  25. package/dist/index.js +50 -7067
  26. package/dist/{components → layouts}/app-bar/app-bar.atoms.d.ts +5 -1
  27. package/dist/{components → layouts}/app-bar/app-bar.d.ts +1 -0
  28. package/dist/{components → layouts}/app-bar/types.d.ts +6 -0
  29. package/dist/layouts/form-layout/form-layout.d.ts +4 -0
  30. package/dist/layouts/form-layout/index.d.ts +2 -0
  31. package/dist/layouts/form-layout/types.d.ts +20 -0
  32. package/dist/layouts/index.d.ts +5 -0
  33. package/dist/layouts/index.js +8 -0
  34. package/dist/layouts/page-layout/index.d.ts +1 -0
  35. package/dist/layouts/page-layout/page-layout.d.ts +8 -0
  36. package/dist/layouts/page-layout/types.d.ts +20 -0
  37. package/dist/menu--hEHXVZf.js +315 -0
  38. package/dist/navigation/index.d.ts +2 -0
  39. package/dist/navigation/index.js +5 -0
  40. package/dist/{components → navigation}/tabs/types.d.ts +4 -0
  41. package/dist/overlays/drawer/index.d.ts +2 -0
  42. package/dist/{components → overlays}/drawer/types.d.ts +8 -0
  43. package/dist/overlays/index.d.ts +3 -0
  44. package/dist/overlays/index.js +7 -0
  45. package/dist/{components → overlays}/menu/menu.atoms.d.ts +1 -1
  46. package/dist/{components → overlays}/menu/menu.d.ts +1 -1
  47. package/dist/{components → overlays}/menu/types.d.ts +1 -1
  48. package/dist/primitive/brand/brand.atoms.d.ts +6 -0
  49. package/dist/primitive/brand/brand.d.ts +8 -0
  50. package/dist/primitive/brand/index.d.ts +2 -0
  51. package/dist/primitive/brand/types.d.ts +17 -0
  52. package/dist/primitive/button-float/use-floating-position.d.ts +12 -0
  53. package/dist/{components → primitive}/button-icon/types.d.ts +1 -1
  54. package/dist/primitive/calculator/calculator.atoms.d.ts +2 -0
  55. package/dist/primitive/calculator/calculator.d.ts +2 -0
  56. package/dist/primitive/calculator/index.d.ts +2 -0
  57. package/dist/primitive/calculator/types.d.ts +29 -0
  58. package/dist/primitive/calculator/use-calculator.d.ts +11 -0
  59. package/dist/primitive/index.d.ts +14 -0
  60. package/dist/primitive/index.js +18 -0
  61. package/dist/primitive/table/index.d.ts +2 -0
  62. package/dist/primitive/table/table.atoms.d.ts +22 -0
  63. package/dist/primitive/table/table.d.ts +8 -0
  64. package/dist/primitive/table/types.d.ts +51 -0
  65. package/dist/skeleton-DwqjRsF-.js +277 -0
  66. package/dist/styles.css +5 -1
  67. package/dist/switch-input-DRNFMsqC.js +1985 -0
  68. package/dist/tabs-KyFmo5cA.js +310 -0
  69. package/dist/tile-BinjKW_i.js +921 -0
  70. package/package.json +24 -2
  71. package/dist/components/alert/alert.stories.d.ts +0 -42
  72. package/dist/components/alert/helpers.d.ts +0 -14
  73. package/dist/components/app-bar/app-bar.stories.d.ts +0 -19
  74. package/dist/components/app-bar/helpers.d.ts +0 -6
  75. package/dist/components/avatar/avatar.stories.d.ts +0 -42
  76. package/dist/components/avatar/helpers.d.ts +0 -14
  77. package/dist/components/badge/badge.stories.d.ts +0 -50
  78. package/dist/components/badge/helpers.d.ts +0 -11
  79. package/dist/components/bottom-bar/bottom-bar.stories.d.ts +0 -6
  80. package/dist/components/bottom-bar/helpers.d.ts +0 -7
  81. package/dist/components/breadcrumbs/breadcrumbs.stories.d.ts +0 -7
  82. package/dist/components/breadcrumbs/helpers.d.ts +0 -7
  83. package/dist/components/button/button.stories.d.ts +0 -50
  84. package/dist/components/button-float/button-float.stories.d.ts +0 -27
  85. package/dist/components/button-float/helpers.d.ts +0 -4
  86. package/dist/components/button-icon/button-icon.stories.d.ts +0 -45
  87. package/dist/components/button-icon/helpers.d.ts +0 -11
  88. package/dist/components/calendar/calendar.stories.d.ts +0 -6
  89. package/dist/components/checkbox-input/checkbox-input.stories.d.ts +0 -44
  90. package/dist/components/checkbox-input/context.d.ts +0 -10
  91. package/dist/components/checkbox-input/helpers.d.ts +0 -11
  92. package/dist/components/chip-input/chip-input.stories.d.ts +0 -12
  93. package/dist/components/chip-input/context.d.ts +0 -11
  94. package/dist/components/chip-input/helpers.d.ts +0 -4
  95. package/dist/components/date-single-picker-input/date-single-picker-input.docked.stories.d.ts +0 -10
  96. package/dist/components/date-single-picker-input/date-single-picker-input.modal.stories.d.ts +0 -10
  97. package/dist/components/date-single-picker-input/helpers.d.ts +0 -3
  98. package/dist/components/drawer/context.d.ts +0 -11
  99. package/dist/components/drawer/drawer.stories.d.ts +0 -41
  100. package/dist/components/drawer/helpers.d.ts +0 -39
  101. package/dist/components/drawer/index.d.ts +0 -10
  102. package/dist/components/icon/helpers.d.ts +0 -4
  103. package/dist/components/icon/icon.stories.d.ts +0 -39
  104. package/dist/components/index.d.ts +0 -30
  105. package/dist/components/loading-indicator/helpers.d.ts +0 -9
  106. package/dist/components/loading-indicator/loading-indicator.stories.d.ts +0 -16
  107. package/dist/components/menu/context.d.ts +0 -13
  108. package/dist/components/menu/helpers.d.ts +0 -8
  109. package/dist/components/menu/menu.stories.d.ts +0 -22
  110. package/dist/components/modal/helpers.d.ts +0 -7
  111. package/dist/components/modal/modal.stories.d.ts +0 -13
  112. package/dist/components/radio-input/context.d.ts +0 -11
  113. package/dist/components/radio-input/helpers.d.ts +0 -11
  114. package/dist/components/radio-input/radio-input.stories.d.ts +0 -74
  115. package/dist/components/segment-multiple-input/context.d.ts +0 -12
  116. package/dist/components/segment-multiple-input/helpers.d.ts +0 -15
  117. package/dist/components/segment-multiple-input/segment-multiple-input.stories.d.ts +0 -66
  118. package/dist/components/segment-single-input/context.d.ts +0 -12
  119. package/dist/components/segment-single-input/helpers.d.ts +0 -15
  120. package/dist/components/segment-single-input/segment-single-input.stories.d.ts +0 -57
  121. package/dist/components/select-input/helpers.d.ts +0 -3
  122. package/dist/components/select-input/select-input.stories.d.ts +0 -50
  123. package/dist/components/skeleton/helpers.d.ts +0 -6
  124. package/dist/components/skeleton/skeleton.stories.d.ts +0 -25
  125. package/dist/components/snackbar/helpers.d.ts +0 -8
  126. package/dist/components/snackbar/snackbar.stories.d.ts +0 -8
  127. package/dist/components/switch-input/helpers.d.ts +0 -18
  128. package/dist/components/switch-input/switch-input.stories.d.ts +0 -10
  129. package/dist/components/tabs/context.d.ts +0 -3
  130. package/dist/components/tabs/helpers.d.ts +0 -8
  131. package/dist/components/tabs/tabs.stories.d.ts +0 -17
  132. package/dist/components/text/helpers.d.ts +0 -18
  133. package/dist/components/text/text.stories.d.ts +0 -17
  134. package/dist/components/text-input/helpers.d.ts +0 -3
  135. package/dist/components/text-input/text-input.stories.d.ts +0 -20
  136. package/dist/components/textarea-input/helpers.d.ts +0 -4
  137. package/dist/components/textarea-input/textarea-input.stories.d.ts +0 -50
  138. package/dist/components/tile/helpers.d.ts +0 -8
  139. package/dist/components/tile/tile.stories.d.ts +0 -35
  140. package/dist/components/top-bar/helpers.d.ts +0 -26
  141. package/dist/components/top-bar/top-bar.stories.d.ts +0 -15
  142. package/dist/hooks/index.d.ts +0 -1
  143. /package/dist/{components → feedbacks}/loading-indicator/index.d.ts +0 -0
  144. /package/dist/{components → feedbacks}/loading-indicator/loading-indicator.atoms.d.ts +0 -0
  145. /package/dist/{components → feedbacks}/loading-indicator/loading-indicator.d.ts +0 -0
  146. /package/dist/{components → feedbacks}/loading-indicator/types.d.ts +0 -0
  147. /package/dist/{components → feedbacks}/skeleton/index.d.ts +0 -0
  148. /package/dist/{components → feedbacks}/skeleton/skeleton.d.ts +0 -0
  149. /package/dist/{components → feedbacks}/skeleton/types.d.ts +0 -0
  150. /package/dist/{components → forms}/checkbox-input/checkbox-input.atoms.d.ts +0 -0
  151. /package/dist/{components → forms}/checkbox-input/checkbox-input.d.ts +0 -0
  152. /package/dist/{components → forms}/checkbox-input/index.d.ts +0 -0
  153. /package/dist/{components → forms}/checkbox-input/types.d.ts +0 -0
  154. /package/dist/{components → forms}/chip-input/chip-input.atoms.d.ts +0 -0
  155. /package/dist/{components → forms}/chip-input/chip-input.d.ts +0 -0
  156. /package/dist/{components → forms}/chip-input/index.d.ts +0 -0
  157. /package/dist/{components → forms}/chip-input/types.d.ts +0 -0
  158. /package/dist/{components → forms}/date-single-picker-input/date-single-picker-input.atoms.d.ts +0 -0
  159. /package/dist/{components → forms}/date-single-picker-input/date-single-picker-input.d.ts +0 -0
  160. /package/dist/{components → forms}/date-single-picker-input/date-single-picker-input.docked.d.ts +0 -0
  161. /package/dist/{components → forms}/date-single-picker-input/date-single-picker-input.modal.d.ts +0 -0
  162. /package/dist/{components → forms}/date-single-picker-input/index.d.ts +0 -0
  163. /package/dist/{components → forms}/date-single-picker-input/types.d.ts +0 -0
  164. /package/dist/{components → forms}/date-single-picker-input/use-date-single-picker.d.ts +0 -0
  165. /package/dist/{components → forms}/radio-input/index.d.ts +0 -0
  166. /package/dist/{components → forms}/radio-input/radio-input.atoms.d.ts +0 -0
  167. /package/dist/{components → forms}/radio-input/radio-input.d.ts +0 -0
  168. /package/dist/{components → forms}/radio-input/types.d.ts +0 -0
  169. /package/dist/{components → forms}/segment-multiple-input/index.d.ts +0 -0
  170. /package/dist/{components → forms}/segment-multiple-input/segment-multiple-input.atoms.d.ts +0 -0
  171. /package/dist/{components → forms}/segment-multiple-input/segment-multiple-input.d.ts +0 -0
  172. /package/dist/{components → forms}/segment-single-input/index.d.ts +0 -0
  173. /package/dist/{components → forms}/segment-single-input/segment-single-input.atoms.d.ts +0 -0
  174. /package/dist/{components → forms}/segment-single-input/segment-single-input.d.ts +0 -0
  175. /package/dist/{components → forms}/select-input/index.d.ts +0 -0
  176. /package/dist/{components → forms}/select-input/select-input.d.ts +0 -0
  177. /package/dist/{components → forms}/select-input/types.d.ts +0 -0
  178. /package/dist/{components → forms}/switch-input/index.d.ts +0 -0
  179. /package/dist/{components → forms}/switch-input/switch-input.atoms.d.ts +0 -0
  180. /package/dist/{components → forms}/switch-input/switch-input.d.ts +0 -0
  181. /package/dist/{components → forms}/switch-input/types.d.ts +0 -0
  182. /package/dist/{components → forms}/text-input/index.d.ts +0 -0
  183. /package/dist/{components → forms}/text-input/text-input.d.ts +0 -0
  184. /package/dist/{components → forms}/text-input/types.d.ts +0 -0
  185. /package/dist/{components → forms}/textarea-input/index.d.ts +0 -0
  186. /package/dist/{components → forms}/textarea-input/textarea-input.d.ts +0 -0
  187. /package/dist/{components → forms}/textarea-input/types.d.ts +0 -0
  188. /package/dist/{components → layouts}/app-bar/index.d.ts +0 -0
  189. /package/dist/{components → layouts}/bottom-bar/bottom-bar.atoms.d.ts +0 -0
  190. /package/dist/{components → layouts}/bottom-bar/bottom-bar.d.ts +0 -0
  191. /package/dist/{components → layouts}/bottom-bar/index.d.ts +0 -0
  192. /package/dist/{components → layouts}/bottom-bar/types.d.ts +0 -0
  193. /package/dist/{components → layouts}/top-bar/index.d.ts +0 -0
  194. /package/dist/{components → layouts}/top-bar/top-bar.atoms.d.ts +0 -0
  195. /package/dist/{components → layouts}/top-bar/top-bar.d.ts +0 -0
  196. /package/dist/{components → layouts}/top-bar/types.d.ts +0 -0
  197. /package/dist/{components → navigation}/breadcrumbs/breadcrumbs.atoms.d.ts +0 -0
  198. /package/dist/{components → navigation}/breadcrumbs/breadcrumbs.d.ts +0 -0
  199. /package/dist/{components → navigation}/breadcrumbs/index.d.ts +0 -0
  200. /package/dist/{components → navigation}/breadcrumbs/types.d.ts +0 -0
  201. /package/dist/{components → navigation}/tabs/index.d.ts +0 -0
  202. /package/dist/{components → navigation}/tabs/tabs.atoms.d.ts +0 -0
  203. /package/dist/{components → navigation}/tabs/tabs.d.ts +0 -0
  204. /package/dist/{components → navigation}/tabs/use-tab-indicator.d.ts +0 -0
  205. /package/dist/{components → overlays}/drawer/drawer.atoms.d.ts +0 -0
  206. /package/dist/{components → overlays}/drawer/drawer.d.ts +0 -0
  207. /package/dist/{components → overlays}/menu/index.d.ts +0 -0
  208. /package/dist/{components → overlays}/menu/use-menu.d.ts +0 -0
  209. /package/dist/{components → overlays}/modal/index.d.ts +0 -0
  210. /package/dist/{components → overlays}/modal/modal.atoms.d.ts +0 -0
  211. /package/dist/{components → overlays}/modal/modal.d.ts +0 -0
  212. /package/dist/{components → overlays}/modal/types.d.ts +0 -0
  213. /package/dist/{components → overlays}/modal/use-escape-close.d.ts +0 -0
  214. /package/dist/{components → overlays}/modal/use-focus-trap.d.ts +0 -0
  215. /package/dist/{components → primitive}/alert/alert.atoms.d.ts +0 -0
  216. /package/dist/{components → primitive}/alert/alert.d.ts +0 -0
  217. /package/dist/{components → primitive}/alert/index.d.ts +0 -0
  218. /package/dist/{components → primitive}/alert/types.d.ts +0 -0
  219. /package/dist/{components → primitive}/avatar/avatar.atoms.d.ts +0 -0
  220. /package/dist/{components → primitive}/avatar/avatar.d.ts +0 -0
  221. /package/dist/{components → primitive}/avatar/index.d.ts +0 -0
  222. /package/dist/{components → primitive}/avatar/types.d.ts +0 -0
  223. /package/dist/{components → primitive}/badge/badge.d.ts +0 -0
  224. /package/dist/{components → primitive}/badge/index.d.ts +0 -0
  225. /package/dist/{components → primitive}/badge/types.d.ts +0 -0
  226. /package/dist/{components → primitive}/button/button.d.ts +0 -0
  227. /package/dist/{components → primitive}/button/index.d.ts +0 -0
  228. /package/dist/{components → primitive}/button/types.d.ts +0 -0
  229. /package/dist/{components → primitive}/button-float/button-float.d.ts +0 -0
  230. /package/dist/{components → primitive}/button-float/index.d.ts +0 -0
  231. /package/dist/{components → primitive}/button-float/types.d.ts +0 -0
  232. /package/dist/{components → primitive}/button-icon/button-icon.d.ts +0 -0
  233. /package/dist/{components → primitive}/button-icon/index.d.ts +0 -0
  234. /package/dist/{components → primitive}/calendar/calendar.d.ts +0 -0
  235. /package/dist/{components → primitive}/calendar/index.d.ts +0 -0
  236. /package/dist/{components → primitive}/calendar/types.d.ts +0 -0
  237. /package/dist/{components → primitive}/icon/icon.d.ts +0 -0
  238. /package/dist/{components → primitive}/icon/index.d.ts +0 -0
  239. /package/dist/{components → primitive}/icon/types.d.ts +0 -0
  240. /package/dist/{components → primitive}/snackbar/index.d.ts +0 -0
  241. /package/dist/{components → primitive}/snackbar/snackbar.atoms.d.ts +0 -0
  242. /package/dist/{components → primitive}/snackbar/snackbar.d.ts +0 -0
  243. /package/dist/{components → primitive}/snackbar/types.d.ts +0 -0
  244. /package/dist/{components → primitive}/text/index.d.ts +0 -0
  245. /package/dist/{components → primitive}/text/text.d.ts +0 -0
  246. /package/dist/{components → primitive}/text/types.d.ts +0 -0
  247. /package/dist/{components → primitive}/tile/index.d.ts +0 -0
  248. /package/dist/{components → primitive}/tile/tile.d.ts +0 -0
  249. /package/dist/{components → primitive}/tile/types.d.ts +0 -0
@@ -0,0 +1,921 @@
1
+ import { c as b, j as a, a as l } from "./index-DOdDlCoL.js";
2
+ import * as u from "react";
3
+ import { forwardRef as d, useState as v, useEffect as w, useCallback as y, useRef as S, createContext as V, useContext as T, useMemo as B } from "react";
4
+ import { a as A } from "./calendar-DwRERSxq.js";
5
+ import { X as I } from "lucide-react";
6
+ const R = b(
7
+ "relative flex items-center gap-2 rounded-md p-2 text-sm transition-all duration-200",
8
+ {
9
+ variants: {
10
+ variant: {
11
+ default: "",
12
+ outline: "border"
13
+ },
14
+ color: {
15
+ // Core colors
16
+ primary: "",
17
+ secondary: "",
18
+ tertiary: "",
19
+ ghost: "",
20
+ neutral: "",
21
+ // Semantic colors
22
+ success: "",
23
+ info: "",
24
+ warning: "",
25
+ danger: ""
26
+ }
27
+ },
28
+ compoundVariants: [
29
+ // Default variant styles (soft backgrounds)
30
+ {
31
+ variant: "default",
32
+ color: "primary",
33
+ class: "bg-coral-soft text-coral border border-coral"
34
+ },
35
+ {
36
+ variant: "default",
37
+ color: "secondary",
38
+ class: "bg-sage-soft text-sage border border-sage"
39
+ },
40
+ {
41
+ variant: "default",
42
+ color: "tertiary",
43
+ class: "bg-mist-soft text-mist border border-mist"
44
+ },
45
+ {
46
+ variant: "default",
47
+ color: "ghost",
48
+ class: "bg-slate-soft text-slate border border-slate"
49
+ },
50
+ {
51
+ variant: "default",
52
+ color: "neutral",
53
+ class: "bg-border/50 text-foreground border border-border"
54
+ },
55
+ {
56
+ variant: "default",
57
+ color: "success",
58
+ class: "bg-success-soft text-success border border-success"
59
+ },
60
+ {
61
+ variant: "default",
62
+ color: "info",
63
+ class: "bg-info-soft text-info border border-info"
64
+ },
65
+ {
66
+ variant: "default",
67
+ color: "warning",
68
+ class: "bg-warning-soft text-warning border border-warning"
69
+ },
70
+ {
71
+ variant: "default",
72
+ color: "danger",
73
+ class: "bg-danger-soft text-danger border border-danger"
74
+ },
75
+ // Outline variant styles
76
+ {
77
+ variant: "outline",
78
+ color: "primary",
79
+ class: "bg-transparent text-coral border-coral"
80
+ },
81
+ {
82
+ variant: "outline",
83
+ color: "secondary",
84
+ class: "bg-transparent text-sage border-sage"
85
+ },
86
+ {
87
+ variant: "outline",
88
+ color: "tertiary",
89
+ class: "bg-transparent text-mist border-mist"
90
+ },
91
+ {
92
+ variant: "outline",
93
+ color: "ghost",
94
+ class: "bg-transparent text-slate border-slate"
95
+ },
96
+ {
97
+ variant: "outline",
98
+ color: "neutral",
99
+ class: "bg-transparent text-foreground border-border"
100
+ },
101
+ {
102
+ variant: "outline",
103
+ color: "success",
104
+ class: "bg-transparent text-success border-success"
105
+ },
106
+ {
107
+ variant: "outline",
108
+ color: "info",
109
+ class: "bg-transparent text-info border-info"
110
+ },
111
+ {
112
+ variant: "outline",
113
+ color: "warning",
114
+ class: "bg-transparent text-warning border-warning"
115
+ },
116
+ {
117
+ variant: "outline",
118
+ color: "danger",
119
+ class: "bg-transparent text-danger border-danger"
120
+ }
121
+ ],
122
+ defaultVariants: {
123
+ variant: "default",
124
+ color: "neutral"
125
+ }
126
+ }
127
+ ), k = b(
128
+ "flex-shrink-0 flex justify-center items-center ",
129
+ {
130
+ variants: {
131
+ size: {
132
+ sm: "w-4 h-4",
133
+ md: "w-5 h-5",
134
+ lg: "w-6 h-6"
135
+ }
136
+ },
137
+ defaultVariants: {
138
+ size: "md"
139
+ }
140
+ }
141
+ ), C = d(
142
+ ({ className: e, children: t, ...r }, s) => /* @__PURE__ */ a.jsx("div", { ref: s, className: l(k(), e), ...r, children: t })
143
+ ), O = d(
144
+ ({
145
+ variant: e = "default",
146
+ color: t = "neutral",
147
+ icon: r,
148
+ className: s,
149
+ children: o,
150
+ ...n
151
+ }, g) => /* @__PURE__ */ a.jsxs(
152
+ "div",
153
+ {
154
+ ref: g,
155
+ role: "alert",
156
+ className: l(R({ variant: e, color: t }), s),
157
+ ...n,
158
+ children: [
159
+ r && /* @__PURE__ */ a.jsx(C, { children: r }),
160
+ /* @__PURE__ */ a.jsx("div", { className: "flex-1", children: o })
161
+ ]
162
+ }
163
+ )
164
+ ), de = Object.assign(O, {
165
+ Icon: C
166
+ }), q = b(
167
+ "inline-flex items-center justify-center font-medium text-white overflow-hidden transition-all duration-200 select-none relative",
168
+ {
169
+ variants: {
170
+ variant: {
171
+ // Core variants using Versaur color system
172
+ primary: "bg-coral-soft text-coral",
173
+ secondary: "bg-sage-soft text-sage",
174
+ tertiary: "bg-mist-soft text-mist",
175
+ ghost: "bg-slate-soft text-slate",
176
+ neutral: "bg-neutral-soft text-foreground border border-border",
177
+ // Semantic variants
178
+ success: "bg-success-soft text-success",
179
+ info: "bg-info-soft text-info",
180
+ warning: "bg-warning-soft text-warning",
181
+ danger: "bg-danger-soft text-danger"
182
+ },
183
+ size: {
184
+ xs: "h-6 w-6 text-xs",
185
+ sm: "h-8 w-8 text-xs",
186
+ md: "h-10 w-10 text-sm",
187
+ lg: "h-12 w-12 text-base",
188
+ xl: "h-16 w-16 text-xl"
189
+ },
190
+ shape: {
191
+ circle: "rounded-full",
192
+ square: "rounded-none",
193
+ rounded: "rounded-md"
194
+ }
195
+ },
196
+ defaultVariants: {
197
+ variant: "primary",
198
+ size: "md",
199
+ shape: "circle"
200
+ }
201
+ }
202
+ ), F = b(
203
+ "absolute inset-0 h-full w-full object-cover"
204
+ ), L = d(
205
+ ({
206
+ variant: e = "primary",
207
+ size: t = "md",
208
+ shape: r = "circle",
209
+ className: s,
210
+ children: o,
211
+ ...n
212
+ }, g) => /* @__PURE__ */ a.jsx(
213
+ "div",
214
+ {
215
+ ref: g,
216
+ className: l(q({ variant: e, size: t, shape: r }), s),
217
+ ...n,
218
+ children: o
219
+ }
220
+ )
221
+ ), M = d(
222
+ ({ src: e, alt: t, className: r, onError: s, ...o }, n) => {
223
+ const [g, i] = v(!1);
224
+ w(() => {
225
+ i(!1);
226
+ }, [e]);
227
+ const f = y(
228
+ (c) => {
229
+ i(!0), s?.(c);
230
+ },
231
+ [s]
232
+ );
233
+ return g ? null : /* @__PURE__ */ a.jsx(
234
+ "img",
235
+ {
236
+ ref: n,
237
+ src: e,
238
+ alt: t,
239
+ className: l(F(), r),
240
+ onError: f,
241
+ ...o
242
+ }
243
+ );
244
+ }
245
+ ), ue = Object.assign(L, {
246
+ /**
247
+ * AvatarImage sub-component for displaying images with fallback behavior
248
+ */
249
+ Image: M
250
+ }), P = b(
251
+ "inline-flex items-center justify-center font-medium transition-all duration-200 select-none gap-1 min-h-[1.25rem]",
252
+ {
253
+ variants: {
254
+ variant: {
255
+ default: "",
256
+ outline: "border bg-transparent"
257
+ },
258
+ color: {
259
+ // Core colors
260
+ primary: "",
261
+ secondary: "",
262
+ tertiary: "",
263
+ ghost: "",
264
+ neutral: "",
265
+ // Semantic colors
266
+ success: "",
267
+ info: "",
268
+ warning: "",
269
+ danger: ""
270
+ },
271
+ shape: {
272
+ rounded: "rounded-full",
273
+ square: "rounded-md"
274
+ },
275
+ size: {
276
+ sm: "text-xs px-1 py-0.25 h-3",
277
+ md: "text-xs px-1.5 py-0.5 h-4",
278
+ lg: "text-sm px-2 py-1 h-6"
279
+ },
280
+ iconOnly: {
281
+ true: "",
282
+ false: ""
283
+ }
284
+ },
285
+ compoundVariants: [
286
+ // Default variant color combinations - using light/soft backgrounds
287
+ {
288
+ variant: "default",
289
+ color: "primary",
290
+ className: "bg-coral-soft text-coral"
291
+ },
292
+ {
293
+ variant: "default",
294
+ color: "secondary",
295
+ className: "bg-sage-soft text-sage"
296
+ },
297
+ {
298
+ variant: "default",
299
+ color: "tertiary",
300
+ className: "bg-mist-soft text-mist"
301
+ },
302
+ {
303
+ variant: "default",
304
+ color: "ghost",
305
+ className: "bg-slate-soft text-slate"
306
+ },
307
+ {
308
+ variant: "default",
309
+ color: "neutral",
310
+ className: "bg-neutral text-foreground"
311
+ },
312
+ {
313
+ variant: "default",
314
+ color: "success",
315
+ className: "bg-success-soft text-success"
316
+ },
317
+ {
318
+ variant: "default",
319
+ color: "info",
320
+ className: "bg-info-soft text-info"
321
+ },
322
+ {
323
+ variant: "default",
324
+ color: "warning",
325
+ className: "bg-warning-soft text-warning"
326
+ },
327
+ {
328
+ variant: "default",
329
+ color: "danger",
330
+ className: "bg-danger-soft text-danger"
331
+ },
332
+ // Outline variant color combinations
333
+ {
334
+ variant: "outline",
335
+ color: "primary",
336
+ className: "border-coral text-coral"
337
+ },
338
+ {
339
+ variant: "outline",
340
+ color: "secondary",
341
+ className: "border-sage text-sage"
342
+ },
343
+ {
344
+ variant: "outline",
345
+ color: "tertiary",
346
+ className: "border-mist text-mist"
347
+ },
348
+ {
349
+ variant: "outline",
350
+ color: "ghost",
351
+ className: "border-slate text-slate"
352
+ },
353
+ {
354
+ variant: "outline",
355
+ color: "neutral",
356
+ className: "border-neutral text-foreground"
357
+ },
358
+ {
359
+ variant: "outline",
360
+ color: "success",
361
+ className: "border-success text-success"
362
+ },
363
+ {
364
+ variant: "outline",
365
+ color: "info",
366
+ className: "border-info text-info"
367
+ },
368
+ {
369
+ variant: "outline",
370
+ color: "warning",
371
+ className: "border-warning text-warning"
372
+ },
373
+ {
374
+ variant: "outline",
375
+ color: "danger",
376
+ className: "border-danger text-danger"
377
+ },
378
+ // Icon-only size adjustments
379
+ {
380
+ iconOnly: !0,
381
+ size: "sm",
382
+ className: "px-1 py-1 w-5 h-5"
383
+ },
384
+ {
385
+ iconOnly: !0,
386
+ size: "md",
387
+ className: "px-1.5 py-1.5 w-6 h-6"
388
+ },
389
+ {
390
+ iconOnly: !0,
391
+ size: "lg",
392
+ className: "px-2 py-2 w-7 h-7"
393
+ }
394
+ ],
395
+ defaultVariants: {
396
+ variant: "default",
397
+ color: "primary",
398
+ shape: "square",
399
+ size: "md",
400
+ iconOnly: !1
401
+ }
402
+ }
403
+ ), H = d(
404
+ ({
405
+ variant: e = "default",
406
+ shape: t = "square",
407
+ color: r = "primary",
408
+ size: s = "md",
409
+ iconLeft: o,
410
+ iconRight: n,
411
+ className: g,
412
+ children: i,
413
+ ...f
414
+ }, c) => {
415
+ const h = !(i != null && i !== "") && !!(o || n);
416
+ return /* @__PURE__ */ a.jsx(
417
+ "span",
418
+ {
419
+ ref: c,
420
+ className: l(
421
+ P({
422
+ variant: e,
423
+ color: r,
424
+ shape: t,
425
+ size: s,
426
+ iconOnly: h
427
+ }),
428
+ g
429
+ ),
430
+ ...f,
431
+ children: h ? (
432
+ // Icon-only mode: display only the icon
433
+ o || n
434
+ ) : (
435
+ // Normal mode: display icon(s) and text
436
+ /* @__PURE__ */ a.jsxs(a.Fragment, { children: [
437
+ o,
438
+ i,
439
+ n
440
+ ] })
441
+ )
442
+ }
443
+ );
444
+ }
445
+ );
446
+ H.displayName = "Badge";
447
+ const E = (e) => /* @__PURE__ */ u.createElement("svg", { width: 32, height: 32, viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ u.createElement("title", null, "Spenicle"), /* @__PURE__ */ u.createElement("rect", { width: 32, height: 32, fill: "#e07a5f" }), /* @__PURE__ */ u.createElement("g", { transform: "translate(16, 16) scale(0.625) translate(-12, -12)" }, /* @__PURE__ */ u.createElement("path", { d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z", fill: "white" }))), $ = (e) => /* @__PURE__ */ u.createElement("svg", { width: 32, height: 32, viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ u.createElement("title", null, "Spenicle"), /* @__PURE__ */ u.createElement("rect", { width: 32, height: 32, rx: 8, fill: "#e07a5f" }), /* @__PURE__ */ u.createElement("g", { transform: "translate(16, 16) scale(0.625) translate(-12, -12)" }, /* @__PURE__ */ u.createElement("path", { d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z", fill: "white" }))), X = (e) => /* @__PURE__ */ u.createElement("svg", { width: 32, height: 32, viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ u.createElement("title", null, "Spenicle"), /* @__PURE__ */ u.createElement("circle", { cx: 16, cy: 16, r: 16, fill: "#e07a5f" }), /* @__PURE__ */ u.createElement("g", { transform: "translate(16, 16) scale(0.625) translate(-12, -12)" }, /* @__PURE__ */ u.createElement("path", { d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z", fill: "white" }))), Y = b("", {
448
+ variants: {
449
+ size: {
450
+ xs: "h-6 w-6",
451
+ sm: "h-6 w-6",
452
+ md: "h-8 w-8",
453
+ lg: "h-10 w-10",
454
+ xl: "h-12 w-12"
455
+ }
456
+ },
457
+ defaultVariants: {
458
+ size: "md"
459
+ }
460
+ }), _ = d(
461
+ ({ shape: e = "square", size: t, ...r }, s) => {
462
+ const n = {
463
+ square: E,
464
+ rounded: $,
465
+ circle: X
466
+ }[e] || E;
467
+ return /* @__PURE__ */ a.jsx(
468
+ n,
469
+ {
470
+ ref: s,
471
+ ...r,
472
+ className: l("inline-block", Y({ size: t }))
473
+ }
474
+ );
475
+ }
476
+ ), fe = d(
477
+ ({ name: e = "spenicle", size: t = "md", shape: r, ...s }, o) => /* @__PURE__ */ a.jsx(
478
+ "span",
479
+ {
480
+ ref: o,
481
+ className: l("inline-flex items-center gap-2"),
482
+ ...s,
483
+ children: /* @__PURE__ */ a.jsx(_, { shape: r, size: t, "aria-hidden": "true" })
484
+ }
485
+ )
486
+ ), D = b(
487
+ [
488
+ "inline-flex items-center justify-center gap-2",
489
+ "rounded-lg",
490
+ "font-medium",
491
+ "transition-all",
492
+ "duration-200",
493
+ "focus-visible:outline-none",
494
+ "focus-visible:ring-2",
495
+ "focus-visible:ring-offset-2",
496
+ "disabled:opacity-50",
497
+ "disabled:pointer-events-none",
498
+ "select-none",
499
+ "shadow-lg",
500
+ "transition-transform",
501
+ "transition-shadow",
502
+ "will-change-transform,opacity,box-shadow",
503
+ "hover:scale-105",
504
+ "active:scale-95",
505
+ "focus-visible:shadow-xl",
506
+ "hover:shadow-xl",
507
+ "active:shadow-md"
508
+ ].join(" "),
509
+ {
510
+ variants: {
511
+ variant: {
512
+ primary: "bg-coral text-white hover:bg-coral/90 focus-visible:ring-coral-soft focus-visible:ring-offset-white",
513
+ secondary: "bg-sage text-white hover:bg-sage/90 focus-visible:ring-sage-soft focus-visible:ring-offset-white",
514
+ tertiary: "bg-mist text-white hover:bg-mist/90 focus-visible:ring-mist-soft focus-visible:ring-offset-white",
515
+ ghost: "bg-white text-foreground hover:bg-slate-soft focus-visible:ring-slate-soft focus-visible:ring-offset-white",
516
+ neutral: "bg-neutral text-foreground border border-border hover:bg-neutral/80 focus-visible:ring-foreground-soft focus-visible:ring-offset-white",
517
+ "primary-outline": "border border-coral text-coral bg-white hover:bg-coral hover:text-white focus-visible:ring-coral-soft focus-visible:ring-offset-white",
518
+ "secondary-outline": "border border-sage text-sage bg-white hover:bg-sage hover:text-white focus-visible:ring-sage-soft focus-visible:ring-offset-white",
519
+ "tertiary-outline": "border border-mist text-mist bg-white hover:bg-mist hover:text-white focus-visible:ring-mist-soft focus-visible:ring-offset-white",
520
+ "ghost-outline": "border border-slate text-slate bg-white hover:bg-slate hover:text-white focus-visible:ring-slate-soft focus-visible:ring-offset-white",
521
+ "neutral-outline": "border border-neutral text-foreground bg-white hover:bg-neutral hover:text-foreground focus-visible:ring-foreground-soft focus-visible:ring-offset-white",
522
+ "primary-ghost": "text-coral bg-white hover:bg-coral-soft focus-visible:ring-coral-soft focus-visible:ring-offset-white",
523
+ "secondary-ghost": "text-sage bg-white hover:bg-sage-soft focus-visible:ring-sage-soft focus-visible:ring-offset-white",
524
+ "tertiary-ghost": "text-mist bg-white hover:bg-mist-soft focus-visible:ring-mist-soft focus-visible:ring-offset-white",
525
+ "neutral-ghost": "text-foreground bg-white hover:bg-neutral/70 focus-visible:ring-foreground-soft focus-visible:ring-offset-white",
526
+ success: "bg-success text-white hover:bg-success/90 focus-visible:ring-success-soft focus-visible:ring-offset-white",
527
+ "success-outline": "border border-success text-success bg-white hover:bg-success hover:text-white focus-visible:ring-success-soft focus-visible:ring-offset-white",
528
+ "success-ghost": "text-success bg-white hover:bg-success-soft focus-visible:ring-success-soft focus-visible:ring-offset-white",
529
+ info: "bg-info text-white hover:bg-info/90 focus-visible:ring-info-soft focus-visible:ring-offset-white",
530
+ "info-outline": "border border-info text-info bg-white hover:bg-info hover:text-white focus-visible:ring-info-soft focus-visible:ring-offset-white",
531
+ "info-ghost": "text-info bg-white hover:bg-info-soft focus-visible:ring-info-soft focus-visible:ring-offset-white",
532
+ warning: "bg-warning text-white hover:bg-warning/90 focus-visible:ring-warning-soft focus-visible:ring-offset-white",
533
+ "warning-outline": "border border-warning text-warning bg-white hover:bg-warning hover:text-white focus-visible:ring-warning-soft focus-visible:ring-offset-white",
534
+ "warning-ghost": "text-warning bg-white hover:bg-warning-soft focus-visible:ring-warning-soft focus-visible:ring-offset-white",
535
+ danger: "bg-danger text-white hover:bg-danger/90 focus-visible:ring-danger-soft focus-visible:ring-offset-white",
536
+ "danger-outline": "border border-danger text-danger bg-white hover:bg-danger hover:text-white focus-visible:ring-danger-soft focus-visible:ring-offset-white",
537
+ "danger-ghost": "text-danger bg-white hover:bg-danger-soft focus-visible:ring-danger-soft focus-visible:ring-offset-white",
538
+ outline: "border border-border text-foreground bg-white hover:bg-accent-soft focus-visible:ring-accent-soft focus-visible:ring-offset-white",
539
+ destructive: "bg-danger text-white hover:bg-danger/90 focus-visible:ring-danger-soft focus-visible:ring-offset-white"
540
+ },
541
+ size: {
542
+ sm: "h-12 w-12 min-w-12 min-h-12 text-base",
543
+ md: "h-14 w-14 min-w-14 min-h-14 text-lg",
544
+ lg: "h-16 w-16 min-w-16 min-h-16 text-xl"
545
+ }
546
+ },
547
+ defaultVariants: {
548
+ variant: "primary",
549
+ size: "md"
550
+ }
551
+ }
552
+ );
553
+ function G(e, t = "1rem") {
554
+ const r = S(null), [s, o] = v({}), [n, g] = v(
555
+ "absolute bottom-4 right-4"
556
+ ), i = y(() => {
557
+ const c = r.current;
558
+ if (!c) return;
559
+ const m = c.getBoundingClientRect().height > window.innerHeight;
560
+ let h = {}, p = "";
561
+ m ? (h = {
562
+ position: "absolute",
563
+ bottom: t,
564
+ zIndex: 50,
565
+ transform: `translateY(${c.scrollTop}px)`
566
+ }, p = `absolute bottom-4 ${e}-4`) : (h = {
567
+ position: "absolute",
568
+ bottom: t,
569
+ zIndex: 50
570
+ }, p = `absolute bottom-4 ${e}-4`), o(h), g(p);
571
+ }, [e, t]);
572
+ return w(() => {
573
+ i();
574
+ const c = r.current;
575
+ return c && c.addEventListener("scroll", i), window.addEventListener("resize", i), () => {
576
+ c && c.removeEventListener("scroll", i), window.removeEventListener("resize", i);
577
+ };
578
+ }, [i]), w(() => {
579
+ r.current && i();
580
+ }, [e, t, i]), [y(
581
+ (c) => {
582
+ r.current = c, c && i();
583
+ },
584
+ [i]
585
+ ), s, n];
586
+ }
587
+ const be = d(
588
+ function({
589
+ className: t,
590
+ variant: r = "primary",
591
+ size: s = "md",
592
+ side: o = "right",
593
+ offset: n = "1rem",
594
+ ...g
595
+ }, i) {
596
+ const [f, c, x] = G(
597
+ o,
598
+ n
599
+ ), [m, h] = v(!1);
600
+ return w(() => {
601
+ h(!0);
602
+ }, []), /* @__PURE__ */ a.jsx("div", { ref: f, children: /* @__PURE__ */ a.jsx(
603
+ "button",
604
+ {
605
+ ref: i,
606
+ type: g.type || "button",
607
+ className: l(
608
+ D({ variant: r, size: s }),
609
+ x,
610
+ m && "animate-fab-in",
611
+ t
612
+ ),
613
+ style: c,
614
+ ...g
615
+ }
616
+ ) });
617
+ }
618
+ ), J = b(
619
+ "flex items-center gap-2 px-4 py-2 rounded-sm w-fit max-w-sm relative bg-white shadow-sm",
620
+ {
621
+ variants: {
622
+ color: {
623
+ success: "text-success bg-success/5 border-l-4 border-success",
624
+ info: "text-info bg-info/5 border-l-4 border-info",
625
+ warning: "text-warning bg-warning/5 border-l-4 border-warning",
626
+ danger: "text-danger bg-danger/5 border-l-4 border-danger"
627
+ }
628
+ },
629
+ defaultVariants: {
630
+ color: "success"
631
+ }
632
+ }
633
+ );
634
+ function K(e) {
635
+ switch (e) {
636
+ case "info":
637
+ return "info-ghost";
638
+ case "warning":
639
+ return "warning-ghost";
640
+ case "danger":
641
+ return "danger-ghost";
642
+ case "success":
643
+ default:
644
+ return "success-ghost";
645
+ }
646
+ }
647
+ const Q = ({
648
+ children: e,
649
+ ...t
650
+ }) => /* @__PURE__ */ a.jsx(
651
+ "span",
652
+ {
653
+ className: "flex-1 truncate text-base font-medium",
654
+ "data-testid": "snackbar-text",
655
+ ...t,
656
+ children: e
657
+ }
658
+ ), U = ({
659
+ children: e,
660
+ ...t
661
+ }) => /* @__PURE__ */ a.jsx("span", { className: "ml-2", "data-testid": "snackbar-action", ...t, children: e }), he = d(
662
+ ({ children: e, action: t, onClose: r, color: s, className: o, ...n }, g) => /* @__PURE__ */ a.jsxs(
663
+ "div",
664
+ {
665
+ ref: g,
666
+ role: "status",
667
+ "aria-live": "polite",
668
+ className: l(J({ color: s }), o),
669
+ ...n,
670
+ children: [
671
+ /* @__PURE__ */ a.jsx(Q, { children: e }),
672
+ t && /* @__PURE__ */ a.jsx(U, { children: t }),
673
+ /* @__PURE__ */ a.jsx(
674
+ A,
675
+ {
676
+ as: I,
677
+ variant: K(s),
678
+ size: "sm",
679
+ shape: "rounded",
680
+ "aria-label": "Close",
681
+ onClick: r,
682
+ className: "ml-2"
683
+ }
684
+ )
685
+ ]
686
+ }
687
+ )
688
+ ), z = V(null), W = z.Provider;
689
+ function N() {
690
+ const e = T(z);
691
+ if (!e)
692
+ throw new Error("Table compound components must be used within <Table>");
693
+ return e;
694
+ }
695
+ const j = (e) => {
696
+ if (e < 1 || e > 12)
697
+ throw new Error("Column span must be between 1 and 12");
698
+ switch (e) {
699
+ case 1:
700
+ return "grid-cols-1";
701
+ case 2:
702
+ return "grid-cols-2";
703
+ case 3:
704
+ return "grid-cols-3";
705
+ case 4:
706
+ return "grid-cols-4";
707
+ case 5:
708
+ return "grid-cols-5";
709
+ case 6:
710
+ return "grid-cols-6";
711
+ case 7:
712
+ return "grid-cols-7";
713
+ case 8:
714
+ return "grid-cols-8";
715
+ case 9:
716
+ return "grid-cols-9";
717
+ case 10:
718
+ return "grid-cols-10";
719
+ case 11:
720
+ return "grid-cols-11";
721
+ case 12:
722
+ return "grid-cols-12";
723
+ default:
724
+ return "grid-cols-2";
725
+ }
726
+ }, Z = (e) => {
727
+ if (e < 1 || e > 12)
728
+ throw new Error("Column span must be between 1 and 12");
729
+ switch (e) {
730
+ case 1:
731
+ return "col-span-1";
732
+ case 2:
733
+ return "col-span-2";
734
+ case 3:
735
+ return "col-span-3";
736
+ case 4:
737
+ return "col-span-4";
738
+ case 5:
739
+ return "col-span-5";
740
+ case 6:
741
+ return "col-span-6";
742
+ case 7:
743
+ return "col-span-7";
744
+ case 8:
745
+ return "col-span-8";
746
+ case 9:
747
+ return "col-span-9";
748
+ case 10:
749
+ return "col-span-10";
750
+ case 11:
751
+ return "col-span-11";
752
+ case 12:
753
+ return "col-span-12";
754
+ default:
755
+ return "col-span-2";
756
+ }
757
+ }, ee = d(
758
+ ({ children: e, className: t, ...r }, s) => {
759
+ const { maxColumns: o } = N();
760
+ return /* @__PURE__ */ a.jsx(
761
+ "div",
762
+ {
763
+ role: "rowgroup",
764
+ className: l("bg-neutral-soft", t),
765
+ ...r,
766
+ ref: s,
767
+ children: /* @__PURE__ */ a.jsx(
768
+ "div",
769
+ {
770
+ role: "row",
771
+ className: l("grid gap-4", j(o)),
772
+ children: e
773
+ }
774
+ )
775
+ }
776
+ );
777
+ }
778
+ ), te = d(
779
+ ({ children: e, className: t, ...r }, s) => /* @__PURE__ */ a.jsx("div", { role: "rowgroup", ref: s, className: l(t), ...r, children: e })
780
+ ), re = d(
781
+ ({ children: e, className: t, ...r }, s) => {
782
+ const { maxColumns: o } = N();
783
+ return /* @__PURE__ */ a.jsx(
784
+ "div",
785
+ {
786
+ role: "rowgroup",
787
+ className: l("bg-neutral-soft", t),
788
+ ...r,
789
+ ref: s,
790
+ children: /* @__PURE__ */ a.jsx(
791
+ "div",
792
+ {
793
+ role: "row",
794
+ className: l("grid gap-4", j(o)),
795
+ children: e
796
+ }
797
+ )
798
+ }
799
+ );
800
+ }
801
+ ), se = d(
802
+ ({ children: e, className: t, ...r }, s) => {
803
+ const { maxColumns: o } = N();
804
+ return /* @__PURE__ */ a.jsx(
805
+ "div",
806
+ {
807
+ role: "row",
808
+ className: l(
809
+ "grid gap-4",
810
+ j(o),
811
+ "border-b border-border last:border-0",
812
+ t
813
+ ),
814
+ ref: s,
815
+ ...r,
816
+ children: e
817
+ }
818
+ );
819
+ }
820
+ ), oe = d(
821
+ ({ as: e = "td", span: t, align: r = "left", children: s, className: o, ...n }, g) => {
822
+ const i = e === "th" ? "columnheader" : "cell";
823
+ let f = "text-left";
824
+ return r === "center" ? f = "text-center" : r === "right" && (f = "text-right"), /* @__PURE__ */ a.jsx(
825
+ "div",
826
+ {
827
+ ref: g,
828
+ role: i,
829
+ className: l(
830
+ "px-4 py-2",
831
+ "[&:not(:last-child)]:border-r [&:not(:last-child)]:border-border",
832
+ Z(t),
833
+ f,
834
+ o
835
+ ),
836
+ ...n,
837
+ children: s
838
+ }
839
+ );
840
+ }
841
+ ), ae = d(
842
+ ({ children: e, className: t, maxColumns: r = 12, ...s }, o) => {
843
+ const n = B(
844
+ () => ({ maxColumns: r }),
845
+ [r]
846
+ );
847
+ return /* @__PURE__ */ a.jsx(W, { value: n, children: /* @__PURE__ */ a.jsx(
848
+ "div",
849
+ {
850
+ ref: o,
851
+ role: "table",
852
+ className: l(
853
+ "w-full overflow-x-auto rounded-lg border border-border",
854
+ t
855
+ ),
856
+ ...s,
857
+ children: e
858
+ }
859
+ ) });
860
+ }
861
+ ), me = Object.assign(ae, {
862
+ Header: ee,
863
+ Body: te,
864
+ Footer: re,
865
+ Row: se,
866
+ Column: oe
867
+ }), ne = b(
868
+ // Base classes
869
+ "block transition-colors duration-200",
870
+ {
871
+ variants: {
872
+ variant: {
873
+ white: "bg-white border border-border",
874
+ neutral: "bg-neutral border border-gray-200",
875
+ primary: "bg-coral-soft border border-coral",
876
+ secondary: "bg-sage-soft border border-sage",
877
+ tertiary: "bg-mist-soft border border-mist",
878
+ ghost: "bg-transparent border border-slate",
879
+ success: "bg-success-soft border border-success",
880
+ info: "bg-info-soft border border-info",
881
+ warning: "bg-warning-soft border border-warning",
882
+ danger: "bg-danger-soft border border-danger"
883
+ },
884
+ size: {
885
+ xs: "p-2",
886
+ sm: "p-3",
887
+ md: "p-4",
888
+ lg: "p-6",
889
+ xl: "p-8"
890
+ },
891
+ shape: {
892
+ rounded: "rounded-lg",
893
+ square: "rounded-none"
894
+ }
895
+ },
896
+ defaultVariants: {
897
+ variant: "white",
898
+ size: "md",
899
+ shape: "rounded"
900
+ }
901
+ }
902
+ ), ve = d(
903
+ ({ variant: e = "white", size: t = "md", shape: r = "rounded", className: s, ...o }, n) => /* @__PURE__ */ a.jsx(
904
+ "div",
905
+ {
906
+ ref: n,
907
+ className: l(ne({ variant: e, size: t, shape: r }), s),
908
+ ...o
909
+ }
910
+ )
911
+ );
912
+ export {
913
+ de as A,
914
+ H as B,
915
+ he as S,
916
+ me as T,
917
+ ue as a,
918
+ fe as b,
919
+ be as c,
920
+ ve as d
921
+ };