@rovula/ui 0.1.6 → 0.1.8

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 (232) hide show
  1. package/dist/cjs/bundle.css +630 -467
  2. package/dist/cjs/bundle.js +1545 -1545
  3. package/dist/cjs/bundle.js.map +1 -1
  4. package/dist/cjs/types/components/AlertDialog/AlertDialog.stories.d.ts +3 -0
  5. package/dist/cjs/types/components/Dialog/Dialog.d.ts +7 -1
  6. package/dist/cjs/types/components/Dialog/Dialog.stories.d.ts +3 -0
  7. package/dist/cjs/types/components/Dropdown/Dropdown.d.ts +2 -0
  8. package/dist/cjs/types/components/Dropdown/Dropdown.stories.d.ts +2 -0
  9. package/dist/cjs/types/components/Form/Field.d.ts +26 -0
  10. package/dist/cjs/types/components/Form/FieldMessage.d.ts +7 -0
  11. package/dist/cjs/types/components/Form/Form.d.ts +49 -11
  12. package/dist/cjs/types/components/Form/Form.stories.d.ts +23 -0
  13. package/dist/cjs/types/components/Form/ValidationHintList.d.ts +17 -0
  14. package/dist/cjs/types/components/Form/ValidationHintList.stories.d.ts +9 -0
  15. package/dist/cjs/types/components/Form/index.d.ts +10 -0
  16. package/dist/cjs/types/components/Form/useOptionBridge.d.ts +17 -0
  17. package/dist/cjs/types/components/OtpInput/OtpInput.d.ts +17 -0
  18. package/dist/cjs/types/components/OtpInput/OtpInput.stories.d.ts +15 -0
  19. package/dist/cjs/types/components/OtpInput/OtpInputGroup.d.ts +25 -0
  20. package/dist/cjs/types/components/OtpInput/index.d.ts +5 -0
  21. package/dist/cjs/types/components/TextInput/TextInput.styles.d.ts +3 -0
  22. package/dist/cjs/types/index.d.ts +5 -0
  23. package/dist/cjs/types/theme/ThemeColorCoverageRuntime.stories.d.ts +10 -0
  24. package/dist/cjs/types/utils/colors.d.ts +351 -267
  25. package/dist/components/ActionButton/ActionButton.stories.js +2 -2
  26. package/dist/components/ActionButton/ActionButton.styles.js +1 -1
  27. package/dist/components/AlertDialog/AlertDialog.js +6 -6
  28. package/dist/components/AlertDialog/AlertDialog.stories.js +3 -0
  29. package/dist/components/Avatar/Avatar.stories.js +1 -1
  30. package/dist/components/Avatar/Avatar.styles.js +1 -1
  31. package/dist/components/Avatar/AvatarBase.js +1 -1
  32. package/dist/components/Avatar/AvatarGroup.stories.js +1 -1
  33. package/dist/components/Button/Buttons.stories.js +2 -2
  34. package/dist/components/Calendar/Calendar.js +1 -1
  35. package/dist/components/Checkbox/Checkbox.js +1 -1
  36. package/dist/components/Checkbox/Checkbox.stories.js +17 -7
  37. package/dist/components/Collapsible/Collapsible.styles.js +1 -1
  38. package/dist/components/DataTable/DataTable.js +2 -2
  39. package/dist/components/Dialog/Dialog.js +12 -7
  40. package/dist/components/Dialog/Dialog.stories.js +90 -2
  41. package/dist/components/Dropdown/Dropdown.js +2 -2
  42. package/dist/components/DropdownMenu/DropdownMenu.js +3 -3
  43. package/dist/components/FocusedScrollView/FocusedScrollView.stories.js +6 -6
  44. package/dist/components/Form/Field.js +60 -0
  45. package/dist/components/Form/FieldMessage.js +24 -0
  46. package/dist/components/Form/Form.js +73 -41
  47. package/dist/components/Form/Form.stories.js +221 -0
  48. package/dist/components/Form/ValidationHintList.js +30 -0
  49. package/dist/components/Form/ValidationHintList.stories.js +50 -0
  50. package/dist/components/Form/index.js +5 -0
  51. package/dist/components/Form/useOptionBridge.js +27 -0
  52. package/dist/components/InputFilter/InputFilter.js +5 -4
  53. package/dist/components/InputFilter/InputFilter.stories.js +1 -1
  54. package/dist/components/InputFilter/InputFilter.styles.js +14 -1
  55. package/dist/components/Label/Label.styles.js +1 -1
  56. package/dist/components/Menu/Menu.js +2 -2
  57. package/dist/components/NumberInput/NumberInput.stories.js +1 -1
  58. package/dist/components/OtpInput/OtpInput.js +118 -0
  59. package/dist/components/OtpInput/OtpInput.stories.js +60 -0
  60. package/dist/components/OtpInput/OtpInputGroup.js +23 -0
  61. package/dist/components/OtpInput/index.js +3 -0
  62. package/dist/components/PasswordInput/PasswordInput.stories.js +1 -1
  63. package/dist/components/Popover/Popover.js +1 -1
  64. package/dist/components/RadioGroup/RadioGroup.js +1 -1
  65. package/dist/components/RadioGroup/RadioGroup.stories.js +2 -2
  66. package/dist/components/Search/Search.js +13 -1
  67. package/dist/components/Search/Search.stories.js +1 -1
  68. package/dist/components/Slider/Slider.js +1 -1
  69. package/dist/components/Slider/Slider.stories.js +5 -5
  70. package/dist/components/Switch/Switch.stories.js +2 -2
  71. package/dist/components/Switch/Switch.styles.js +1 -1
  72. package/dist/components/Table/Table.js +5 -5
  73. package/dist/components/Tabs/Tabs.js +12 -9
  74. package/dist/components/Tabs/Tabs.stories.js +1 -1
  75. package/dist/components/Text/Text.js +1 -1
  76. package/dist/components/Text/Text.stories.js +1 -1
  77. package/dist/components/TextArea/TextArea.stories.js +1 -1
  78. package/dist/components/TextArea/TextArea.styles.js +3 -3
  79. package/dist/components/TextInput/TextInput.js +3 -2
  80. package/dist/components/TextInput/TextInput.stories.js +3 -3
  81. package/dist/components/TextInput/TextInput.styles.js +41 -19
  82. package/dist/components/Toast/Toast.js +4 -2
  83. package/dist/components/Toast/Toast.stories.js +1 -1
  84. package/dist/components/Toast/Toast.styles.js +4 -4
  85. package/dist/components/Toast/Toaster.js +2 -2
  86. package/dist/components/Tree/Tree.stories.js +1 -1
  87. package/dist/components/Tree/TreeItem.js +1 -1
  88. package/dist/esm/bundle.css +630 -467
  89. package/dist/esm/bundle.js +1545 -1545
  90. package/dist/esm/bundle.js.map +1 -1
  91. package/dist/esm/types/components/AlertDialog/AlertDialog.stories.d.ts +3 -0
  92. package/dist/esm/types/components/Dialog/Dialog.d.ts +7 -1
  93. package/dist/esm/types/components/Dialog/Dialog.stories.d.ts +3 -0
  94. package/dist/esm/types/components/Dropdown/Dropdown.d.ts +2 -0
  95. package/dist/esm/types/components/Dropdown/Dropdown.stories.d.ts +2 -0
  96. package/dist/esm/types/components/Form/Field.d.ts +26 -0
  97. package/dist/esm/types/components/Form/FieldMessage.d.ts +7 -0
  98. package/dist/esm/types/components/Form/Form.d.ts +49 -11
  99. package/dist/esm/types/components/Form/Form.stories.d.ts +23 -0
  100. package/dist/esm/types/components/Form/ValidationHintList.d.ts +17 -0
  101. package/dist/esm/types/components/Form/ValidationHintList.stories.d.ts +9 -0
  102. package/dist/esm/types/components/Form/index.d.ts +10 -0
  103. package/dist/esm/types/components/Form/useOptionBridge.d.ts +17 -0
  104. package/dist/esm/types/components/OtpInput/OtpInput.d.ts +17 -0
  105. package/dist/esm/types/components/OtpInput/OtpInput.stories.d.ts +15 -0
  106. package/dist/esm/types/components/OtpInput/OtpInputGroup.d.ts +25 -0
  107. package/dist/esm/types/components/OtpInput/index.d.ts +5 -0
  108. package/dist/esm/types/components/TextInput/TextInput.styles.d.ts +3 -0
  109. package/dist/esm/types/index.d.ts +5 -0
  110. package/dist/esm/types/theme/ThemeColorCoverageRuntime.stories.d.ts +10 -0
  111. package/dist/esm/types/utils/colors.d.ts +351 -267
  112. package/dist/index.d.ts +512 -269
  113. package/dist/index.js +3 -0
  114. package/dist/src/theme/global.css +2739 -2681
  115. package/dist/theme/ThemeColorCoverageRuntime.stories.js +91 -0
  116. package/dist/utils/colors.js +359 -267
  117. package/package.json +4 -2
  118. package/src/components/ActionButton/ActionButton.stories.tsx +6 -6
  119. package/src/components/ActionButton/ActionButton.styles.ts +1 -1
  120. package/src/components/AlertDialog/AlertDialog.stories.tsx +22 -0
  121. package/src/components/AlertDialog/AlertDialog.tsx +6 -6
  122. package/src/components/Avatar/Avatar.stories.tsx +1 -1
  123. package/src/components/Avatar/Avatar.styles.ts +1 -1
  124. package/src/components/Avatar/AvatarBase.tsx +1 -1
  125. package/src/components/Avatar/AvatarGroup.stories.tsx +1 -1
  126. package/src/components/Button/Buttons.stories.tsx +25 -17
  127. package/src/components/Calendar/Calendar.tsx +3 -3
  128. package/src/components/Checkbox/Checkbox.stories.tsx +35 -12
  129. package/src/components/Checkbox/Checkbox.tsx +7 -5
  130. package/src/components/Collapsible/Collapsible.styles.ts +1 -1
  131. package/src/components/DataTable/DataTable.tsx +2 -2
  132. package/src/components/Dialog/Dialog.stories.tsx +173 -0
  133. package/src/components/Dialog/Dialog.tsx +32 -15
  134. package/src/components/Dropdown/Dropdown.styles.ts +1 -1
  135. package/src/components/Dropdown/Dropdown.tsx +16 -14
  136. package/src/components/DropdownMenu/DropdownMenu.tsx +3 -3
  137. package/src/components/FocusedScrollView/FocusedScrollView.stories.tsx +10 -10
  138. package/src/components/Form/Field.tsx +160 -0
  139. package/src/components/Form/FieldMessage.tsx +38 -0
  140. package/src/components/Form/Form.docs.mdx +67 -0
  141. package/src/components/Form/Form.stories.tsx +490 -0
  142. package/src/components/Form/Form.tsx +185 -87
  143. package/src/components/Form/README.md +284 -0
  144. package/src/components/Form/ValidationHintList.stories.tsx +118 -0
  145. package/src/components/Form/ValidationHintList.tsx +82 -0
  146. package/src/components/Form/index.ts +28 -0
  147. package/src/components/Form/useOptionBridge.ts +55 -0
  148. package/src/components/InputFilter/InputFilter.stories.tsx +1 -1
  149. package/src/components/InputFilter/InputFilter.styles.ts +14 -1
  150. package/src/components/InputFilter/InputFilter.tsx +33 -28
  151. package/src/components/Label/Label.styles.ts +2 -2
  152. package/src/components/Label/Label.tsx +1 -1
  153. package/src/components/Menu/Menu.tsx +12 -12
  154. package/src/components/NumberInput/NumberInput.stories.tsx +1 -1
  155. package/src/components/OtpInput/OtpInput.stories.tsx +168 -0
  156. package/src/components/OtpInput/OtpInput.tsx +210 -0
  157. package/src/components/OtpInput/OtpInputGroup.tsx +74 -0
  158. package/src/components/OtpInput/index.ts +5 -0
  159. package/src/components/PasswordInput/PasswordInput.stories.tsx +1 -1
  160. package/src/components/Popover/Popover.tsx +1 -1
  161. package/src/components/RadioGroup/RadioGroup.stories.tsx +4 -4
  162. package/src/components/RadioGroup/RadioGroup.tsx +2 -1
  163. package/src/components/Search/Search.stories.tsx +1 -1
  164. package/src/components/Search/Search.tsx +6 -2
  165. package/src/components/Slider/Slider.stories.tsx +7 -7
  166. package/src/components/Slider/Slider.tsx +1 -1
  167. package/src/components/Switch/Switch.stories.tsx +4 -4
  168. package/src/components/Switch/Switch.styles.ts +1 -1
  169. package/src/components/Table/Table.tsx +5 -5
  170. package/src/components/Tabs/Tabs.stories.tsx +1 -1
  171. package/src/components/Tabs/Tabs.tsx +29 -18
  172. package/src/components/Text/Text.stories.tsx +1 -1
  173. package/src/components/Text/Text.tsx +1 -1
  174. package/src/components/TextArea/TextArea.stories.tsx +1 -1
  175. package/src/components/TextArea/TextArea.styles.ts +3 -3
  176. package/src/components/TextInput/TextInput.stories.tsx +7 -7
  177. package/src/components/TextInput/TextInput.styles.ts +42 -19
  178. package/src/components/TextInput/TextInput.tsx +3 -1
  179. package/src/components/Toast/Toast.stories.tsx +1 -1
  180. package/src/components/Toast/Toast.styles.tsx +7 -7
  181. package/src/components/Toast/Toast.tsx +5 -4
  182. package/src/components/Toast/Toaster.tsx +17 -20
  183. package/src/components/Tree/Tree.stories.tsx +1 -1
  184. package/src/components/Tree/TreeItem.tsx +1 -1
  185. package/src/index.ts +5 -0
  186. package/src/theme/THEME_MAPPING.md +36 -37
  187. package/src/theme/ThemeColorCoverageRuntime.stories.tsx +236 -0
  188. package/src/theme/direct-token-migration-plan.md +121 -0
  189. package/src/theme/figma-mcp-check-report.md +225 -0
  190. package/src/theme/figma-mcp-component-checklist.json +1250 -0
  191. package/src/theme/global.css +7 -3
  192. package/src/theme/presets/colors.js +173 -64
  193. package/src/theme/themes/skyller/baseline.css +0 -4
  194. package/src/theme/themes/variable-mapping.css +1064 -0
  195. package/src/theme/themes/variable.css +248 -230
  196. package/src/theme/themes/xspector/baseline.css +0 -4
  197. package/src/theme/themes/xspector/components/dropdown-menu.css +4 -4
  198. package/src/theme/themes/xspector/components/loading.css +2 -2
  199. package/src/theme/tokens/baseline.css +0 -3
  200. package/src/theme/tokens/color.css +36 -65
  201. package/src/theme/tokens/components/action-button.css +6 -6
  202. package/src/theme/tokens/components/button.css +189 -189
  203. package/src/theme/tokens/components/dropdown-menu.css +5 -5
  204. package/src/theme/tokens/components/footer.css +1 -1
  205. package/src/theme/tokens/components/loading.css +2 -2
  206. package/src/theme/tokens/components/switch.css +11 -11
  207. package/src/theme/tokens/typography.css +28 -28
  208. package/src/theme/tokens_old/baseline.css +13 -0
  209. package/src/theme/tokens_old/color.css +78 -0
  210. package/src/theme/tokens_old/components/action-button.css +127 -0
  211. package/src/theme/tokens_old/components/button.css +512 -0
  212. package/src/theme/tokens_old/components/dropdown-menu.css +27 -0
  213. package/src/theme/tokens_old/components/footer.css +9 -0
  214. package/src/theme/tokens_old/components/loading.css +11 -0
  215. package/src/theme/tokens_old/components/navbar.css +9 -0
  216. package/src/theme/tokens_old/components/progress-bar.css +8 -0
  217. package/src/theme/tokens_old/components/switch.css +29 -0
  218. package/src/theme/tokens_old/typography.css +199 -0
  219. package/src/theme/tokens_old/variables.css +28 -0
  220. package/src/theme/utils.js +172 -33
  221. package/src/utils/colors.ts +367 -278
  222. package/src/theme/themes/skyller/color.css +0 -79
  223. package/src/theme/themes/skyller/palette.css +0 -143
  224. package/src/theme/themes/skyller/state.css +0 -94
  225. package/src/theme/themes/skyller/transparent.css +0 -94
  226. package/src/theme/themes/xspector/color.css +0 -83
  227. package/src/theme/themes/xspector/palette.css +0 -142
  228. package/src/theme/themes/xspector/state.css +0 -94
  229. package/src/theme/themes/xspector/transparent.css +0 -93
  230. /package/src/theme/{tokens → tokens_old}/palette.css +0 -0
  231. /package/src/theme/{tokens → tokens_old}/state.css +0 -0
  232. /package/src/theme/{tokens → tokens_old}/transparent.css +0 -0
