@rovula/ui 0.1.7 → 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 (196) hide show
  1. package/dist/cjs/bundle.css +281 -124
  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 +84 -0
  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/Table/Table.js +5 -5
  72. package/dist/components/Tabs/Tabs.js +12 -9
  73. package/dist/components/Tabs/Tabs.stories.js +1 -1
  74. package/dist/components/Text/Text.js +1 -1
  75. package/dist/components/Text/Text.stories.js +1 -1
  76. package/dist/components/TextArea/TextArea.stories.js +1 -1
  77. package/dist/components/TextArea/TextArea.styles.js +3 -3
  78. package/dist/components/TextInput/TextInput.js +3 -2
  79. package/dist/components/TextInput/TextInput.stories.js +3 -3
  80. package/dist/components/TextInput/TextInput.styles.js +41 -19
  81. package/dist/components/Toast/Toast.js +4 -2
  82. package/dist/components/Toast/Toast.stories.js +1 -1
  83. package/dist/components/Toast/Toast.styles.js +4 -4
  84. package/dist/components/Toast/Toaster.js +2 -2
  85. package/dist/components/Tree/Tree.stories.js +1 -1
  86. package/dist/components/Tree/TreeItem.js +1 -1
  87. package/dist/esm/bundle.css +281 -124
  88. package/dist/esm/bundle.js +1545 -1545
  89. package/dist/esm/bundle.js.map +1 -1
  90. package/dist/esm/types/components/AlertDialog/AlertDialog.stories.d.ts +3 -0
  91. package/dist/esm/types/components/Dialog/Dialog.d.ts +7 -1
  92. package/dist/esm/types/components/Dialog/Dialog.stories.d.ts +3 -0
  93. package/dist/esm/types/components/Dropdown/Dropdown.d.ts +2 -0
  94. package/dist/esm/types/components/Dropdown/Dropdown.stories.d.ts +2 -0
  95. package/dist/esm/types/components/Form/Field.d.ts +26 -0
  96. package/dist/esm/types/components/Form/FieldMessage.d.ts +7 -0
  97. package/dist/esm/types/components/Form/Form.d.ts +49 -11
  98. package/dist/esm/types/components/Form/Form.stories.d.ts +23 -0
  99. package/dist/esm/types/components/Form/ValidationHintList.d.ts +17 -0
  100. package/dist/esm/types/components/Form/ValidationHintList.stories.d.ts +9 -0
  101. package/dist/esm/types/components/Form/index.d.ts +10 -0
  102. package/dist/esm/types/components/Form/useOptionBridge.d.ts +17 -0
  103. package/dist/esm/types/components/OtpInput/OtpInput.d.ts +17 -0
  104. package/dist/esm/types/components/OtpInput/OtpInput.stories.d.ts +15 -0
  105. package/dist/esm/types/components/OtpInput/OtpInputGroup.d.ts +25 -0
  106. package/dist/esm/types/components/OtpInput/index.d.ts +5 -0
  107. package/dist/esm/types/components/TextInput/TextInput.styles.d.ts +3 -0
  108. package/dist/esm/types/index.d.ts +5 -0
  109. package/dist/esm/types/theme/ThemeColorCoverageRuntime.stories.d.ts +10 -0
  110. package/dist/esm/types/utils/colors.d.ts +84 -0
  111. package/dist/index.d.ts +245 -2
  112. package/dist/index.js +3 -0
  113. package/dist/src/theme/global.css +351 -149
  114. package/dist/theme/ThemeColorCoverageRuntime.stories.js +91 -0
  115. package/dist/utils/colors.js +92 -0
  116. package/package.json +4 -2
  117. package/src/components/ActionButton/ActionButton.stories.tsx +6 -6
  118. package/src/components/ActionButton/ActionButton.styles.ts +1 -1
  119. package/src/components/AlertDialog/AlertDialog.stories.tsx +22 -0
  120. package/src/components/AlertDialog/AlertDialog.tsx +6 -6
  121. package/src/components/Avatar/Avatar.stories.tsx +1 -1
  122. package/src/components/Avatar/Avatar.styles.ts +1 -1
  123. package/src/components/Avatar/AvatarBase.tsx +1 -1
  124. package/src/components/Avatar/AvatarGroup.stories.tsx +1 -1
  125. package/src/components/Button/Buttons.stories.tsx +10 -10
  126. package/src/components/Calendar/Calendar.tsx +3 -3
  127. package/src/components/Checkbox/Checkbox.stories.tsx +35 -12
  128. package/src/components/Checkbox/Checkbox.tsx +7 -5
  129. package/src/components/Collapsible/Collapsible.styles.ts +1 -1
  130. package/src/components/DataTable/DataTable.tsx +2 -2
  131. package/src/components/Dialog/Dialog.stories.tsx +173 -0
  132. package/src/components/Dialog/Dialog.tsx +32 -15
  133. package/src/components/Dropdown/Dropdown.styles.ts +1 -1
  134. package/src/components/Dropdown/Dropdown.tsx +16 -14
  135. package/src/components/DropdownMenu/DropdownMenu.tsx +3 -3
  136. package/src/components/FocusedScrollView/FocusedScrollView.stories.tsx +10 -10
  137. package/src/components/Form/Field.tsx +160 -0
  138. package/src/components/Form/FieldMessage.tsx +38 -0
  139. package/src/components/Form/Form.docs.mdx +67 -0
  140. package/src/components/Form/Form.stories.tsx +490 -0
  141. package/src/components/Form/Form.tsx +185 -87
  142. package/src/components/Form/README.md +284 -0
  143. package/src/components/Form/ValidationHintList.stories.tsx +118 -0
  144. package/src/components/Form/ValidationHintList.tsx +82 -0
  145. package/src/components/Form/index.ts +28 -0
  146. package/src/components/Form/useOptionBridge.ts +55 -0
  147. package/src/components/InputFilter/InputFilter.stories.tsx +1 -1
  148. package/src/components/InputFilter/InputFilter.styles.ts +14 -1
  149. package/src/components/InputFilter/InputFilter.tsx +33 -28
  150. package/src/components/Label/Label.styles.ts +2 -2
  151. package/src/components/Label/Label.tsx +1 -1
  152. package/src/components/Menu/Menu.tsx +12 -12
  153. package/src/components/NumberInput/NumberInput.stories.tsx +1 -1
  154. package/src/components/OtpInput/OtpInput.stories.tsx +168 -0
  155. package/src/components/OtpInput/OtpInput.tsx +210 -0
  156. package/src/components/OtpInput/OtpInputGroup.tsx +74 -0
  157. package/src/components/OtpInput/index.ts +5 -0
  158. package/src/components/PasswordInput/PasswordInput.stories.tsx +1 -1
  159. package/src/components/Popover/Popover.tsx +1 -1
  160. package/src/components/RadioGroup/RadioGroup.stories.tsx +4 -4
  161. package/src/components/RadioGroup/RadioGroup.tsx +2 -1
  162. package/src/components/Search/Search.stories.tsx +1 -1
  163. package/src/components/Search/Search.tsx +6 -2
  164. package/src/components/Slider/Slider.stories.tsx +7 -7
  165. package/src/components/Slider/Slider.tsx +1 -1
  166. package/src/components/Switch/Switch.stories.tsx +4 -4
  167. package/src/components/Table/Table.tsx +5 -5
  168. package/src/components/Tabs/Tabs.stories.tsx +1 -1
  169. package/src/components/Tabs/Tabs.tsx +29 -18
  170. package/src/components/Text/Text.stories.tsx +1 -1
  171. package/src/components/Text/Text.tsx +1 -1
  172. package/src/components/TextArea/TextArea.stories.tsx +1 -1
  173. package/src/components/TextArea/TextArea.styles.ts +3 -3
  174. package/src/components/TextInput/TextInput.stories.tsx +7 -7
  175. package/src/components/TextInput/TextInput.styles.ts +42 -19
  176. package/src/components/TextInput/TextInput.tsx +3 -1
  177. package/src/components/Toast/Toast.stories.tsx +1 -1
  178. package/src/components/Toast/Toast.styles.tsx +7 -7
  179. package/src/components/Toast/Toast.tsx +5 -4
  180. package/src/components/Toast/Toaster.tsx +17 -20
  181. package/src/components/Tree/Tree.stories.tsx +1 -1
  182. package/src/components/Tree/TreeItem.tsx +1 -1
  183. package/src/index.ts +5 -0
  184. package/src/theme/ThemeColorCoverageRuntime.stories.tsx +236 -0
  185. package/src/theme/direct-token-migration-plan.md +121 -0
  186. package/src/theme/figma-mcp-check-report.md +225 -0
  187. package/src/theme/figma-mcp-component-checklist.json +1250 -0
  188. package/src/theme/presets/colors.js +155 -44
  189. package/src/theme/themes/xspector/components/loading.css +2 -2
  190. package/src/theme/tokens/color.css +3 -3
  191. package/src/theme/tokens/components/action-button.css +1 -1
  192. package/src/theme/tokens/components/dropdown-menu.css +3 -3
  193. package/src/theme/tokens/components/loading.css +2 -2
  194. package/src/theme/tokens/components/switch.css +1 -1
  195. package/src/theme/utils.js +164 -25
  196. package/src/utils/colors.ts +92 -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
