@quen-ui/components 0.0.14 → 1.0.1
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.
- package/README.md +2 -2
- package/dist/Accordion/Accordion.cjs.js +88 -0
- package/dist/Accordion/Accordion.d.ts +3 -0
- package/dist/Accordion/Accordion.es.js +89 -0
- package/dist/Accordion/AccordionGroup.cjs.js +82 -0
- package/dist/Accordion/AccordionGroup.d.ts +12 -0
- package/dist/Accordion/AccordionGroup.es.js +82 -0
- package/dist/Accordion/AccordionItem.cjs.js +71 -0
- package/dist/Accordion/AccordionItem.d.ts +3 -0
- package/dist/Accordion/AccordionItem.es.js +72 -0
- package/dist/Accordion/helpers.cjs.js +24 -0
- package/dist/Accordion/helpers.d.ts +25 -0
- package/dist/Accordion/helpers.es.js +24 -0
- package/dist/Accordion/index.cjs.js +7 -0
- package/dist/Accordion/index.d.ts +8 -0
- package/dist/Accordion/index.es.js +7 -0
- package/dist/Accordion/styles.cjs.js +97 -0
- package/dist/Accordion/styles.d.ts +23 -0
- package/dist/Accordion/styles.es.js +97 -0
- package/dist/Accordion/types.d.ts +142 -0
- package/dist/Accordion/useAccordionState.cjs.js +34 -0
- package/dist/Accordion/useAccordionState.d.ts +12 -0
- package/dist/Accordion/useAccordionState.es.js +34 -0
- package/dist/Alert/Alert.cjs.js +1 -1
- package/dist/Alert/Alert.es.js +1 -1
- package/dist/Alert/styles.cjs.js +14 -10
- package/dist/Alert/styles.es.js +14 -10
- package/dist/Avatar/styles.cjs.js +16 -11
- package/dist/Avatar/styles.es.js +16 -11
- package/dist/Badge/styles.cjs.js +7 -7
- package/dist/Badge/styles.es.js +7 -7
- package/dist/Breadcrumbs/BreadcrumbItem.cjs.js +6 -6
- package/dist/Breadcrumbs/BreadcrumbItem.es.js +6 -6
- package/dist/Breadcrumbs/Breadcrumbs.cjs.js +2 -3
- package/dist/Breadcrumbs/Breadcrumbs.es.js +2 -3
- package/dist/Breadcrumbs/styles.cjs.js +15 -15
- package/dist/Breadcrumbs/styles.es.js +15 -15
- package/dist/Button/Button.cjs.js +3 -3
- package/dist/Button/Button.es.js +6 -6
- package/dist/Button/index.d.ts +1 -1
- package/dist/Button/styles.cjs.js +49 -54
- package/dist/Button/styles.es.js +50 -55
- package/dist/Button/types.d.ts +2 -3
- package/dist/Calendar/Calendar.cjs.js +200 -0
- package/dist/Calendar/Calendar.d.ts +4 -0
- package/dist/Calendar/Calendar.es.js +201 -0
- package/dist/Calendar/DaysLevel.cjs.js +93 -0
- package/dist/Calendar/DaysLevel.d.ts +3 -0
- package/dist/Calendar/DaysLevel.es.js +94 -0
- package/dist/Calendar/MonthLevel.cjs.js +23 -0
- package/dist/Calendar/MonthLevel.d.ts +3 -0
- package/dist/Calendar/MonthLevel.es.js +24 -0
- package/dist/Calendar/YearsLevel.cjs.js +24 -0
- package/dist/Calendar/YearsLevel.d.ts +3 -0
- package/dist/Calendar/YearsLevel.es.js +25 -0
- package/dist/Calendar/helpers.cjs.js +60 -0
- package/dist/Calendar/helpers.d.ts +9 -0
- package/dist/Calendar/helpers.es.js +60 -0
- package/dist/Calendar/index.d.ts +2 -0
- package/dist/Calendar/styles.cjs.js +116 -0
- package/dist/Calendar/styles.d.ts +16 -0
- package/dist/Calendar/styles.es.js +116 -0
- package/dist/Calendar/types.d.ts +115 -0
- package/dist/Card/Card.cjs.js +4 -2
- package/dist/Card/Card.d.ts +1 -1
- package/dist/Card/Card.es.js +4 -2
- package/dist/Card/styles.cjs.js +2 -2
- package/dist/Card/styles.es.js +2 -2
- package/dist/Card/types.d.ts +2 -0
- package/dist/Checkbox/Checkbox.cjs.js +1 -1
- package/dist/Checkbox/Checkbox.es.js +1 -1
- package/dist/Checkbox/CheckboxGroup.cjs.js +22 -25
- package/dist/Checkbox/CheckboxGroup.es.js +22 -25
- package/dist/Checkbox/styles.cjs.js +24 -23
- package/dist/Checkbox/styles.es.js +24 -23
- package/dist/ColorPicker/ColorPicker.cjs.js +404 -0
- package/dist/ColorPicker/ColorPicker.d.ts +3 -0
- package/dist/ColorPicker/ColorPicker.es.js +405 -0
- package/dist/ColorPicker/InputColor.cjs.js +94 -0
- package/dist/ColorPicker/InputColor.d.ts +3 -0
- package/dist/ColorPicker/InputColor.es.js +95 -0
- package/dist/ColorPicker/InputsColor.cjs.js +177 -0
- package/dist/ColorPicker/InputsColor.d.ts +3 -0
- package/dist/ColorPicker/InputsColor.es.js +178 -0
- package/dist/ColorPicker/helpers.cjs.js +32 -0
- package/dist/ColorPicker/helpers.d.ts +4 -0
- package/dist/ColorPicker/helpers.es.js +32 -0
- package/dist/ColorPicker/index.cjs.js +7 -0
- package/dist/ColorPicker/index.d.ts +8 -0
- package/dist/ColorPicker/index.es.js +7 -0
- package/dist/ColorPicker/styles.cjs.js +234 -0
- package/dist/ColorPicker/styles.d.ts +43 -0
- package/dist/ColorPicker/styles.es.js +234 -0
- package/dist/ColorPicker/types.d.ts +56 -0
- package/dist/Divider/styles.cjs.js +12 -10
- package/dist/Divider/styles.es.js +12 -10
- package/dist/Drawer/Drawer.cjs.js +5 -1
- package/dist/Drawer/Drawer.es.js +5 -1
- package/dist/Drawer/styles.cjs.js +4 -5
- package/dist/Drawer/styles.es.js +4 -5
- package/dist/Dropdown/Dropdown.cjs.js +31 -2
- package/dist/Dropdown/Dropdown.d.ts +2 -2
- package/dist/Dropdown/Dropdown.es.js +32 -3
- package/dist/Dropdown/DropdownItem.cjs.js +4 -5
- package/dist/Dropdown/DropdownItem.es.js +4 -5
- package/dist/Dropdown/DropdownList.cjs.js +3 -2
- package/dist/Dropdown/DropdownList.es.js +6 -5
- package/dist/Dropdown/DropdownPortal.cjs.js +8 -5
- package/dist/Dropdown/DropdownPortal.d.ts +5 -3
- package/dist/Dropdown/DropdownPortal.es.js +9 -6
- package/dist/Dropdown/helpers.cjs.js +1 -1
- package/dist/Dropdown/helpers.es.js +1 -1
- package/dist/Dropdown/styles.cjs.js +28 -27
- package/dist/Dropdown/styles.d.ts +2 -0
- package/dist/Dropdown/styles.es.js +28 -27
- package/dist/EmptyState/EmptyState.cjs.js +51 -0
- package/dist/EmptyState/EmptyState.d.ts +3 -0
- package/dist/EmptyState/EmptyState.es.js +52 -0
- package/dist/EmptyState/index.d.ts +2 -0
- package/dist/EmptyState/types.d.ts +10 -0
- package/dist/Flex/Flex.d.ts +1 -1
- package/dist/Flex/types.d.ts +1 -0
- package/dist/Form/Field.cjs.js +175 -0
- package/dist/Form/Field.d.ts +3 -0
- package/dist/Form/Field.es.js +176 -0
- package/dist/Form/FieldArray.cjs.js +24 -0
- package/dist/Form/FieldArray.d.ts +3 -0
- package/dist/Form/FieldArray.es.js +25 -0
- package/dist/Form/Form.cjs.js +69 -0
- package/dist/Form/Form.d.ts +3 -0
- package/dist/Form/Form.es.js +69 -0
- package/dist/Form/defaultValidateMessages.cjs.js +51 -0
- package/dist/Form/defaultValidateMessages.d.ts +47 -0
- package/dist/Form/defaultValidateMessages.es.js +51 -0
- package/dist/Form/helpers.cjs.js +8 -0
- package/dist/Form/helpers.d.ts +1 -0
- package/dist/Form/helpers.es.js +8 -0
- package/dist/Form/index.cjs.js +13 -0
- package/dist/Form/index.d.ts +14 -0
- package/dist/Form/index.es.js +13 -0
- package/dist/Form/types.d.ts +147 -0
- package/dist/Form/useForm.cjs.js +230 -0
- package/dist/Form/useForm.d.ts +2 -0
- package/dist/Form/useForm.es.js +230 -0
- package/dist/Form/useWatch.cjs.js +14 -0
- package/dist/Form/useWatch.d.ts +3 -0
- package/dist/Form/useWatch.es.js +14 -0
- package/dist/Highlight/Highlight.cjs.js +113 -0
- package/dist/Highlight/Highlight.d.ts +3 -0
- package/dist/Highlight/Highlight.es.js +114 -0
- package/dist/Highlight/helpers.cjs.js +147 -0
- package/dist/Highlight/helpers.d.ts +27 -0
- package/dist/Highlight/helpers.es.js +147 -0
- package/dist/Highlight/index.d.ts +2 -0
- package/dist/Highlight/styles.cjs.js +11 -0
- package/dist/Highlight/styles.d.ts +4 -0
- package/dist/Highlight/styles.es.js +11 -0
- package/dist/Highlight/types.d.ts +53 -0
- package/dist/Image/styles.cjs.js +4 -5
- package/dist/Image/styles.es.js +4 -5
- package/dist/InputBase/InputBase.cjs.js +32 -0
- package/dist/InputBase/InputBase.d.ts +4 -0
- package/dist/InputBase/InputBase.es.js +33 -0
- package/dist/InputBase/index.d.ts +2 -0
- package/dist/InputBase/styles.cjs.js +61 -0
- package/dist/InputBase/styles.d.ts +7 -0
- package/dist/InputBase/styles.es.js +61 -0
- package/dist/InputBase/types.d.ts +25 -0
- package/dist/InputDate/InputDate.cjs.js +344 -0
- package/dist/InputDate/InputDate.d.ts +4 -0
- package/dist/InputDate/InputDate.es.js +345 -0
- package/dist/InputDate/helpers.cjs.js +78 -0
- package/dist/InputDate/helpers.d.ts +5 -0
- package/dist/InputDate/helpers.es.js +78 -0
- package/dist/InputDate/index.d.ts +2 -0
- package/dist/InputDate/styles.cjs.js +35 -0
- package/dist/InputDate/styles.d.ts +5 -0
- package/dist/InputDate/styles.es.js +35 -0
- package/dist/InputDate/types.d.ts +23 -0
- package/dist/InputNumber/InputNumber.cjs.js +70 -73
- package/dist/InputNumber/InputNumber.d.ts +1 -1
- package/dist/InputNumber/InputNumber.es.js +72 -75
- package/dist/InputNumber/styles.cjs.js +20 -60
- package/dist/InputNumber/styles.d.ts +4 -8
- package/dist/InputNumber/styles.es.js +21 -61
- package/dist/InputNumber/types.d.ts +2 -18
- package/dist/Layout/Header.cjs.js +27 -23
- package/dist/Layout/Header.d.ts +1 -1
- package/dist/Layout/Header.es.js +28 -24
- package/dist/Layout/Sidebar.cjs.js +24 -25
- package/dist/Layout/Sidebar.d.ts +1 -1
- package/dist/Layout/Sidebar.es.js +25 -26
- package/dist/Layout/index.d.ts +2 -2
- package/dist/Layout/styles.cjs.js +16 -52
- package/dist/Layout/styles.d.ts +2 -15
- package/dist/Layout/styles.es.js +16 -52
- package/dist/Layout/types.d.ts +7 -22
- package/dist/Loader/styles.cjs.js +5 -4
- package/dist/Loader/styles.es.js +5 -4
- package/dist/LoadingOverlay/LoadingOverlay.cjs.js +22 -0
- package/dist/LoadingOverlay/LoadingOverlay.d.ts +3 -0
- package/dist/LoadingOverlay/LoadingOverlay.es.js +23 -0
- package/dist/LoadingOverlay/index.d.ts +2 -0
- package/dist/LoadingOverlay/styles.cjs.js +28 -0
- package/dist/LoadingOverlay/styles.d.ts +5 -0
- package/dist/LoadingOverlay/styles.es.js +28 -0
- package/dist/LoadingOverlay/types.d.ts +16 -0
- package/dist/Menu/Menu.cjs.js +42 -0
- package/dist/Menu/Menu.d.ts +3 -0
- package/dist/Menu/Menu.es.js +43 -0
- package/dist/Menu/MenuItem.cjs.js +112 -0
- package/dist/Menu/MenuItem.d.ts +3 -0
- package/dist/Menu/MenuItem.es.js +113 -0
- package/dist/Menu/helpers.cjs.js +20 -0
- package/dist/Menu/helpers.d.ts +17 -0
- package/dist/Menu/helpers.es.js +20 -0
- package/dist/Menu/index.d.ts +2 -0
- package/dist/Menu/styles.cjs.js +98 -0
- package/dist/Menu/styles.d.ts +16 -0
- package/dist/Menu/styles.es.js +98 -0
- package/dist/Menu/types.d.ts +85 -0
- package/dist/Modal/Modal.cjs.js +15 -5
- package/dist/Modal/Modal.d.ts +1 -1
- package/dist/Modal/Modal.es.js +16 -6
- package/dist/Modal/styles.cjs.js +39 -9
- package/dist/Modal/styles.d.ts +4 -0
- package/dist/Modal/styles.es.js +40 -10
- package/dist/Modal/types.d.ts +2 -0
- package/dist/Notification/Notification.cjs.js +3 -3
- package/dist/Notification/Notification.es.js +3 -3
- package/dist/Notification/NotificationInstance.cjs.js +8 -15
- package/dist/Notification/NotificationInstance.es.js +8 -15
- package/dist/Notification/NotificationsStore.cjs.js +2 -7
- package/dist/Notification/NotificationsStore.es.js +2 -7
- package/dist/Notification/styles.cjs.js +6 -6
- package/dist/Notification/styles.es.js +6 -6
- package/dist/Pagination/Pagination.cjs.js +114 -0
- package/dist/Pagination/Pagination.d.ts +3 -0
- package/dist/Pagination/Pagination.es.js +115 -0
- package/dist/Pagination/index.d.ts +2 -0
- package/dist/Pagination/styles.cjs.js +54 -0
- package/dist/Pagination/styles.d.ts +2 -0
- package/dist/Pagination/styles.es.js +54 -0
- package/dist/Pagination/types.d.ts +49 -0
- package/dist/Progress/Progress.cjs.js +1 -1
- package/dist/Progress/Progress.es.js +1 -1
- package/dist/Progress/styles.cjs.js +5 -50
- package/dist/Progress/styles.es.js +5 -50
- package/dist/Progress/types.d.ts +1 -0
- package/dist/RadioButton/RadioButton.cjs.js +1 -1
- package/dist/RadioButton/RadioButton.es.js +1 -1
- package/dist/RadioButton/RadioButtonGroup.cjs.js +19 -22
- package/dist/RadioButton/RadioButtonGroup.es.js +19 -22
- package/dist/RadioButton/styles.cjs.js +11 -13
- package/dist/RadioButton/styles.es.js +11 -13
- package/dist/RichTextEditor/RichTextEditor.cjs.js +289 -0
- package/dist/RichTextEditor/RichTextEditor.d.ts +4 -0
- package/dist/RichTextEditor/RichTextEditor.es.js +290 -0
- package/dist/RichTextEditor/RichTextEditorColorControl.cjs.js +38 -0
- package/dist/RichTextEditor/RichTextEditorColorControl.d.ts +3 -0
- package/dist/RichTextEditor/RichTextEditorColorControl.es.js +39 -0
- package/dist/RichTextEditor/RichTextEditorTableControl.cjs.js +62 -0
- package/dist/RichTextEditor/RichTextEditorTableControl.d.ts +3 -0
- package/dist/RichTextEditor/RichTextEditorTableControl.es.js +63 -0
- package/dist/RichTextEditor/helpers.cjs.js +151 -0
- package/dist/RichTextEditor/helpers.d.ts +10 -0
- package/dist/RichTextEditor/helpers.es.js +151 -0
- package/dist/RichTextEditor/index.d.ts +2 -0
- package/dist/RichTextEditor/plugins.cjs.js +548 -0
- package/dist/RichTextEditor/plugins.d.ts +2 -0
- package/dist/RichTextEditor/plugins.es.js +548 -0
- package/dist/RichTextEditor/styles.cjs.js +60 -0
- package/dist/RichTextEditor/styles.d.ts +7 -0
- package/dist/RichTextEditor/styles.es.js +60 -0
- package/dist/RichTextEditor/types.d.ts +79 -0
- package/dist/Select/Select.cjs.js +30 -18
- package/dist/Select/Select.es.js +30 -18
- package/dist/Select/helpers.cjs.js +1 -1
- package/dist/Select/helpers.d.ts +24 -24
- package/dist/Select/helpers.es.js +1 -1
- package/dist/Select/styles.cjs.js +91 -118
- package/dist/Select/styles.d.ts +4 -5
- package/dist/Select/styles.es.js +91 -118
- package/dist/Select/types.d.ts +3 -23
- package/dist/Select/useSelect.cjs.js +8 -14
- package/dist/Select/useSelect.d.ts +20 -20
- package/dist/Select/useSelect.es.js +8 -14
- package/dist/Skeleton/Skeleton.cjs.js +35 -0
- package/dist/Skeleton/Skeleton.d.ts +3 -0
- package/dist/Skeleton/Skeleton.es.js +36 -0
- package/dist/Skeleton/SkeletonAvatar.cjs.js +17 -0
- package/dist/Skeleton/SkeletonAvatar.d.ts +3 -0
- package/dist/Skeleton/SkeletonAvatar.es.js +18 -0
- package/dist/Skeleton/SkeletonButton.cjs.js +21 -0
- package/dist/Skeleton/SkeletonButton.d.ts +3 -0
- package/dist/Skeleton/SkeletonButton.es.js +22 -0
- package/dist/Skeleton/SkeletonCard.cjs.js +15 -0
- package/dist/Skeleton/SkeletonCard.d.ts +3 -0
- package/dist/Skeleton/SkeletonCard.es.js +16 -0
- package/dist/Skeleton/SkeletonLayout.cjs.js +60 -0
- package/dist/Skeleton/SkeletonLayout.d.ts +3 -0
- package/dist/Skeleton/SkeletonLayout.es.js +61 -0
- package/dist/Skeleton/SkeletonList.cjs.js +39 -0
- package/dist/Skeleton/SkeletonList.d.ts +3 -0
- package/dist/Skeleton/SkeletonList.es.js +40 -0
- package/dist/Skeleton/SkeletonTextBlock.cjs.js +7 -0
- package/dist/Skeleton/SkeletonTextBlock.d.ts +5 -0
- package/dist/Skeleton/SkeletonTextBlock.es.js +8 -0
- package/dist/Skeleton/index.cjs.js +17 -0
- package/dist/Skeleton/index.d.ts +18 -0
- package/dist/Skeleton/index.es.js +17 -0
- package/dist/Skeleton/styles.cjs.js +59 -0
- package/dist/Skeleton/styles.d.ts +3 -0
- package/dist/Skeleton/styles.es.js +59 -0
- package/dist/Skeleton/types.d.ts +74 -0
- package/dist/Slider/Slider.cjs.js +282 -0
- package/dist/Slider/Slider.d.ts +3 -0
- package/dist/Slider/Slider.es.js +283 -0
- package/dist/Slider/index.d.ts +2 -0
- package/dist/Slider/styles.cjs.js +156 -0
- package/dist/Slider/styles.d.ts +35 -0
- package/dist/Slider/styles.es.js +156 -0
- package/dist/Slider/types.d.ts +53 -0
- package/dist/Spoiler/Spoiler.cjs.js +62 -0
- package/dist/Spoiler/Spoiler.d.ts +3 -0
- package/dist/Spoiler/Spoiler.es.js +63 -0
- package/dist/Spoiler/index.d.ts +2 -0
- package/dist/Spoiler/styles.cjs.js +15 -0
- package/dist/Spoiler/styles.d.ts +4 -0
- package/dist/Spoiler/styles.es.js +15 -0
- package/dist/Spoiler/types.d.ts +23 -0
- package/dist/Switch/Switch.cjs.js +32 -6
- package/dist/Switch/Switch.d.ts +2 -2
- package/dist/Switch/Switch.es.js +33 -7
- package/dist/Switch/styles.cjs.js +24 -7
- package/dist/Switch/styles.d.ts +4 -0
- package/dist/Switch/styles.es.js +24 -7
- package/dist/Switch/types.d.ts +3 -0
- package/dist/Tabs/Tab.cjs.js +8 -8
- package/dist/Tabs/Tab.es.js +8 -8
- package/dist/Tabs/TabPanel.cjs.js +3 -3
- package/dist/Tabs/TabPanel.es.js +3 -3
- package/dist/Tabs/Tabs.cjs.js +5 -4
- package/dist/Tabs/Tabs.d.ts +1 -1
- package/dist/Tabs/Tabs.es.js +5 -4
- package/dist/Tabs/TabsList.cjs.js +25 -1
- package/dist/Tabs/TabsList.d.ts +2 -2
- package/dist/Tabs/TabsList.es.js +25 -1
- package/dist/Tabs/styles.cjs.js +104 -34
- package/dist/Tabs/styles.d.ts +2 -0
- package/dist/Tabs/styles.es.js +104 -34
- package/dist/Tabs/types.d.ts +7 -3
- package/dist/Tag/Tag.cjs.js +4 -1
- package/dist/Tag/Tag.d.ts +1 -1
- package/dist/Tag/Tag.es.js +4 -1
- package/dist/Tag/styles.cjs.js +14 -9
- package/dist/Tag/styles.d.ts +2 -0
- package/dist/Tag/styles.es.js +14 -9
- package/dist/Tag/types.d.ts +6 -0
- package/dist/TextField/TextField.cjs.js +57 -56
- package/dist/TextField/TextField.d.ts +1 -1
- package/dist/TextField/TextField.es.js +58 -57
- package/dist/TextField/styles.cjs.js +9 -50
- package/dist/TextField/styles.d.ts +3 -8
- package/dist/TextField/styles.es.js +10 -51
- package/dist/TextField/types.d.ts +2 -20
- package/dist/Textarea/Textarea.cjs.js +57 -56
- package/dist/Textarea/Textarea.d.ts +1 -1
- package/dist/Textarea/Textarea.es.js +58 -57
- package/dist/Textarea/styles.cjs.js +10 -62
- package/dist/Textarea/styles.d.ts +3 -8
- package/dist/Textarea/styles.es.js +12 -64
- package/dist/Textarea/types.d.ts +2 -21
- package/dist/Tooltip/Tooltip.cjs.js +3 -1
- package/dist/Tooltip/Tooltip.d.ts +1 -1
- package/dist/Tooltip/Tooltip.es.js +3 -1
- package/dist/Tooltip/types.d.ts +3 -0
- package/dist/assets/box.svg.cjs.js +21 -0
- package/dist/assets/box.svg.es.js +5 -0
- package/dist/index.cjs.js +30 -0
- package/dist/index.d.ts +17 -2
- package/dist/index.es.js +30 -0
- package/dist/message/Message.cjs.js +42 -0
- package/dist/message/Message.d.ts +3 -0
- package/dist/message/Message.es.js +43 -0
- package/dist/message/MessageContext.cjs.js +101 -0
- package/dist/message/MessageContext.d.ts +4 -0
- package/dist/message/MessageContext.es.js +101 -0
- package/dist/message/index.cjs.js +8 -0
- package/dist/message/index.d.ts +6 -0
- package/dist/message/index.es.js +8 -0
- package/dist/message/styles.cjs.js +79 -0
- package/dist/message/styles.d.ts +11 -0
- package/dist/message/styles.es.js +79 -0
- package/dist/message/types.d.ts +42 -0
- package/dist/typography/Text/Text.es.js +3 -3
- package/dist/typography/Title/Title.cjs.js +2 -0
- package/dist/typography/Title/Title.d.ts +1 -1
- package/dist/typography/Title/Title.es.js +2 -0
- package/dist/typography/Title/styles.cjs.js +3 -0
- package/dist/typography/Title/styles.es.js +3 -0
- package/dist/typography/Title/types.d.ts +1 -0
- package/package.json +17 -13
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const typeTemplate = "${name} is not a valid ${type}";
|
|
2
|
+
const defaultValidateMessages = {
|
|
3
|
+
default: "Field validation error for ${name}",
|
|
4
|
+
required: "Please enter ${name}",
|
|
5
|
+
enum: "${name} must be one of [${enum}]",
|
|
6
|
+
whitespace: "${name} cannot be a blank character",
|
|
7
|
+
date: {
|
|
8
|
+
format: "${name} date format is invalid",
|
|
9
|
+
parse: "${name} cannot be converted to a date",
|
|
10
|
+
invalid: "${name} is an invalid date"
|
|
11
|
+
},
|
|
12
|
+
types: {
|
|
13
|
+
string: typeTemplate,
|
|
14
|
+
method: typeTemplate,
|
|
15
|
+
array: typeTemplate,
|
|
16
|
+
object: typeTemplate,
|
|
17
|
+
number: typeTemplate,
|
|
18
|
+
date: typeTemplate,
|
|
19
|
+
boolean: typeTemplate,
|
|
20
|
+
integer: typeTemplate,
|
|
21
|
+
float: typeTemplate,
|
|
22
|
+
regexp: typeTemplate,
|
|
23
|
+
email: typeTemplate,
|
|
24
|
+
url: typeTemplate,
|
|
25
|
+
hex: typeTemplate
|
|
26
|
+
},
|
|
27
|
+
string: {
|
|
28
|
+
len: "${name} must be ${len} characters",
|
|
29
|
+
min: "${name} must be at least ${min} characters",
|
|
30
|
+
max: "${name} must be up to ${max} characters",
|
|
31
|
+
range: "${name} must be between ${min}-${max} characters"
|
|
32
|
+
},
|
|
33
|
+
number: {
|
|
34
|
+
len: "${name} must be equal to ${len}",
|
|
35
|
+
min: "${name} must be minimum ${min}",
|
|
36
|
+
max: "${name} must be maximum ${max}",
|
|
37
|
+
range: "${name} must be between ${min}-${max}"
|
|
38
|
+
},
|
|
39
|
+
array: {
|
|
40
|
+
len: "Must be ${len} ${name}",
|
|
41
|
+
min: "At least ${min} ${name}",
|
|
42
|
+
max: "At most ${max} ${name}",
|
|
43
|
+
range: "The amount of ${name} must be between ${min}-${max}"
|
|
44
|
+
},
|
|
45
|
+
pattern: {
|
|
46
|
+
mismatch: "${name} does not match the pattern ${pattern}"
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
export {
|
|
50
|
+
defaultValidateMessages
|
|
51
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const ruleValidators = {
|
|
4
|
+
email: (v) => /\S+@\S+\.\S+/.test(String(v)),
|
|
5
|
+
url: (v) => /^(https?:\/\/)?([\w.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/.test(String(v)),
|
|
6
|
+
number: (v) => !isNaN(Number(v))
|
|
7
|
+
};
|
|
8
|
+
exports.ruleValidators = ruleValidators;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ruleValidators: Record<string, (v: any) => boolean>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Form$1 = require("./Form.cjs.js");
|
|
4
|
+
const Field = require("./Field.cjs.js");
|
|
5
|
+
const FieldArray = require("./FieldArray.cjs.js");
|
|
6
|
+
const useForm = require("./useForm.cjs.js");
|
|
7
|
+
const useWatch = require("./useWatch.cjs.js");
|
|
8
|
+
const Form = Form$1.Form;
|
|
9
|
+
Form.Field = Field;
|
|
10
|
+
Form.FieldArray = FieldArray;
|
|
11
|
+
Form.useWatch = useWatch.useWatch;
|
|
12
|
+
Form.useForm = useForm.useForm;
|
|
13
|
+
exports.Form = Form;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Form as FormComponent } from './Form';
|
|
2
|
+
import { default as Field } from './Field';
|
|
3
|
+
import { default as FieldArray } from './FieldArray';
|
|
4
|
+
import { useForm } from './useForm';
|
|
5
|
+
import { useWatch } from './useWatch';
|
|
6
|
+
type TForm = typeof FormComponent & {
|
|
7
|
+
useForm: typeof useForm;
|
|
8
|
+
useWatch: typeof useWatch;
|
|
9
|
+
Field: typeof Field;
|
|
10
|
+
FieldArray: typeof FieldArray;
|
|
11
|
+
};
|
|
12
|
+
declare const Form: TForm;
|
|
13
|
+
export type { IFormInstance, IFormFieldProps, IFormFieldArrayProps, TFormOnValueChange, TFormFieldValidate, IFormFieldError, IFormValidationRule, IUseFormOptions, IFormProps } from './types';
|
|
14
|
+
export { Form };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Form as Form$1 } from "./Form.es.js";
|
|
2
|
+
import Field from "./Field.es.js";
|
|
3
|
+
import FieldArray from "./FieldArray.es.js";
|
|
4
|
+
import { useForm } from "./useForm.es.js";
|
|
5
|
+
import { useWatch } from "./useWatch.es.js";
|
|
6
|
+
const Form = Form$1;
|
|
7
|
+
Form.Field = Field;
|
|
8
|
+
Form.FieldArray = FieldArray;
|
|
9
|
+
Form.useWatch = useWatch;
|
|
10
|
+
Form.useForm = useForm;
|
|
11
|
+
export {
|
|
12
|
+
Form
|
|
13
|
+
};
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { ReactElement, ReactNode, DOMAttributes, FormEvent, ElementType } from 'react';
|
|
2
|
+
import { TKeyObjectType, TValueObjectType } from '../../../helpers/src';
|
|
3
|
+
import { defaultValidateMessages } from './/defaultValidateMessages';
|
|
4
|
+
import { IFlexProps } from '../Flex';
|
|
5
|
+
type DeepPartial<T> = T extends any[] ? T : T extends Record<string, any> ? {
|
|
6
|
+
[P in keyof T]?: DeepPartial<T[P]>;
|
|
7
|
+
} : T;
|
|
8
|
+
export interface IFormInstance<T extends Record<string, any>> {
|
|
9
|
+
/** Set value of a specific field */
|
|
10
|
+
setFieldValue: (name: TKeyObjectType<T>, value: T[keyof T]) => void;
|
|
11
|
+
/** Get current value of a specific field */
|
|
12
|
+
getFieldValue: (name: TKeyObjectType<T>) => TValueObjectType<T, TKeyObjectType<T>>;
|
|
13
|
+
/** Get all field values */
|
|
14
|
+
getFieldsValue: (names?: TKeyObjectType<T>[]) => Partial<T> | T;
|
|
15
|
+
/** */
|
|
16
|
+
registerField: (name: TKeyObjectType<T>, config: IFormConfigField<T>) => void;
|
|
17
|
+
/** */
|
|
18
|
+
unregisterField: (name: TKeyObjectType<T>) => void;
|
|
19
|
+
/** Reset all fields to their initial values */
|
|
20
|
+
resetFields: () => void;
|
|
21
|
+
/** */
|
|
22
|
+
fields: Record<TKeyObjectType<T>, IFormConfigField<T>>;
|
|
23
|
+
/** Set validation errors manually */
|
|
24
|
+
setErrors: (errors: IFormFieldError<T>[] | ((prev: IFormFieldError<T>[]) => IFormFieldError<T>[])) => void;
|
|
25
|
+
/** */
|
|
26
|
+
arrayHelpers: (name: TKeyObjectType<T>) => IFormFieldArrayHelpers<T>;
|
|
27
|
+
/** */
|
|
28
|
+
registerSubscribe: (name: TKeyObjectType<T>, callback: TFormFieldSubscribe<T>) => void;
|
|
29
|
+
/** */
|
|
30
|
+
unregisterSubscribe: (name: TKeyObjectType<T>) => void;
|
|
31
|
+
/** Trigger validation manually */
|
|
32
|
+
triggerValidation: (name: TKeyObjectType<T>, value: TValueObjectType<T, TKeyObjectType<T>>, values: T) => void;
|
|
33
|
+
/** */
|
|
34
|
+
setFieldsValue: (values: Record<TKeyObjectType<T>, any>) => void;
|
|
35
|
+
/** Validate all fields and return a Promise */
|
|
36
|
+
onValidateFields: () => Promise<boolean>;
|
|
37
|
+
/** Get all field errors */
|
|
38
|
+
getFieldsError: (names?: TKeyObjectType<T>[]) => IFormFieldError<T>[];
|
|
39
|
+
/** Get errors for a specific field */
|
|
40
|
+
getFieldError: (name: TKeyObjectType<T>) => string[];
|
|
41
|
+
/** Programmatically submit the form */
|
|
42
|
+
submit: () => void;
|
|
43
|
+
/** */
|
|
44
|
+
setSubmitCallback: (callback: () => (e?: FormEvent) => Promise<void>) => void;
|
|
45
|
+
}
|
|
46
|
+
export interface IFormContext<T extends Record<string, any>> extends IFormInstance<T> {
|
|
47
|
+
validateMessages: typeof defaultValidateMessages;
|
|
48
|
+
validateTrigger: TFieldTrigger | TFieldTrigger[];
|
|
49
|
+
trigger: TFieldTrigger | TFieldTrigger[];
|
|
50
|
+
}
|
|
51
|
+
export type TFormFieldValidate<T> = (value: any, values: T) => Promise<string | undefined> | string | undefined;
|
|
52
|
+
export interface IFormFieldArrayHelpers<T extends Record<string, any> = Record<string, any>> {
|
|
53
|
+
/** Add a new item */
|
|
54
|
+
add: (value?: any) => void;
|
|
55
|
+
/** Remove item by index */
|
|
56
|
+
remove: (index: number) => void;
|
|
57
|
+
/** Move item between positions */
|
|
58
|
+
insert: (index: number, value: TValueObjectType<T, TKeyObjectType<T>>[0]) => void;
|
|
59
|
+
}
|
|
60
|
+
export interface IFormProps<T extends Record<string, any> = Record<string, any>> extends IFlexProps {
|
|
61
|
+
/** Form instance returned by useForm */
|
|
62
|
+
form: IFormInstance<T>;
|
|
63
|
+
/** Form fields and UI elements */
|
|
64
|
+
children: ReactNode;
|
|
65
|
+
/** Called when validation passes and form is submitted */
|
|
66
|
+
onFinish?: (values: T) => void | Promise<void>;
|
|
67
|
+
/** Called when validation fails */
|
|
68
|
+
onFinishFailed?: (values: T, errors: IFormFieldError<T>[]) => void | Promise<void>;
|
|
69
|
+
/** Custom validation messages */
|
|
70
|
+
validateMessages?: DeepPartial<typeof defaultValidateMessages>;
|
|
71
|
+
/** When validation should be triggered (onChange, onBlur, etc) */
|
|
72
|
+
validateTrigger?: TFieldTrigger | TFieldTrigger[];
|
|
73
|
+
/** Event to trigger field value updates */
|
|
74
|
+
trigger?: TFieldTrigger | TFieldTrigger[];
|
|
75
|
+
/** Optional name of the form */
|
|
76
|
+
name?: string;
|
|
77
|
+
as?: ElementType;
|
|
78
|
+
[key: string]: any;
|
|
79
|
+
}
|
|
80
|
+
export type TFieldTrigger = "onChange" | "onBlur" | "onFocus" | keyof DOMAttributes<any>;
|
|
81
|
+
export interface IFormFieldProps<T> {
|
|
82
|
+
/** Field name (supports nested paths) */
|
|
83
|
+
name: TKeyObjectType<T>;
|
|
84
|
+
/** Form control (e.g., TextField, Checkbox) */
|
|
85
|
+
children: ReactElement;
|
|
86
|
+
/** Default field value */
|
|
87
|
+
defaultValue?: any;
|
|
88
|
+
/** Custom validation logic */
|
|
89
|
+
validate?: TFormFieldValidate<T>;
|
|
90
|
+
/** Name of the prop that represents the value */
|
|
91
|
+
valuePropName?: string;
|
|
92
|
+
/** Built-in validation rules (min, max, pattern, etc) */
|
|
93
|
+
rules?: IFormValidationRule[];
|
|
94
|
+
/** Triggers for validation. */
|
|
95
|
+
validateTrigger?: TFieldTrigger | TFieldTrigger[];
|
|
96
|
+
/** Triggers for value update */
|
|
97
|
+
trigger?: TFieldTrigger | TFieldTrigger[];
|
|
98
|
+
/** Other fields that affect validation */
|
|
99
|
+
dependencies?: TKeyObjectType<T>[];
|
|
100
|
+
}
|
|
101
|
+
export interface IFormFieldArrayProps<T extends Record<string, any> = Record<string, any>> {
|
|
102
|
+
/** Field array name */
|
|
103
|
+
name: string;
|
|
104
|
+
/** Render function that returns the UI for the array fields */
|
|
105
|
+
children: (helpers: IFormFieldArrayHelpers<T>, fields: IFormConfigFieldArrayItem<T>[]) => ReactNode;
|
|
106
|
+
}
|
|
107
|
+
export interface IFormValidationRule {
|
|
108
|
+
/** Minimum number of characters */
|
|
109
|
+
minLength?: number;
|
|
110
|
+
/** Maximum number of characters*/
|
|
111
|
+
maxLength?: number;
|
|
112
|
+
/** Must match a regular expression */
|
|
113
|
+
pattern?: RegExp;
|
|
114
|
+
/** Checks value type */
|
|
115
|
+
type?: "email" | "url" | "number";
|
|
116
|
+
/** Custom validation message */
|
|
117
|
+
message?: string;
|
|
118
|
+
/** Field is required */
|
|
119
|
+
required?: boolean;
|
|
120
|
+
}
|
|
121
|
+
export interface IFormConfigField<T> {
|
|
122
|
+
validate?: (value: TValueObjectType<T, TKeyObjectType<T>>, values: T) => Promise<string[]> | string[];
|
|
123
|
+
rules?: IFormValidationRule[];
|
|
124
|
+
defaultValue?: TValueObjectType<T, TKeyObjectType<T>>;
|
|
125
|
+
dependencies?: TKeyObjectType<T>[];
|
|
126
|
+
}
|
|
127
|
+
export interface IFormConfigFieldArrayItem<T extends Record<string, any> = Record<string, any>> {
|
|
128
|
+
value: TValueObjectType<T, TKeyObjectType<T>>[0];
|
|
129
|
+
}
|
|
130
|
+
export interface IUseFormOptions<T = Record<string, any>> {
|
|
131
|
+
/** Initial field values */
|
|
132
|
+
initialValues?: Partial<T>;
|
|
133
|
+
/** Callback when any field value changes */
|
|
134
|
+
onValueChange?: TFormOnValueChange<T>;
|
|
135
|
+
}
|
|
136
|
+
export type TFormFieldSubscribe<T = Record<string, any>> = (newValue: TValueObjectType<T, TKeyObjectType<T>>) => void;
|
|
137
|
+
export interface IFormFieldSubscribe<T> {
|
|
138
|
+
name: TKeyObjectType<T>;
|
|
139
|
+
func: TFormFieldSubscribe<T>;
|
|
140
|
+
}
|
|
141
|
+
export type TFormOnValueChange<T> = (changedValues: Partial<T>, values: T) => void;
|
|
142
|
+
export interface IFormFieldError<T> {
|
|
143
|
+
name: TKeyObjectType<T>;
|
|
144
|
+
errors: string[];
|
|
145
|
+
warnings: string[];
|
|
146
|
+
}
|
|
147
|
+
export {};
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const React = require("react");
|
|
4
|
+
const helpers = require("@quen-ui/helpers");
|
|
5
|
+
const useForm = (options) => {
|
|
6
|
+
const [values, setValues] = React.useState(options?.initialValues ?? {});
|
|
7
|
+
const [fields, setFields] = React.useState({});
|
|
8
|
+
const [errors, setErrors] = React.useState([]);
|
|
9
|
+
const [subscribes, setSubscribes] = React.useState([]);
|
|
10
|
+
const [submitCallback, setSubmitCallback] = React.useState();
|
|
11
|
+
const registerField = React.useCallback(
|
|
12
|
+
(name, { defaultValue, rules, validate, dependencies }) => {
|
|
13
|
+
const value = defaultValue ?? helpers.getValueObject(options?.initialValues ?? {}, name);
|
|
14
|
+
setValues((prev) => helpers.setValueObject(prev, name, value));
|
|
15
|
+
setFields((prev) => ({
|
|
16
|
+
...prev,
|
|
17
|
+
[name]: { validate, rules, defaultValue, dependencies }
|
|
18
|
+
}));
|
|
19
|
+
},
|
|
20
|
+
[]
|
|
21
|
+
);
|
|
22
|
+
const unregisterField = React.useCallback((name) => {
|
|
23
|
+
setValues((prevState) => {
|
|
24
|
+
return helpers.deleteValueObject(prevState, name);
|
|
25
|
+
});
|
|
26
|
+
setErrors((prevState) => {
|
|
27
|
+
return prevState.filter((error) => error.name !== name);
|
|
28
|
+
});
|
|
29
|
+
setFields((prevState) => {
|
|
30
|
+
const copy = { ...prevState };
|
|
31
|
+
delete copy[name];
|
|
32
|
+
return copy;
|
|
33
|
+
});
|
|
34
|
+
}, []);
|
|
35
|
+
const registerSubscribe = React.useCallback(
|
|
36
|
+
(name, callback) => {
|
|
37
|
+
setSubscribes((prev) => [...prev, { name, func: callback }]);
|
|
38
|
+
},
|
|
39
|
+
[]
|
|
40
|
+
);
|
|
41
|
+
const unregisterSubscribe = React.useCallback((name) => {
|
|
42
|
+
setSubscribes((prev) => prev.filter((s) => s.name !== name));
|
|
43
|
+
}, []);
|
|
44
|
+
const triggerValidation = React.useCallback(
|
|
45
|
+
(name, value, _values) => {
|
|
46
|
+
const field = fields[name];
|
|
47
|
+
if (field?.validate) {
|
|
48
|
+
field.validate(value, _values);
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
[fields]
|
|
52
|
+
);
|
|
53
|
+
const notifyWatchValueField = React.useCallback(
|
|
54
|
+
(updates) => {
|
|
55
|
+
subscribes.forEach((subscribe) => {
|
|
56
|
+
if (Object.keys(updates).includes(subscribe.name)) {
|
|
57
|
+
subscribe.func(updates[subscribe.name]);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
},
|
|
61
|
+
[subscribes, values]
|
|
62
|
+
);
|
|
63
|
+
const updateValues = React.useCallback(
|
|
64
|
+
(updates) => {
|
|
65
|
+
let changedValues = {};
|
|
66
|
+
let nextValues = {};
|
|
67
|
+
setValues((prev) => {
|
|
68
|
+
nextValues = { ...prev };
|
|
69
|
+
for (const [name, value] of Object.entries(updates)) {
|
|
70
|
+
nextValues = helpers.setValueObject(
|
|
71
|
+
nextValues,
|
|
72
|
+
name,
|
|
73
|
+
value
|
|
74
|
+
);
|
|
75
|
+
changedValues = helpers.setValueObject(
|
|
76
|
+
changedValues,
|
|
77
|
+
name,
|
|
78
|
+
value
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
return nextValues;
|
|
82
|
+
});
|
|
83
|
+
setErrors((prev) => {
|
|
84
|
+
return prev.filter(
|
|
85
|
+
(error) => !Object.keys(updates).includes(error.name)
|
|
86
|
+
);
|
|
87
|
+
});
|
|
88
|
+
Object.entries(fields).forEach(([fieldName, field]) => {
|
|
89
|
+
const deps = field.dependencies ?? [];
|
|
90
|
+
if (deps.some((dep) => dep in updates)) {
|
|
91
|
+
const depValue = helpers.getValueObject(
|
|
92
|
+
nextValues,
|
|
93
|
+
fieldName,
|
|
94
|
+
""
|
|
95
|
+
);
|
|
96
|
+
triggerValidation(
|
|
97
|
+
fieldName,
|
|
98
|
+
depValue,
|
|
99
|
+
nextValues
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
notifyWatchValueField(updates);
|
|
104
|
+
options?.onValueChange?.(changedValues, nextValues);
|
|
105
|
+
},
|
|
106
|
+
[fields, triggerValidation, options, notifyWatchValueField]
|
|
107
|
+
);
|
|
108
|
+
const setFieldValue = React.useCallback(
|
|
109
|
+
(name, value) => {
|
|
110
|
+
updateValues({ [name]: value });
|
|
111
|
+
},
|
|
112
|
+
[updateValues]
|
|
113
|
+
);
|
|
114
|
+
const arrayHelpers = (name) => ({
|
|
115
|
+
add: (value) => {
|
|
116
|
+
setValues((prev) => {
|
|
117
|
+
const currentValue = helpers.getValueObject(prev, name, []);
|
|
118
|
+
return helpers.setValueObject(
|
|
119
|
+
prev,
|
|
120
|
+
`${name}[${currentValue.length}]`,
|
|
121
|
+
value
|
|
122
|
+
);
|
|
123
|
+
});
|
|
124
|
+
},
|
|
125
|
+
remove: (index) => {
|
|
126
|
+
setValues((prev) => {
|
|
127
|
+
const current = helpers.getValueObject(prev, name, []);
|
|
128
|
+
const newArr = current.filter((_, i) => i !== index);
|
|
129
|
+
return helpers.setValueObject(prev, name, newArr);
|
|
130
|
+
});
|
|
131
|
+
},
|
|
132
|
+
insert: (index, value) => {
|
|
133
|
+
setValues((prev) => {
|
|
134
|
+
const current = helpers.getValueObject(prev, name, []);
|
|
135
|
+
const newArr = [
|
|
136
|
+
...current.slice(0, index),
|
|
137
|
+
value,
|
|
138
|
+
...current.slice(index)
|
|
139
|
+
];
|
|
140
|
+
return helpers.setValueObject(prev, name, newArr);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
const onValidateFields = React.useCallback(async () => {
|
|
145
|
+
const results = await Promise.all(
|
|
146
|
+
Object.entries(fields).map(async ([fieldName, config]) => {
|
|
147
|
+
const { validate } = config;
|
|
148
|
+
if (!validate) return null;
|
|
149
|
+
return validate(getFieldValue(fieldName), values);
|
|
150
|
+
})
|
|
151
|
+
);
|
|
152
|
+
return results.flat().filter(Boolean).length === 0;
|
|
153
|
+
}, [fields, values]);
|
|
154
|
+
const resetFields = React.useCallback(() => {
|
|
155
|
+
setValues(options?.initialValues ?? {});
|
|
156
|
+
setErrors([]);
|
|
157
|
+
}, [options?.initialValues]);
|
|
158
|
+
const setFieldsValue = React.useCallback(
|
|
159
|
+
(_values) => {
|
|
160
|
+
updateValues(_values);
|
|
161
|
+
},
|
|
162
|
+
[updateValues]
|
|
163
|
+
);
|
|
164
|
+
const getFieldError = React.useCallback(
|
|
165
|
+
(name) => {
|
|
166
|
+
return errors.filter((error) => error.name === name)?.[0]?.errors ?? [];
|
|
167
|
+
},
|
|
168
|
+
[errors]
|
|
169
|
+
);
|
|
170
|
+
const getFieldsError = React.useCallback(
|
|
171
|
+
(names) => {
|
|
172
|
+
if (!names) {
|
|
173
|
+
return errors;
|
|
174
|
+
}
|
|
175
|
+
return errors.filter((error) => names.includes(error.name));
|
|
176
|
+
},
|
|
177
|
+
[errors]
|
|
178
|
+
);
|
|
179
|
+
const getFieldValue = React.useCallback(
|
|
180
|
+
(name) => {
|
|
181
|
+
return helpers.getValueObject(values, name);
|
|
182
|
+
},
|
|
183
|
+
[values]
|
|
184
|
+
);
|
|
185
|
+
const getFieldsValue = React.useCallback(
|
|
186
|
+
(names) => {
|
|
187
|
+
if (names) {
|
|
188
|
+
let fieldsValue = {};
|
|
189
|
+
names.forEach((name) => {
|
|
190
|
+
const value = helpers.getValueObject(values, name);
|
|
191
|
+
fieldsValue = {
|
|
192
|
+
fieldsValue,
|
|
193
|
+
...helpers.setValueObject(
|
|
194
|
+
fieldsValue,
|
|
195
|
+
name,
|
|
196
|
+
value
|
|
197
|
+
)
|
|
198
|
+
};
|
|
199
|
+
});
|
|
200
|
+
return fieldsValue;
|
|
201
|
+
}
|
|
202
|
+
return values;
|
|
203
|
+
},
|
|
204
|
+
[values]
|
|
205
|
+
);
|
|
206
|
+
const submit = () => {
|
|
207
|
+
submitCallback?.();
|
|
208
|
+
};
|
|
209
|
+
return {
|
|
210
|
+
getFieldValue,
|
|
211
|
+
getFieldsValue,
|
|
212
|
+
registerField,
|
|
213
|
+
resetFields,
|
|
214
|
+
setFieldValue,
|
|
215
|
+
setErrors,
|
|
216
|
+
fields,
|
|
217
|
+
unregisterField,
|
|
218
|
+
arrayHelpers,
|
|
219
|
+
registerSubscribe,
|
|
220
|
+
unregisterSubscribe,
|
|
221
|
+
triggerValidation,
|
|
222
|
+
setFieldsValue,
|
|
223
|
+
onValidateFields,
|
|
224
|
+
getFieldError,
|
|
225
|
+
getFieldsError,
|
|
226
|
+
submit,
|
|
227
|
+
setSubmitCallback
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
exports.useForm = useForm;
|