@quen-ui/components 0.0.14 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +7 -3
- 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 +33 -4
- 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 +17 -7
- 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 +10 -17
- 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 +571 -0
- package/dist/RichTextEditor/plugins.d.ts +2 -0
- package/dist/RichTextEditor/plugins.es.js +571 -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/_virtual/client.cjs.js +5 -0
- package/dist/_virtual/client.cjs2.js +4 -0
- package/dist/_virtual/client.es.js +5 -0
- package/dist/_virtual/client.es2.js +4 -0
- package/dist/_virtual/index.cjs.js +4 -0
- package/dist/_virtual/index.es.js +4 -0
- package/dist/_virtual/react-dom-client.development.cjs.js +4 -0
- package/dist/_virtual/react-dom-client.development.es.js +4 -0
- package/dist/_virtual/react-dom-client.production.cjs.js +4 -0
- package/dist/_virtual/react-dom-client.production.es.js +4 -0
- package/dist/_virtual/scheduler.development.cjs.js +4 -0
- package/dist/_virtual/scheduler.development.es.js +4 -0
- package/dist/_virtual/scheduler.production.cjs.js +4 -0
- package/dist/_virtual/scheduler.production.es.js +4 -0
- package/dist/assets/box.svg.cjs.js +21 -0
- package/dist/assets/box.svg.es.js +5 -0
- package/dist/index.d.ts +1 -50
- 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/node_modules/@tabler/icons-react/dist/esm/createReactComponent.cjs.js +30 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/createReactComponent.es.js +31 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.cjs.js +23 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.es.js +24 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconAlignCenter.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconAlignCenter.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconAlignJustified.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconAlignJustified.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconAlignLeft.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconAlignLeft.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconAlignRight.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconAlignRight.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowBackUp.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowBackUp.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowForwardUp.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowForwardUp.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconBlockquote.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconBlockquote.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconBold.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconBold.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconCheckbox.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconCheckbox.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconClearFormatting.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconClearFormatting.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconH1.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconH1.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconH2.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconH2.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconHighlight.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconHighlight.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconImageInPicture.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconImageInPicture.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconItalic.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconItalic.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconList.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconList.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconListNumbers.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconListNumbers.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconStrikethrough.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconStrikethrough.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconSubscript.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconSubscript.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconSuperscript.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconSuperscript.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconTable.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconTable.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconTextColor.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconTextColor.es.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconUnderline.cjs.js +7 -0
- package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconUnderline.es.js +7 -0
- package/dist/node_modules/react-dom/cjs/react-dom-client.development.cjs.js +19870 -0
- package/dist/node_modules/react-dom/cjs/react-dom-client.development.es.js +19870 -0
- package/dist/node_modules/react-dom/cjs/react-dom-client.production.cjs.js +11524 -0
- package/dist/node_modules/react-dom/cjs/react-dom-client.production.es.js +11524 -0
- package/dist/node_modules/react-dom/client.cjs.js +31 -0
- package/dist/node_modules/react-dom/client.es.js +31 -0
- package/dist/node_modules/scheduler/cjs/scheduler.development.cjs.js +264 -0
- package/dist/node_modules/scheduler/cjs/scheduler.development.es.js +264 -0
- package/dist/node_modules/scheduler/cjs/scheduler.production.cjs.js +259 -0
- package/dist/node_modules/scheduler/cjs/scheduler.production.es.js +259 -0
- package/dist/node_modules/scheduler/index.cjs.js +17 -0
- package/dist/node_modules/scheduler/index.es.js +17 -0
- package/dist/packages/components/index.cjs.js +93 -0
- package/dist/packages/components/index.es.js +93 -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 +16 -13
- package/dist/index.cjs.js +0 -63
- package/dist/index.es.js +0 -63
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
3
|
+
const React = require("react");
|
|
4
|
+
const helpers$1 = require("@quen-ui/helpers");
|
|
5
|
+
const hooks = require("@quen-ui/hooks");
|
|
6
|
+
const styles = require("./styles.cjs.js");
|
|
7
|
+
const Calendar = require("../Calendar/Calendar.cjs.js");
|
|
8
|
+
const Button = require("../Button/Button.cjs.js");
|
|
9
|
+
const iconClose = require("../assets/icon-close.svg.cjs.js");
|
|
10
|
+
const Flex = require("../Flex/Flex.cjs.js");
|
|
11
|
+
const Dropdown = require("../Dropdown/Dropdown.cjs.js");
|
|
12
|
+
const helpers = require("./helpers.cjs.js");
|
|
13
|
+
const Text = require("../typography/Text/Text.cjs.js");
|
|
14
|
+
const InputDate = ({
|
|
15
|
+
label,
|
|
16
|
+
size = "m",
|
|
17
|
+
required,
|
|
18
|
+
disabled,
|
|
19
|
+
error,
|
|
20
|
+
minDate,
|
|
21
|
+
maxDate,
|
|
22
|
+
className,
|
|
23
|
+
classNameInput,
|
|
24
|
+
onBlur,
|
|
25
|
+
onFocus,
|
|
26
|
+
defaultValue,
|
|
27
|
+
id,
|
|
28
|
+
name,
|
|
29
|
+
placeholder,
|
|
30
|
+
rightContent,
|
|
31
|
+
value,
|
|
32
|
+
onChange,
|
|
33
|
+
leftContent,
|
|
34
|
+
isAutoFocus,
|
|
35
|
+
clearable,
|
|
36
|
+
onClear,
|
|
37
|
+
style,
|
|
38
|
+
range,
|
|
39
|
+
renderDay,
|
|
40
|
+
getDayProps,
|
|
41
|
+
dateFormat = "yyyy-mm-dd",
|
|
42
|
+
valueFormatter,
|
|
43
|
+
defaultLevel,
|
|
44
|
+
showButtonToday,
|
|
45
|
+
level,
|
|
46
|
+
locale,
|
|
47
|
+
...props
|
|
48
|
+
}) => {
|
|
49
|
+
const [openDropdownCalendar, setOpenDropdownCalendar] = React.useState(false);
|
|
50
|
+
const calendarRef = React.useRef(null);
|
|
51
|
+
const [singleDate, setSingleDate] = React.useState(
|
|
52
|
+
!range && value ? new Date(value) : null
|
|
53
|
+
);
|
|
54
|
+
const [rangeDate, setRangeDate] = React.useState(
|
|
55
|
+
range && value ? {
|
|
56
|
+
startDate: value.startDate ? new Date(value.startDate) : null,
|
|
57
|
+
endDate: value.endDate ? new Date(value.endDate) : null
|
|
58
|
+
} : { startDate: null, endDate: null }
|
|
59
|
+
);
|
|
60
|
+
const [inputValue, setInputValue] = React.useState(
|
|
61
|
+
!range && singleDate ? helpers.formatDate(singleDate, dateFormat) : ""
|
|
62
|
+
);
|
|
63
|
+
const [startInput, setStartInput] = React.useState(
|
|
64
|
+
rangeDate.startDate ? helpers.formatDate(rangeDate.startDate, dateFormat) : ""
|
|
65
|
+
);
|
|
66
|
+
const [endInput, setEndInput] = React.useState(
|
|
67
|
+
rangeDate.endDate ? helpers.formatDate(rangeDate.endDate, dateFormat) : ""
|
|
68
|
+
);
|
|
69
|
+
const [focus, setFocus] = React.useState(false);
|
|
70
|
+
const inputRef = React.useRef(null);
|
|
71
|
+
const startInputRef = React.useRef(null);
|
|
72
|
+
const endInputRef = React.useRef(null);
|
|
73
|
+
const inputWrapperRef = React.useRef(null);
|
|
74
|
+
hooks.useOnClickOutside(
|
|
75
|
+
calendarRef,
|
|
76
|
+
() => {
|
|
77
|
+
setOpenDropdownCalendar(false);
|
|
78
|
+
},
|
|
79
|
+
{ excludeRef: inputRef }
|
|
80
|
+
);
|
|
81
|
+
React.useEffect(() => {
|
|
82
|
+
if (!valueFormatter) {
|
|
83
|
+
if (range) {
|
|
84
|
+
setStartInput(
|
|
85
|
+
rangeDate.startDate ? helpers.formatDate(rangeDate.startDate, dateFormat) : ""
|
|
86
|
+
);
|
|
87
|
+
setEndInput(
|
|
88
|
+
rangeDate.endDate ? helpers.formatDate(rangeDate.endDate, dateFormat) : ""
|
|
89
|
+
);
|
|
90
|
+
} else {
|
|
91
|
+
setInputValue(singleDate ? helpers.formatDate(singleDate, dateFormat) : "");
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}, [dateFormat]);
|
|
95
|
+
const handleClick = () => {
|
|
96
|
+
setFocus(true);
|
|
97
|
+
inputRef.current?.focus();
|
|
98
|
+
startInputRef.current?.focus();
|
|
99
|
+
};
|
|
100
|
+
const handleBlur = (event) => {
|
|
101
|
+
setFocus(false);
|
|
102
|
+
onBlur?.(event);
|
|
103
|
+
};
|
|
104
|
+
const handleFocus = (event) => {
|
|
105
|
+
setFocus(true);
|
|
106
|
+
onFocus?.(event);
|
|
107
|
+
};
|
|
108
|
+
const handleClearClick = (event) => {
|
|
109
|
+
event.preventDefault();
|
|
110
|
+
event.stopPropagation();
|
|
111
|
+
onChange?.(null);
|
|
112
|
+
onClear?.(event);
|
|
113
|
+
setRangeDate({ endDate: null, startDate: null });
|
|
114
|
+
setSingleDate(null);
|
|
115
|
+
setInputValue("");
|
|
116
|
+
setStartInput("");
|
|
117
|
+
setEndInput("");
|
|
118
|
+
};
|
|
119
|
+
const handleInputChange = (e, type) => {
|
|
120
|
+
const raw = e.target.value;
|
|
121
|
+
const formatted = helpers.autoFormatInput(raw, dateFormat, valueFormatter);
|
|
122
|
+
const updateInput = (setInput, setDate, value2) => {
|
|
123
|
+
setInput(value2);
|
|
124
|
+
const clean = value2.replace(/\D/g, "");
|
|
125
|
+
if (clean.length === 8) {
|
|
126
|
+
const parsed = helpers.parseDate(value2, dateFormat);
|
|
127
|
+
if (parsed && !isNaN(parsed.getTime())) {
|
|
128
|
+
setDate(parsed);
|
|
129
|
+
return parsed;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
setDate(null);
|
|
133
|
+
return null;
|
|
134
|
+
};
|
|
135
|
+
if (type === "single" && !range) {
|
|
136
|
+
const parsed = updateInput(setInputValue, setSingleDate, formatted);
|
|
137
|
+
if (!parsed) {
|
|
138
|
+
onChange?.(null);
|
|
139
|
+
} else if (helpers.checkRangeDate(parsed, minDate, maxDate)) {
|
|
140
|
+
onChange?.(parsed ? helpers.getDate(parsed) : null);
|
|
141
|
+
}
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
if (range) {
|
|
145
|
+
if (type === "start") {
|
|
146
|
+
const newStart = updateInput(setStartInput, () => {
|
|
147
|
+
}, formatted);
|
|
148
|
+
setRangeDate((prev) => {
|
|
149
|
+
const updated = { ...prev, startDate: newStart };
|
|
150
|
+
const bothFilled = updated.startDate && updated.endDate;
|
|
151
|
+
const bothEmpty = !updated.startDate && !updated.endDate && !formatted;
|
|
152
|
+
if (bothFilled && helpers.checkRangeDate(updated.startDate, minDate, maxDate) && helpers.checkRangeDate(updated.endDate, minDate, maxDate)) {
|
|
153
|
+
onChange?.({
|
|
154
|
+
startDate: helpers.getDate(updated.startDate),
|
|
155
|
+
endDate: helpers.getDate(updated.endDate)
|
|
156
|
+
});
|
|
157
|
+
} else if (bothEmpty) {
|
|
158
|
+
onChange?.(null);
|
|
159
|
+
}
|
|
160
|
+
return updated;
|
|
161
|
+
});
|
|
162
|
+
if (newStart) {
|
|
163
|
+
endInputRef.current?.focus();
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if (type === "end") {
|
|
167
|
+
const newEnd = updateInput(setEndInput, () => {
|
|
168
|
+
}, formatted);
|
|
169
|
+
setRangeDate((prev) => {
|
|
170
|
+
const updated = { ...prev, endDate: newEnd };
|
|
171
|
+
const bothFilled = updated.startDate && updated.endDate;
|
|
172
|
+
const bothEmpty = !updated.startDate && !updated.endDate && !formatted;
|
|
173
|
+
if (bothFilled && helpers.checkRangeDate(updated.startDate, minDate, maxDate) && helpers.checkRangeDate(updated.endDate, minDate, maxDate)) {
|
|
174
|
+
onChange?.({
|
|
175
|
+
startDate: helpers.getDate(updated.startDate),
|
|
176
|
+
endDate: helpers.getDate(updated.endDate)
|
|
177
|
+
});
|
|
178
|
+
} else if (bothEmpty) {
|
|
179
|
+
onChange?.(null);
|
|
180
|
+
}
|
|
181
|
+
return updated;
|
|
182
|
+
});
|
|
183
|
+
if (!formatted) {
|
|
184
|
+
startInputRef.current?.focus();
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
const handleChangeCalendar = (value2) => {
|
|
190
|
+
if (range && typeof value2 === "object" && value2) {
|
|
191
|
+
setRangeDate({
|
|
192
|
+
startDate: new Date(value2.startDate),
|
|
193
|
+
endDate: value2.endDate ? new Date(value2.endDate) : null
|
|
194
|
+
});
|
|
195
|
+
if (value2.startDate) {
|
|
196
|
+
setStartInput(
|
|
197
|
+
helpers.formatDate(new Date(value2.startDate), dateFormat, valueFormatter)
|
|
198
|
+
);
|
|
199
|
+
}
|
|
200
|
+
if (value2.endDate) {
|
|
201
|
+
setEndInput(
|
|
202
|
+
helpers.formatDate(new Date(value2.endDate), dateFormat, valueFormatter)
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
if (value2.startDate && value2.endDate) {
|
|
206
|
+
onChange?.({
|
|
207
|
+
startDate: value2.startDate,
|
|
208
|
+
endDate: value2.endDate
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
} else if (!range && typeof value2 === "string") {
|
|
212
|
+
const formatted = helpers.formatDate(new Date(value2), dateFormat, valueFormatter);
|
|
213
|
+
setSingleDate(new Date(value2));
|
|
214
|
+
setInputValue(formatted);
|
|
215
|
+
onChange?.(value2);
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
219
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
220
|
+
styles.InputBaseStyled,
|
|
221
|
+
{
|
|
222
|
+
onClick: () => setOpenDropdownCalendar((prev) => !prev),
|
|
223
|
+
ref: inputWrapperRef,
|
|
224
|
+
className: helpers$1.cnMerge(className, {
|
|
225
|
+
"quen-ui__input-base--focus-input": focus
|
|
226
|
+
}),
|
|
227
|
+
id,
|
|
228
|
+
"data-testid": "input",
|
|
229
|
+
size,
|
|
230
|
+
disabled,
|
|
231
|
+
error,
|
|
232
|
+
label,
|
|
233
|
+
style,
|
|
234
|
+
leftContent,
|
|
235
|
+
required,
|
|
236
|
+
rightContent,
|
|
237
|
+
...props,
|
|
238
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Flex, { align: "center", justify: "space-between", className: "quen-ui__inputs-date-wrapper", children: [
|
|
239
|
+
range ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
240
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
241
|
+
styles.InputDateStyled,
|
|
242
|
+
{
|
|
243
|
+
ref: startInputRef,
|
|
244
|
+
"data-testid": "input-start-date",
|
|
245
|
+
onChange: (e) => handleInputChange(e, "start"),
|
|
246
|
+
autoFocus: isAutoFocus,
|
|
247
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
248
|
+
name,
|
|
249
|
+
id,
|
|
250
|
+
value: startInput,
|
|
251
|
+
disabled,
|
|
252
|
+
className: helpers$1.cnMerge("quen-ui__input-date--input", classNameInput),
|
|
253
|
+
onClick: handleClick,
|
|
254
|
+
onBlur: handleBlur,
|
|
255
|
+
onFocus: handleFocus,
|
|
256
|
+
required,
|
|
257
|
+
"data-date-format": "yyyy-MM-dd"
|
|
258
|
+
}
|
|
259
|
+
),
|
|
260
|
+
/* @__PURE__ */ jsxRuntime.jsx(Text, { size, children: "-" }),
|
|
261
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
262
|
+
styles.InputDateStyled,
|
|
263
|
+
{
|
|
264
|
+
ref: endInputRef,
|
|
265
|
+
"data-testid": "input-end-date",
|
|
266
|
+
autoFocus: isAutoFocus,
|
|
267
|
+
placeholder: Array.isArray(placeholder) ? placeholder[1] : placeholder,
|
|
268
|
+
name,
|
|
269
|
+
id,
|
|
270
|
+
value: endInput,
|
|
271
|
+
disabled,
|
|
272
|
+
className: helpers$1.cnMerge("quen-ui__input-date--input", classNameInput),
|
|
273
|
+
onClick: handleClick,
|
|
274
|
+
onBlur: handleBlur,
|
|
275
|
+
onFocus: handleFocus,
|
|
276
|
+
required,
|
|
277
|
+
onChange: (e) => handleInputChange(e, "end"),
|
|
278
|
+
"data-date-format": "yyyy-MM-dd"
|
|
279
|
+
}
|
|
280
|
+
)
|
|
281
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
282
|
+
styles.InputDateStyled,
|
|
283
|
+
{
|
|
284
|
+
ref: inputRef,
|
|
285
|
+
"data-testid": "input-single-date",
|
|
286
|
+
autoFocus: isAutoFocus,
|
|
287
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
288
|
+
name,
|
|
289
|
+
id,
|
|
290
|
+
value: inputValue,
|
|
291
|
+
disabled,
|
|
292
|
+
className: classNameInput,
|
|
293
|
+
onClick: handleClick,
|
|
294
|
+
onBlur: handleBlur,
|
|
295
|
+
onFocus: handleFocus,
|
|
296
|
+
required,
|
|
297
|
+
onChange: (e) => handleInputChange(e, "single")
|
|
298
|
+
}
|
|
299
|
+
),
|
|
300
|
+
clearable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
301
|
+
Button,
|
|
302
|
+
{
|
|
303
|
+
"data-testid": "clearable-button",
|
|
304
|
+
view: "icon",
|
|
305
|
+
size: "xs",
|
|
306
|
+
onClick: handleClearClick,
|
|
307
|
+
disabled,
|
|
308
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(iconClose, { width: 16, height: 16 })
|
|
309
|
+
}
|
|
310
|
+
)
|
|
311
|
+
] })
|
|
312
|
+
}
|
|
313
|
+
),
|
|
314
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
315
|
+
Dropdown,
|
|
316
|
+
{
|
|
317
|
+
anchorRef: inputWrapperRef,
|
|
318
|
+
open: openDropdownCalendar,
|
|
319
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(
|
|
320
|
+
Calendar,
|
|
321
|
+
{
|
|
322
|
+
ref: calendarRef,
|
|
323
|
+
value: range ? {
|
|
324
|
+
startDate: rangeDate.startDate?.toISOString() || "",
|
|
325
|
+
endDate: rangeDate.endDate?.toISOString() || ""
|
|
326
|
+
} : singleDate?.toISOString() ?? "",
|
|
327
|
+
range,
|
|
328
|
+
renderDay,
|
|
329
|
+
getDayProps,
|
|
330
|
+
maxDate,
|
|
331
|
+
minDate,
|
|
332
|
+
onChange: handleChangeCalendar,
|
|
333
|
+
level,
|
|
334
|
+
locale,
|
|
335
|
+
defaultValue,
|
|
336
|
+
defaultLevel,
|
|
337
|
+
showButtonToday
|
|
338
|
+
}
|
|
339
|
+
)
|
|
340
|
+
}
|
|
341
|
+
)
|
|
342
|
+
] });
|
|
343
|
+
};
|
|
344
|
+
module.exports = InputDate;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { TInputDateProps } from './types';
|
|
3
|
+
declare const InputDate: ({ label, size, required, disabled, error, minDate, maxDate, className, classNameInput, onBlur, onFocus, defaultValue, id, name, placeholder, rightContent, value, onChange, leftContent, isAutoFocus, clearable, onClear, style, range, renderDay, getDayProps, dateFormat, valueFormatter, defaultLevel, showButtonToday, level, locale, ...props }: TInputDateProps) => ReactElement;
|
|
4
|
+
export default InputDate;
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useRef, useEffect } from "react";
|
|
3
|
+
import { cnMerge } from "@quen-ui/helpers";
|
|
4
|
+
import { useOnClickOutside } from "@quen-ui/hooks";
|
|
5
|
+
import { InputBaseStyled, InputDateStyled } from "./styles.es.js";
|
|
6
|
+
import Calendar from "../Calendar/Calendar.es.js";
|
|
7
|
+
import Button from "../Button/Button.es.js";
|
|
8
|
+
import SvgIconClose from "../assets/icon-close.svg.es.js";
|
|
9
|
+
import Flex from "../Flex/Flex.es.js";
|
|
10
|
+
import Dropdown from "../Dropdown/Dropdown.es.js";
|
|
11
|
+
import { formatDate, autoFormatInput, checkRangeDate, getDate, parseDate } from "./helpers.es.js";
|
|
12
|
+
import Text from "../typography/Text/Text.es.js";
|
|
13
|
+
const InputDate = ({
|
|
14
|
+
label,
|
|
15
|
+
size = "m",
|
|
16
|
+
required,
|
|
17
|
+
disabled,
|
|
18
|
+
error,
|
|
19
|
+
minDate,
|
|
20
|
+
maxDate,
|
|
21
|
+
className,
|
|
22
|
+
classNameInput,
|
|
23
|
+
onBlur,
|
|
24
|
+
onFocus,
|
|
25
|
+
defaultValue,
|
|
26
|
+
id,
|
|
27
|
+
name,
|
|
28
|
+
placeholder,
|
|
29
|
+
rightContent,
|
|
30
|
+
value,
|
|
31
|
+
onChange,
|
|
32
|
+
leftContent,
|
|
33
|
+
isAutoFocus,
|
|
34
|
+
clearable,
|
|
35
|
+
onClear,
|
|
36
|
+
style,
|
|
37
|
+
range,
|
|
38
|
+
renderDay,
|
|
39
|
+
getDayProps,
|
|
40
|
+
dateFormat = "yyyy-mm-dd",
|
|
41
|
+
valueFormatter,
|
|
42
|
+
defaultLevel,
|
|
43
|
+
showButtonToday,
|
|
44
|
+
level,
|
|
45
|
+
locale,
|
|
46
|
+
...props
|
|
47
|
+
}) => {
|
|
48
|
+
const [openDropdownCalendar, setOpenDropdownCalendar] = useState(false);
|
|
49
|
+
const calendarRef = useRef(null);
|
|
50
|
+
const [singleDate, setSingleDate] = useState(
|
|
51
|
+
!range && value ? new Date(value) : null
|
|
52
|
+
);
|
|
53
|
+
const [rangeDate, setRangeDate] = useState(
|
|
54
|
+
range && value ? {
|
|
55
|
+
startDate: value.startDate ? new Date(value.startDate) : null,
|
|
56
|
+
endDate: value.endDate ? new Date(value.endDate) : null
|
|
57
|
+
} : { startDate: null, endDate: null }
|
|
58
|
+
);
|
|
59
|
+
const [inputValue, setInputValue] = useState(
|
|
60
|
+
!range && singleDate ? formatDate(singleDate, dateFormat) : ""
|
|
61
|
+
);
|
|
62
|
+
const [startInput, setStartInput] = useState(
|
|
63
|
+
rangeDate.startDate ? formatDate(rangeDate.startDate, dateFormat) : ""
|
|
64
|
+
);
|
|
65
|
+
const [endInput, setEndInput] = useState(
|
|
66
|
+
rangeDate.endDate ? formatDate(rangeDate.endDate, dateFormat) : ""
|
|
67
|
+
);
|
|
68
|
+
const [focus, setFocus] = useState(false);
|
|
69
|
+
const inputRef = useRef(null);
|
|
70
|
+
const startInputRef = useRef(null);
|
|
71
|
+
const endInputRef = useRef(null);
|
|
72
|
+
const inputWrapperRef = useRef(null);
|
|
73
|
+
useOnClickOutside(
|
|
74
|
+
calendarRef,
|
|
75
|
+
() => {
|
|
76
|
+
setOpenDropdownCalendar(false);
|
|
77
|
+
},
|
|
78
|
+
{ excludeRef: inputRef }
|
|
79
|
+
);
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
if (!valueFormatter) {
|
|
82
|
+
if (range) {
|
|
83
|
+
setStartInput(
|
|
84
|
+
rangeDate.startDate ? formatDate(rangeDate.startDate, dateFormat) : ""
|
|
85
|
+
);
|
|
86
|
+
setEndInput(
|
|
87
|
+
rangeDate.endDate ? formatDate(rangeDate.endDate, dateFormat) : ""
|
|
88
|
+
);
|
|
89
|
+
} else {
|
|
90
|
+
setInputValue(singleDate ? formatDate(singleDate, dateFormat) : "");
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}, [dateFormat]);
|
|
94
|
+
const handleClick = () => {
|
|
95
|
+
setFocus(true);
|
|
96
|
+
inputRef.current?.focus();
|
|
97
|
+
startInputRef.current?.focus();
|
|
98
|
+
};
|
|
99
|
+
const handleBlur = (event) => {
|
|
100
|
+
setFocus(false);
|
|
101
|
+
onBlur?.(event);
|
|
102
|
+
};
|
|
103
|
+
const handleFocus = (event) => {
|
|
104
|
+
setFocus(true);
|
|
105
|
+
onFocus?.(event);
|
|
106
|
+
};
|
|
107
|
+
const handleClearClick = (event) => {
|
|
108
|
+
event.preventDefault();
|
|
109
|
+
event.stopPropagation();
|
|
110
|
+
onChange?.(null);
|
|
111
|
+
onClear?.(event);
|
|
112
|
+
setRangeDate({ endDate: null, startDate: null });
|
|
113
|
+
setSingleDate(null);
|
|
114
|
+
setInputValue("");
|
|
115
|
+
setStartInput("");
|
|
116
|
+
setEndInput("");
|
|
117
|
+
};
|
|
118
|
+
const handleInputChange = (e, type) => {
|
|
119
|
+
const raw = e.target.value;
|
|
120
|
+
const formatted = autoFormatInput(raw, dateFormat, valueFormatter);
|
|
121
|
+
const updateInput = (setInput, setDate, value2) => {
|
|
122
|
+
setInput(value2);
|
|
123
|
+
const clean = value2.replace(/\D/g, "");
|
|
124
|
+
if (clean.length === 8) {
|
|
125
|
+
const parsed = parseDate(value2, dateFormat);
|
|
126
|
+
if (parsed && !isNaN(parsed.getTime())) {
|
|
127
|
+
setDate(parsed);
|
|
128
|
+
return parsed;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
setDate(null);
|
|
132
|
+
return null;
|
|
133
|
+
};
|
|
134
|
+
if (type === "single" && !range) {
|
|
135
|
+
const parsed = updateInput(setInputValue, setSingleDate, formatted);
|
|
136
|
+
if (!parsed) {
|
|
137
|
+
onChange?.(null);
|
|
138
|
+
} else if (checkRangeDate(parsed, minDate, maxDate)) {
|
|
139
|
+
onChange?.(parsed ? getDate(parsed) : null);
|
|
140
|
+
}
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (range) {
|
|
144
|
+
if (type === "start") {
|
|
145
|
+
const newStart = updateInput(setStartInput, () => {
|
|
146
|
+
}, formatted);
|
|
147
|
+
setRangeDate((prev) => {
|
|
148
|
+
const updated = { ...prev, startDate: newStart };
|
|
149
|
+
const bothFilled = updated.startDate && updated.endDate;
|
|
150
|
+
const bothEmpty = !updated.startDate && !updated.endDate && !formatted;
|
|
151
|
+
if (bothFilled && checkRangeDate(updated.startDate, minDate, maxDate) && checkRangeDate(updated.endDate, minDate, maxDate)) {
|
|
152
|
+
onChange?.({
|
|
153
|
+
startDate: getDate(updated.startDate),
|
|
154
|
+
endDate: getDate(updated.endDate)
|
|
155
|
+
});
|
|
156
|
+
} else if (bothEmpty) {
|
|
157
|
+
onChange?.(null);
|
|
158
|
+
}
|
|
159
|
+
return updated;
|
|
160
|
+
});
|
|
161
|
+
if (newStart) {
|
|
162
|
+
endInputRef.current?.focus();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (type === "end") {
|
|
166
|
+
const newEnd = updateInput(setEndInput, () => {
|
|
167
|
+
}, formatted);
|
|
168
|
+
setRangeDate((prev) => {
|
|
169
|
+
const updated = { ...prev, endDate: newEnd };
|
|
170
|
+
const bothFilled = updated.startDate && updated.endDate;
|
|
171
|
+
const bothEmpty = !updated.startDate && !updated.endDate && !formatted;
|
|
172
|
+
if (bothFilled && checkRangeDate(updated.startDate, minDate, maxDate) && checkRangeDate(updated.endDate, minDate, maxDate)) {
|
|
173
|
+
onChange?.({
|
|
174
|
+
startDate: getDate(updated.startDate),
|
|
175
|
+
endDate: getDate(updated.endDate)
|
|
176
|
+
});
|
|
177
|
+
} else if (bothEmpty) {
|
|
178
|
+
onChange?.(null);
|
|
179
|
+
}
|
|
180
|
+
return updated;
|
|
181
|
+
});
|
|
182
|
+
if (!formatted) {
|
|
183
|
+
startInputRef.current?.focus();
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
const handleChangeCalendar = (value2) => {
|
|
189
|
+
if (range && typeof value2 === "object" && value2) {
|
|
190
|
+
setRangeDate({
|
|
191
|
+
startDate: new Date(value2.startDate),
|
|
192
|
+
endDate: value2.endDate ? new Date(value2.endDate) : null
|
|
193
|
+
});
|
|
194
|
+
if (value2.startDate) {
|
|
195
|
+
setStartInput(
|
|
196
|
+
formatDate(new Date(value2.startDate), dateFormat, valueFormatter)
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
if (value2.endDate) {
|
|
200
|
+
setEndInput(
|
|
201
|
+
formatDate(new Date(value2.endDate), dateFormat, valueFormatter)
|
|
202
|
+
);
|
|
203
|
+
}
|
|
204
|
+
if (value2.startDate && value2.endDate) {
|
|
205
|
+
onChange?.({
|
|
206
|
+
startDate: value2.startDate,
|
|
207
|
+
endDate: value2.endDate
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
} else if (!range && typeof value2 === "string") {
|
|
211
|
+
const formatted = formatDate(new Date(value2), dateFormat, valueFormatter);
|
|
212
|
+
setSingleDate(new Date(value2));
|
|
213
|
+
setInputValue(formatted);
|
|
214
|
+
onChange?.(value2);
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
218
|
+
/* @__PURE__ */ jsx(
|
|
219
|
+
InputBaseStyled,
|
|
220
|
+
{
|
|
221
|
+
onClick: () => setOpenDropdownCalendar((prev) => !prev),
|
|
222
|
+
ref: inputWrapperRef,
|
|
223
|
+
className: cnMerge(className, {
|
|
224
|
+
"quen-ui__input-base--focus-input": focus
|
|
225
|
+
}),
|
|
226
|
+
id,
|
|
227
|
+
"data-testid": "input",
|
|
228
|
+
size,
|
|
229
|
+
disabled,
|
|
230
|
+
error,
|
|
231
|
+
label,
|
|
232
|
+
style,
|
|
233
|
+
leftContent,
|
|
234
|
+
required,
|
|
235
|
+
rightContent,
|
|
236
|
+
...props,
|
|
237
|
+
children: /* @__PURE__ */ jsxs(Flex, { align: "center", justify: "space-between", className: "quen-ui__inputs-date-wrapper", children: [
|
|
238
|
+
range ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
239
|
+
/* @__PURE__ */ jsx(
|
|
240
|
+
InputDateStyled,
|
|
241
|
+
{
|
|
242
|
+
ref: startInputRef,
|
|
243
|
+
"data-testid": "input-start-date",
|
|
244
|
+
onChange: (e) => handleInputChange(e, "start"),
|
|
245
|
+
autoFocus: isAutoFocus,
|
|
246
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
247
|
+
name,
|
|
248
|
+
id,
|
|
249
|
+
value: startInput,
|
|
250
|
+
disabled,
|
|
251
|
+
className: cnMerge("quen-ui__input-date--input", classNameInput),
|
|
252
|
+
onClick: handleClick,
|
|
253
|
+
onBlur: handleBlur,
|
|
254
|
+
onFocus: handleFocus,
|
|
255
|
+
required,
|
|
256
|
+
"data-date-format": "yyyy-MM-dd"
|
|
257
|
+
}
|
|
258
|
+
),
|
|
259
|
+
/* @__PURE__ */ jsx(Text, { size, children: "-" }),
|
|
260
|
+
/* @__PURE__ */ jsx(
|
|
261
|
+
InputDateStyled,
|
|
262
|
+
{
|
|
263
|
+
ref: endInputRef,
|
|
264
|
+
"data-testid": "input-end-date",
|
|
265
|
+
autoFocus: isAutoFocus,
|
|
266
|
+
placeholder: Array.isArray(placeholder) ? placeholder[1] : placeholder,
|
|
267
|
+
name,
|
|
268
|
+
id,
|
|
269
|
+
value: endInput,
|
|
270
|
+
disabled,
|
|
271
|
+
className: cnMerge("quen-ui__input-date--input", classNameInput),
|
|
272
|
+
onClick: handleClick,
|
|
273
|
+
onBlur: handleBlur,
|
|
274
|
+
onFocus: handleFocus,
|
|
275
|
+
required,
|
|
276
|
+
onChange: (e) => handleInputChange(e, "end"),
|
|
277
|
+
"data-date-format": "yyyy-MM-dd"
|
|
278
|
+
}
|
|
279
|
+
)
|
|
280
|
+
] }) : /* @__PURE__ */ jsx(
|
|
281
|
+
InputDateStyled,
|
|
282
|
+
{
|
|
283
|
+
ref: inputRef,
|
|
284
|
+
"data-testid": "input-single-date",
|
|
285
|
+
autoFocus: isAutoFocus,
|
|
286
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder,
|
|
287
|
+
name,
|
|
288
|
+
id,
|
|
289
|
+
value: inputValue,
|
|
290
|
+
disabled,
|
|
291
|
+
className: classNameInput,
|
|
292
|
+
onClick: handleClick,
|
|
293
|
+
onBlur: handleBlur,
|
|
294
|
+
onFocus: handleFocus,
|
|
295
|
+
required,
|
|
296
|
+
onChange: (e) => handleInputChange(e, "single")
|
|
297
|
+
}
|
|
298
|
+
),
|
|
299
|
+
clearable && /* @__PURE__ */ jsx(
|
|
300
|
+
Button,
|
|
301
|
+
{
|
|
302
|
+
"data-testid": "clearable-button",
|
|
303
|
+
view: "icon",
|
|
304
|
+
size: "xs",
|
|
305
|
+
onClick: handleClearClick,
|
|
306
|
+
disabled,
|
|
307
|
+
children: /* @__PURE__ */ jsx(SvgIconClose, { width: 16, height: 16 })
|
|
308
|
+
}
|
|
309
|
+
)
|
|
310
|
+
] })
|
|
311
|
+
}
|
|
312
|
+
),
|
|
313
|
+
/* @__PURE__ */ jsx(
|
|
314
|
+
Dropdown,
|
|
315
|
+
{
|
|
316
|
+
anchorRef: inputWrapperRef,
|
|
317
|
+
open: openDropdownCalendar,
|
|
318
|
+
content: /* @__PURE__ */ jsx(
|
|
319
|
+
Calendar,
|
|
320
|
+
{
|
|
321
|
+
ref: calendarRef,
|
|
322
|
+
value: range ? {
|
|
323
|
+
startDate: rangeDate.startDate?.toISOString() || "",
|
|
324
|
+
endDate: rangeDate.endDate?.toISOString() || ""
|
|
325
|
+
} : singleDate?.toISOString() ?? "",
|
|
326
|
+
range,
|
|
327
|
+
renderDay,
|
|
328
|
+
getDayProps,
|
|
329
|
+
maxDate,
|
|
330
|
+
minDate,
|
|
331
|
+
onChange: handleChangeCalendar,
|
|
332
|
+
level,
|
|
333
|
+
locale,
|
|
334
|
+
defaultValue,
|
|
335
|
+
defaultLevel,
|
|
336
|
+
showButtonToday
|
|
337
|
+
}
|
|
338
|
+
)
|
|
339
|
+
}
|
|
340
|
+
)
|
|
341
|
+
] });
|
|
342
|
+
};
|
|
343
|
+
export {
|
|
344
|
+
InputDate as default
|
|
345
|
+
};
|