@dimasbaguspm/versaur 0.0.0

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 (260) hide show
  1. package/README.md +81 -0
  2. package/dist/alert-DzSPXqwS.js +167 -0
  3. package/dist/app-bar-B4nQkgdL.js +92 -0
  4. package/dist/avatar-Bsn24V6g.js +91 -0
  5. package/dist/badge-DqLCHm9q.js +184 -0
  6. package/dist/bottom-bar-DOQ3gVwW.js +73 -0
  7. package/dist/breadcrumbs-PJV3izUu.js +59 -0
  8. package/dist/button-C8OibEPE.js +81 -0
  9. package/dist/button-float-B8tdLJkX.js +107 -0
  10. package/dist/button-icon-CWji4cBA.js +89 -0
  11. package/dist/calendar-CkLj89o2.js +112 -0
  12. package/dist/checkbox-input-CSboebwt.js +167 -0
  13. package/dist/chip-input-C1PJPDFq.js +189 -0
  14. package/dist/cn-Ca4KprQ1.js +2730 -0
  15. package/dist/components/alert/alert.atoms.d.ts +6 -0
  16. package/dist/components/alert/alert.d.ts +31 -0
  17. package/dist/components/alert/alert.stories.d.ts +42 -0
  18. package/dist/components/alert/helpers.d.ts +14 -0
  19. package/dist/components/alert/index.d.ts +2 -0
  20. package/dist/components/alert/types.d.ts +50 -0
  21. package/dist/components/alert.js +4 -0
  22. package/dist/components/app-bar/app-bar.atoms.d.ts +21 -0
  23. package/dist/components/app-bar/app-bar.d.ts +8 -0
  24. package/dist/components/app-bar/app-bar.stories.d.ts +19 -0
  25. package/dist/components/app-bar/helpers.d.ts +6 -0
  26. package/dist/components/app-bar/index.d.ts +2 -0
  27. package/dist/components/app-bar/types.d.ts +39 -0
  28. package/dist/components/app-bar.js +4 -0
  29. package/dist/components/avatar/avatar.atoms.d.ts +13 -0
  30. package/dist/components/avatar/avatar.d.ts +24 -0
  31. package/dist/components/avatar/avatar.stories.d.ts +42 -0
  32. package/dist/components/avatar/helpers.d.ts +14 -0
  33. package/dist/components/avatar/index.d.ts +2 -0
  34. package/dist/components/avatar/types.d.ts +46 -0
  35. package/dist/components/avatar.js +4 -0
  36. package/dist/components/badge/badge.d.ts +24 -0
  37. package/dist/components/badge/badge.stories.d.ts +46 -0
  38. package/dist/components/badge/helpers.d.ts +10 -0
  39. package/dist/components/badge/index.d.ts +2 -0
  40. package/dist/components/badge/types.d.ts +44 -0
  41. package/dist/components/badge.js +4 -0
  42. package/dist/components/bottom-bar/bottom-bar.atoms.d.ts +2 -0
  43. package/dist/components/bottom-bar/bottom-bar.d.ts +4 -0
  44. package/dist/components/bottom-bar/bottom-bar.stories.d.ts +6 -0
  45. package/dist/components/bottom-bar/helpers.d.ts +7 -0
  46. package/dist/components/bottom-bar/index.d.ts +2 -0
  47. package/dist/components/bottom-bar/types.d.ts +32 -0
  48. package/dist/components/bottom-bar.js +4 -0
  49. package/dist/components/breadcrumbs/breadcrumbs.atoms.d.ts +9 -0
  50. package/dist/components/breadcrumbs/breadcrumbs.d.ts +16 -0
  51. package/dist/components/breadcrumbs/breadcrumbs.stories.d.ts +7 -0
  52. package/dist/components/breadcrumbs/helpers.d.ts +7 -0
  53. package/dist/components/breadcrumbs/index.d.ts +2 -0
  54. package/dist/components/breadcrumbs/types.d.ts +21 -0
  55. package/dist/components/breadcrumbs.js +4 -0
  56. package/dist/components/button/button.d.ts +3 -0
  57. package/dist/components/button/button.stories.d.ts +50 -0
  58. package/dist/components/button/index.d.ts +2 -0
  59. package/dist/components/button/types.d.ts +30 -0
  60. package/dist/components/button-float/button-float.d.ts +8 -0
  61. package/dist/components/button-float/button-float.stories.d.ts +27 -0
  62. package/dist/components/button-float/helpers.d.ts +4 -0
  63. package/dist/components/button-float/index.d.ts +2 -0
  64. package/dist/components/button-float/types.d.ts +31 -0
  65. package/dist/components/button-float.js +4 -0
  66. package/dist/components/button-icon/button-icon.d.ts +3 -0
  67. package/dist/components/button-icon/button-icon.stories.d.ts +45 -0
  68. package/dist/components/button-icon/index.d.ts +2 -0
  69. package/dist/components/button-icon/types.d.ts +48 -0
  70. package/dist/components/button-icon.js +4 -0
  71. package/dist/components/button.js +4 -0
  72. package/dist/components/calendar/calendar.d.ts +8 -0
  73. package/dist/components/calendar/calendar.stories.d.ts +6 -0
  74. package/dist/components/calendar/index.d.ts +2 -0
  75. package/dist/components/calendar/types.d.ts +20 -0
  76. package/dist/components/calendar.js +4 -0
  77. package/dist/components/checkbox-input/checkbox-input.atoms.d.ts +9 -0
  78. package/dist/components/checkbox-input/checkbox-input.d.ts +5 -0
  79. package/dist/components/checkbox-input/checkbox-input.stories.d.ts +44 -0
  80. package/dist/components/checkbox-input/context.d.ts +10 -0
  81. package/dist/components/checkbox-input/helpers.d.ts +11 -0
  82. package/dist/components/checkbox-input/index.d.ts +2 -0
  83. package/dist/components/checkbox-input/types.d.ts +46 -0
  84. package/dist/components/checkbox-input.js +4 -0
  85. package/dist/components/chip-input/chip-input.atoms.d.ts +10 -0
  86. package/dist/components/chip-input/chip-input.d.ts +5 -0
  87. package/dist/components/chip-input/chip-input.stories.d.ts +12 -0
  88. package/dist/components/chip-input/context.d.ts +11 -0
  89. package/dist/components/chip-input/helpers.d.ts +4 -0
  90. package/dist/components/chip-input/index.d.ts +2 -0
  91. package/dist/components/chip-input/types.d.ts +51 -0
  92. package/dist/components/chip-input.js +4 -0
  93. package/dist/components/date-single-picker-input/date-single-picker-input.atoms.d.ts +13 -0
  94. package/dist/components/date-single-picker-input/date-single-picker-input.d.ts +10 -0
  95. package/dist/components/date-single-picker-input/date-single-picker-input.docked.d.ts +14 -0
  96. package/dist/components/date-single-picker-input/date-single-picker-input.docked.stories.d.ts +10 -0
  97. package/dist/components/date-single-picker-input/date-single-picker-input.modal.d.ts +15 -0
  98. package/dist/components/date-single-picker-input/date-single-picker-input.modal.stories.d.ts +10 -0
  99. package/dist/components/date-single-picker-input/helpers.d.ts +3 -0
  100. package/dist/components/date-single-picker-input/index.d.ts +2 -0
  101. package/dist/components/date-single-picker-input/types.d.ts +75 -0
  102. package/dist/components/date-single-picker-input/use-date-single-picker.d.ts +10 -0
  103. package/dist/components/date-single-picker-input.js +4 -0
  104. package/dist/components/drawer/context.d.ts +11 -0
  105. package/dist/components/drawer/drawer.atoms.d.ts +23 -0
  106. package/dist/components/drawer/drawer.d.ts +16 -0
  107. package/dist/components/drawer/drawer.stories.d.ts +41 -0
  108. package/dist/components/drawer/helpers.d.ts +39 -0
  109. package/dist/components/drawer/index.d.ts +10 -0
  110. package/dist/components/drawer/types.d.ts +93 -0
  111. package/dist/components/drawer.js +9 -0
  112. package/dist/components/icon/helpers.d.ts +4 -0
  113. package/dist/components/icon/icon.d.ts +8 -0
  114. package/dist/components/icon/icon.stories.d.ts +39 -0
  115. package/dist/components/icon/index.d.ts +2 -0
  116. package/dist/components/icon/types.d.ts +13 -0
  117. package/dist/components/icon.js +4 -0
  118. package/dist/components/index.d.ts +29 -0
  119. package/dist/components/loading-indicator/helpers.d.ts +9 -0
  120. package/dist/components/loading-indicator/index.d.ts +1 -0
  121. package/dist/components/loading-indicator/loading-indicator.atoms.d.ts +10 -0
  122. package/dist/components/loading-indicator/loading-indicator.d.ts +7 -0
  123. package/dist/components/loading-indicator/loading-indicator.stories.d.ts +16 -0
  124. package/dist/components/loading-indicator/types.d.ts +29 -0
  125. package/dist/components/loading-indicator.js +4 -0
  126. package/dist/components/menu/context.d.ts +13 -0
  127. package/dist/components/menu/helpers.d.ts +8 -0
  128. package/dist/components/menu/index.d.ts +2 -0
  129. package/dist/components/menu/menu.atoms.d.ts +14 -0
  130. package/dist/components/menu/menu.d.ts +7 -0
  131. package/dist/components/menu/menu.stories.d.ts +22 -0
  132. package/dist/components/menu/types.d.ts +36 -0
  133. package/dist/components/menu/use-menu.d.ts +3 -0
  134. package/dist/components/menu.js +4 -0
  135. package/dist/components/modal/helpers.d.ts +7 -0
  136. package/dist/components/modal/index.d.ts +2 -0
  137. package/dist/components/modal/modal.atoms.d.ts +8 -0
  138. package/dist/components/modal/modal.d.ts +7 -0
  139. package/dist/components/modal/modal.stories.d.ts +13 -0
  140. package/dist/components/modal/types.d.ts +48 -0
  141. package/dist/components/modal/use-escape-close.d.ts +6 -0
  142. package/dist/components/modal/use-focus-trap.d.ts +6 -0
  143. package/dist/components/modal.js +4 -0
  144. package/dist/components/radio-input/context.d.ts +11 -0
  145. package/dist/components/radio-input/helpers.d.ts +11 -0
  146. package/dist/components/radio-input/index.d.ts +2 -0
  147. package/dist/components/radio-input/radio-input.atoms.d.ts +9 -0
  148. package/dist/components/radio-input/radio-input.d.ts +5 -0
  149. package/dist/components/radio-input/radio-input.stories.d.ts +74 -0
  150. package/dist/components/radio-input/types.d.ts +54 -0
  151. package/dist/components/radio-input.js +4 -0
  152. package/dist/components/segment-multiple-input/context.d.ts +12 -0
  153. package/dist/components/segment-multiple-input/helpers.d.ts +15 -0
  154. package/dist/components/segment-multiple-input/index.d.ts +2 -0
  155. package/dist/components/segment-multiple-input/segment-multiple-input.atoms.d.ts +12 -0
  156. package/dist/components/segment-multiple-input/segment-multiple-input.d.ts +7 -0
  157. package/dist/components/segment-multiple-input/segment-multiple-input.stories.d.ts +66 -0
  158. package/dist/components/segment-multiple-input/types.d.ts +55 -0
  159. package/dist/components/segment-multiple-input.js +4 -0
  160. package/dist/components/segment-single-input/context.d.ts +12 -0
  161. package/dist/components/segment-single-input/helpers.d.ts +15 -0
  162. package/dist/components/segment-single-input/index.d.ts +2 -0
  163. package/dist/components/segment-single-input/segment-single-input.atoms.d.ts +11 -0
  164. package/dist/components/segment-single-input/segment-single-input.d.ts +7 -0
  165. package/dist/components/segment-single-input/segment-single-input.stories.d.ts +57 -0
  166. package/dist/components/segment-single-input/types.d.ts +55 -0
  167. package/dist/components/segment-single-input.js +4 -0
  168. package/dist/components/select-input/helpers.d.ts +3 -0
  169. package/dist/components/select-input/index.d.ts +2 -0
  170. package/dist/components/select-input/select-input.d.ts +9 -0
  171. package/dist/components/select-input/select-input.stories.d.ts +50 -0
  172. package/dist/components/select-input/types.d.ts +29 -0
  173. package/dist/components/select-input.js +4 -0
  174. package/dist/components/skeleton/helpers.d.ts +6 -0
  175. package/dist/components/skeleton/index.d.ts +2 -0
  176. package/dist/components/skeleton/skeleton.d.ts +6 -0
  177. package/dist/components/skeleton/skeleton.stories.d.ts +25 -0
  178. package/dist/components/skeleton/types.d.ts +17 -0
  179. package/dist/components/skeleton.js +4 -0
  180. package/dist/components/snackbar/helpers.d.ts +8 -0
  181. package/dist/components/snackbar/index.d.ts +2 -0
  182. package/dist/components/snackbar/snackbar.atoms.d.ts +10 -0
  183. package/dist/components/snackbar/snackbar.d.ts +6 -0
  184. package/dist/components/snackbar/snackbar.stories.d.ts +8 -0
  185. package/dist/components/snackbar/types.d.ts +40 -0
  186. package/dist/components/snackbar.js +4 -0
  187. package/dist/components/switch-input/helpers.d.ts +18 -0
  188. package/dist/components/switch-input/index.d.ts +3 -0
  189. package/dist/components/switch-input/switch-input.atoms.d.ts +28 -0
  190. package/dist/components/switch-input/switch-input.d.ts +6 -0
  191. package/dist/components/switch-input/switch-input.stories.d.ts +10 -0
  192. package/dist/components/switch-input/types.d.ts +49 -0
  193. package/dist/components/switch-input.js +7 -0
  194. package/dist/components/tabs/context.d.ts +3 -0
  195. package/dist/components/tabs/helpers.d.ts +8 -0
  196. package/dist/components/tabs/index.d.ts +2 -0
  197. package/dist/components/tabs/tabs.atoms.d.ts +10 -0
  198. package/dist/components/tabs/tabs.d.ts +5 -0
  199. package/dist/components/tabs/tabs.stories.d.ts +17 -0
  200. package/dist/components/tabs/types.d.ts +41 -0
  201. package/dist/components/tabs/use-tab-indicator.d.ts +13 -0
  202. package/dist/components/tabs.js +4 -0
  203. package/dist/components/text/helpers.d.ts +18 -0
  204. package/dist/components/text/index.d.ts +2 -0
  205. package/dist/components/text/text.d.ts +7 -0
  206. package/dist/components/text/text.stories.d.ts +14 -0
  207. package/dist/components/text/types.d.ts +30 -0
  208. package/dist/components/text-input/helpers.d.ts +3 -0
  209. package/dist/components/text-input/index.d.ts +2 -0
  210. package/dist/components/text-input/text-input.d.ts +9 -0
  211. package/dist/components/text-input/text-input.stories.d.ts +20 -0
  212. package/dist/components/text-input/types.d.ts +33 -0
  213. package/dist/components/text-input.js +4 -0
  214. package/dist/components/text.js +4 -0
  215. package/dist/components/textarea-input/helpers.d.ts +4 -0
  216. package/dist/components/textarea-input/index.d.ts +2 -0
  217. package/dist/components/textarea-input/textarea-input.d.ts +10 -0
  218. package/dist/components/textarea-input/textarea-input.stories.d.ts +50 -0
  219. package/dist/components/textarea-input/types.d.ts +40 -0
  220. package/dist/components/textarea-input.js +4 -0
  221. package/dist/components/tile/helpers.d.ts +8 -0
  222. package/dist/components/tile/index.d.ts +2 -0
  223. package/dist/components/tile/tile.d.ts +11 -0
  224. package/dist/components/tile/tile.stories.d.ts +35 -0
  225. package/dist/components/tile/types.d.ts +23 -0
  226. package/dist/components/tile.js +4 -0
  227. package/dist/components/top-bar/helpers.d.ts +26 -0
  228. package/dist/components/top-bar/index.d.ts +2 -0
  229. package/dist/components/top-bar/top-bar.atoms.d.ts +6 -0
  230. package/dist/components/top-bar/top-bar.d.ts +8 -0
  231. package/dist/components/top-bar/top-bar.stories.d.ts +15 -0
  232. package/dist/components/top-bar/types.d.ts +38 -0
  233. package/dist/components/top-bar.js +4 -0
  234. package/dist/date-single-picker-input--Ew0O9NQ.js +252 -0
  235. package/dist/drawer-DrnAR2a4.js +218 -0
  236. package/dist/helpers-CEDtBUGM.js +37 -0
  237. package/dist/hooks/index.d.ts +1 -0
  238. package/dist/hooks/index.js +1 -0
  239. package/dist/icon-D-lTZMHY.js +44 -0
  240. package/dist/index-DU1SCUkk.js +329 -0
  241. package/dist/index.d.ts +2 -0
  242. package/dist/index.js +68 -0
  243. package/dist/loading-indicator-BZMnT5PA.js +168 -0
  244. package/dist/menu-BZvilMF7.js +174 -0
  245. package/dist/modal-BGAtqMl9.js +149 -0
  246. package/dist/radio-input-BRGoevZY.js +173 -0
  247. package/dist/segment-multiple-input-VwHCqFd6.js +229 -0
  248. package/dist/segment-single-input-Cqoo7-C2.js +228 -0
  249. package/dist/select-input-DCb0usvK.js +108 -0
  250. package/dist/skeleton-D4X5USf_.js +59 -0
  251. package/dist/snackbar-CYias-fJ.js +79 -0
  252. package/dist/styles.css +115 -0
  253. package/dist/switch-input-C5s1lvYh.js +186 -0
  254. package/dist/tabs-C8aRKfxS.js +216 -0
  255. package/dist/text-B7e-au41.js +120 -0
  256. package/dist/text-input-BsWvUk_H.js +73 -0
  257. package/dist/textarea-input-DZExXEE8.js +102 -0
  258. package/dist/tile-Du7YciCG.js +51 -0
  259. package/dist/top-bar-ErHvwR4K.js +62 -0
  260. package/package.json +97 -0
