@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,55 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * Props for the SegmentMultipleInput component
4
+ */
5
+ export interface SegmentMultipleInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size' | 'onChange' | 'value'> {
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 segment inputs
15
+ */
16
+ size?: 'sm' | 'md' | 'lg';
17
+ /**
18
+ * Label text to display above the segment group
19
+ */
20
+ label?: ReactNode;
21
+ /**
22
+ * Helper text to display below the segment group
23
+ */
24
+ helperText?: ReactNode;
25
+ /**
26
+ * Error message for invalid state
27
+ */
28
+ error?: ReactNode;
29
+ /**
30
+ * The name attribute for the checkbox group - required for checkbox functionality
31
+ */
32
+ name: string;
33
+ /**
34
+ * Current selected values (controlled component)
35
+ * Array of strings representing selected option values
36
+ */
37
+ value?: string[];
38
+ /**
39
+ * Callback when value changes
40
+ */
41
+ onChange?: (value: string[]) => void;
42
+ }
43
+ /**
44
+ * Props for the SegmentMultipleInput.Option component
45
+ */
46
+ export interface SegmentMultipleInputOptionProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'name'> {
47
+ /**
48
+ * The option label content
49
+ */
50
+ children: ReactNode;
51
+ /**
52
+ * The value for this segment option
53
+ */
54
+ value: string;
55
+ }
@@ -0,0 +1,4 @@
1
+ import { S as p } from "../segment-multiple-input-VwHCqFd6.js";
2
+ export {
3
+ p as SegmentMultipleInput
4
+ };
@@ -0,0 +1,12 @@
1
+ import { SegmentSingleInputProps } from './types';
2
+ export interface SegmentSingleInputContextValue {
3
+ variant: SegmentSingleInputProps['variant'];
4
+ size: SegmentSingleInputProps['size'];
5
+ disabled?: boolean;
6
+ error?: boolean;
7
+ name: string;
8
+ value?: string | null;
9
+ onChange?: (value: string | null) => void;
10
+ }
11
+ export declare const SegmentSingleInputContext: import('react').Context<SegmentSingleInputContextValue | null>;
12
+ export declare const useSegmentSingleInputContext: () => SegmentSingleInputContextValue;
@@ -0,0 +1,15 @@
1
+ export declare const segmentGroupVariants: (props?: ({
2
+ 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;
3
+ size?: "sm" | "md" | "lg" | null | undefined;
4
+ error?: boolean | null | undefined;
5
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
+ export declare const segmentOptionVariants: (props?: ({
7
+ 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;
8
+ size?: "sm" | "md" | "lg" | null | undefined;
9
+ rounded?: "first" | "last" | "middle" | "single" | null | undefined;
10
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
11
+ /**
12
+ * Get the selected/checked state classes for segment options
13
+ * Includes hover state overrides to maintain consistent appearance when selected
14
+ */
15
+ export declare const getSegmentSelectedClasses: (variant: string | undefined) => string;
@@ -0,0 +1,2 @@
1
+ export { SegmentSingleInput } from './segment-single-input';
2
+ export type { SegmentSingleInputProps, SegmentSingleInputOptionProps, } from './types';
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ import { SegmentSingleInputOptionProps } from './types';
3
+ /**
4
+ * SegmentSingleInput.Option atom component
5
+ *
6
+ * Individual segment option that can be used within SegmentSingleInput
7
+ * Features tab-like styling with seamless connections between segments
8
+ */
9
+ export declare const SegmentOption: React.ForwardRefExoticComponent<SegmentSingleInputOptionProps & {
10
+ position?: "first" | "middle" | "last" | "single";
11
+ } & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,7 @@
1
+ import { default as React } from 'react';
2
+ import { SegmentSingleInputProps } from './types';
3
+ export declare const SegmentSingleInput: React.ForwardRefExoticComponent<SegmentSingleInputProps & React.RefAttributes<HTMLDivElement>> & {
4
+ Option: React.ForwardRefExoticComponent<import('./types').SegmentSingleInputOptionProps & {
5
+ position?: "first" | "middle" | "last" | "single";
6
+ } & React.RefAttributes<HTMLInputElement>>;
7
+ };
@@ -0,0 +1,57 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { SegmentSingleInput } from './segment-single-input';
3
+ /**
4
+ * SegmentSingleInput provides a segmented radio input component with tab-like visual design.
5
+ * Perfect for form components that need clear visual grouping and single selection.
6
+ *
7
+ * Based on radio input pattern but with enhanced styling for segment appearance.
8
+ * Supports all Versaur color variants and accessibility features.
9
+ *
10
+ * This is a controlled component that allows unselecting (setting value to null).
11
+ */
12
+ declare const meta: Meta<typeof SegmentSingleInput>;
13
+ export default meta;
14
+ type Story = StoryObj<typeof meta>;
15
+ /**
16
+ * Default segment input with three transaction type options - controlled component
17
+ * Click on the selected option to unselect it (set value to null)
18
+ */
19
+ export declare const Default: Story;
20
+ /**
21
+ * All available size variants
22
+ */
23
+ export declare const Sizes: Story;
24
+ /**
25
+ * With helper text and labels
26
+ */
27
+ export declare const WithLabelsAndHelper: Story;
28
+ /**
29
+ * Error state example
30
+ */
31
+ export declare const WithError: Story;
32
+ /**
33
+ * All color variants demonstration
34
+ */
35
+ export declare const ColorVariants: Story;
36
+ /**
37
+ * Outline variants demonstration
38
+ */
39
+ export declare const OutlineVariants: Story;
40
+ /**
41
+ * Disabled state demonstration
42
+ */
43
+ export declare const Disabled: Story;
44
+ /**
45
+ * Controlled component example demonstrating onChange functionality
46
+ * Shows how the component can be controlled and how unselection works
47
+ */
48
+ export declare const Controlled: Story;
49
+ /**
50
+ * Icon-only segment options demonstration
51
+ * Shows segments with only icons, no text labels
52
+ */
53
+ export declare const IconOnly: Story;
54
+ /**
55
+ * Mixed content - icons with text and icon-only options
56
+ */
57
+ export declare const MixedContent: Story;
@@ -0,0 +1,55 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * Props for the SegmentSingleInput component
4
+ */
5
+ export interface SegmentSingleInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size' | 'onChange' | 'value'> {
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 segment inputs
15
+ */
16
+ size?: 'sm' | 'md' | 'lg';
17
+ /**
18
+ * Label text to display above the segment group
19
+ */
20
+ label?: ReactNode;
21
+ /**
22
+ * Helper text to display below the segment group
23
+ */
24
+ helperText?: ReactNode;
25
+ /**
26
+ * Error message for invalid state
27
+ */
28
+ error?: ReactNode;
29
+ /**
30
+ * The name attribute for the radio group - required for radio functionality
31
+ */
32
+ name: string;
33
+ /**
34
+ * Current selected value (controlled component)
35
+ * Use null to indicate no selection
36
+ */
37
+ value?: string | null;
38
+ /**
39
+ * Callback when value changes
40
+ */
41
+ onChange?: (value: string | null) => void;
42
+ }
43
+ /**
44
+ * Props for the SegmentSingleInput.Option component
45
+ */
46
+ export interface SegmentSingleInputOptionProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'name'> {
47
+ /**
48
+ * The option label content
49
+ */
50
+ children: ReactNode;
51
+ /**
52
+ * The value for this segment option
53
+ */
54
+ value: string;
55
+ }
@@ -0,0 +1,4 @@
1
+ import { S as t } from "../segment-single-input-Cqoo7-C2.js";
2
+ export {
3
+ t as SegmentSingleInput
4
+ };
@@ -0,0 +1,3 @@
1
+ export declare const selectInputVariants: (props?: ({
2
+ 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;
3
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -0,0 +1,2 @@
1
+ export { SelectInput } from './select-input';
2
+ export type { SelectInputProps } from './types';
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { SelectInputProps } from './types';
3
+ /**
4
+ * SelectInput component for Versaur UI
5
+ *
6
+ * Provides a styled select dropdown with semantic color, variant, error, and disabled support
7
+ * Follows browser standards and accessibility best practices
8
+ */
9
+ export declare const SelectInput: React.ForwardRefExoticComponent<SelectInputProps & React.RefAttributes<HTMLSelectElement>>;
@@ -0,0 +1,50 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { SelectInput } from './select-input';
3
+ declare const meta: Meta<typeof SelectInput>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof SelectInput>;
6
+ /**
7
+ * The default SelectInput with primary variant (coral color) and a selection of options.
8
+ * Perfect for forms requiring user selection from predefined choices.
9
+ */
10
+ export declare const Default: Story;
11
+ /**
12
+ * All core color variants demonstrating Versaur's harmonious color palette.
13
+ * Each variant maintains consistency with the brand's design system.
14
+ */
15
+ export declare const CoreVariants: Story;
16
+ /**
17
+ * Outline variants providing a more subtle appearance while maintaining color identity.
18
+ * Ideal for secondary actions or when a lighter visual weight is preferred.
19
+ */
20
+ export declare const OutlineVariants: Story;
21
+ /**
22
+ * Semantic variants for different states and feedback scenarios.
23
+ * Each variant conveys specific meaning through color psychology.
24
+ */
25
+ export declare const SemanticVariants: Story;
26
+ /**
27
+ * SelectInput with helper text providing additional guidance.
28
+ * Helper text appears below the select when no error is present.
29
+ */
30
+ export declare const WithHelperText: Story;
31
+ /**
32
+ * SelectInput in error state with validation message.
33
+ * Error state overrides the variant color and displays error message.
34
+ */
35
+ export declare const WithError: Story;
36
+ /**
37
+ * Disabled SelectInput demonstrating reduced opacity and non-interactive state.
38
+ * Maintains visual consistency while clearly indicating unavailability.
39
+ */
40
+ export declare const Disabled: Story;
41
+ /**
42
+ * SelectInput with grouped options using optgroup for better organization.
43
+ * Demonstrates proper semantic structure for complex option lists.
44
+ */
45
+ export declare const WithOptionGroups: Story;
46
+ /**
47
+ * Multiple SelectInput examples in a form layout.
48
+ * Shows how SelectInput components work together in real-world scenarios.
49
+ */
50
+ export declare const FormExample: Story;
@@ -0,0 +1,29 @@
1
+ import { SelectHTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * Props for the SelectInput component
4
+ */
5
+ export interface SelectInputProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, '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
+ * Label text to display above the select
15
+ */
16
+ label: ReactNode;
17
+ /**
18
+ * Helper text to display below the select
19
+ */
20
+ helperText?: ReactNode;
21
+ /**
22
+ * Error message for invalid state
23
+ */
24
+ error?: ReactNode;
25
+ /**
26
+ * Placeholder text for when no option is selected
27
+ */
28
+ placeholder?: string;
29
+ }
@@ -0,0 +1,4 @@
1
+ import { S as o } from "../select-input-DCb0usvK.js";
2
+ export {
3
+ o as SelectInput
4
+ };
@@ -0,0 +1,6 @@
1
+ import { VariantProps } from '../../utils/variants';
2
+ export declare const skeletonVariants: (props?: ({
3
+ shape?: "circle" | "square" | "rounded" | "rectangle" | null | undefined;
4
+ size?: "sm" | "md" | "lg" | "xl" | null | undefined;
5
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
+ export type SkeletonVariantProps = VariantProps<typeof skeletonVariants>;
@@ -0,0 +1,2 @@
1
+ export { Skeleton } from './skeleton';
2
+ export type * from './types';
@@ -0,0 +1,6 @@
1
+ import { SkeletonProps } from './types';
2
+ import * as React from 'react';
3
+ /**
4
+ * Skeleton is a placeholder loading component that supports shape, size, color, and rows variations
5
+ */
6
+ export declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,25 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { Skeleton } from './skeleton';
3
+ /**
4
+ * Skeleton component stories for Versaur UI
5
+ * Demonstrates shape, size, color, and rows variations for loading placeholders
6
+ */
7
+ declare const meta: Meta<typeof Skeleton>;
8
+ export default meta;
9
+ type Story = StoryObj<typeof Skeleton>;
10
+ /**
11
+ * Default skeleton (rounded, md, neutral)
12
+ */
13
+ export declare const Default: Story;
14
+ /**
15
+ * All shape variations
16
+ */
17
+ export declare const Shapes: Story;
18
+ /**
19
+ * All size variations
20
+ */
21
+ export declare const Sizes: Story;
22
+ /**
23
+ * Custom height (multiline skeleton)
24
+ */
25
+ export declare const CustomHeight: Story;
@@ -0,0 +1,17 @@
1
+ import { HTMLAttributes } from 'react';
2
+ /**
3
+ * SkeletonProps defines the props for the Skeleton component
4
+ * @property shape - The shape of the skeleton (rectangle, rounded, circle, square)
5
+ * @property size - The size of the skeleton (sm, md, lg, xl, or custom string)
6
+ * @property rows - Number of rows (height) for multiline skeletons
7
+ * @property color - The color variant for the skeleton (primary, secondary, tertiary, ghost, neutral, success, info, warning, danger)
8
+ * @property className - Additional class names for custom styling
9
+ */
10
+ export interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {
11
+ /** The shape of the skeleton */
12
+ shape?: 'rectangle' | 'rounded' | 'circle' | 'square';
13
+ /** The size of the skeleton */
14
+ size?: 'sm' | 'md' | 'lg' | 'xl' | string;
15
+ /** Custom height for the skeleton (overrides size) */
16
+ height?: number | string;
17
+ }
@@ -0,0 +1,4 @@
1
+ import { S as r } from "../skeleton-D4X5USf_.js";
2
+ export {
3
+ r as Skeleton
4
+ };
@@ -0,0 +1,8 @@
1
+ export declare const snackbarVariants: (props?: ({
2
+ color?: "success" | "info" | "warning" | "danger" | null | undefined;
3
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
4
+ /**
5
+ * Returns the ButtonIcon variant for the given snackbar color
6
+ * @param color - Snackbar color prop
7
+ */
8
+ export declare function getSnackbarButtonIconVariant(color?: 'success' | 'info' | 'warning' | 'danger'): "success-ghost" | "info-ghost" | "warning-ghost" | "danger-ghost";
@@ -0,0 +1,2 @@
1
+ export { Snackbar } from './snackbar';
2
+ export type { SnackbarProps } from './types';
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+ import { SnackbarTextProps, SnackbarActionProps } from './types';
3
+ /**
4
+ * SnackbarText atom for displaying the message
5
+ */
6
+ export declare const SnackbarText: React.FC<SnackbarTextProps>;
7
+ /**
8
+ * SnackbarAction atom for custom action elements
9
+ */
10
+ export declare const SnackbarAction: React.FC<SnackbarActionProps>;
@@ -0,0 +1,6 @@
1
+ import { SnackbarProps } from './types';
2
+ /**
3
+ * Snackbar component for brief messages and actions
4
+ * Follows Versaur design system and Material guidelines
5
+ */
6
+ export declare const Snackbar: import('react').ForwardRefExoticComponent<SnackbarProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,8 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { Snackbar } from './snackbar';
3
+ declare const meta: Meta<typeof Snackbar>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Snackbar>;
6
+ export declare const Default: Story;
7
+ export declare const AllColors: Story;
8
+ export declare const WithAction: Story;
@@ -0,0 +1,40 @@
1
+ import { ReactNode, HTMLAttributes } from 'react';
2
+ /**
3
+ * SnackbarTextProps: Props for SnackbarText atom
4
+ */
5
+ export interface SnackbarTextProps extends HTMLAttributes<HTMLSpanElement> {
6
+ children: ReactNode;
7
+ }
8
+ /**
9
+ * SnackbarActionProps: Props for SnackbarAction atom
10
+ */
11
+ export interface SnackbarActionProps extends HTMLAttributes<HTMLSpanElement> {
12
+ children: ReactNode;
13
+ }
14
+ /**
15
+ * SnackbarProps defines the props for the Snackbar component
16
+ * @property children - Message content for the snackbar
17
+ * @property action - Optional action element (e.g., button)
18
+ * @property onClose - Handler for closing the snackbar
19
+ * @property color - Color variant based on Versaur color system
20
+ * @property className - Additional CSS classes
21
+ */
22
+ export interface SnackbarProps extends HTMLAttributes<HTMLDivElement> {
23
+ /**
24
+ * Message content for the snackbar
25
+ */
26
+ children: ReactNode;
27
+ /**
28
+ * Optional action element (e.g., button)
29
+ */
30
+ action?: ReactNode;
31
+ /**
32
+ * Handler for closing the snackbar
33
+ */
34
+ onClose?: () => void;
35
+ /**
36
+ * Color variant based on Versaur color system
37
+ * - success, info, warning, danger
38
+ */
39
+ color?: 'success' | 'info' | 'warning' | 'danger';
40
+ }
@@ -0,0 +1,4 @@
1
+ import { S as o } from "../snackbar-CYias-fJ.js";
2
+ export {
3
+ o as Snackbar
4
+ };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Variants for SwitchInput track
3
+ * Controls color, size, checked, and disabled state
4
+ */
5
+ export declare const switchVariants: (props?: ({
6
+ color?: "primary" | "secondary" | "tertiary" | "ghost" | "neutral" | "success" | "info" | "warning" | "danger" | null | undefined;
7
+ size?: "sm" | "md" | "lg" | null | undefined;
8
+ disabled?: boolean | null | undefined;
9
+ checked?: boolean | null | undefined;
10
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
11
+ /**
12
+ * Variants for SwitchInput thumb
13
+ * Controls size and checked state
14
+ */
15
+ export declare const thumbVariants: (props?: ({
16
+ size?: "sm" | "md" | "lg" | null | undefined;
17
+ checked?: boolean | null | undefined;
18
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -0,0 +1,3 @@
1
+ export * from './switch-input';
2
+ export * from './switch-input.atoms';
3
+ export * from './types';
@@ -0,0 +1,28 @@
1
+ import { default as React } from 'react';
2
+ import { SwitchInputProps } from './types';
3
+ /**
4
+ * Track for SwitchInput
5
+ * Renders the background track with color, size, and disabled state
6
+ */
7
+ export declare const SwitchTrack: React.FC<Pick<SwitchInputProps, 'color' | 'size' | 'disabled'> & {
8
+ className?: string;
9
+ checked?: boolean;
10
+ }>;
11
+ /**
12
+ * Thumb for SwitchInput
13
+ * Renders the thumb with size and checked state
14
+ */
15
+ export declare const SwitchThumb: React.FC<{
16
+ size?: 'sm' | 'md' | 'lg';
17
+ checked?: boolean;
18
+ }>;
19
+ /**
20
+ * Label for SwitchInput
21
+ * Renders the label with placement and disabled state
22
+ */
23
+ export declare const SwitchLabel: React.FC<{
24
+ label?: string;
25
+ htmlFor?: string;
26
+ placement?: 'top' | 'inline';
27
+ disabled?: boolean;
28
+ }>;
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { SwitchInputProps } from './types';
3
+ /**
4
+ * SwitchInput component for toggling boolean state
5
+ */
6
+ export declare const SwitchInput: React.ForwardRefExoticComponent<SwitchInputProps & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,10 @@
1
+ import { SwitchInput } from './switch-input';
2
+ import { Meta, StoryObj } from '@storybook/react';
3
+ declare const meta: Meta<typeof SwitchInput>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof SwitchInput>;
6
+ export declare const Default: Story;
7
+ export declare const InlineLabel: Story;
8
+ export declare const Disabled: Story;
9
+ export declare const NoLabel: Story;
10
+ export declare const ColorVariations: Story;
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Props for SwitchInput component
3
+ */
4
+ export interface SwitchInputProps {
5
+ /**
6
+ * Controlled checked state
7
+ */
8
+ checked?: boolean;
9
+ /**
10
+ * Uncontrolled default checked state
11
+ */
12
+ defaultChecked?: boolean;
13
+ /**
14
+ * Callback when checked state changes
15
+ */
16
+ onCheckedChange?: (checked: boolean) => void;
17
+ /**
18
+ * Color variant (primary, secondary, etc.)
19
+ */
20
+ color?: 'primary' | 'secondary' | 'tertiary' | 'ghost' | 'neutral' | 'success' | 'info' | 'warning' | 'danger';
21
+ /**
22
+ * Size variant
23
+ */
24
+ size?: 'sm' | 'md' | 'lg';
25
+ /**
26
+ * Label text
27
+ */
28
+ label?: string;
29
+ /**
30
+ * Label placement: top (default) or inline
31
+ */
32
+ labelPlacement?: 'top' | 'inline';
33
+ /**
34
+ * Disabled state
35
+ */
36
+ disabled?: boolean;
37
+ /**
38
+ * Additional className for root
39
+ */
40
+ className?: string;
41
+ /**
42
+ * id for input (for accessibility)
43
+ */
44
+ id?: string;
45
+ /**
46
+ * aria-label for accessibility
47
+ */
48
+ ariaLabel?: string;
49
+ }
@@ -0,0 +1,7 @@
1
+ import { S as t, c as h, b as S, a as i } from "../switch-input-C5s1lvYh.js";
2
+ export {
3
+ t as SwitchInput,
4
+ h as SwitchLabel,
5
+ S as SwitchThumb,
6
+ i as SwitchTrack
7
+ };
@@ -0,0 +1,3 @@
1
+ import { TabsContextValue } from './types';
2
+ export declare const TabsContext: import('react').Context<TabsContextValue | null>;
3
+ export declare const useTabsContext: () => TabsContextValue;