@@ -22,3 +22,6 @@ export declare const CustomStyle: {
22
22
  args: {};
23
23
  render: (args: {}) => import("react/jsx-runtime").JSX.Element;
24
24
  };
25
+ export declare const FigmaFail: {
26
+ render: () => import("react/jsx-runtime").JSX.Element;
27
+ };
@@ -13,10 +13,16 @@ declare const DialogHeader: {
13
13
  ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
14
14
  displayName: string;
15
15
  };
16
+ declare const DialogBody: {
17
+ ({ className, scrollable, ...props }: React.HTMLAttributes<HTMLDivElement> & {
18
+ scrollable?: boolean;
19
+ }): import("react/jsx-runtime").JSX.Element;
20
+ displayName: string;
21
+ };
16
22
  declare const DialogFooter: {
17
23
  ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
18
24
  displayName: string;
19
25
  };
20
26
  declare const DialogTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
21
27
  declare const DialogDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
22
- export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };
28
+ export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogBody, DialogFooter, DialogTitle, DialogDescription, };
@@ -23,3 +23,6 @@ export declare const Demo: {
23
23
  args: {};
24
24
  render: (args: {}) => import("react/jsx-runtime").JSX.Element;
25
25
  };
26
+ export declare const FigmaChangePassword: {
27
+ render: () => import("react/jsx-runtime").JSX.Element;
28
+ };
@@ -31,6 +31,7 @@ export type DropdownProps = {
31
31
  optionContainerClassName?: string;
32
32
  optionItemClassName?: string;
33
33
  optionNotFoundItemClassName?: string;
34
+ segmentedInput?: boolean;
34
35
  options: Options[];
35
36
  value?: Options;
36
37
  onChangeText?: InputProps["onChange"];
@@ -62,6 +63,7 @@ declare const Dropdown: React.ForwardRefExoticComponent<{
62
63
  optionContainerClassName?: string;
63
64
  optionItemClassName?: string;
64
65
  optionNotFoundItemClassName?: string;
66
+ segmentedInput?: boolean;
65
67
  options: Options[];
66
68
  value?: Options;
67
69
  onChangeText?: InputProps["onChange"];
@@ -22,6 +22,7 @@ declare const meta: {
22
22
  optionContainerClassName?: string;
23
23
  optionItemClassName?: string;
24
24
  optionNotFoundItemClassName?: string;
25
+ segmentedInput?: boolean;
25
26
  options: Options[];
26
27
  value?: Options;
27
28
  onChangeText?: import("../..").InputProps["onChange"];
@@ -57,6 +58,7 @@ declare const meta: {
57
58
  optionContainerClassName?: string | undefined;
58
59
  optionItemClassName?: string | undefined;
59
60
  optionNotFoundItemClassName?: string | undefined;
61
+ segmentedInput?: boolean | undefined;
60
62
  options: Options[];
61
63
  value?: Options | undefined;
62
64
  onChangeText?: React.ChangeEventHandler<HTMLInputElement> | undefined;
@@ -0,0 +1,26 @@
1
+ import { ComponentType } from "react";
2
+ import { FieldPath, FieldPathValue, FieldValues, RegisterOptions } from "react-hook-form";
3
+ type ControlledComponentProps = object;
4
+ export type FieldProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>, TComponentProps extends ControlledComponentProps = ControlledComponentProps> = {
5
+ name: TName;
6
+ component: ComponentType<TComponentProps>;
7
+ componentProps?: Omit<TComponentProps, "name" | "value" | "onChange" | "onBlur" | "ref" | "aria-invalid">;
8
+ rules?: Omit<RegisterOptions<TFieldValues, TName>, "disabled" | "setValueAs" | "valueAsDate" | "valueAsNumber">;
9
+ defaultValue?: FieldPathValue<TFieldValues, TName>;
10
+ disabled?: boolean;
11
+ shouldUnregister?: boolean;
12
+ id?: string;
13
+ describedBy?: string;
14
+ valuePropName?: string;
15
+ changePropName?: string;
16
+ blurPropName?: string | false;
17
+ refPropName?: string | false;
18
+ errorMessagePropName?: string | false;
19
+ invalidPropName?: string | false;
20
+ parseValue?: (incomingValue: unknown, rawPayload: unknown) => FieldPathValue<TFieldValues, TName>;
21
+ formatValue?: (value: FieldPathValue<TFieldValues, TName>) => TComponentProps[keyof TComponentProps];
22
+ onChange?: (value: FieldPathValue<TFieldValues, TName>, rawPayload: unknown) => void;
23
+ onBlur?: () => void;
24
+ };
25
+ export declare const Field: <TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>, TComponentProps extends ControlledComponentProps = object>({ name, component: Component, componentProps, rules, defaultValue, disabled, shouldUnregister, id, describedBy, valuePropName, changePropName, blurPropName, refPropName, errorMessagePropName, invalidPropName, parseValue, formatValue, onChange, onBlur, }: FieldProps<TFieldValues, TName, TComponentProps>) => import("react/jsx-runtime").JSX.Element;
26
+ export default Field;
@@ -0,0 +1,7 @@
1
+ import { HTMLAttributes } from "react";
2
+ import { FieldPath, FieldValues } from "react-hook-form";
3
+ export type FieldMessageProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = HTMLAttributes<HTMLParagraphElement> & {
4
+ name: TName;
5
+ };
6
+ export declare const FieldMessage: <TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>>({ name, className, ...props }: FieldMessageProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element | null;
7
+ export default FieldMessage;
@@ -1,12 +1,50 @@
1
- import React from "react";
2
- interface FormValues {
3
- name: string;
4
- email: string;
5
- password: string;
6
- }
7
- interface FormProps {
8
- onSubmit: (values: FormValues) => void;
9
- className?: string;
10
- }
11
- declare const Form: React.FC<FormProps>;
1
+ import React, { FormHTMLAttributes, ReactNode } from "react";
2
+ import { DefaultValues, FieldValues, Mode, Resolver, SubmitErrorHandler, SubmitHandler, UseFormReturn } from "react-hook-form";
3
+ import * as yup from "yup";
4
+ type FormChildren<TFieldValues extends FieldValues> = ReactNode | ((methods: UseFormReturn<TFieldValues>) => ReactNode);
5
+ export type FormController<TFieldValues extends FieldValues> = {
6
+ submit: () => Promise<void>;
7
+ getValues: () => TFieldValues;
8
+ setValue: UseFormReturn<TFieldValues>["setValue"];
9
+ trigger: UseFormReturn<TFieldValues>["trigger"];
10
+ reset: UseFormReturn<TFieldValues>["reset"];
11
+ };
12
+ export type FormProps<TFieldValues extends FieldValues> = Omit<FormHTMLAttributes<HTMLFormElement>, "children" | "onSubmit"> & {
13
+ children: FormChildren<TFieldValues>;
14
+ defaultValues: DefaultValues<TFieldValues>;
15
+ methods?: UseFormReturn<TFieldValues>;
16
+ controllerRef?: React.MutableRefObject<FormController<TFieldValues> | null>;
17
+ onSubmit: SubmitHandler<TFieldValues>;
18
+ onInvalidSubmit?: SubmitErrorHandler<TFieldValues>;
19
+ resolver?: Resolver<TFieldValues>;
20
+ validationSchema?: yup.ObjectSchema<any>;
21
+ mode?: Mode;
22
+ reValidateMode?: Exclude<Mode, "onTouched" | "all">;
23
+ };
24
+ export declare const createYupResolver: <TFieldValues extends FieldValues>(schema: yup.ObjectSchema<any>) => Resolver<TFieldValues>;
25
+ export type ControlledFormFactoryOptions<TFieldValues extends FieldValues> = {
26
+ methods: UseFormReturn<TFieldValues>;
27
+ defaultValues: DefaultValues<TFieldValues>;
28
+ controllerRef?: React.MutableRefObject<FormController<TFieldValues> | null>;
29
+ };
30
+ export type UseControlledFormOptions<TFieldValues extends FieldValues> = {
31
+ defaultValues: DefaultValues<TFieldValues>;
32
+ controllerRef?: React.MutableRefObject<FormController<TFieldValues> | null>;
33
+ resolver?: Resolver<TFieldValues>;
34
+ validationSchema?: yup.ObjectSchema<any>;
35
+ mode?: Mode;
36
+ reValidateMode?: Exclude<Mode, "onTouched" | "all">;
37
+ };
38
+ export declare const createControlledForm: <TFieldValues extends FieldValues>({ methods, defaultValues, controllerRef, }: ControlledFormFactoryOptions<TFieldValues>) => {
39
+ methods: UseFormReturn<TFieldValues>;
40
+ FormRoot: React.ForwardRefExoticComponent<Omit<FormProps<TFieldValues>, "methods" | "defaultValues" | "controllerRef"> & React.RefAttributes<FormController<TFieldValues>>>;
41
+ };
42
+ export declare const useControlledForm: <TFieldValues extends FieldValues>({ defaultValues, controllerRef, resolver, validationSchema, mode, reValidateMode, }: UseControlledFormOptions<TFieldValues>) => {
43
+ methods: UseFormReturn<TFieldValues>;
44
+ FormRoot: React.ForwardRefExoticComponent<Omit<FormProps<TFieldValues>, "methods" | "defaultValues" | "controllerRef"> & React.RefAttributes<FormController<TFieldValues>>>;
45
+ };
46
+ type FormComponent = <TFieldValues extends FieldValues>(props: FormProps<TFieldValues> & {
47
+ ref?: React.Ref<FormController<TFieldValues>>;
48
+ }) => React.ReactElement;
49
+ export declare const Form: FormComponent;
12
50
  export default Form;
@@ -0,0 +1,23 @@
1
+ import type { Meta } from "@storybook/react";
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ export declare const BasicYupLogin: {
5
+ args: {};
6
+ render: () => import("react/jsx-runtime").JSX.Element;
7
+ };
8
+ export declare const MixedUiKitControls: {
9
+ args: {};
10
+ render: () => import("react/jsx-runtime").JSX.Element;
11
+ };
12
+ export declare const ResolverBasedValidation: {
13
+ args: {};
14
+ render: () => import("react/jsx-runtime").JSX.Element;
15
+ };
16
+ export declare const RenderPropsCodeControl: {
17
+ args: {};
18
+ render: () => import("react/jsx-runtime").JSX.Element;
19
+ };
20
+ export declare const HigherLayerCodeControl: {
21
+ args: {};
22
+ render: () => import("react/jsx-runtime").JSX.Element;
23
+ };
@@ -0,0 +1,17 @@
1
+ export type ValidationHintState = "pending" | "valid" | "invalid";
2
+ export type ValidationHintMode = ValidationHintState[];
3
+ export type ValidationHintRule<TValues> = {
4
+ id: string;
5
+ label: string;
6
+ validate: (values: TValues) => boolean;
7
+ when?: (values: TValues) => boolean;
8
+ };
9
+ export type ValidationHintListProps<TValues> = {
10
+ values: TValues;
11
+ rules: ValidationHintRule<TValues>[];
12
+ mode?: ValidationHintMode;
13
+ className?: string;
14
+ itemClassName?: string;
15
+ };
16
+ export declare const ValidationHintList: <TValues>({ values, rules, mode, className, itemClassName, }: ValidationHintListProps<TValues>) => import("react/jsx-runtime").JSX.Element;
17
+ export default ValidationHintList;
@@ -0,0 +1,9 @@
1
+ import type { Meta } from "@storybook/react";
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ export declare const ThreeState: {
5
+ render: () => import("react/jsx-runtime").JSX.Element;
6
+ };
7
+ export declare const TwoState: {
8
+ render: () => import("react/jsx-runtime").JSX.Element;
9
+ };
@@ -0,0 +1,10 @@
1
+ export { Form, createControlledForm, createYupResolver, useControlledForm, } from "./Form";
2
+ export type { ControlledFormFactoryOptions, FormController, FormProps, UseControlledFormOptions, } from "./Form";
3
+ export { Field } from "./Field";
4
+ export type { FieldProps } from "./Field";
5
+ export { FieldMessage } from "./FieldMessage";
6
+ export type { FieldMessageProps } from "./FieldMessage";
7
+ export { ValidationHintList } from "./ValidationHintList";
8
+ export type { ValidationHintListProps, ValidationHintMode, ValidationHintRule, ValidationHintState, } from "./ValidationHintList";
9
+ export { useOptionBridge } from "./useOptionBridge";
10
+ export type { OptionLike, UseOptionBridgeOptions, } from "./useOptionBridge";
@@ -0,0 +1,17 @@
1
+ type OptionValue = string | number;
2
+ export type OptionLike<TValue extends OptionValue = string> = {
3
+ value: TValue;
4
+ label?: string;
5
+ };
6
+ export type UseOptionBridgeOptions<TValue extends OptionValue, TOption extends OptionLike<TValue>> = {
7
+ options: TOption[];
8
+ loading?: boolean;
9
+ buildFallbackOption?: (value: TValue, loading: boolean) => TOption;
10
+ };
11
+ export declare const useOptionBridge: <TValue extends OptionValue = string, TOption extends OptionLike<TValue> = OptionLike<TValue>>({ options, loading, buildFallbackOption, }: UseOptionBridgeOptions<TValue, TOption>) => {
12
+ toOption: (value: TValue | null | undefined) => TOption | undefined;
13
+ toOptionWithFallback: (value: TValue | null | undefined) => TOption | undefined;
14
+ toValue: (option: TOption | null | undefined) => TValue | undefined;
15
+ optionsByValue: Map<TValue, TOption>;
16
+ };
17
+ export default useOptionBridge;
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ export type OtpInputProps = {
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ onBlur?: () => void;
6
+ onComplete?: (value: string) => void;
7
+ length?: number;
8
+ disabled?: boolean;
9
+ invalid?: boolean;
10
+ autoFocus?: boolean;
11
+ inputMode?: React.HTMLAttributes<HTMLInputElement>["inputMode"];
12
+ charPattern?: RegExp;
13
+ className?: string;
14
+ inputClassName?: string;
15
+ };
16
+ export declare const OtpInput: React.ForwardRefExoticComponent<OtpInputProps & React.RefAttributes<HTMLInputElement>>;
17
+ export default OtpInput;
@@ -0,0 +1,15 @@
1
+ import type { Meta } from "@storybook/react";
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ export declare const Basic: {
5
+ render: () => import("react/jsx-runtime").JSX.Element;
6
+ };
7
+ export declare const WithFormField: {
8
+ render: () => import("react/jsx-runtime").JSX.Element;
9
+ };
10
+ export declare const GroupWithLabelAndError: {
11
+ render: () => import("react/jsx-runtime").JSX.Element;
12
+ };
13
+ export declare const GroupWithFormField: {
14
+ render: () => import("react/jsx-runtime").JSX.Element;
15
+ };
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ import { OtpInputProps } from "./OtpInput";
3
+ export type OtpInputGroupProps = OtpInputProps & {
4
+ id?: string;
5
+ label?: string;
6
+ required?: boolean;
7
+ helperText?: string;
8
+ error?: boolean;
9
+ errorMessage?: string;
10
+ keepFooterSpace?: boolean;
11
+ labelClassName?: string;
12
+ messageClassName?: string;
13
+ };
14
+ export declare const OtpInputGroup: React.ForwardRefExoticComponent<OtpInputProps & {
15
+ id?: string;
16
+ label?: string;
17
+ required?: boolean;
18
+ helperText?: string;
19
+ error?: boolean;
20
+ errorMessage?: string;
21
+ keepFooterSpace?: boolean;
22
+ labelClassName?: string;
23
+ messageClassName?: string;
24
+ } & React.RefAttributes<HTMLInputElement>>;
25
+ export default OtpInputGroup;
@@ -0,0 +1,5 @@
1
+ export { OtpInput } from "./OtpInput";
2
+ export type { OtpInputProps } from "./OtpInput";
3
+ export { OtpInputGroup } from "./OtpInputGroup";
4
+ export type { OtpInputGroupProps } from "./OtpInputGroup";
5
+ export { default } from "./OtpInput";
@@ -34,6 +34,9 @@ export declare const inlineStartIconWrapperVariant: (props?: ({
34
34
  export declare const iconActionVariant: (props?: ({
35
35
  size?: "sm" | "md" | "lg" | null | undefined;
36
36
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
37
+ export declare const searchIconVariant: (props?: ({
38
+ size?: "sm" | "md" | "lg" | null | undefined;
39
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
37
40
  export declare const segmentedIconWrapperVariant: (props?: ({
38
41
  size?: "sm" | "md" | "lg" | null | undefined;
39
42
  rounded?: "none" | "normal" | "full" | null | undefined;
@@ -19,6 +19,8 @@ export { Avatar, AvatarGroup } from "./components/Avatar";
19
19
  export { Collapsible } from "./components/Collapsible";
20
20
  export { Calendar } from "./components/Calendar";
21
21
  export { default as DatePicker } from "./components/DatePicker/DatePicker";
22
+ export { default as OtpInput } from "./components/OtpInput";
23
+ export { OtpInputGroup } from "./components/OtpInput";
22
24
  export { Popover, PopoverTrigger, PopoverContent, } from "./components/Popover/Popover";
23
25
  export { default as Loading } from "./components/Loading/Loading";
24
26
  export { default as ProgressBar } from "./components/ProgressBar/ProgressBar";
@@ -41,12 +43,15 @@ export * from "./components/Toast/useToast";
41
43
  export * from "./components/Tree";
42
44
  export * from "./components/FocusedScrollView/FocusedScrollView";
43
45
  export * from "./components/RadioGroup/RadioGroup";
46
+ export * from "./components/Form";
44
47
  export type { ButtonProps } from "./components/Button/Button";
45
48
  export type { InputProps } from "./components/TextInput/TextInput";
46
49
  export type { PasswordInputProps } from "./components/PasswordInput/PasswordInput";
47
50
  export type { MaskedTextInputProps, MaskRule, } from "./components/MaskedTextInput";
48
51
  export type { NumberInputProps } from "./components/NumberInput/NumberInput";
49
52
  export type { TextAreaProps } from "./components/TextArea/TextArea";
53
+ export type { OtpInputProps } from "./components/OtpInput";
54
+ export type { OtpInputGroupProps } from "./components/OtpInput";
50
55
  export type { DropdownProps, Options } from "./components/Dropdown/Dropdown";
51
56
  export type { NavbarProps, NavbarVariant } from "./components/Navbar/Navbar";
52
57
  export type { FooterProps, FooterVariant } from "./components/Footer/Footer";
@@ -0,0 +1,10 @@
1
+ declare const meta: {
2
+ title: string;
3
+ parameters: {
4
+ layout: string;
5
+ };
6
+ };
7
+ export default meta;
8
+ export declare const RuntimeCoverage: {
9
+ render: () => import("react/jsx-runtime").JSX.Element;
10
+ };