@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,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const React = require("react");
|
|
3
|
+
const helpers = require("@quen-ui/helpers");
|
|
4
|
+
const Form = require("./Form.cjs.js");
|
|
5
|
+
const helpers$1 = require("./helpers.cjs.js");
|
|
6
|
+
const Field = ({
|
|
7
|
+
name,
|
|
8
|
+
defaultValue,
|
|
9
|
+
validate,
|
|
10
|
+
children,
|
|
11
|
+
valuePropName = "value",
|
|
12
|
+
rules = [],
|
|
13
|
+
validateTrigger = "onChange",
|
|
14
|
+
trigger = "onChange",
|
|
15
|
+
dependencies
|
|
16
|
+
}) => {
|
|
17
|
+
const {
|
|
18
|
+
setFieldValue,
|
|
19
|
+
registerField,
|
|
20
|
+
unregisterField,
|
|
21
|
+
triggerValidation,
|
|
22
|
+
setErrors,
|
|
23
|
+
validateMessages,
|
|
24
|
+
validateTrigger: formValidateTrigger,
|
|
25
|
+
trigger: formTrigger,
|
|
26
|
+
getFieldError,
|
|
27
|
+
getFieldsValue,
|
|
28
|
+
getFieldValue
|
|
29
|
+
} = Form.useFormContext();
|
|
30
|
+
const [localValue, setLocalValue] = React.useState(
|
|
31
|
+
helpers.getValueObject(getFieldsValue(), name, defaultValue)
|
|
32
|
+
);
|
|
33
|
+
React.useEffect(() => {
|
|
34
|
+
const formValue = getFieldValue(name);
|
|
35
|
+
if (formValue !== localValue) {
|
|
36
|
+
setLocalValue(formValue ?? "");
|
|
37
|
+
}
|
|
38
|
+
}, [getFieldValue]);
|
|
39
|
+
React.useEffect(() => {
|
|
40
|
+
registerField(name, {
|
|
41
|
+
defaultValue,
|
|
42
|
+
rules,
|
|
43
|
+
dependencies,
|
|
44
|
+
validate: validateField
|
|
45
|
+
});
|
|
46
|
+
return () => unregisterField(name);
|
|
47
|
+
}, []);
|
|
48
|
+
const error = getFieldError(name);
|
|
49
|
+
const validateField = async (value, values) => {
|
|
50
|
+
const error2 = {
|
|
51
|
+
name,
|
|
52
|
+
errors: [],
|
|
53
|
+
warnings: []
|
|
54
|
+
};
|
|
55
|
+
if (validate) {
|
|
56
|
+
const errorValidate = await validate(value || "", values) || "";
|
|
57
|
+
if (errorValidate) {
|
|
58
|
+
error2.errors.push(errorValidate);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
rules.map((rule) => {
|
|
62
|
+
if (rule.required && (value === "" || value == null)) {
|
|
63
|
+
error2.errors.push(
|
|
64
|
+
helpers.formatString(rule.message ?? validateMessages.required, {
|
|
65
|
+
name
|
|
66
|
+
})
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
if (rule.type) {
|
|
70
|
+
const validator = helpers$1.ruleValidators[rule.type];
|
|
71
|
+
if (validator && !validator(value)) {
|
|
72
|
+
error2.errors.push(helpers.formatString(
|
|
73
|
+
rule.message ?? validateMessages.types[rule.type],
|
|
74
|
+
{
|
|
75
|
+
name,
|
|
76
|
+
type: rule.type
|
|
77
|
+
}
|
|
78
|
+
));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (rule.minLength && String(value).length < rule.minLength) {
|
|
82
|
+
error2.errors.push(helpers.formatString(rule.message ?? validateMessages.string.min, {
|
|
83
|
+
name,
|
|
84
|
+
min: rule.minLength
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
if (rule.maxLength && String(value).length > rule.maxLength) {
|
|
88
|
+
error2.errors.push(helpers.formatString(rule.message ?? validateMessages.string.max, {
|
|
89
|
+
name,
|
|
90
|
+
max: rule.maxLength
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
if (rule.pattern && !rule.pattern.test(String(value))) {
|
|
94
|
+
error2.errors.push(helpers.formatString(
|
|
95
|
+
rule.message ?? validateMessages.pattern.mismatch,
|
|
96
|
+
{
|
|
97
|
+
name,
|
|
98
|
+
pattern: rule.pattern
|
|
99
|
+
}
|
|
100
|
+
));
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
setErrors((prevErrors) => {
|
|
104
|
+
const newErrors = prevErrors.filter((e) => e.name !== name);
|
|
105
|
+
newErrors.push(error2);
|
|
106
|
+
return newErrors;
|
|
107
|
+
});
|
|
108
|
+
return error2.errors;
|
|
109
|
+
};
|
|
110
|
+
const handleLocalChange = React.useCallback(
|
|
111
|
+
(e) => {
|
|
112
|
+
const val = e?.target && valuePropName in e.target ? e.target[valuePropName] : e?.target?.value ?? e;
|
|
113
|
+
setLocalValue(val);
|
|
114
|
+
},
|
|
115
|
+
[valuePropName]
|
|
116
|
+
);
|
|
117
|
+
const handleStoreUpdate = React.useCallback(
|
|
118
|
+
(e) => {
|
|
119
|
+
const val = e?.target && valuePropName in e.target ? e.target[valuePropName] : e?.target?.value ?? e;
|
|
120
|
+
setFieldValue(name, val);
|
|
121
|
+
},
|
|
122
|
+
[name, setFieldValue, valuePropName]
|
|
123
|
+
);
|
|
124
|
+
const handleValidate = React.useCallback(
|
|
125
|
+
(e) => {
|
|
126
|
+
const val = e?.target && valuePropName in e.target ? e.target[valuePropName] : e?.target?.value ?? e;
|
|
127
|
+
triggerValidation(name, val, getFieldsValue());
|
|
128
|
+
},
|
|
129
|
+
[name, valuePropName, getFieldsValue()]
|
|
130
|
+
);
|
|
131
|
+
const buildHandlers = React.useCallback(
|
|
132
|
+
(changeTriggers, validateTriggers) => {
|
|
133
|
+
const handlers2 = {};
|
|
134
|
+
const allTriggers = /* @__PURE__ */ new Set([
|
|
135
|
+
"onChange",
|
|
136
|
+
...changeTriggers,
|
|
137
|
+
...validateTriggers
|
|
138
|
+
]);
|
|
139
|
+
allTriggers.forEach((eventName) => {
|
|
140
|
+
const shouldStoreUpdate = Array.isArray(changeTriggers) ? changeTriggers.includes(eventName) : changeTriggers === eventName;
|
|
141
|
+
const shouldValidate = Array.isArray(validateTriggers) ? validateTriggers.includes(eventName) : validateTriggers === eventName;
|
|
142
|
+
handlers2[eventName] = (e) => {
|
|
143
|
+
if (eventName === "onChange") handleLocalChange(e);
|
|
144
|
+
if (shouldStoreUpdate) handleStoreUpdate(e);
|
|
145
|
+
if (shouldValidate) handleValidate(e);
|
|
146
|
+
};
|
|
147
|
+
});
|
|
148
|
+
return handlers2;
|
|
149
|
+
},
|
|
150
|
+
[handleLocalChange, handleStoreUpdate, handleValidate]
|
|
151
|
+
);
|
|
152
|
+
const handlers = React.useMemo(
|
|
153
|
+
() => buildHandlers(
|
|
154
|
+
[
|
|
155
|
+
...Array.isArray(trigger) ? trigger : [trigger],
|
|
156
|
+
...Array.isArray(formTrigger) ? formTrigger : [formTrigger]
|
|
157
|
+
],
|
|
158
|
+
[
|
|
159
|
+
...Array.isArray(validateTrigger) ? validateTrigger : [validateTrigger],
|
|
160
|
+
...Array.isArray(formValidateTrigger) ? formValidateTrigger : [formValidateTrigger]
|
|
161
|
+
]
|
|
162
|
+
),
|
|
163
|
+
[trigger, validateTrigger, buildHandlers, formTrigger, formValidateTrigger]
|
|
164
|
+
);
|
|
165
|
+
if (children) {
|
|
166
|
+
return React.cloneElement(children, {
|
|
167
|
+
[valuePropName]: localValue,
|
|
168
|
+
error: error.length ? error[0] : void 0,
|
|
169
|
+
required: rules?.some((rule) => rule.required === true),
|
|
170
|
+
...handlers
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
return null;
|
|
174
|
+
};
|
|
175
|
+
module.exports = Field;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { IFormFieldProps } from './types';
|
|
2
|
+
declare const Field: <T extends Record<string, any>>({ name, defaultValue, validate, children, valuePropName, rules, validateTrigger, trigger, dependencies }: IFormFieldProps<T>) => import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>> | null;
|
|
3
|
+
export default Field;
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { useState, useEffect, useCallback, useMemo, cloneElement } from "react";
|
|
2
|
+
import { getValueObject, formatString } from "@quen-ui/helpers";
|
|
3
|
+
import { useFormContext } from "./Form.es.js";
|
|
4
|
+
import { ruleValidators } from "./helpers.es.js";
|
|
5
|
+
const Field = ({
|
|
6
|
+
name,
|
|
7
|
+
defaultValue,
|
|
8
|
+
validate,
|
|
9
|
+
children,
|
|
10
|
+
valuePropName = "value",
|
|
11
|
+
rules = [],
|
|
12
|
+
validateTrigger = "onChange",
|
|
13
|
+
trigger = "onChange",
|
|
14
|
+
dependencies
|
|
15
|
+
}) => {
|
|
16
|
+
const {
|
|
17
|
+
setFieldValue,
|
|
18
|
+
registerField,
|
|
19
|
+
unregisterField,
|
|
20
|
+
triggerValidation,
|
|
21
|
+
setErrors,
|
|
22
|
+
validateMessages,
|
|
23
|
+
validateTrigger: formValidateTrigger,
|
|
24
|
+
trigger: formTrigger,
|
|
25
|
+
getFieldError,
|
|
26
|
+
getFieldsValue,
|
|
27
|
+
getFieldValue
|
|
28
|
+
} = useFormContext();
|
|
29
|
+
const [localValue, setLocalValue] = useState(
|
|
30
|
+
getValueObject(getFieldsValue(), name, defaultValue)
|
|
31
|
+
);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
const formValue = getFieldValue(name);
|
|
34
|
+
if (formValue !== localValue) {
|
|
35
|
+
setLocalValue(formValue ?? "");
|
|
36
|
+
}
|
|
37
|
+
}, [getFieldValue]);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
registerField(name, {
|
|
40
|
+
defaultValue,
|
|
41
|
+
rules,
|
|
42
|
+
dependencies,
|
|
43
|
+
validate: validateField
|
|
44
|
+
});
|
|
45
|
+
return () => unregisterField(name);
|
|
46
|
+
}, []);
|
|
47
|
+
const error = getFieldError(name);
|
|
48
|
+
const validateField = async (value, values) => {
|
|
49
|
+
const error2 = {
|
|
50
|
+
name,
|
|
51
|
+
errors: [],
|
|
52
|
+
warnings: []
|
|
53
|
+
};
|
|
54
|
+
if (validate) {
|
|
55
|
+
const errorValidate = await validate(value || "", values) || "";
|
|
56
|
+
if (errorValidate) {
|
|
57
|
+
error2.errors.push(errorValidate);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
rules.map((rule) => {
|
|
61
|
+
if (rule.required && (value === "" || value == null)) {
|
|
62
|
+
error2.errors.push(
|
|
63
|
+
formatString(rule.message ?? validateMessages.required, {
|
|
64
|
+
name
|
|
65
|
+
})
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
if (rule.type) {
|
|
69
|
+
const validator = ruleValidators[rule.type];
|
|
70
|
+
if (validator && !validator(value)) {
|
|
71
|
+
error2.errors.push(formatString(
|
|
72
|
+
rule.message ?? validateMessages.types[rule.type],
|
|
73
|
+
{
|
|
74
|
+
name,
|
|
75
|
+
type: rule.type
|
|
76
|
+
}
|
|
77
|
+
));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (rule.minLength && String(value).length < rule.minLength) {
|
|
81
|
+
error2.errors.push(formatString(rule.message ?? validateMessages.string.min, {
|
|
82
|
+
name,
|
|
83
|
+
min: rule.minLength
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
if (rule.maxLength && String(value).length > rule.maxLength) {
|
|
87
|
+
error2.errors.push(formatString(rule.message ?? validateMessages.string.max, {
|
|
88
|
+
name,
|
|
89
|
+
max: rule.maxLength
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
if (rule.pattern && !rule.pattern.test(String(value))) {
|
|
93
|
+
error2.errors.push(formatString(
|
|
94
|
+
rule.message ?? validateMessages.pattern.mismatch,
|
|
95
|
+
{
|
|
96
|
+
name,
|
|
97
|
+
pattern: rule.pattern
|
|
98
|
+
}
|
|
99
|
+
));
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
setErrors((prevErrors) => {
|
|
103
|
+
const newErrors = prevErrors.filter((e) => e.name !== name);
|
|
104
|
+
newErrors.push(error2);
|
|
105
|
+
return newErrors;
|
|
106
|
+
});
|
|
107
|
+
return error2.errors;
|
|
108
|
+
};
|
|
109
|
+
const handleLocalChange = useCallback(
|
|
110
|
+
(e) => {
|
|
111
|
+
const val = e?.target && valuePropName in e.target ? e.target[valuePropName] : e?.target?.value ?? e;
|
|
112
|
+
setLocalValue(val);
|
|
113
|
+
},
|
|
114
|
+
[valuePropName]
|
|
115
|
+
);
|
|
116
|
+
const handleStoreUpdate = useCallback(
|
|
117
|
+
(e) => {
|
|
118
|
+
const val = e?.target && valuePropName in e.target ? e.target[valuePropName] : e?.target?.value ?? e;
|
|
119
|
+
setFieldValue(name, val);
|
|
120
|
+
},
|
|
121
|
+
[name, setFieldValue, valuePropName]
|
|
122
|
+
);
|
|
123
|
+
const handleValidate = useCallback(
|
|
124
|
+
(e) => {
|
|
125
|
+
const val = e?.target && valuePropName in e.target ? e.target[valuePropName] : e?.target?.value ?? e;
|
|
126
|
+
triggerValidation(name, val, getFieldsValue());
|
|
127
|
+
},
|
|
128
|
+
[name, valuePropName, getFieldsValue()]
|
|
129
|
+
);
|
|
130
|
+
const buildHandlers = useCallback(
|
|
131
|
+
(changeTriggers, validateTriggers) => {
|
|
132
|
+
const handlers2 = {};
|
|
133
|
+
const allTriggers = /* @__PURE__ */ new Set([
|
|
134
|
+
"onChange",
|
|
135
|
+
...changeTriggers,
|
|
136
|
+
...validateTriggers
|
|
137
|
+
]);
|
|
138
|
+
allTriggers.forEach((eventName) => {
|
|
139
|
+
const shouldStoreUpdate = Array.isArray(changeTriggers) ? changeTriggers.includes(eventName) : changeTriggers === eventName;
|
|
140
|
+
const shouldValidate = Array.isArray(validateTriggers) ? validateTriggers.includes(eventName) : validateTriggers === eventName;
|
|
141
|
+
handlers2[eventName] = (e) => {
|
|
142
|
+
if (eventName === "onChange") handleLocalChange(e);
|
|
143
|
+
if (shouldStoreUpdate) handleStoreUpdate(e);
|
|
144
|
+
if (shouldValidate) handleValidate(e);
|
|
145
|
+
};
|
|
146
|
+
});
|
|
147
|
+
return handlers2;
|
|
148
|
+
},
|
|
149
|
+
[handleLocalChange, handleStoreUpdate, handleValidate]
|
|
150
|
+
);
|
|
151
|
+
const handlers = useMemo(
|
|
152
|
+
() => buildHandlers(
|
|
153
|
+
[
|
|
154
|
+
...Array.isArray(trigger) ? trigger : [trigger],
|
|
155
|
+
...Array.isArray(formTrigger) ? formTrigger : [formTrigger]
|
|
156
|
+
],
|
|
157
|
+
[
|
|
158
|
+
...Array.isArray(validateTrigger) ? validateTrigger : [validateTrigger],
|
|
159
|
+
...Array.isArray(formValidateTrigger) ? formValidateTrigger : [formValidateTrigger]
|
|
160
|
+
]
|
|
161
|
+
),
|
|
162
|
+
[trigger, validateTrigger, buildHandlers, formTrigger, formValidateTrigger]
|
|
163
|
+
);
|
|
164
|
+
if (children) {
|
|
165
|
+
return cloneElement(children, {
|
|
166
|
+
[valuePropName]: localValue,
|
|
167
|
+
error: error.length ? error[0] : void 0,
|
|
168
|
+
required: rules?.some((rule) => rule.required === true),
|
|
169
|
+
...handlers
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
return null;
|
|
173
|
+
};
|
|
174
|
+
export {
|
|
175
|
+
Field as default
|
|
176
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
3
|
+
const React = require("react");
|
|
4
|
+
const helpers = require("@quen-ui/helpers");
|
|
5
|
+
const Form = require("./Form.cjs.js");
|
|
6
|
+
const FieldArray = ({
|
|
7
|
+
name,
|
|
8
|
+
children
|
|
9
|
+
}) => {
|
|
10
|
+
const { getFieldsValue, arrayHelpers, registerField, unregisterField } = Form.useFormContext();
|
|
11
|
+
const helpers$1 = arrayHelpers(name);
|
|
12
|
+
const values = helpers.getValueObject(getFieldsValue(), name, []);
|
|
13
|
+
React.useEffect(() => {
|
|
14
|
+
registerField(name, { defaultValue: [] });
|
|
15
|
+
return () => {
|
|
16
|
+
unregisterField(name);
|
|
17
|
+
};
|
|
18
|
+
}, []);
|
|
19
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: children(
|
|
20
|
+
helpers$1,
|
|
21
|
+
values.map((value) => ({ value }))
|
|
22
|
+
) });
|
|
23
|
+
};
|
|
24
|
+
module.exports = FieldArray;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
import { getValueObject } from "@quen-ui/helpers";
|
|
4
|
+
import { useFormContext } from "./Form.es.js";
|
|
5
|
+
const FieldArray = ({
|
|
6
|
+
name,
|
|
7
|
+
children
|
|
8
|
+
}) => {
|
|
9
|
+
const { getFieldsValue, arrayHelpers, registerField, unregisterField } = useFormContext();
|
|
10
|
+
const helpers = arrayHelpers(name);
|
|
11
|
+
const values = getValueObject(getFieldsValue(), name, []);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
registerField(name, { defaultValue: [] });
|
|
14
|
+
return () => {
|
|
15
|
+
unregisterField(name);
|
|
16
|
+
};
|
|
17
|
+
}, []);
|
|
18
|
+
return /* @__PURE__ */ jsx(Fragment, { children: children(
|
|
19
|
+
helpers,
|
|
20
|
+
values.map((value) => ({ value }))
|
|
21
|
+
) });
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
FieldArray as default
|
|
25
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const Flex = require("../Flex/Flex.cjs.js");
|
|
6
|
+
const helpers = require("@quen-ui/helpers");
|
|
7
|
+
const defaultValidateMessages = require("./defaultValidateMessages.cjs.js");
|
|
8
|
+
const FormContext = React.createContext(null);
|
|
9
|
+
const useFormContext = () => {
|
|
10
|
+
const ctx = React.useContext(FormContext);
|
|
11
|
+
if (!ctx) {
|
|
12
|
+
throw new Error("useFormContext must be used inside <FormProvider>");
|
|
13
|
+
}
|
|
14
|
+
return ctx;
|
|
15
|
+
};
|
|
16
|
+
const Form = ({
|
|
17
|
+
onFinish,
|
|
18
|
+
children,
|
|
19
|
+
form,
|
|
20
|
+
onFinishFailed,
|
|
21
|
+
validateMessages,
|
|
22
|
+
validateTrigger = "onChange",
|
|
23
|
+
trigger = "onChange",
|
|
24
|
+
name,
|
|
25
|
+
as = "form",
|
|
26
|
+
direction = "column",
|
|
27
|
+
...props
|
|
28
|
+
}) => {
|
|
29
|
+
const messages = React.useMemo(() => {
|
|
30
|
+
return helpers.deepMerge(defaultValidateMessages.defaultValidateMessages, validateMessages ?? {});
|
|
31
|
+
}, [validateMessages]);
|
|
32
|
+
const handleSubmit = async (e) => {
|
|
33
|
+
e?.preventDefault();
|
|
34
|
+
const isValid = await form.onValidateFields();
|
|
35
|
+
if (isValid) {
|
|
36
|
+
await onFinish?.(form.getFieldsValue());
|
|
37
|
+
} else {
|
|
38
|
+
onFinishFailed?.(form.getFieldsValue(), form.getFieldsError());
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
React.useEffect(() => {
|
|
42
|
+
form.setSubmitCallback(() => handleSubmit);
|
|
43
|
+
}, []);
|
|
44
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
45
|
+
FormContext.Provider,
|
|
46
|
+
{
|
|
47
|
+
value: {
|
|
48
|
+
...form,
|
|
49
|
+
validateMessages: messages,
|
|
50
|
+
validateTrigger,
|
|
51
|
+
trigger
|
|
52
|
+
},
|
|
53
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
54
|
+
Flex,
|
|
55
|
+
{
|
|
56
|
+
as,
|
|
57
|
+
id: name,
|
|
58
|
+
role: "form",
|
|
59
|
+
onSubmit: handleSubmit,
|
|
60
|
+
direction,
|
|
61
|
+
...props,
|
|
62
|
+
children
|
|
63
|
+
}
|
|
64
|
+
)
|
|
65
|
+
}
|
|
66
|
+
);
|
|
67
|
+
};
|
|
68
|
+
exports.Form = Form;
|
|
69
|
+
exports.useFormContext = useFormContext;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { IFormContext, IFormProps } from './types';
|
|
2
|
+
export declare const useFormContext: () => IFormContext<any>;
|
|
3
|
+
export declare const Form: <T extends Record<string, any>>({ onFinish, children, form, onFinishFailed, validateMessages, validateTrigger, trigger, name, as, direction, ...props }: IFormProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useMemo, useEffect, useContext } from "react";
|
|
3
|
+
import Flex from "../Flex/Flex.es.js";
|
|
4
|
+
import { deepMerge } from "@quen-ui/helpers";
|
|
5
|
+
import { defaultValidateMessages } from "./defaultValidateMessages.es.js";
|
|
6
|
+
const FormContext = createContext(null);
|
|
7
|
+
const useFormContext = () => {
|
|
8
|
+
const ctx = useContext(FormContext);
|
|
9
|
+
if (!ctx) {
|
|
10
|
+
throw new Error("useFormContext must be used inside <FormProvider>");
|
|
11
|
+
}
|
|
12
|
+
return ctx;
|
|
13
|
+
};
|
|
14
|
+
const Form = ({
|
|
15
|
+
onFinish,
|
|
16
|
+
children,
|
|
17
|
+
form,
|
|
18
|
+
onFinishFailed,
|
|
19
|
+
validateMessages,
|
|
20
|
+
validateTrigger = "onChange",
|
|
21
|
+
trigger = "onChange",
|
|
22
|
+
name,
|
|
23
|
+
as = "form",
|
|
24
|
+
direction = "column",
|
|
25
|
+
...props
|
|
26
|
+
}) => {
|
|
27
|
+
const messages = useMemo(() => {
|
|
28
|
+
return deepMerge(defaultValidateMessages, validateMessages ?? {});
|
|
29
|
+
}, [validateMessages]);
|
|
30
|
+
const handleSubmit = async (e) => {
|
|
31
|
+
e?.preventDefault();
|
|
32
|
+
const isValid = await form.onValidateFields();
|
|
33
|
+
if (isValid) {
|
|
34
|
+
await onFinish?.(form.getFieldsValue());
|
|
35
|
+
} else {
|
|
36
|
+
onFinishFailed?.(form.getFieldsValue(), form.getFieldsError());
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
form.setSubmitCallback(() => handleSubmit);
|
|
41
|
+
}, []);
|
|
42
|
+
return /* @__PURE__ */ jsx(
|
|
43
|
+
FormContext.Provider,
|
|
44
|
+
{
|
|
45
|
+
value: {
|
|
46
|
+
...form,
|
|
47
|
+
validateMessages: messages,
|
|
48
|
+
validateTrigger,
|
|
49
|
+
trigger
|
|
50
|
+
},
|
|
51
|
+
children: /* @__PURE__ */ jsx(
|
|
52
|
+
Flex,
|
|
53
|
+
{
|
|
54
|
+
as,
|
|
55
|
+
id: name,
|
|
56
|
+
role: "form",
|
|
57
|
+
onSubmit: handleSubmit,
|
|
58
|
+
direction,
|
|
59
|
+
...props,
|
|
60
|
+
children
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
};
|
|
66
|
+
export {
|
|
67
|
+
Form,
|
|
68
|
+
useFormContext
|
|
69
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const typeTemplate = "${name} is not a valid ${type}";
|
|
4
|
+
const defaultValidateMessages = {
|
|
5
|
+
default: "Field validation error for ${name}",
|
|
6
|
+
required: "Please enter ${name}",
|
|
7
|
+
enum: "${name} must be one of [${enum}]",
|
|
8
|
+
whitespace: "${name} cannot be a blank character",
|
|
9
|
+
date: {
|
|
10
|
+
format: "${name} date format is invalid",
|
|
11
|
+
parse: "${name} cannot be converted to a date",
|
|
12
|
+
invalid: "${name} is an invalid date"
|
|
13
|
+
},
|
|
14
|
+
types: {
|
|
15
|
+
string: typeTemplate,
|
|
16
|
+
method: typeTemplate,
|
|
17
|
+
array: typeTemplate,
|
|
18
|
+
object: typeTemplate,
|
|
19
|
+
number: typeTemplate,
|
|
20
|
+
date: typeTemplate,
|
|
21
|
+
boolean: typeTemplate,
|
|
22
|
+
integer: typeTemplate,
|
|
23
|
+
float: typeTemplate,
|
|
24
|
+
regexp: typeTemplate,
|
|
25
|
+
email: typeTemplate,
|
|
26
|
+
url: typeTemplate,
|
|
27
|
+
hex: typeTemplate
|
|
28
|
+
},
|
|
29
|
+
string: {
|
|
30
|
+
len: "${name} must be ${len} characters",
|
|
31
|
+
min: "${name} must be at least ${min} characters",
|
|
32
|
+
max: "${name} must be up to ${max} characters",
|
|
33
|
+
range: "${name} must be between ${min}-${max} characters"
|
|
34
|
+
},
|
|
35
|
+
number: {
|
|
36
|
+
len: "${name} must be equal to ${len}",
|
|
37
|
+
min: "${name} must be minimum ${min}",
|
|
38
|
+
max: "${name} must be maximum ${max}",
|
|
39
|
+
range: "${name} must be between ${min}-${max}"
|
|
40
|
+
},
|
|
41
|
+
array: {
|
|
42
|
+
len: "Must be ${len} ${name}",
|
|
43
|
+
min: "At least ${min} ${name}",
|
|
44
|
+
max: "At most ${max} ${name}",
|
|
45
|
+
range: "The amount of ${name} must be between ${min}-${max}"
|
|
46
|
+
},
|
|
47
|
+
pattern: {
|
|
48
|
+
mismatch: "${name} does not match the pattern ${pattern}"
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.defaultValidateMessages = defaultValidateMessages;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export declare const defaultValidateMessages: {
|
|
2
|
+
default: string;
|
|
3
|
+
required: string;
|
|
4
|
+
enum: string;
|
|
5
|
+
whitespace: string;
|
|
6
|
+
date: {
|
|
7
|
+
format: string;
|
|
8
|
+
parse: string;
|
|
9
|
+
invalid: string;
|
|
10
|
+
};
|
|
11
|
+
types: {
|
|
12
|
+
string: string;
|
|
13
|
+
method: string;
|
|
14
|
+
array: string;
|
|
15
|
+
object: string;
|
|
16
|
+
number: string;
|
|
17
|
+
date: string;
|
|
18
|
+
boolean: string;
|
|
19
|
+
integer: string;
|
|
20
|
+
float: string;
|
|
21
|
+
regexp: string;
|
|
22
|
+
email: string;
|
|
23
|
+
url: string;
|
|
24
|
+
hex: string;
|
|
25
|
+
};
|
|
26
|
+
string: {
|
|
27
|
+
len: string;
|
|
28
|
+
min: string;
|
|
29
|
+
max: string;
|
|
30
|
+
range: string;
|
|
31
|
+
};
|
|
32
|
+
number: {
|
|
33
|
+
len: string;
|
|
34
|
+
min: string;
|
|
35
|
+
max: string;
|
|
36
|
+
range: string;
|
|
37
|
+
};
|
|
38
|
+
array: {
|
|
39
|
+
len: string;
|
|
40
|
+
min: string;
|
|
41
|
+
max: string;
|
|
42
|
+
range: string;
|
|
43
|
+
};
|
|
44
|
+
pattern: {
|
|
45
|
+
mismatch: string;
|
|
46
|
+
};
|
|
47
|
+
};
|