@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,16 @@
1
+ import { BreadcrumbsProps } from './types';
2
+ import { BreadcrumbsSeparator } from './breadcrumbs.atoms';
3
+ /**
4
+ * Breadcrumbs navigation component
5
+ *
6
+ * @example
7
+ * <Breadcrumbs>
8
+ * <Breadcrumbs.Item href="/">Home</Breadcrumbs.Item>
9
+ * <Breadcrumbs.Item href="/applicant">Applicant</Breadcrumbs.Item>
10
+ * </Breadcrumbs>
11
+ */
12
+ export declare const BreadcrumbsRoot: import('react').ForwardRefExoticComponent<BreadcrumbsProps & import('react').RefAttributes<HTMLOListElement>>;
13
+ export declare const Breadcrumbs: import('react').ForwardRefExoticComponent<BreadcrumbsProps & import('react').RefAttributes<HTMLOListElement>> & {
14
+ Item: import('react').ForwardRefExoticComponent<import('./types').BreadcrumbsItemProps & import('react').RefAttributes<HTMLAnchorElement>>;
15
+ Separator: typeof BreadcrumbsSeparator;
16
+ };
@@ -0,0 +1,7 @@
1
+ import { Breadcrumbs } from '.';
2
+ import { Meta, StoryObj } from '@storybook/react';
3
+ declare const meta: Meta<typeof Breadcrumbs>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Breadcrumbs>;
6
+ export declare const Basic: Story;
7
+ export declare const Impactful: Story;
@@ -0,0 +1,7 @@
1
+ export declare const breadcrumbsRootClass: (props?: ({
2
+ separator?: "default" | "compact" | null | undefined;
3
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
4
+ export declare const breadcrumbsItemClass: (props?: ({
5
+ isCurrent?: boolean | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ export declare const breadcrumbsSeparatorClass = "mx-1 text-slate-400 dark:text-slate-500 select-none";
@@ -0,0 +1,2 @@
1
+ export { Breadcrumbs } from './breadcrumbs';
2
+ export * from './types';
@@ -0,0 +1,21 @@
1
+ import { ReactNode, AnchorHTMLAttributes, HTMLAttributes } from 'react';
2
+ /**
3
+ * Props for the Breadcrumbs root component
4
+ */
5
+ export interface BreadcrumbsProps extends HTMLAttributes<HTMLElement> {
6
+ /** Breadcrumb items as children */
7
+ children: ReactNode;
8
+ /** Optional aria-label for navigation landmark */
9
+ 'aria-label'?: string;
10
+ }
11
+ /**
12
+ * Props for a single Breadcrumbs.Item
13
+ */
14
+ export interface BreadcrumbsItemProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
15
+ /** Breadcrumb label */
16
+ children: ReactNode;
17
+ /** Optional icon to display before the label */
18
+ icon?: ReactNode;
19
+ /** If true, renders as the current page (aria-current) */
20
+ isCurrent?: boolean;
21
+ }
@@ -0,0 +1,4 @@
1
+ import { B as e } from "../breadcrumbs-PJV3izUu.js";
2
+ export {
3
+ e as Breadcrumbs
4
+ };
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { ButtonProps } from './types';
3
+ export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,50 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { Button } from './button';
3
+ declare const meta: Meta<typeof Button>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Button>;
6
+ /**
7
+ * Complete color matrix showing all core and semantic colors in all style variants.
8
+ * Demonstrates the comprehensive Spenicle color system and variant combinations.
9
+ */
10
+ export declare const ColorMatrix: Story;
11
+ /**
12
+ * All core colors in their filled variant.
13
+ * Demonstrates the Spenicle color palette with coral, sage, mist, slate, and cream.
14
+ */
15
+ export declare const CoreColors: Story;
16
+ /**
17
+ * All semantic colors in their filled variant.
18
+ * Demonstrates the semantic color system for success, info, warning, and danger states.
19
+ */
20
+ export declare const SemanticColors: Story;
21
+ /**
22
+ * Outline variants provide a lighter visual weight while maintaining semantic meaning.
23
+ * Perfect for secondary actions or when you need multiple buttons in close proximity.
24
+ */
25
+ export declare const OutlineVariants: Story;
26
+ /**
27
+ * Ghost variants are the most subtle, perfect for navigation or when you need
28
+ * a button that doesn't visually compete with other content.
29
+ */
30
+ export declare const GhostVariants: Story;
31
+ /**
32
+ * Comparison of all three style variants for the primary semantic color.
33
+ * Shows how the same semantic meaning can be expressed with different visual weights.
34
+ */
35
+ export declare const StyleComparison: Story;
36
+ /**
37
+ * Size comparison showing all three sizes side by side.
38
+ * Demonstrates the proportional scaling of button sizes.
39
+ */
40
+ export declare const SizeComparison: Story;
41
+ /**
42
+ * Comparison of enabled vs disabled states across different variants.
43
+ * Shows how disabled state affects visual appearance while maintaining accessibility.
44
+ */
45
+ export declare const DisabledComparison: Story;
46
+ /**
47
+ * Loading state example showing how buttons can indicate ongoing processes.
48
+ * While not built into the component, shows common usage patterns.
49
+ */
50
+ export declare const LoadingState: Story;
@@ -0,0 +1,2 @@
1
+ export { Button } from './button';
2
+ export type { ButtonProps } from './types';
@@ -0,0 +1,30 @@
1
+ import { ButtonHTMLAttributes } from 'react';
2
+ /**
3
+ * ButtonProps defines the props for the Button component
4
+ * @property variant - Visual style variant based on Versaur color system
5
+ * @property size - Size of the button (sm, md, lg)
6
+ * @property disabled - Whether the button is disabled
7
+ * @property type - Button type attribute
8
+ * @property onClick - Click event handler
9
+ */
10
+ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
11
+ /**
12
+ * Visual style variant supporting Versaur color system
13
+ * Core variants: primary (coral), secondary (sage), tertiary (mist), ghost (slate), neutral (light gray)
14
+ * Semantic variants: success, info, warning, danger
15
+ * Each variant supports outline and ghost forms for flexible design expression
16
+ */
17
+ variant?: 'primary' | 'primary-outline' | 'primary-ghost' | 'secondary' | 'secondary-outline' | 'secondary-ghost' | 'tertiary' | 'tertiary-outline' | 'tertiary-ghost' | 'ghost' | 'ghost-outline' | 'neutral' | 'neutral-outline' | 'neutral-ghost' | 'success' | 'success-outline' | 'success-ghost' | 'info' | 'info-outline' | 'info-ghost' | 'warning' | 'warning-outline' | 'warning-ghost' | 'danger' | 'danger-outline' | 'danger-ghost' | 'outline' | 'destructive';
18
+ /**
19
+ * Size of the button
20
+ * sm: 36px height, compact for space-constrained interfaces
21
+ * md: 40px height, standard for most use cases
22
+ * lg: 44px height, prominent for primary actions
23
+ */
24
+ size?: 'sm' | 'md' | 'lg';
25
+ /**
26
+ * Whether the button is disabled
27
+ * When true, the button becomes non-interactive and visually dimmed
28
+ */
29
+ disabled?: boolean;
30
+ }
@@ -0,0 +1,8 @@
1
+ import { ButtonFloatProps } from './types';
2
+ /**
3
+ * ButtonFloat is a floating action button that stays fixed to the bottom right or left of the viewport.
4
+ * It supports all Button variants, sizes, and accessibility features.
5
+ *
6
+ * @see ButtonFloatProps for prop details
7
+ */
8
+ export declare const ButtonFloat: import('react').ForwardRefExoticComponent<ButtonFloatProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,27 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { ButtonFloat } from './button-float';
3
+ /**
4
+ * ButtonFloat is a floating action button that stays fixed to the bottom right or left of the viewport.
5
+ * It supports all Button variants, sizes, and accessibility features.
6
+ *
7
+ * > **Note:** The primary use case is to render an icon (SVG) as its child, not a string. See examples below.
8
+ */
9
+ declare const meta: Meta<typeof ButtonFloat>;
10
+ export default meta;
11
+ type Story = StoryObj<typeof ButtonFloat>;
12
+ /**
13
+ * Default floating button (bottom right, with icon)
14
+ */
15
+ export declare const Default: Story;
16
+ /**
17
+ * Floating button on the left (with icon)
18
+ */
19
+ export declare const LeftSide: Story;
20
+ /**
21
+ * All variants demo (with icons)
22
+ */
23
+ export declare const AllVariants: Story;
24
+ /**
25
+ * Size comparison (with icons)
26
+ */
27
+ export declare const SizeComparison: Story;
@@ -0,0 +1,4 @@
1
+ export declare const buttonFloatVariants: (props?: ({
2
+ variant?: "outline" | "primary" | "secondary" | "tertiary" | "ghost" | "neutral" | "success" | "info" | "warning" | "danger" | "primary-outline" | "primary-ghost" | "secondary-outline" | "secondary-ghost" | "tertiary-outline" | "tertiary-ghost" | "ghost-outline" | "neutral-outline" | "neutral-ghost" | "success-outline" | "success-ghost" | "info-outline" | "info-ghost" | "warning-outline" | "warning-ghost" | "danger-outline" | "danger-ghost" | "destructive" | null | undefined;
3
+ size?: "sm" | "md" | "lg" | null | undefined;
4
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -0,0 +1,2 @@
1
+ export { ButtonFloat } from './button-float';
2
+ export type * from './types';
@@ -0,0 +1,31 @@
1
+ import { ButtonHTMLAttributes } from 'react';
2
+ /**
3
+ * ButtonFloatProps defines the props for the ButtonFloat component
4
+ * @property side - Which side of the viewport to float the button ('right' | 'left')
5
+ * @property offset - Optional offset from the edge (e.g., '1rem', '24px', defaults to '1rem')
6
+ * @property All ButtonProps from the regular Button component
7
+ */
8
+ export interface ButtonFloatProps extends ButtonHTMLAttributes<HTMLButtonElement> {
9
+ /**
10
+ * Which side of the viewport to float the button
11
+ * @default 'right'
12
+ */
13
+ side?: 'right' | 'left';
14
+ /**
15
+ * Offset from the edge of the viewport (e.g., '1rem', '24px')
16
+ * @default '1rem'
17
+ */
18
+ offset?: string;
19
+ /**
20
+ * Visual style variant (same as Button)
21
+ */
22
+ variant?: 'primary' | 'primary-outline' | 'primary-ghost' | 'secondary' | 'secondary-outline' | 'secondary-ghost' | 'tertiary' | 'tertiary-outline' | 'tertiary-ghost' | 'ghost' | 'ghost-outline' | 'neutral' | 'neutral-outline' | 'neutral-ghost' | 'success' | 'success-outline' | 'success-ghost' | 'info' | 'info-outline' | 'info-ghost' | 'warning' | 'warning-outline' | 'warning-ghost' | 'danger' | 'danger-outline' | 'danger-ghost' | 'outline' | 'destructive';
23
+ /**
24
+ * Size of the button (same as Button)
25
+ */
26
+ size?: 'sm' | 'md' | 'lg';
27
+ /**
28
+ * Whether the button is disabled
29
+ */
30
+ disabled?: boolean;
31
+ }
@@ -0,0 +1,4 @@
1
+ import { B as a } from "../button-float-B8tdLJkX.js";
2
+ export {
3
+ a as ButtonFloat
4
+ };
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { ButtonIconProps } from './types';
3
+ export declare const ButtonIcon: React.ForwardRefExoticComponent<ButtonIconProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,45 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { ButtonIcon } from './button-icon';
3
+ declare const meta: Meta<typeof ButtonIcon>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof ButtonIcon>;
6
+ /**
7
+ * Default ButtonIcon with primary variant, medium size, and rounded shape.
8
+ * This is the most common configuration for general-purpose icon buttons.
9
+ */
10
+ export declare const Default: Story;
11
+ /**
12
+ * All available color variants showcasing the Versaur color system.
13
+ * Each variant has a specific purpose and semantic meaning in the design system.
14
+ */
15
+ export declare const AllVariants: Story;
16
+ /**
17
+ * Outline variants provide a subtle, bordered appearance.
18
+ * Perfect for secondary actions and interfaces that need visual hierarchy.
19
+ */
20
+ export declare const OutlineVariants: Story;
21
+ /**
22
+ * Ghost variants provide minimal visual weight with subtle hover effects.
23
+ * Ideal for toolbar buttons and non-primary actions.
24
+ */
25
+ export declare const GhostVariants: Story;
26
+ /**
27
+ * Different sizes for various interface contexts.
28
+ * Small for compact toolbars, medium for standard use, large for prominent actions.
29
+ */
30
+ export declare const AllSizes: Story;
31
+ /**
32
+ * Different shapes for various design contexts.
33
+ * Rounded for general use, square for grid layouts, circle for profile actions.
34
+ */
35
+ export declare const AllShapes: Story;
36
+ /**
37
+ * Disabled state for all variants and sizes.
38
+ * Demonstrates consistent disabled styling across the component system.
39
+ */
40
+ export declare const DisabledStates: Story;
41
+ /**
42
+ * Toolbar example showing ButtonIcon in a practical context.
43
+ * Demonstrates how icon buttons work together in a typical interface.
44
+ */
45
+ export declare const ToolbarExample: Story;
@@ -0,0 +1,2 @@
1
+ export { ButtonIcon } from './button-icon';
2
+ export type { ButtonIconProps } from './types';
@@ -0,0 +1,48 @@
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * ButtonIconProps defines the props for the ButtonIcon component
4
+ * @property children - Icon content (ReactNode)
5
+ * @property variant - Visual style variant based on Versaur color system
6
+ * @property shape - Shape type of the button (rounded, square, circle)
7
+ * @property size - Size of the button (sm, md, lg)
8
+ * @property disabled - Whether the button is disabled
9
+ * @property ariaLabel - Accessible label for screen readers (required for icon-only buttons)
10
+ */
11
+ export interface ButtonIconProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {
12
+ /**
13
+ * Icon content to display inside the button
14
+ * Accepts any ReactNode (SVG icons, components, etc.)
15
+ */
16
+ children: ReactNode;
17
+ /**
18
+ * Visual style variant supporting Versaur color system
19
+ * Core variants: primary (coral), secondary (sage), tertiary (mist), ghost (slate), neutral (light gray)
20
+ * Semantic variants: success, info, warning, danger
21
+ * Each variant supports outline and ghost forms for flexible design expression
22
+ */
23
+ variant?: 'primary' | 'primary-outline' | 'primary-ghost' | 'secondary' | 'secondary-outline' | 'secondary-ghost' | 'tertiary' | 'tertiary-outline' | 'tertiary-ghost' | 'ghost' | 'ghost-outline' | 'neutral' | 'neutral-outline' | 'neutral-ghost' | 'success' | 'success-outline' | 'success-ghost' | 'info' | 'info-outline' | 'info-ghost' | 'warning' | 'warning-outline' | 'warning-ghost' | 'danger' | 'danger-outline' | 'danger-ghost' | 'outline' | 'destructive';
24
+ /**
25
+ * Shape type of the button
26
+ * rounded: Standard rounded corners (default)
27
+ * square: Perfect square with minimal rounded corners
28
+ * circle: Circular shape
29
+ */
30
+ shape?: 'rounded' | 'square' | 'circle';
31
+ /**
32
+ * Size of the button
33
+ * sm: 32px, compact for space-constrained interfaces
34
+ * md: 40px, standard for most use cases
35
+ * lg: 48px, prominent for primary actions
36
+ */
37
+ size?: 'sm' | 'md' | 'lg';
38
+ /**
39
+ * Whether the button is disabled
40
+ * When true, the button becomes non-interactive and visually dimmed
41
+ */
42
+ disabled?: boolean;
43
+ /**
44
+ * Accessible label for screen readers
45
+ * Required for icon-only buttons to ensure accessibility
46
+ */
47
+ 'aria-label': string;
48
+ }
@@ -0,0 +1,4 @@
1
+ import { B as n } from "../button-icon-CWji4cBA.js";
2
+ export {
3
+ n as ButtonIcon
4
+ };
@@ -0,0 +1,4 @@
1
+ import { B as r } from "../button-C8OibEPE.js";
2
+ export {
3
+ r as Button
4
+ };
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+ import { CalendarProps } from './types';
3
+ /**
4
+ * Calendar component (Compound Pattern)
5
+ * Implements a month view date picker following Material 3 specs and Versaur standards
6
+ */
7
+ export declare const CalendarRoot: React.FC<CalendarProps>;
8
+ export declare const Calendar: React.FC<CalendarProps>;
@@ -0,0 +1,6 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { Calendar } from './calendar';
3
+ declare const meta: Meta<typeof Calendar>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Calendar>;
6
+ export declare const Default: Story;
@@ -0,0 +1,2 @@
1
+ export { Calendar } from './calendar';
2
+ export type { CalendarProps } from './types';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * CalendarProps defines the props for the Calendar component
3
+ * @property value - The selected date
4
+ * @property onChange - Callback when a date is selected
5
+ * @property className - Custom class for the calendar container
6
+ */
7
+ export interface CalendarProps {
8
+ /**
9
+ * The selected date
10
+ */
11
+ value?: Date;
12
+ /**
13
+ * Callback when a date is selected
14
+ */
15
+ onChange?: (date: Date) => void;
16
+ /**
17
+ * Custom class for the calendar container
18
+ */
19
+ className?: string;
20
+ }
@@ -0,0 +1,4 @@
1
+ import { C as e } from "../calendar-CkLj89o2.js";
2
+ export {
3
+ e as Calendar
4
+ };
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { CheckboxOptionProps } from './types';
3
+ /**
4
+ * CheckboxOption atom component
5
+ *
6
+ * Individual checkbox option that can be used within CheckboxInput
7
+ * Features custom styling with ::after pseudo-element for checkmark
8
+ */
9
+ export declare const CheckboxOption: React.ForwardRefExoticComponent<CheckboxOptionProps & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { CheckboxInputProps } from './types';
3
+ export declare const CheckboxInput: React.ForwardRefExoticComponent<CheckboxInputProps & React.RefAttributes<HTMLDivElement>> & {
4
+ Option: React.ForwardRefExoticComponent<import('./types').CheckboxOptionProps & React.RefAttributes<HTMLInputElement>>;
5
+ };
@@ -0,0 +1,44 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { CheckboxInput } from './checkbox-input';
3
+ /**
4
+ * CheckboxInput is a compound component that provides customizable checkbox inputs
5
+ * with support for multiple variants, sizes, and accessibility features.
6
+ *
7
+ * Key features:
8
+ * - Custom styled checkboxes using ::after pseudo-elements
9
+ * - Multiple variants following the Versaur color system
10
+ * - Flexible compound pattern for composition
11
+ * - Full accessibility support with proper ARIA attributes
12
+ * - Support for both horizontal and vertical layouts
13
+ */
14
+ declare const meta: Meta<typeof CheckboxInput>;
15
+ export default meta;
16
+ type Story = StoryObj<typeof CheckboxInput>;
17
+ /**
18
+ * Default checkbox input with multiple options
19
+ */
20
+ export declare const Default: Story;
21
+ /**
22
+ * Checkbox options with descriptions for better context
23
+ */
24
+ export declare const WithDescriptions: Story;
25
+ /**
26
+ * Horizontal layout for compact displays
27
+ */
28
+ export declare const HorizontalLayout: Story;
29
+ /**
30
+ * Different sizes demonstration
31
+ */
32
+ export declare const Sizes: Story;
33
+ /**
34
+ * Variant showcase demonstrating all available styles
35
+ */
36
+ export declare const Variants: Story;
37
+ /**
38
+ * Error state demonstration
39
+ */
40
+ export declare const WithError: Story;
41
+ /**
42
+ * Disabled state demonstration
43
+ */
44
+ export declare const Disabled: Story;
@@ -0,0 +1,10 @@
1
+ import { CheckboxInputProps } from './types';
2
+ interface CheckboxContextValue {
3
+ variant: CheckboxInputProps['variant'];
4
+ size: CheckboxInputProps['size'];
5
+ disabled?: boolean;
6
+ error?: boolean;
7
+ }
8
+ export declare const CheckboxContext: import('react').Context<CheckboxContextValue | null>;
9
+ export declare const useCheckboxContext: () => CheckboxContextValue;
10
+ export {};
@@ -0,0 +1,11 @@
1
+ export declare const checkboxGroupVariants: (props?: ({
2
+ direction?: "horizontal" | "vertical" | null | undefined;
3
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
4
+ export declare const checkboxVariants: (props?: ({
5
+ variant?: "primary" | "secondary" | "tertiary" | "ghost" | "neutral" | "success" | "info" | "warning" | "danger" | "primary-outline" | "secondary-outline" | "tertiary-outline" | "ghost-outline" | "neutral-outline" | "success-outline" | "info-outline" | "warning-outline" | "danger-outline" | null | undefined;
6
+ size?: "sm" | "md" | "lg" | null | undefined;
7
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
+ export declare const checkboxLabelVariants: (props?: ({
9
+ size?: "sm" | "md" | "lg" | null | undefined;
10
+ disabled?: boolean | null | undefined;
11
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -0,0 +1,2 @@
1
+ export { CheckboxInput } from './checkbox-input';
2
+ export type { CheckboxInputProps, CheckboxOptionProps } from './types';
@@ -0,0 +1,46 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * Props for the CheckboxInput component
4
+ */
5
+ export interface CheckboxInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
6
+ /**
7
+ * Visual style variant supporting Versaur color system
8
+ * Core variants: primary (coral), secondary (sage), tertiary (mist), ghost (slate), neutral (light gray)
9
+ * Semantic variants: success, info, warning, danger
10
+ * Each variant supports outline form for flexible design expression
11
+ */
12
+ variant?: 'primary' | 'primary-outline' | 'secondary' | 'secondary-outline' | 'tertiary' | 'tertiary-outline' | 'ghost' | 'ghost-outline' | 'neutral' | 'neutral-outline' | 'success' | 'success-outline' | 'info' | 'info-outline' | 'warning' | 'warning-outline' | 'danger' | 'danger-outline';
13
+ /**
14
+ * Size variant for the checkbox
15
+ */
16
+ size?: 'sm' | 'md' | 'lg';
17
+ /**
18
+ * Label text to display above the checkbox group
19
+ */
20
+ label?: ReactNode;
21
+ /**
22
+ * Helper text to display below the checkbox group
23
+ */
24
+ helperText?: ReactNode;
25
+ /**
26
+ * Error message for invalid state
27
+ */
28
+ error?: ReactNode;
29
+ /**
30
+ * Direction of checkbox layout
31
+ */
32
+ direction?: 'horizontal' | 'vertical';
33
+ }
34
+ /**
35
+ * Props for the CheckboxInput.Option component
36
+ */
37
+ export interface CheckboxOptionProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
38
+ /**
39
+ * The option label content
40
+ */
41
+ children: ReactNode;
42
+ /**
43
+ * Description text below the option label
44
+ */
45
+ description?: ReactNode;
46
+ }
@@ -0,0 +1,4 @@
1
+ import { C as p } from "../checkbox-input-CSboebwt.js";
2
+ export {
3
+ p as CheckboxInput
4
+ };
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+ import { ChipInputOptionProps } from './types';
3
+ /**
4
+ * ChipInput.Option atom component
5
+ *
6
+ * Individual chip option for ChipInput
7
+ * Uses checkbox input pattern for multiple selection
8
+ * Supports leading icon and animated tick/check
9
+ */
10
+ export declare const ChipOption: React.ForwardRefExoticComponent<ChipInputOptionProps & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { ChipInputProps } from './types';
3
+ export declare const ChipInput: React.ForwardRefExoticComponent<ChipInputProps & React.RefAttributes<HTMLDivElement>> & {
4
+ Option: React.ForwardRefExoticComponent<import('./types').ChipInputOptionProps & React.RefAttributes<HTMLInputElement>>;
5
+ };
@@ -0,0 +1,12 @@
1
+ import { ChipInputProps } from './types';
2
+ declare const _default: {
3
+ title: string;
4
+ component: import('react').ForwardRefExoticComponent<ChipInputProps & import('react').RefAttributes<HTMLDivElement>> & {
5
+ Option: import('react').ForwardRefExoticComponent<import('./types').ChipInputOptionProps & import('react').RefAttributes<HTMLInputElement>>;
6
+ };
7
+ tags: string[];
8
+ };
9
+ export default _default;
10
+ export declare const Basic: () => import("react/jsx-runtime").JSX.Element;
11
+ export declare const Disabled: () => import("react/jsx-runtime").JSX.Element;
12
+ export declare const Variants: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { ChipInputProps } from './types';
2
+ export interface ChipInputContextValue {
3
+ variant: ChipInputProps['variant'];
4
+ disabled?: boolean;
5
+ error?: boolean;
6
+ name: string;
7
+ value?: string[];
8
+ onChange?: (value: string[]) => void;
9
+ }
10
+ export declare const ChipInputContext: import('react').Context<ChipInputContextValue | null>;
11
+ export declare const useChipInputContext: () => ChipInputContextValue;
@@ -0,0 +1,4 @@
1
+ export declare const chipOptionVariants: (props?: ({
2
+ variant?: "primary" | "secondary" | "tertiary" | "ghost" | "neutral" | "success" | "info" | "warning" | "danger" | null | undefined;
3
+ selected?: boolean | null | undefined;
4
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -0,0 +1,2 @@
1
+ export { ChipInput } from './chip-input';
2
+ export type { ChipInputProps, ChipInputOptionProps } from './types';