@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,79 @@
1
+ import { c as i, j as a } from "./index-DU1SCUkk.js";
2
+ import { forwardRef as d } from "react";
3
+ import { c as l } from "./cn-Ca4KprQ1.js";
4
+ import { B as m } from "./button-icon-CWji4cBA.js";
5
+ import { X as g } from "lucide-react";
6
+ const u = i(
7
+ "flex items-center gap-2 px-4 py-2 rounded-sm w-fit max-w-sm relative bg-white shadow-sm",
8
+ {
9
+ variants: {
10
+ color: {
11
+ success: "text-success bg-success/5 border-l-4 border-success",
12
+ info: "text-info bg-info/5 border-l-4 border-info",
13
+ warning: "text-warning bg-warning/5 border-l-4 border-warning",
14
+ danger: "text-danger bg-danger/5 border-l-4 border-danger"
15
+ }
16
+ },
17
+ defaultVariants: {
18
+ color: "success"
19
+ }
20
+ }
21
+ );
22
+ function b(s) {
23
+ switch (s) {
24
+ case "info":
25
+ return "info-ghost";
26
+ case "warning":
27
+ return "warning-ghost";
28
+ case "danger":
29
+ return "danger-ghost";
30
+ case "success":
31
+ default:
32
+ return "success-ghost";
33
+ }
34
+ }
35
+ const x = ({
36
+ children: s,
37
+ ...r
38
+ }) => /* @__PURE__ */ a.jsx(
39
+ "span",
40
+ {
41
+ className: "flex-1 truncate text-base font-medium",
42
+ "data-testid": "snackbar-text",
43
+ ...r,
44
+ children: s
45
+ }
46
+ ), f = ({
47
+ children: s,
48
+ ...r
49
+ }) => /* @__PURE__ */ a.jsx("span", { className: "ml-2", "data-testid": "snackbar-action", ...r, children: s }), v = d(
50
+ ({ children: s, action: r, onClose: t, color: e, className: n, ...o }, c) => /* @__PURE__ */ a.jsxs(
51
+ "div",
52
+ {
53
+ ref: c,
54
+ role: "status",
55
+ "aria-live": "polite",
56
+ className: l(u({ color: e }), n),
57
+ ...o,
58
+ children: [
59
+ /* @__PURE__ */ a.jsx(x, { children: s }),
60
+ r && /* @__PURE__ */ a.jsx(f, { children: r }),
61
+ /* @__PURE__ */ a.jsx(
62
+ m,
63
+ {
64
+ variant: b(e),
65
+ size: "sm",
66
+ shape: "rounded",
67
+ "aria-label": "Close",
68
+ onClick: t,
69
+ className: "ml-2",
70
+ children: /* @__PURE__ */ a.jsx(g, { size: 16 })
71
+ }
72
+ )
73
+ ]
74
+ }
75
+ )
76
+ );
77
+ export {
78
+ v as S
79
+ };
@@ -0,0 +1,115 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,100..900&display=swap');
2
+ @import 'tailwindcss';
3
+
4
+ /* Font Face Definitions */
5
+ @font-face {
6
+ font-family: 'Inter';
7
+ font-style: normal;
8
+ font-weight: 100 900;
9
+ font-display: swap;
10
+ src: format('ttf');
11
+ unicode-range:
12
+ U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
13
+ U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
14
+ U+2212, U+2215, U+FEFF, U+FFFD;
15
+ }
16
+
17
+ /* Versaur Design System - Spenicle Color Palette */
18
+ @theme {
19
+ /* Font Families */
20
+ --font-sans: 'Inter', ui-sans-serif, system-ui, sans-serif;
21
+
22
+ /* Core Colors */
23
+ --color-coral: #e07a5f;
24
+ --color-sage: #81b29a;
25
+ --color-mist: #84a5c0;
26
+ --color-slate: #3d405b;
27
+ --color-cream: #f4f1de;
28
+ --color-light-gray: #f8f9fa;
29
+
30
+ /* Semantic Colors */
31
+ --color-success: #6db285;
32
+ --color-info: #6b8fad;
33
+ --color-warning: #e08a47;
34
+ --color-danger: #e06650;
35
+
36
+ /* Background and Foreground */
37
+ --color-background: #ffffff; /* White */
38
+ --color-foreground: #2d3748; /* Darker Slate */
39
+
40
+ /* Button/Component Variants */
41
+ --color-primary: #e07a5f; /* Coral */
42
+ --color-secondary: #81b29a; /* Sage */
43
+ --color-tertiary: #84a5c0; /* Mist */
44
+ --color-ghost: #3d405b; /* Slate */
45
+ --color-neutral: #f8f9fa; /* Light Gray */
46
+
47
+ /* Utility Colors */
48
+ --color-border: #e0e0e0;
49
+ --color-accent: #84a5c0;
50
+ }
51
+
52
+ /* Apply Inter font to body */
53
+ body {
54
+ font-family: var(--font-sans);
55
+ }
56
+
57
+ /* Field sizing utilities for textarea auto-resize */
58
+ .field-sizing-content {
59
+ field-sizing: content;
60
+ }
61
+
62
+ .field-sizing-fixed {
63
+ field-sizing: fixed;
64
+ }
65
+
66
+ /* Color harmony principles documentation */
67
+ /*
68
+ Our palette follows these harmonious relationships:
69
+ 1. Professional Harmony: Colors work together for business applications
70
+ 2. Natural Temperature: Warm coral balanced with cool sage and mist
71
+ 3. Clear Hierarchy: Each color has a distinct purpose and usage
72
+ 4. Complementary Balance: Coral (warm) balanced with sage/mist (cool)
73
+ */
74
+
75
+ /* Keyframes and utility classes for animations */
76
+ @keyframes loading-bar {
77
+ 0% {
78
+ left: -40%;
79
+ width: 30%;
80
+ }
81
+ 50% {
82
+ left: 35%;
83
+ width: 40%;
84
+ }
85
+ 100% {
86
+ left: 100%;
87
+ width: 30%;
88
+ }
89
+ }
90
+ .animate-loading-bar {
91
+ animation: loading-bar 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
92
+ }
93
+
94
+ @keyframes spin-perfect {
95
+ 100% {
96
+ transform: rotate(360deg);
97
+ }
98
+ }
99
+ .animate-spin-perfect {
100
+ animation: spin-perfect 0.8s linear infinite;
101
+ }
102
+
103
+ @keyframes fab-in {
104
+ 0% {
105
+ opacity: 0;
106
+ transform: scale(0.9) translateY(16px);
107
+ }
108
+ 100% {
109
+ opacity: 1;
110
+ transform: scale(1) translateY(0);
111
+ }
112
+ }
113
+ .animate-fab-in {
114
+ animation: fab-in 0.32s cubic-bezier(0.4, 0, 0.2, 1);
115
+ }
@@ -0,0 +1,186 @@
1
+ import { c as f, j as r } from "./index-DU1SCUkk.js";
2
+ import N, { useState as S, useId as C } from "react";
3
+ import { c as t } from "./cn-Ca4KprQ1.js";
4
+ const I = f(
5
+ "relative inline-flex items-center transition-colors duration-200",
6
+ {
7
+ variants: {
8
+ color: {
9
+ primary: "",
10
+ secondary: "",
11
+ tertiary: "",
12
+ ghost: "",
13
+ neutral: "",
14
+ success: "",
15
+ info: "",
16
+ warning: "",
17
+ danger: ""
18
+ },
19
+ size: {
20
+ sm: "h-4 w-8",
21
+ md: "h-5 w-10",
22
+ lg: "h-6 w-12"
23
+ },
24
+ disabled: {
25
+ true: "opacity-50 cursor-not-allowed",
26
+ false: ""
27
+ },
28
+ checked: {
29
+ true: "",
30
+ false: ""
31
+ }
32
+ },
33
+ defaultVariants: {
34
+ color: "primary",
35
+ size: "md",
36
+ disabled: !1,
37
+ checked: !1
38
+ },
39
+ compoundVariants: [
40
+ { checked: !0, color: "primary", class: "bg-[var(--color-primary)]" },
41
+ {
42
+ checked: !0,
43
+ color: "secondary",
44
+ class: "bg-[var(--color-secondary)]"
45
+ },
46
+ { checked: !0, color: "tertiary", class: "bg-[var(--color-tertiary)]" },
47
+ { checked: !0, color: "ghost", class: "bg-[var(--color-ghost)]" },
48
+ { checked: !0, color: "neutral", class: "bg-[var(--color-neutral)]" },
49
+ { checked: !0, color: "success", class: "bg-[var(--color-success)]" },
50
+ { checked: !0, color: "info", class: "bg-[var(--color-info)]" },
51
+ { checked: !0, color: "warning", class: "bg-[var(--color-warning)]" },
52
+ { checked: !0, color: "danger", class: "bg-[var(--color-danger)]" },
53
+ { checked: !1, class: "bg-white border border-slate-300" }
54
+ ]
55
+ }
56
+ ), V = f(
57
+ "absolute rounded-full transition-transform duration-200",
58
+ {
59
+ variants: {
60
+ size: {
61
+ sm: "h-3 w-3",
62
+ md: "h-4 w-4",
63
+ lg: "h-5 w-5"
64
+ },
65
+ checked: {
66
+ true: "translate-x-full bg-white left-1.5",
67
+ false: "bg-slate-300 left-0.5"
68
+ }
69
+ },
70
+ defaultVariants: {
71
+ size: "md",
72
+ checked: !1
73
+ }
74
+ }
75
+ ), z = ({
76
+ color: e = "primary",
77
+ size: s = "md",
78
+ disabled: a = !1,
79
+ className: c,
80
+ checked: o
81
+ }) => /* @__PURE__ */ r.jsx(
82
+ "span",
83
+ {
84
+ className: t(
85
+ I({ color: e, size: s, disabled: a, checked: o }),
86
+ "rounded-full pointer-events-none",
87
+ c
88
+ ),
89
+ "aria-hidden": "true"
90
+ }
91
+ ), R = ({ size: e = "md", checked: s = !1 }) => /* @__PURE__ */ r.jsx("span", { className: t(V({ size: e, checked: s })), "aria-hidden": "true" }), T = ({ label: e, htmlFor: s, placement: a = "top", disabled: c = !1 }) => e ? /* @__PURE__ */ r.jsx(
92
+ "label",
93
+ {
94
+ htmlFor: s,
95
+ className: t(
96
+ "text-sm select-none font-medium text-foreground",
97
+ a === "inline" ? "ml-2 mb-0" : "mb-1",
98
+ c && "opacity-50 cursor-not-allowed"
99
+ ),
100
+ children: e
101
+ }
102
+ ) : null, _ = N.forwardRef(
103
+ ({
104
+ checked: e,
105
+ defaultChecked: s,
106
+ onCheckedChange: a,
107
+ color: c = "primary",
108
+ size: o = "md",
109
+ label: d,
110
+ labelPlacement: l = "top",
111
+ disabled: n = !1,
112
+ className: p,
113
+ id: g,
114
+ ariaLabel: k,
115
+ ...b
116
+ }, w) => {
117
+ const [x, y] = S(
118
+ s ?? !1
119
+ ), v = C(), h = g || v, u = typeof e == "boolean", i = u ? e : x, j = (m) => {
120
+ u || y(m.target.checked), a?.(m.target.checked);
121
+ };
122
+ return /* @__PURE__ */ r.jsxs(
123
+ "div",
124
+ {
125
+ className: t(
126
+ "flex flex-col",
127
+ l === "inline" && "flex-row items-center",
128
+ p
129
+ ),
130
+ children: [
131
+ /* @__PURE__ */ r.jsx(
132
+ T,
133
+ {
134
+ label: d,
135
+ htmlFor: h,
136
+ placement: l,
137
+ disabled: n
138
+ }
139
+ ),
140
+ /* @__PURE__ */ r.jsxs(
141
+ "span",
142
+ {
143
+ className: t(
144
+ "relative flex items-center",
145
+ l === "inline" && "ml-2"
146
+ ),
147
+ children: [
148
+ /* @__PURE__ */ r.jsx(
149
+ "input",
150
+ {
151
+ ref: w,
152
+ type: "checkbox",
153
+ id: h,
154
+ "aria-label": k || d,
155
+ checked: i,
156
+ disabled: n,
157
+ onChange: j,
158
+ className: "absolute inset-0 w-full h-full opacity-0 cursor-pointer z-10",
159
+ ...b
160
+ }
161
+ ),
162
+ /* @__PURE__ */ r.jsx(
163
+ z,
164
+ {
165
+ color: c,
166
+ size: o,
167
+ disabled: n,
168
+ checked: i
169
+ }
170
+ ),
171
+ /* @__PURE__ */ r.jsx(R, { size: o, checked: i })
172
+ ]
173
+ }
174
+ )
175
+ ]
176
+ }
177
+ );
178
+ }
179
+ );
180
+ _.displayName = "SwitchInput";
181
+ export {
182
+ _ as S,
183
+ z as a,
184
+ R as b,
185
+ T as c
186
+ };
@@ -0,0 +1,216 @@
1
+ import { c as l, j as c } from "./index-DU1SCUkk.js";
2
+ import { createContext as g, useContext as v, useState as x, useLayoutEffect as m, useRef as y } from "react";
3
+ import { c as u } from "./cn-Ca4KprQ1.js";
4
+ const b = g(null), f = () => {
5
+ const t = v(b);
6
+ if (!t)
7
+ throw new Error("useTabsContext must be used within a TabsProvider");
8
+ return t;
9
+ }, h = l(
10
+ "inline-flex items-center justify-center transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none select-none px-4 py-2 text-base bg-transparent relative border-b-2 border-transparent",
11
+ {
12
+ variants: {
13
+ active: {
14
+ true: "font-medium",
15
+ false: "font-normal"
16
+ },
17
+ color: {
18
+ primary: "",
19
+ secondary: "",
20
+ tertiary: "",
21
+ ghost: "",
22
+ neutral: ""
23
+ }
24
+ },
25
+ compoundVariants: [
26
+ // Primary
27
+ {
28
+ color: "primary",
29
+ active: !0,
30
+ class: "text-coral border-coral"
31
+ },
32
+ {
33
+ color: "primary",
34
+ active: !1,
35
+ class: "text-foreground hover:text-coral"
36
+ },
37
+ // Secondary
38
+ {
39
+ color: "secondary",
40
+ active: !0,
41
+ class: "text-sage border-sage"
42
+ },
43
+ {
44
+ color: "secondary",
45
+ active: !1,
46
+ class: "text-foreground hover:text-sage"
47
+ },
48
+ // Tertiary
49
+ {
50
+ color: "tertiary",
51
+ active: !0,
52
+ class: "text-mist border-mist"
53
+ },
54
+ {
55
+ color: "tertiary",
56
+ active: !1,
57
+ class: "text-foreground hover:text-mist"
58
+ },
59
+ // Ghost
60
+ {
61
+ color: "ghost",
62
+ active: !0,
63
+ class: "text-slate border-slate"
64
+ },
65
+ {
66
+ color: "ghost",
67
+ active: !1,
68
+ class: "text-foreground hover:text-slate"
69
+ },
70
+ // Neutral
71
+ {
72
+ color: "neutral",
73
+ active: !0,
74
+ class: "text-foreground border-light-gray"
75
+ },
76
+ {
77
+ color: "neutral",
78
+ active: !1,
79
+ class: "text-foreground hover:text-light-gray"
80
+ }
81
+ ],
82
+ defaultVariants: {
83
+ active: !1,
84
+ color: "primary"
85
+ }
86
+ }
87
+ ), p = l(
88
+ "flex flex-row w-full border-b border-neutral overflow-x-auto whitespace-nowrap",
89
+ {
90
+ variants: {},
91
+ defaultVariants: {}
92
+ }
93
+ ), T = l(
94
+ "absolute bottom-0 h-0.5 rounded transition-all duration-300",
95
+ {
96
+ variants: {
97
+ color: {
98
+ primary: "bg-coral",
99
+ secondary: "bg-sage",
100
+ tertiary: "bg-mist",
101
+ ghost: "bg-slate",
102
+ neutral: "bg-light-gray"
103
+ }
104
+ },
105
+ defaultVariants: {
106
+ color: "primary"
107
+ }
108
+ }
109
+ ), w = ({
110
+ value: t,
111
+ children: e,
112
+ className: r,
113
+ ...a
114
+ }) => {
115
+ const { activeTab: s, setActiveTab: n, color: i } = f(), o = s === t;
116
+ return /* @__PURE__ */ c.jsx(
117
+ "button",
118
+ {
119
+ role: "tab",
120
+ id: `tabs-trigger-${t}`,
121
+ "aria-selected": o,
122
+ "aria-controls": `tabs-content-${t}`,
123
+ tabIndex: o ? 0 : -1,
124
+ className: u(
125
+ h({
126
+ active: o,
127
+ color: i
128
+ }),
129
+ r
130
+ ),
131
+ onClick: () => n(t),
132
+ type: "button",
133
+ ...a,
134
+ children: e
135
+ }
136
+ );
137
+ }, j = ({
138
+ left: t,
139
+ width: e,
140
+ className: r,
141
+ ...a
142
+ }) => {
143
+ const { color: s } = f();
144
+ return /* @__PURE__ */ c.jsx(
145
+ "div",
146
+ {
147
+ "aria-hidden": !0,
148
+ className: u(T({ color: s }), r),
149
+ style: {
150
+ left: t,
151
+ width: e,
152
+ pointerEvents: "none"
153
+ },
154
+ ...a
155
+ }
156
+ );
157
+ };
158
+ function V(t, e, r) {
159
+ const [a, s] = x({
160
+ left: 0,
161
+ width: 0
162
+ });
163
+ return m(() => {
164
+ if (!e.current) return;
165
+ const n = e.current.querySelector(
166
+ `#tabs-trigger-${t}`
167
+ );
168
+ if (n) {
169
+ const { offsetLeft: i, offsetWidth: o } = n;
170
+ s({ left: i, width: o }), n.scrollIntoView({
171
+ behavior: "smooth",
172
+ inline: "center",
173
+ block: "nearest"
174
+ });
175
+ }
176
+ }, [t, r, e]), a;
177
+ }
178
+ const C = ({
179
+ value: t,
180
+ onValueChange: e,
181
+ children: r,
182
+ className: a,
183
+ color: s = "primary",
184
+ ...n
185
+ }) => {
186
+ const i = {
187
+ activeTab: t,
188
+ setActiveTab: e,
189
+ color: s
190
+ }, o = y(null), d = V(t, o, r);
191
+ return /* @__PURE__ */ c.jsx(b.Provider, { value: i, children: /* @__PURE__ */ c.jsxs(
192
+ "div",
193
+ {
194
+ role: "tablist",
195
+ className: u(p(), a),
196
+ ref: o,
197
+ style: { position: "relative" },
198
+ ...n,
199
+ children: [
200
+ r,
201
+ /* @__PURE__ */ c.jsx(
202
+ j,
203
+ {
204
+ left: d.left,
205
+ width: d.width
206
+ }
207
+ )
208
+ ]
209
+ }
210
+ ) });
211
+ }, E = Object.assign(C, {
212
+ Trigger: w
213
+ });
214
+ export {
215
+ E as T
216
+ };
@@ -0,0 +1,120 @@
1
+ import { c as d, j as g } from "./index-DU1SCUkk.js";
2
+ import { forwardRef as p } from "react";
3
+ import { c as h } from "./cn-Ca4KprQ1.js";
4
+ const u = d("", {
5
+ variants: {
6
+ color: {
7
+ primary: "text-primary",
8
+ secondary: "text-secondary",
9
+ tertiary: "text-tertiary",
10
+ ghost: "text-ghost",
11
+ neutral: "text-ghost",
12
+ success: "text-success",
13
+ info: "text-info",
14
+ warning: "text-warning",
15
+ danger: "text-danger"
16
+ },
17
+ hasUnderline: {
18
+ true: "underline",
19
+ false: ""
20
+ },
21
+ isCapitalize: {
22
+ true: "capitalize",
23
+ false: ""
24
+ },
25
+ align: {
26
+ left: "text-left",
27
+ center: "text-center",
28
+ right: "text-right",
29
+ justify: "text-justify"
30
+ },
31
+ italic: {
32
+ true: "italic",
33
+ false: ""
34
+ },
35
+ clamp: {
36
+ 1: "line-clamp-1",
37
+ 2: "line-clamp-2",
38
+ 3: "line-clamp-3",
39
+ 4: "line-clamp-4",
40
+ 5: "line-clamp-5",
41
+ none: ""
42
+ },
43
+ ellipsis: {
44
+ true: "truncate",
45
+ false: ""
46
+ },
47
+ as: {
48
+ h1: "font-bold text-4xl leading-loose",
49
+ h2: "font-semibold text-3xl leading-relaxed",
50
+ h3: "font-medium text-2xl leading-relaxed",
51
+ h4: "font-bold text-xl leading-normal",
52
+ h5: "font-semibold text-lg leading-normal",
53
+ h6: "font-medium text-base leading-normal",
54
+ p: "font-normal text-base leading-normal",
55
+ span: "font-normal text-base leading-normal",
56
+ label: "font-normal text-xs leading-normal"
57
+ }
58
+ },
59
+ defaultVariants: {
60
+ color: "neutral",
61
+ hasUnderline: !1,
62
+ isCapitalize: !1,
63
+ align: "left",
64
+ italic: !1,
65
+ clamp: "none",
66
+ ellipsis: !1,
67
+ as: "span"
68
+ }
69
+ }), T = p(
70
+ ({
71
+ as: e = "span",
72
+ color: t = "ghost",
73
+ hasUnderline: a = !1,
74
+ isCapitalize: l = !1,
75
+ align: n = "left",
76
+ italic: s = !1,
77
+ clamp: i = "none",
78
+ ellipsis: r = !1,
79
+ className: o,
80
+ children: f,
81
+ ...x
82
+ }, c) => {
83
+ const m = [
84
+ "h1",
85
+ "h2",
86
+ "h3",
87
+ "h4",
88
+ "h5",
89
+ "h6",
90
+ "p",
91
+ "span",
92
+ "label"
93
+ ].includes(e) ? e : "span";
94
+ return /* @__PURE__ */ g.jsx(
95
+ e,
96
+ {
97
+ ref: c,
98
+ className: h(
99
+ u({
100
+ color: t,
101
+ hasUnderline: a,
102
+ isCapitalize: l,
103
+ align: n,
104
+ italic: s,
105
+ clamp: i,
106
+ ellipsis: r,
107
+ // @ts-expect-error - `as` is not a valid variant
108
+ as: m
109
+ }),
110
+ o
111
+ ),
112
+ ...x,
113
+ children: f
114
+ }
115
+ );
116
+ }
117
+ );
118
+ export {
119
+ T
120
+ };