@@ -0,0 +1,59 @@
1
+ import { c as n, j as a } from "./index-DU1SCUkk.js";
2
+ import { forwardRef as c } from "react";
3
+ import { c as m } from "./cn-Ca4KprQ1.js";
4
+ const d = n(
5
+ "flex items-center gap-2 text-sm text-slate-700 dark:text-slate-200",
6
+ {
7
+ variants: {
8
+ separator: {
9
+ default: "gap-2",
10
+ compact: "gap-1"
11
+ }
12
+ },
13
+ defaultVariants: {
14
+ separator: "default"
15
+ }
16
+ }
17
+ ), u = n(
18
+ "inline-flex items-center gap-1 transition-colors",
19
+ {
20
+ variants: {
21
+ isCurrent: {
22
+ true: "font-semibold text-slate-900 dark:text-white cursor-default",
23
+ false: "hover:text-primary focus:text-primary text-slate-700 dark:text-slate-200"
24
+ }
25
+ },
26
+ defaultVariants: {
27
+ isCurrent: !1
28
+ }
29
+ }
30
+ ), x = "mx-1 text-slate-400 dark:text-slate-500 select-none", f = c(function({ children: r, icon: t, isCurrent: e, className: s, ...o }, i) {
31
+ return /* @__PURE__ */ a.jsx("li", { className: "flex items-center", children: /* @__PURE__ */ a.jsxs(
32
+ "a",
33
+ {
34
+ ref: i,
35
+ "aria-current": e ? "page" : void 0,
36
+ tabIndex: e ? -1 : 0,
37
+ className: m(u({ isCurrent: e }) + s),
38
+ ...o,
39
+ children: [
40
+ t && /* @__PURE__ */ a.jsx("span", { className: "mr-1 inline-flex", children: t }),
41
+ r
42
+ ]
43
+ }
44
+ ) });
45
+ });
46
+ function p() {
47
+ return /* @__PURE__ */ a.jsx("span", { className: x, "aria-hidden": "true", children: "/" });
48
+ }
49
+ const b = c(
50
+ function({ children: r, "aria-label": t = "Breadcrumb", ...e }, s) {
51
+ return /* @__PURE__ */ a.jsx("nav", { "aria-label": t, ...e, children: /* @__PURE__ */ a.jsx("ol", { ref: s, className: d(), children: r }) });
52
+ }
53
+ ), g = Object.assign(b, {
54
+ Item: f,
55
+ Separator: p
56
+ });
57
+ export {
58
+ g as B
59
+ };
@@ -0,0 +1,81 @@
1
+ import { j as g, c as f } from "./index-DU1SCUkk.js";
2
+ import b from "react";
3
+ import { c as l } from "./cn-Ca4KprQ1.js";
4
+ const h = f(
5
+ "inline-flex items-center justify-center gap-2 rounded-md font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none active:scale-[0.98] select-none",
6
+ {
7
+ variants: {
8
+ variant: {
9
+ // Core variants using Versaur color system
10
+ primary: "bg-coral text-white hover:bg-coral/90 focus-visible:ring-coral/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
11
+ secondary: "bg-sage text-white hover:bg-sage/90 focus-visible:ring-sage/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
12
+ tertiary: "bg-mist text-white hover:bg-mist/90 focus-visible:ring-mist/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
13
+ ghost: "bg-transparent text-foreground hover:bg-slate/10 focus-visible:ring-slate/20 focus-visible:ring-offset-white",
14
+ neutral: "bg-neutral text-foreground border border-border hover:bg-neutral/80 focus-visible:ring-foreground/20 focus-visible:ring-offset-white shadow-sm",
15
+ // Outline variants
16
+ "primary-outline": "border border-coral text-coral bg-transparent hover:bg-coral hover:text-white focus-visible:ring-coral/20 focus-visible:ring-offset-white transition-all",
17
+ "secondary-outline": "border border-sage text-sage bg-transparent hover:bg-sage hover:text-white focus-visible:ring-sage/20 focus-visible:ring-offset-white transition-all",
18
+ "tertiary-outline": "border border-mist text-mist bg-transparent hover:bg-mist hover:text-white focus-visible:ring-mist/20 focus-visible:ring-offset-white transition-all",
19
+ "ghost-outline": "border border-slate text-slate bg-transparent hover:bg-slate hover:text-white focus-visible:ring-slate/20 focus-visible:ring-offset-white transition-all",
20
+ "neutral-outline": "border border-neutral text-foreground bg-transparent hover:bg-neutral hover:text-foreground focus-visible:ring-foreground/20 focus-visible:ring-offset-white transition-all",
21
+ // Ghost variants (subtle)
22
+ "primary-ghost": "text-coral bg-transparent hover:bg-coral/10 focus-visible:ring-coral/20 focus-visible:ring-offset-white",
23
+ "secondary-ghost": "text-sage bg-transparent hover:bg-sage/10 focus-visible:ring-sage/20 focus-visible:ring-offset-white",
24
+ "tertiary-ghost": "text-mist bg-transparent hover:bg-mist/10 focus-visible:ring-mist/20 focus-visible:ring-offset-white",
25
+ "neutral-ghost": "text-foreground bg-transparent hover:bg-neutral/70 focus-visible:ring-foreground/20 focus-visible:ring-offset-white",
26
+ // Semantic variants
27
+ success: "bg-success text-white hover:bg-success/90 focus-visible:ring-success/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
28
+ "success-outline": "border border-success text-success bg-transparent hover:bg-success hover:text-white focus-visible:ring-success/20 focus-visible:ring-offset-white transition-all",
29
+ "success-ghost": "text-success bg-transparent hover:bg-success/10 focus-visible:ring-success/20 focus-visible:ring-offset-white",
30
+ info: "bg-info text-white hover:bg-info/90 focus-visible:ring-info/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
31
+ "info-outline": "border border-info text-info bg-transparent hover:bg-info hover:text-white focus-visible:ring-info/20 focus-visible:ring-offset-white transition-all",
32
+ "info-ghost": "text-info bg-transparent hover:bg-info/10 focus-visible:ring-info/20 focus-visible:ring-offset-white",
33
+ warning: "bg-warning text-white hover:bg-warning/90 focus-visible:ring-warning/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
34
+ "warning-outline": "border border-warning text-warning bg-transparent hover:bg-warning hover:text-white focus-visible:ring-warning/20 focus-visible:ring-offset-white transition-all",
35
+ "warning-ghost": "text-warning bg-transparent hover:bg-warning/10 focus-visible:ring-warning/20 focus-visible:ring-offset-white",
36
+ danger: "bg-danger text-white hover:bg-danger/90 focus-visible:ring-danger/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
37
+ "danger-outline": "border border-danger text-danger bg-transparent hover:bg-danger hover:text-white focus-visible:ring-danger/20 focus-visible:ring-offset-white transition-all",
38
+ "danger-ghost": "text-danger bg-transparent hover:bg-danger/10 focus-visible:ring-danger/20 focus-visible:ring-offset-white",
39
+ // Utility variants
40
+ outline: "border border-border text-foreground bg-transparent hover:bg-accent/10 focus-visible:ring-accent/20 focus-visible:ring-offset-white transition-all",
41
+ destructive: "bg-danger text-white hover:bg-danger/90 focus-visible:ring-danger/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md"
42
+ },
43
+ size: {
44
+ sm: "h-8 px-3 text-sm min-w-[2.25rem]",
45
+ md: "h-10 px-4 text-sm min-w-[2.5rem]",
46
+ lg: "h-12 px-8 text-lg min-w-[2.75rem]"
47
+ }
48
+ },
49
+ defaultVariants: {
50
+ variant: "primary",
51
+ size: "md"
52
+ }
53
+ }
54
+ ), w = b.forwardRef(
55
+ function({
56
+ className: i,
57
+ variant: r = "primary",
58
+ size: t = "md",
59
+ disabled: e = !1,
60
+ type: s = "button",
61
+ children: o,
62
+ ...n
63
+ }, a) {
64
+ return /* @__PURE__ */ g.jsx(
65
+ "button",
66
+ {
67
+ ref: a,
68
+ type: s,
69
+ className: l(h({ variant: r, size: t }), i),
70
+ disabled: e,
71
+ "aria-disabled": e,
72
+ inert: e ? !0 : void 0,
73
+ ...n,
74
+ children: o
75
+ }
76
+ );
77
+ }
78
+ );
79
+ export {
80
+ w as B
81
+ };
@@ -0,0 +1,107 @@
1
+ import { c as l, j as u } from "./index-DU1SCUkk.js";
2
+ import { forwardRef as h, useState as v, useEffect as d } from "react";
3
+ import { c as w } from "./cn-Ca4KprQ1.js";
4
+ const x = l(
5
+ [
6
+ "inline-flex items-center justify-center gap-2",
7
+ "rounded-lg",
8
+ "font-medium",
9
+ "transition-all",
10
+ "duration-200",
11
+ "focus-visible:outline-none",
12
+ "focus-visible:ring-2",
13
+ "focus-visible:ring-offset-2",
14
+ "disabled:opacity-50",
15
+ "disabled:pointer-events-none",
16
+ "select-none",
17
+ "shadow-lg",
18
+ "transition-transform",
19
+ "transition-shadow",
20
+ "will-change-transform,opacity,box-shadow",
21
+ "hover:scale-105",
22
+ "active:scale-95",
23
+ "focus-visible:shadow-xl",
24
+ "hover:shadow-xl",
25
+ "active:shadow-md"
26
+ ].join(" "),
27
+ {
28
+ variants: {
29
+ variant: {
30
+ primary: "bg-coral text-white hover:bg-coral/90 focus-visible:ring-coral/20 focus-visible:ring-offset-white",
31
+ secondary: "bg-sage text-white hover:bg-sage/90 focus-visible:ring-sage/20 focus-visible:ring-offset-white",
32
+ tertiary: "bg-mist text-white hover:bg-mist/90 focus-visible:ring-mist/20 focus-visible:ring-offset-white",
33
+ ghost: "bg-transparent text-foreground hover:bg-slate/10 focus-visible:ring-slate/20 focus-visible:ring-offset-white",
34
+ neutral: "bg-neutral text-foreground border border-border hover:bg-neutral/80 focus-visible:ring-foreground/20 focus-visible:ring-offset-white",
35
+ "primary-outline": "border border-coral text-coral bg-transparent hover:bg-coral hover:text-white focus-visible:ring-coral/20 focus-visible:ring-offset-white",
36
+ "secondary-outline": "border border-sage text-sage bg-transparent hover:bg-sage hover:text-white focus-visible:ring-sage/20 focus-visible:ring-offset-white",
37
+ "tertiary-outline": "border border-mist text-mist bg-transparent hover:bg-mist hover:text-white focus-visible:ring-mist/20 focus-visible:ring-offset-white",
38
+ "ghost-outline": "border border-slate text-slate bg-transparent hover:bg-slate hover:text-white focus-visible:ring-slate/20 focus-visible:ring-offset-white",
39
+ "neutral-outline": "border border-neutral text-foreground bg-transparent hover:bg-neutral hover:text-foreground focus-visible:ring-foreground/20 focus-visible:ring-offset-white",
40
+ "primary-ghost": "text-coral bg-transparent hover:bg-coral/10 focus-visible:ring-coral/20 focus-visible:ring-offset-white",
41
+ "secondary-ghost": "text-sage bg-transparent hover:bg-sage/10 focus-visible:ring-sage/20 focus-visible:ring-offset-white",
42
+ "tertiary-ghost": "text-mist bg-transparent hover:bg-mist/10 focus-visible:ring-mist/20 focus-visible:ring-offset-white",
43
+ "neutral-ghost": "text-foreground bg-transparent hover:bg-neutral/70 focus-visible:ring-foreground/20 focus-visible:ring-offset-white",
44
+ success: "bg-success text-white hover:bg-success/90 focus-visible:ring-success/20 focus-visible:ring-offset-white",
45
+ "success-outline": "border border-success text-success bg-transparent hover:bg-success hover:text-white focus-visible:ring-success/20 focus-visible:ring-offset-white",
46
+ "success-ghost": "text-success bg-transparent hover:bg-success/10 focus-visible:ring-success/20 focus-visible:ring-offset-white",
47
+ info: "bg-info text-white hover:bg-info/90 focus-visible:ring-info/20 focus-visible:ring-offset-white",
48
+ "info-outline": "border border-info text-info bg-transparent hover:bg-info hover:text-white focus-visible:ring-info/20 focus-visible:ring-offset-white",
49
+ "info-ghost": "text-info bg-transparent hover:bg-info/10 focus-visible:ring-info/20 focus-visible:ring-offset-white",
50
+ warning: "bg-warning text-white hover:bg-warning/90 focus-visible:ring-warning/20 focus-visible:ring-offset-white",
51
+ "warning-outline": "border border-warning text-warning bg-transparent hover:bg-warning hover:text-white focus-visible:ring-warning/20 focus-visible:ring-offset-white",
52
+ "warning-ghost": "text-warning bg-transparent hover:bg-warning/10 focus-visible:ring-warning/20 focus-visible:ring-offset-white",
53
+ danger: "bg-danger text-white hover:bg-danger/90 focus-visible:ring-danger/20 focus-visible:ring-offset-white",
54
+ "danger-outline": "border border-danger text-danger bg-transparent hover:bg-danger hover:text-white focus-visible:ring-danger/20 focus-visible:ring-offset-white",
55
+ "danger-ghost": "text-danger bg-transparent hover:bg-danger/10 focus-visible:ring-danger/20 focus-visible:ring-offset-white",
56
+ outline: "border border-border text-foreground bg-transparent hover:bg-accent/10 focus-visible:ring-accent/20 focus-visible:ring-offset-white",
57
+ destructive: "bg-danger text-white hover:bg-danger/90 focus-visible:ring-danger/20 focus-visible:ring-offset-white"
58
+ },
59
+ size: {
60
+ sm: "h-12 w-12 min-w-12 min-h-12 text-base",
61
+ md: "h-14 w-14 min-w-14 min-h-14 text-lg",
62
+ lg: "h-16 w-16 min-w-16 min-h-16 text-xl"
63
+ }
64
+ },
65
+ defaultVariants: {
66
+ variant: "primary",
67
+ size: "md"
68
+ }
69
+ }
70
+ ), z = h(
71
+ function({
72
+ className: i,
73
+ variant: t = "primary",
74
+ size: r = "md",
75
+ side: s = "right",
76
+ offset: o = "1rem",
77
+ style: n,
78
+ ...e
79
+ }, g) {
80
+ const a = s === "right" ? "fixed bottom-4 right-4" : "fixed bottom-4 left-4", f = {
81
+ ...n || {},
82
+ bottom: o,
83
+ position: "fixed",
84
+ zIndex: 50
85
+ }, [b, c] = v(!1);
86
+ return d(() => {
87
+ c(!0);
88
+ }, []), /* @__PURE__ */ u.jsx(
89
+ "button",
90
+ {
91
+ ref: g,
92
+ type: e.type || "button",
93
+ className: w(
94
+ x({ variant: t, size: r }),
95
+ a,
96
+ b && "animate-fab-in",
97
+ i
98
+ ),
99
+ style: f,
100
+ ...e
101
+ }
102
+ );
103
+ }
104
+ );
105
+ export {
106
+ z as B
107
+ };
@@ -0,0 +1,89 @@
1
+ import { j as f, c as b } from "./index-DU1SCUkk.js";
2
+ import l from "react";
3
+ import { c } from "./cn-Ca4KprQ1.js";
4
+ const u = b(
5
+ "inline-flex items-center justify-center font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none active:scale-[0.98] select-none",
6
+ {
7
+ variants: {
8
+ variant: {
9
+ // Core variants using Versaur color system
10
+ primary: "bg-coral text-white hover:bg-coral/90 focus-visible:ring-coral/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
11
+ secondary: "bg-sage text-white hover:bg-sage/90 focus-visible:ring-sage/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
12
+ tertiary: "bg-mist text-white hover:bg-mist/90 focus-visible:ring-mist/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
13
+ ghost: "bg-transparent text-foreground hover:bg-slate/10 focus-visible:ring-slate/20 focus-visible:ring-offset-white",
14
+ neutral: "bg-neutral text-foreground border border-border hover:bg-neutral/80 focus-visible:ring-foreground/20 focus-visible:ring-offset-white shadow-sm",
15
+ // Outline variants
16
+ "primary-outline": "border border-coral text-coral bg-transparent hover:bg-coral hover:text-white focus-visible:ring-coral/20 focus-visible:ring-offset-white transition-all",
17
+ "secondary-outline": "border border-sage text-sage bg-transparent hover:bg-sage hover:text-white focus-visible:ring-sage/20 focus-visible:ring-offset-white transition-all",
18
+ "tertiary-outline": "border border-mist text-mist bg-transparent hover:bg-mist hover:text-white focus-visible:ring-mist/20 focus-visible:ring-offset-white transition-all",
19
+ "ghost-outline": "border border-slate text-slate bg-transparent hover:bg-slate hover:text-white focus-visible:ring-slate/20 focus-visible:ring-offset-white transition-all",
20
+ "neutral-outline": "border border-neutral text-foreground bg-transparent hover:bg-neutral hover:text-foreground focus-visible:ring-foreground/20 focus-visible:ring-offset-white transition-all",
21
+ // Ghost variants (subtle)
22
+ "primary-ghost": "text-coral bg-transparent hover:bg-coral/10 focus-visible:ring-coral/20 focus-visible:ring-offset-white",
23
+ "secondary-ghost": "text-sage bg-transparent hover:bg-sage/10 focus-visible:ring-sage/20 focus-visible:ring-offset-white",
24
+ "tertiary-ghost": "text-mist bg-transparent hover:bg-mist/10 focus-visible:ring-mist/20 focus-visible:ring-offset-white",
25
+ "neutral-ghost": "text-foreground bg-transparent hover:bg-neutral/70 focus-visible:ring-foreground/20 focus-visible:ring-offset-white",
26
+ // Semantic variants
27
+ success: "bg-success text-white hover:bg-success/90 focus-visible:ring-success/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
28
+ "success-outline": "border border-success text-success bg-transparent hover:bg-success hover:text-white focus-visible:ring-success/20 focus-visible:ring-offset-white transition-all",
29
+ "success-ghost": "text-success bg-transparent hover:bg-success/10 focus-visible:ring-success/20 focus-visible:ring-offset-white",
30
+ info: "bg-info text-white hover:bg-info/90 focus-visible:ring-info/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
31
+ "info-outline": "border border-info text-info bg-transparent hover:bg-info hover:text-white focus-visible:ring-info/20 focus-visible:ring-offset-white transition-all",
32
+ "info-ghost": "text-info bg-transparent hover:bg-info/10 focus-visible:ring-info/20 focus-visible:ring-offset-white",
33
+ warning: "bg-warning text-white hover:bg-warning/90 focus-visible:ring-warning/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
34
+ "warning-outline": "border border-warning text-warning bg-transparent hover:bg-warning hover:text-white focus-visible:ring-warning/20 focus-visible:ring-offset-white transition-all",
35
+ "warning-ghost": "text-warning bg-transparent hover:bg-warning/10 focus-visible:ring-warning/20 focus-visible:ring-offset-white",
36
+ danger: "bg-danger text-white hover:bg-danger/90 focus-visible:ring-danger/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md",
37
+ "danger-outline": "border border-danger text-danger bg-transparent hover:bg-danger hover:text-white focus-visible:ring-danger/20 focus-visible:ring-offset-white transition-all",
38
+ "danger-ghost": "text-danger bg-transparent hover:bg-danger/10 focus-visible:ring-danger/20 focus-visible:ring-offset-white",
39
+ // Utility variants
40
+ outline: "border border-border text-foreground bg-transparent hover:bg-accent/10 focus-visible:ring-accent/20 focus-visible:ring-offset-white transition-all",
41
+ destructive: "bg-danger text-white hover:bg-danger/90 focus-visible:ring-danger/20 focus-visible:ring-offset-white shadow-sm hover:shadow-md"
42
+ },
43
+ size: {
44
+ sm: "h-8 w-8 text-sm",
45
+ md: "h-10 w-10 text-base",
46
+ lg: "h-12 w-12 text-lg"
47
+ },
48
+ shape: {
49
+ rounded: "rounded-md",
50
+ square: "rounded-sm",
51
+ circle: "rounded-full"
52
+ }
53
+ },
54
+ defaultVariants: {
55
+ variant: "primary",
56
+ size: "md",
57
+ shape: "rounded"
58
+ }
59
+ }
60
+ ), m = l.forwardRef(
61
+ function({
62
+ className: i,
63
+ variant: r = "primary",
64
+ size: s = "md",
65
+ shape: t = "rounded",
66
+ disabled: e = !1,
67
+ children: o,
68
+ "aria-label": n,
69
+ ...a
70
+ }, g) {
71
+ return /* @__PURE__ */ f.jsx(
72
+ "button",
73
+ {
74
+ ref: g,
75
+ type: "button",
76
+ className: c(u({ variant: r, size: s, shape: t }), i),
77
+ disabled: e,
78
+ "aria-disabled": e,
79
+ "aria-label": n,
80
+ inert: e ? !0 : void 0,
81
+ ...a,
82
+ children: o
83
+ }
84
+ );
85
+ }
86
+ );
87
+ export {
88
+ m as B
89
+ };
@@ -0,0 +1,112 @@
1
+ import { j as r } from "./index-DU1SCUkk.js";
2
+ import { useState as f } from "react";
3
+ import { B as d } from "./button-icon-CWji4cBA.js";
4
+ import { c as k } from "./cn-Ca4KprQ1.js";
5
+ import { ChevronLeft as C, ChevronRight as S } from "lucide-react";
6
+ const Y = ({
7
+ value: c,
8
+ onChange: i,
9
+ className: v,
10
+ ...u
11
+ }) => {
12
+ const p = /* @__PURE__ */ new Date(), [e, m] = f(p.getMonth()), [n, h] = f(p.getFullYear()), g = (s, a) => new Date(s, a + 1, 0).getDate(), w = (s, a) => new Date(s, a, 1).getDay(), N = () => /* @__PURE__ */ r.jsxs("div", { className: "flex items-center justify-between px-4 pt-4 pb-2", children: [
13
+ /* @__PURE__ */ r.jsx("span", { className: "font-semibold text-lg", children: c ? c.toLocaleDateString(void 0, {
14
+ year: "numeric",
15
+ month: "long",
16
+ day: "numeric"
17
+ }) : `${n} ${new Date(n, e).toLocaleString(void 0, { month: "long" })}` }),
18
+ /* @__PURE__ */ r.jsxs("div", { className: "flex gap-2", children: [
19
+ /* @__PURE__ */ r.jsx(
20
+ d,
21
+ {
22
+ variant: "ghost",
23
+ size: "sm",
24
+ "aria-label": "Previous month",
25
+ onClick: () => {
26
+ const s = e === 0 ? 11 : e - 1, a = e === 0 ? n - 1 : n;
27
+ m(s), h(a), i?.(new Date(a, s, 1));
28
+ },
29
+ children: /* @__PURE__ */ r.jsx(C, { className: "h-4 w-4" })
30
+ }
31
+ ),
32
+ /* @__PURE__ */ r.jsx(
33
+ d,
34
+ {
35
+ variant: "ghost",
36
+ size: "sm",
37
+ "aria-label": "Next month",
38
+ onClick: () => {
39
+ const s = e === 11 ? 0 : e + 1, a = e === 11 ? n + 1 : n;
40
+ m(s), h(a), i?.(new Date(a, s, 1));
41
+ },
42
+ children: /* @__PURE__ */ r.jsx(S, { className: "h-4 w-4" })
43
+ }
44
+ )
45
+ ] })
46
+ ] }), b = () => /* @__PURE__ */ r.jsx("div", { className: "grid grid-cols-7 px-4 text-xs text-slate-500 mb-1", children: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map((s) => /* @__PURE__ */ r.jsx("div", { className: "flex items-center justify-center h-6", children: s }, s)) }), M = () => {
47
+ const s = [], a = w(n, e), y = g(n, e), j = g(n, e - 1 < 0 ? 11 : e - 1);
48
+ for (let t = 0; t < a; t++)
49
+ s.push(
50
+ /* @__PURE__ */ r.jsx(
51
+ d,
52
+ {
53
+ size: "sm",
54
+ "aria-label": "Previous month day",
55
+ variant: "ghost",
56
+ className: "text-slate-300",
57
+ onClick: () => {
58
+ const o = e === 0 ? 11 : e - 1, l = e === 0 ? n - 1 : n, x = j - a + t + 1;
59
+ i?.(new Date(l, o, x)), m(o), h(l);
60
+ },
61
+ children: j - a + t + 1
62
+ },
63
+ "prev-" + t
64
+ )
65
+ );
66
+ for (let t = 1; t <= y; t++) {
67
+ const o = c && c.getFullYear() === n && c.getMonth() === e && c.getDate() === t;
68
+ s.push(
69
+ /* @__PURE__ */ r.jsx(
70
+ d,
71
+ {
72
+ variant: o ? "primary" : "ghost",
73
+ size: "sm",
74
+ "aria-label": `Select ${n}-${e + 1}-${t}`,
75
+ "aria-current": o ? "date" : void 0,
76
+ onClick: () => i?.(new Date(n, e, t)),
77
+ children: t
78
+ },
79
+ t
80
+ )
81
+ );
82
+ }
83
+ const D = a + y;
84
+ for (let t = 0; t < (D % 7 === 0 ? 0 : 7 - D % 7); t++)
85
+ s.push(
86
+ /* @__PURE__ */ r.jsx(
87
+ d,
88
+ {
89
+ size: "sm",
90
+ "aria-label": "Next month day",
91
+ variant: "ghost",
92
+ className: "text-slate-300",
93
+ onClick: () => {
94
+ const o = e === 11 ? 0 : e + 1, l = e === 11 ? n + 1 : n, x = t + 1;
95
+ i?.(new Date(l, o, x)), m(o), h(l);
96
+ },
97
+ children: t + 1
98
+ },
99
+ "next-" + t
100
+ )
101
+ );
102
+ return /* @__PURE__ */ r.jsx("div", { className: "grid grid-cols-7 gap-2 px-4 pb-4", children: s });
103
+ };
104
+ return /* @__PURE__ */ r.jsxs("div", { className: k("select-none", v), ...u, children: [
105
+ N(),
106
+ b(),
107
+ M()
108
+ ] });
109
+ }, R = Object.assign(Y, {});
110
+ export {
111
+ R as C
112
+ };
@@ -0,0 +1,167 @@
1
+ import { c as f, j as r } from "./index-DU1SCUkk.js";
2
+ import h, { createContext as w, useContext as y } from "react";
3
+ import { c as u } from "./cn-Ca4KprQ1.js";
4
+ const v = f("space-y-2", {
5
+ variants: {
6
+ direction: {
7
+ vertical: "space-y-2 space-x-0",
8
+ horizontal: "flex flex-wrap gap-4 space-y-0"
9
+ }
10
+ },
11
+ defaultVariants: {
12
+ direction: "vertical"
13
+ }
14
+ }), j = f(
15
+ "relative h-4 w-4 rounded border cursor-pointer transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed appearance-none bg-white",
16
+ {
17
+ variants: {
18
+ variant: {
19
+ // Core variants using Versaur color system
20
+ primary: "border-coral/40 checked:bg-coral checked:border-coral focus:ring-coral/20",
21
+ secondary: "border-sage/40 checked:bg-sage checked:border-sage focus:ring-sage/20",
22
+ tertiary: "border-mist/40 checked:bg-mist checked:border-mist focus:ring-mist/20",
23
+ ghost: "border-slate/40 checked:bg-slate checked:border-slate focus:ring-slate/20",
24
+ neutral: "border-gray-300 checked:bg-gray-500 checked:border-gray-500 focus:ring-gray-400/20",
25
+ // Outline variants
26
+ "primary-outline": "border-coral checked:bg-white checked:border-coral focus:ring-coral/20",
27
+ "secondary-outline": "border-sage checked:bg-white checked:border-sage focus:ring-sage/20",
28
+ "tertiary-outline": "border-mist checked:bg-white checked:border-mist focus:ring-mist/20",
29
+ "ghost-outline": "border-slate checked:bg-white checked:border-slate focus:ring-slate/20",
30
+ "neutral-outline": "border-gray-400 checked:bg-white checked:border-gray-400 focus:ring-gray-500/20",
31
+ // Semantic variants
32
+ success: "border-success/40 checked:bg-success checked:border-success focus:ring-success/20",
33
+ "success-outline": "border-success checked:bg-white checked:border-success focus:ring-success/20",
34
+ info: "border-info/40 checked:bg-info checked:border-info focus:ring-info/20",
35
+ "info-outline": "border-info checked:bg-white checked:border-info focus:ring-info/20",
36
+ warning: "border-warning/40 checked:bg-warning checked:border-warning focus:ring-warning/20",
37
+ "warning-outline": "border-warning checked:bg-white checked:border-warning focus:ring-warning/20",
38
+ danger: "border-danger/40 checked:bg-danger checked:border-danger focus:ring-danger/20",
39
+ "danger-outline": "border-danger checked:bg-white checked:border-danger focus:ring-danger/20"
40
+ },
41
+ size: {
42
+ sm: "h-3 w-3",
43
+ md: "h-4 w-4",
44
+ lg: "h-5 w-5"
45
+ }
46
+ },
47
+ defaultVariants: {
48
+ variant: "primary",
49
+ size: "md"
50
+ }
51
+ }
52
+ ), z = f(
53
+ "text-foreground cursor-pointer select-none",
54
+ {
55
+ variants: {
56
+ size: {
57
+ sm: "text-xs",
58
+ md: "text-sm",
59
+ lg: "text-base"
60
+ },
61
+ disabled: {
62
+ true: "opacity-50 cursor-not-allowed",
63
+ false: ""
64
+ }
65
+ },
66
+ defaultVariants: {
67
+ size: "md",
68
+ disabled: !1
69
+ }
70
+ }
71
+ ), x = w(null), C = () => {
72
+ const t = y(x);
73
+ if (!t)
74
+ throw new Error("CheckboxOption must be used within CheckboxInput");
75
+ return t;
76
+ }, m = h.forwardRef(({ children: t, description: a, className: o, disabled: i, id: n, ...l }, b) => {
77
+ const e = C(), g = h.useId(), d = n || g, s = i || e.disabled, c = e.error ? "danger" : e.variant || "primary";
78
+ return /* @__PURE__ */ r.jsxs("div", { className: "flex items-center gap-2", children: [
79
+ /* @__PURE__ */ r.jsx("div", { className: "relative flex items-center", children: /* @__PURE__ */ r.jsx(
80
+ "input",
81
+ {
82
+ ref: b,
83
+ type: "checkbox",
84
+ id: d,
85
+ disabled: s,
86
+ className: u(
87
+ j({
88
+ variant: c,
89
+ size: e.size
90
+ }),
91
+ // Custom checkmark styling using ::after - centered positioning with size variants
92
+ 'after:content-[""] after:absolute after:left-1/2 after:top-[45%] after:-translate-x-1/2 after:-translate-y-1/2 after:border-b-2 after:border-r-2 after:border-white after:rotate-45 after:opacity-0 after:transition-opacity after:duration-200',
93
+ // Size-specific checkmark dimensions
94
+ e.size === "sm" && "after:w-[3px] after:h-[6px]",
95
+ e.size === "md" && "after:w-[4px] after:h-[8px]",
96
+ e.size === "lg" && "after:w-[6px] after:h-[10px]",
97
+ "checked:after:opacity-100",
98
+ // Outline variants use colored checkmark
99
+ c?.includes("outline") && "checked:after:border-current",
100
+ o
101
+ ),
102
+ ...l
103
+ }
104
+ ) }),
105
+ /* @__PURE__ */ r.jsxs("div", { className: "flex-1", children: [
106
+ /* @__PURE__ */ r.jsx(
107
+ "label",
108
+ {
109
+ htmlFor: d,
110
+ className: z({
111
+ size: e.size,
112
+ disabled: s
113
+ }),
114
+ children: t
115
+ }
116
+ ),
117
+ a && /* @__PURE__ */ r.jsx(
118
+ "div",
119
+ {
120
+ className: u(
121
+ "text-gray-600 mt-1",
122
+ e.size === "sm" && "text-xs",
123
+ e.size === "md" && "text-xs",
124
+ e.size === "lg" && "text-sm",
125
+ s && "opacity-50"
126
+ ),
127
+ children: a
128
+ }
129
+ )
130
+ ] })
131
+ ] });
132
+ });
133
+ m.displayName = "CheckboxOption";
134
+ const k = h.forwardRef(
135
+ ({
136
+ variant: t = "primary",
137
+ size: a = "md",
138
+ label: o,
139
+ helperText: i,
140
+ error: n,
141
+ direction: l = "vertical",
142
+ className: b,
143
+ disabled: e,
144
+ children: g,
145
+ ...d
146
+ }, s) => {
147
+ const c = !!n, p = {
148
+ variant: t,
149
+ size: a,
150
+ disabled: e,
151
+ error: c
152
+ };
153
+ return /* @__PURE__ */ r.jsx(x.Provider, { value: p, children: /* @__PURE__ */ r.jsxs("div", { ref: s, className: u("w-full", b), ...d, children: [
154
+ o && /* @__PURE__ */ r.jsx("div", { className: "block text-sm font-medium text-foreground mb-3", children: o }),
155
+ /* @__PURE__ */ r.jsx("div", { className: v({ direction: l }), children: g }),
156
+ c && /* @__PURE__ */ r.jsx("div", { className: "mt-2 text-sm text-danger", role: "alert", children: n }),
157
+ !c && i && /* @__PURE__ */ r.jsx("div", { className: "mt-2 text-sm text-gray-600", children: i })
158
+ ] }) });
159
+ }
160
+ );
161
+ k.displayName = "CheckboxInput";
162
+ const O = Object.assign(k, {
163
+ Option: m
164
+ });
165
+ export {
166
+ O as C
167
+ };