+ };
@@ -1,5 +1,12 @@
1
1
  /** CSS variable names for theme colors (resolved by data-theme) */
2
2
  export declare const THEME_COLOR_KEYS: {
3
+ readonly "main-primary": "--main-primary";
4
+ readonly "main-secondary": "--main-secondary";
5
+ readonly "main-tertiary": "--main-tertiary";
6
+ readonly "brand-midnight-blue": "--brand-midnight-blue";
7
+ readonly "brand-columbia-blue": "--brand-columbia-blue";
8
+ readonly "brand-background": "--brand-background";
9
+ readonly "brand-lemon-glacier": "--brand-lemon-glacier";
3
10
  readonly "primary-5": "--ramps-primary-5";
4
11
  readonly "primary-10": "--ramps-primary-10";
5
12
  readonly "primary-20": "--ramps-primary-20";
@@ -192,6 +199,13 @@ export declare const THEME_COLOR_KEYS: {
192
199
  readonly "disable-solid": "--state-disable-solid";
193
200
  readonly "disable-outline": "--state-disable-outline";
194
201
  readonly "text-black": "--text-black";
202
+ readonly "text-contrast-low": "--text-contrast-low";
203
+ readonly "text-contrast-medium": "--text-contrast-medium";
204
+ readonly "text-contrast-high": "--text-contrast-high";
205
+ readonly "text-contrast-max": "--text-contrast-max";
206
+ readonly "text-g-contrast-low": "--text-g-contrast-low";
207
+ readonly "text-g-contrast-medium": "--text-g-contrast-medium";
208
+ readonly "text-g-contrast-high": "--text-g-contrast-high";
195
209
  readonly "text-dark": "--text-dark";
196
210
  readonly "text-medium": "--text-medium";
197
211
  readonly "text-light": "--text-light";
@@ -219,6 +233,28 @@ export declare const THEME_COLOR_KEYS: {
219
233
  readonly "function-active-hover-bg": "--function-active-hover-bg";
220
234
  readonly "function-active-stroke": "--function-active-stroke";
221
235
  readonly "function-active-icon": "--function-active-icon";
236
+ readonly "modal-surface": "--modal-surface";
237
+ readonly "modal-highlight": "--modal-highlight";
238
+ readonly "modal-overlay": "--modal-overlay";
239
+ readonly "bg-bg1": "--bg-bg1";
240
+ readonly "bg-bg2": "--bg-bg2";
241
+ readonly "bg-bg3": "--bg-bg3";
242
+ readonly "bg-stroke1": "--bg-stroke1";
243
+ readonly "bg-stroke2": "--bg-stroke2";
244
+ readonly "state-primary-text-solid": "--state-primary-text-solid";
245
+ readonly "state-primary-text-hover": "--state-primary-text-hover";
246
+ readonly "state-secondary-text-solid": "--state-secondary-text-solid";
247
+ readonly "state-secondary-text-hover": "--state-secondary-text-hover";
248
+ readonly "state-tertiary-text-solid": "--state-tertiary-text-solid";
249
+ readonly "state-tertiary-text-hover": "--state-tertiary-text-hover";
250
+ readonly "state-info-text-solid": "--state-info-text-solid";
251
+ readonly "state-info-text-hover": "--state-info-text-hover";
252
+ readonly "state-success-text-solid": "--state-success-text-solid";
253
+ readonly "state-success-text-hover": "--state-success-text-hover";
254
+ readonly "state-warning-text-solid": "--state-warning-text-solid";
255
+ readonly "state-warning-text-hover": "--state-warning-text-hover";
256
+ readonly "state-error-text-solid": "--state-error-text-solid";
257
+ readonly "state-error-text-hover": "--state-error-text-hover";
222
258
  readonly "base-bg": "--base-color-bg";
223
259
  readonly "base-bg2": "--base-color-bg2";
224
260
  readonly "base-bg3": "--base-color-bg3";
@@ -230,6 +266,54 @@ export declare const THEME_COLOR_KEYS: {
230
266
  readonly "base-popup-foreground": "--base-color-popup-foreground";
231
267
  readonly "common-white": "--common-white";
232
268
  readonly "common-black": "--common-black";
269
+ readonly "brand-rvl-yellow": "--brand-rvl-yellow";
270
+ readonly "brand-rvl-grey": "--brand-rvl-grey";
271
+ readonly "others-1": "--others-1";
272
+ readonly "others-2": "--others-2";
273
+ readonly "others-3": "--others-3";
274
+ readonly "others-4": "--others-4";
275
+ readonly "others-5": "--others-5";
276
+ readonly "others-6": "--others-6";
277
+ readonly "others-7": "--others-7";
278
+ readonly "others-8": "--others-8";
279
+ readonly "others-9": "--others-9";
280
+ readonly "others-10": "--others-10";
281
+ readonly "others-11": "--others-11";
282
+ readonly "others-12": "--others-12";
283
+ readonly "others-13": "--others-13";
284
+ readonly "others-14": "--others-14";
285
+ readonly "others-15": "--others-15";
286
+ readonly "others-16": "--others-16";
287
+ readonly "others-17": "--others-17";
288
+ readonly "others-18": "--others-18";
289
+ readonly "others-19": "--others-19";
290
+ readonly "others-20": "--others-20";
291
+ readonly "others-21": "--others-21";
292
+ readonly "others-22": "--others-22";
293
+ readonly "others-23": "--others-23";
294
+ readonly "others-24": "--others-24";
295
+ readonly "others-25": "--others-25";
296
+ readonly "others-26": "--others-26";
297
+ readonly "others-27": "--others-27";
298
+ readonly "others-28": "--others-28";
299
+ readonly "others-29": "--others-29";
300
+ readonly "others-30": "--others-30";
301
+ readonly "others-31": "--others-31";
302
+ readonly "others-32": "--others-32";
303
+ readonly "others-33": "--others-33";
304
+ readonly "others-34": "--others-34";
305
+ readonly "others-35": "--others-35";
306
+ readonly "page-bg-main": "--page-bg-main";
307
+ readonly "page-bg-circle-top-g-in": "--page-bg-circle-top-g-in";
308
+ readonly "page-bg-circle-top-g-out": "--page-bg-circle-top-g-out";
309
+ readonly "page-bg-circle-bottom-g-in": "--page-bg-circle-bottom-g-in";
310
+ readonly "page-bg-circle-bottom-g-out": "--page-bg-circle-bottom-g-out";
311
+ readonly "modal-line": "--modal-line";
312
+ readonly "bg-bg4": "--bg-bg4";
313
+ readonly "bg-bg5": "--bg-bg5";
314
+ readonly "bg-stroke3": "--bg-stroke3";
315
+ readonly "bg-stroke4": "--bg-stroke4";
316
+ readonly "bg-stroke5": "--bg-stroke5";
233
317
  readonly background: "--background";
234
318
  readonly foreground: "--foreground";
235
319
  readonly surface: "--surface";