@ioca/react 1.3.4 → 1.3.6
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/lib/cjs/components/affix/affix.js +63 -0
- package/lib/cjs/components/affix/affix.js.map +1 -0
- package/lib/cjs/components/affix/index.js +10 -0
- package/lib/cjs/components/affix/index.js.map +1 -0
- package/lib/cjs/components/affix/totop.js +18 -0
- package/lib/cjs/components/affix/totop.js.map +1 -0
- package/lib/cjs/components/badge/badge.js +17 -0
- package/lib/cjs/components/badge/badge.js.map +1 -0
- package/lib/cjs/components/badge/index.js +10 -0
- package/lib/cjs/components/badge/index.js.map +1 -0
- package/lib/cjs/components/button/button.js +62 -0
- package/lib/cjs/components/button/button.js.map +1 -0
- package/lib/cjs/components/button/group.js +25 -0
- package/lib/cjs/components/button/group.js.map +1 -0
- package/lib/cjs/components/button/index.js +13 -0
- package/lib/cjs/components/button/index.js.map +1 -0
- package/lib/cjs/components/button/toggle.js +50 -0
- package/lib/cjs/components/button/toggle.js.map +1 -0
- package/lib/cjs/components/card/card.js +17 -0
- package/lib/cjs/components/card/card.js.map +1 -0
- package/lib/cjs/components/card/index.js +10 -0
- package/lib/cjs/components/card/index.js.map +1 -0
- package/lib/cjs/components/checkbox/checkbox.js +46 -0
- package/lib/cjs/components/checkbox/checkbox.js.map +1 -0
- package/lib/cjs/components/checkbox/index.js +10 -0
- package/lib/cjs/components/checkbox/index.js.map +1 -0
- package/lib/cjs/components/checkbox/item.js +40 -0
- package/lib/cjs/components/checkbox/item.js.map +1 -0
- package/lib/cjs/components/collapse/collapse.js +78 -0
- package/lib/cjs/components/collapse/collapse.js.map +1 -0
- package/lib/cjs/components/collapse/index.js +10 -0
- package/lib/cjs/components/collapse/index.js.map +1 -0
- package/lib/cjs/components/collapse/item.js +12 -0
- package/lib/cjs/components/collapse/item.js.map +1 -0
- package/lib/cjs/components/datagrid/cell.js +27 -0
- package/lib/cjs/components/datagrid/cell.js.map +1 -0
- package/lib/cjs/components/datagrid/datagrid.js +117 -0
- package/lib/cjs/components/datagrid/datagrid.js.map +1 -0
- package/lib/cjs/components/datagrid/index.js +10 -0
- package/lib/cjs/components/datagrid/index.js.map +1 -0
- package/lib/cjs/components/datagrid/resize.js +45 -0
- package/lib/cjs/components/datagrid/resize.js.map +1 -0
- package/lib/cjs/components/datagrid/row.js +37 -0
- package/lib/cjs/components/datagrid/row.js.map +1 -0
- package/lib/cjs/components/datagrid/sorter.js +17 -0
- package/lib/cjs/components/datagrid/sorter.js.map +1 -0
- package/lib/cjs/components/description/description.js +32 -0
- package/lib/cjs/components/description/description.js.map +1 -0
- package/lib/cjs/components/description/index.js +10 -0
- package/lib/cjs/components/description/index.js.map +1 -0
- package/lib/cjs/components/drawer/drawer.js +66 -0
- package/lib/cjs/components/drawer/drawer.js.map +1 -0
- package/lib/cjs/components/drawer/index.js +10 -0
- package/lib/cjs/components/drawer/index.js.map +1 -0
- package/lib/cjs/components/dropdown/dropdown.js +17 -0
- package/lib/cjs/components/dropdown/dropdown.js.map +1 -0
- package/lib/cjs/components/dropdown/index.js +10 -0
- package/lib/cjs/components/dropdown/index.js.map +1 -0
- package/lib/cjs/components/dropdown/item.js +22 -0
- package/lib/cjs/components/dropdown/item.js.map +1 -0
- package/lib/cjs/components/editor/controls.js +87 -0
- package/lib/cjs/components/editor/controls.js.map +1 -0
- package/lib/cjs/components/editor/editor.js +83 -0
- package/lib/cjs/components/editor/editor.js.map +1 -0
- package/lib/cjs/components/editor/index.js +10 -0
- package/lib/cjs/components/editor/index.js.map +1 -0
- package/lib/cjs/components/flex/flex.js +32 -0
- package/lib/cjs/components/flex/flex.js.map +1 -0
- package/lib/cjs/components/flex/index.js +10 -0
- package/lib/cjs/components/flex/index.js.map +1 -0
- package/lib/cjs/components/form/context.js +10 -0
- package/lib/cjs/components/form/context.js.map +1 -0
- package/lib/cjs/components/form/field.js +77 -0
- package/lib/cjs/components/form/field.js.map +1 -0
- package/lib/cjs/components/form/form.js +57 -0
- package/lib/cjs/components/form/form.js.map +1 -0
- package/lib/cjs/components/form/index.js +10 -0
- package/lib/cjs/components/form/index.js.map +1 -0
- package/lib/cjs/components/form/useForm.js +130 -0
- package/lib/cjs/components/form/useForm.js.map +1 -0
- package/lib/cjs/components/icon/icon.js +27 -0
- package/lib/cjs/components/icon/icon.js.map +1 -0
- package/lib/cjs/components/icon/index.js +10 -0
- package/lib/cjs/components/icon/index.js.map +1 -0
- package/lib/cjs/components/image/image.js +76 -0
- package/lib/cjs/components/image/image.js.map +1 -0
- package/lib/cjs/components/image/index.js +11 -0
- package/lib/cjs/components/image/index.js.map +1 -0
- package/lib/cjs/components/image/list.js +47 -0
- package/lib/cjs/components/image/list.js.map +1 -0
- package/lib/cjs/components/input/container.js +18 -0
- package/lib/cjs/components/input/container.js.map +1 -0
- package/lib/cjs/components/input/index.js +15 -0
- package/lib/cjs/components/input/index.js.map +1 -0
- package/lib/cjs/components/input/input.js +67 -0
- package/lib/cjs/components/input/input.js.map +1 -0
- package/lib/cjs/components/input/number.js +58 -0
- package/lib/cjs/components/input/number.js.map +1 -0
- package/lib/cjs/components/input/range.js +71 -0
- package/lib/cjs/components/input/range.js.map +1 -0
- package/lib/cjs/components/input/textarea.js +51 -0
- package/lib/cjs/components/input/textarea.js.map +1 -0
- package/lib/cjs/components/list/index.js +10 -0
- package/lib/cjs/components/list/index.js.map +1 -0
- package/lib/cjs/components/list/item.js +18 -0
- package/lib/cjs/components/list/item.js.map +1 -0
- package/lib/cjs/components/list/list.js +28 -0
- package/lib/cjs/components/list/list.js.map +1 -0
- package/lib/cjs/components/loading/index.js +10 -0
- package/lib/cjs/components/loading/index.js.map +1 -0
- package/lib/cjs/components/loading/loading.js +21 -0
- package/lib/cjs/components/loading/loading.js.map +1 -0
- package/lib/cjs/components/message/index.js +10 -0
- package/lib/cjs/components/message/index.js.map +1 -0
- package/lib/cjs/components/message/message.js +178 -0
- package/lib/cjs/components/message/message.js.map +1 -0
- package/lib/cjs/components/modal/hookModal.js +31 -0
- package/lib/cjs/components/modal/hookModal.js.map +1 -0
- package/lib/cjs/components/modal/index.js +11 -0
- package/lib/cjs/components/modal/index.js.map +1 -0
- package/lib/cjs/components/modal/modal.js +108 -0
- package/lib/cjs/components/modal/modal.js.map +1 -0
- package/lib/cjs/components/modal/useModal.js +38 -0
- package/lib/cjs/components/modal/useModal.js.map +1 -0
- package/lib/cjs/components/pagination/index.js +10 -0
- package/lib/cjs/components/pagination/index.js.map +1 -0
- package/lib/cjs/components/pagination/page.js +28 -0
- package/lib/cjs/components/pagination/page.js.map +1 -0
- package/lib/cjs/components/pagination/pagination.js +48 -0
- package/lib/cjs/components/pagination/pagination.js.map +1 -0
- package/lib/cjs/components/picker/colors/footer.js +44 -0
- package/lib/cjs/components/picker/colors/footer.js.map +1 -0
- package/lib/cjs/components/picker/colors/handle.js +14 -0
- package/lib/cjs/components/picker/colors/handle.js.map +1 -0
- package/lib/cjs/components/picker/colors/index.js +61 -0
- package/lib/cjs/components/picker/colors/index.js.map +1 -0
- package/lib/cjs/components/picker/dates/dates.js +50 -0
- package/lib/cjs/components/picker/dates/dates.js.map +1 -0
- package/lib/cjs/components/picker/dates/index.js +66 -0
- package/lib/cjs/components/picker/dates/index.js.map +1 -0
- package/lib/cjs/components/picker/dates/panel.js +81 -0
- package/lib/cjs/components/picker/dates/panel.js.map +1 -0
- package/lib/cjs/components/picker/time/index.js +50 -0
- package/lib/cjs/components/picker/time/index.js.map +1 -0
- package/lib/cjs/components/picker/time/item.js +19 -0
- package/lib/cjs/components/picker/time/item.js.map +1 -0
- package/lib/cjs/components/picker/time/panel.js +87 -0
- package/lib/cjs/components/picker/time/panel.js.map +1 -0
- package/lib/cjs/components/popconfirm/index.js +10 -0
- package/lib/cjs/components/popconfirm/index.js.map +1 -0
- package/lib/cjs/components/popconfirm/popconfirm.js +58 -0
- package/lib/cjs/components/popconfirm/popconfirm.js.map +1 -0
- package/lib/cjs/components/popup/content.js +44 -0
- package/lib/cjs/components/popup/content.js.map +1 -0
- package/lib/cjs/components/popup/index.js +10 -0
- package/lib/cjs/components/popup/index.js.map +1 -0
- package/lib/cjs/components/popup/popup.js +223 -0
- package/lib/cjs/components/popup/popup.js.map +1 -0
- package/lib/cjs/components/progress/circle.js +17 -0
- package/lib/cjs/components/progress/circle.js.map +1 -0
- package/lib/cjs/components/progress/index.js +10 -0
- package/lib/cjs/components/progress/index.js.map +1 -0
- package/lib/cjs/components/progress/line.js +18 -0
- package/lib/cjs/components/progress/line.js.map +1 -0
- package/lib/cjs/components/progress/progress.js +87 -0
- package/lib/cjs/components/progress/progress.js.map +1 -0
- package/lib/cjs/components/radio/index.js +10 -0
- package/lib/cjs/components/radio/index.js.map +1 -0
- package/lib/cjs/components/radio/item.js +21 -0
- package/lib/cjs/components/radio/item.js.map +1 -0
- package/lib/cjs/components/radio/radio.js +39 -0
- package/lib/cjs/components/radio/radio.js.map +1 -0
- package/lib/cjs/components/resizable/index.js +10 -0
- package/lib/cjs/components/resizable/index.js.map +1 -0
- package/lib/cjs/components/resizable/resizable.js +65 -0
- package/lib/cjs/components/resizable/resizable.js.map +1 -0
- package/lib/cjs/components/select/index.js +10 -0
- package/lib/cjs/components/select/index.js.map +1 -0
- package/lib/cjs/components/select/options.js +51 -0
- package/lib/cjs/components/select/options.js.map +1 -0
- package/lib/cjs/components/select/select.js +97 -0
- package/lib/cjs/components/select/select.js.map +1 -0
- package/lib/cjs/components/step/divider.js +12 -0
- package/lib/cjs/components/step/divider.js.map +1 -0
- package/lib/cjs/components/step/index.js +10 -0
- package/lib/cjs/components/step/index.js.map +1 -0
- package/lib/cjs/components/step/item.js +26 -0
- package/lib/cjs/components/step/item.js.map +1 -0
- package/lib/cjs/components/step/step.js +40 -0
- package/lib/cjs/components/step/step.js.map +1 -0
- package/lib/cjs/components/swiper/index.js +10 -0
- package/lib/cjs/components/swiper/index.js.map +1 -0
- package/lib/cjs/components/swiper/item.js +29 -0
- package/lib/cjs/components/swiper/item.js.map +1 -0
- package/lib/cjs/components/swiper/swiper.js +238 -0
- package/lib/cjs/components/swiper/swiper.js.map +1 -0
- package/lib/cjs/components/tabs/index.js +10 -0
- package/lib/cjs/components/tabs/index.js.map +1 -0
- package/lib/cjs/components/tabs/item.js +12 -0
- package/lib/cjs/components/tabs/item.js.map +1 -0
- package/lib/cjs/components/tabs/tabs.js +215 -0
- package/lib/cjs/components/tabs/tabs.js.map +1 -0
- package/lib/cjs/components/tag/index.js +10 -0
- package/lib/cjs/components/tag/index.js.map +1 -0
- package/lib/cjs/components/tag/tag.js +22 -0
- package/lib/cjs/components/tag/tag.js.map +1 -0
- package/lib/cjs/components/text/highlight.js +32 -0
- package/lib/cjs/components/text/highlight.js.map +1 -0
- package/lib/cjs/components/text/index.js +15 -0
- package/lib/cjs/components/text/index.js.map +1 -0
- package/lib/cjs/components/text/number.js +31 -0
- package/lib/cjs/components/text/number.js.map +1 -0
- package/lib/cjs/components/text/text.js +32 -0
- package/lib/cjs/components/text/text.js.map +1 -0
- package/lib/cjs/components/text/time.js +24 -0
- package/lib/cjs/components/text/time.js.map +1 -0
- package/lib/cjs/components/tree/index.js +10 -0
- package/lib/cjs/components/tree/index.js.map +1 -0
- package/lib/cjs/components/tree/item.js +76 -0
- package/lib/cjs/components/tree/item.js.map +1 -0
- package/lib/cjs/components/tree/tree.js +136 -0
- package/lib/cjs/components/tree/tree.js.map +1 -0
- package/lib/cjs/components/upload/index.js +10 -0
- package/lib/cjs/components/upload/index.js.map +1 -0
- package/lib/cjs/components/upload/renderFile.js +66 -0
- package/lib/cjs/components/upload/renderFile.js.map +1 -0
- package/lib/cjs/components/upload/upload.js +127 -0
- package/lib/cjs/components/upload/upload.js.map +1 -0
- package/lib/cjs/components/utils/empty/index.js +15 -0
- package/lib/cjs/components/utils/empty/index.js.map +1 -0
- package/lib/cjs/components/utils/helpericon/helpericon.js +28 -0
- package/lib/cjs/components/utils/helpericon/helpericon.js.map +1 -0
- package/lib/cjs/components/utils/helpericon/index.js +10 -0
- package/lib/cjs/components/utils/helpericon/index.js.map +1 -0
- package/lib/cjs/components/video/index.js +10 -0
- package/lib/cjs/components/video/index.js.map +1 -0
- package/lib/cjs/components/video/video.js +175 -0
- package/lib/cjs/components/video/video.js.map +1 -0
- package/lib/cjs/index.js +89 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/js/hooks.js +115 -0
- package/lib/cjs/js/hooks.js.map +1 -0
- package/lib/cjs/js/usePreview/content.js +148 -0
- package/lib/cjs/js/usePreview/content.js.map +1 -0
- package/lib/cjs/js/usePreview/index.js +27 -0
- package/lib/cjs/js/usePreview/index.js.map +1 -0
- package/lib/cjs/js/usePreview/renderFile.js +24 -0
- package/lib/cjs/js/usePreview/renderFile.js.map +1 -0
- package/lib/cjs/js/usePreview/type.js +13 -0
- package/lib/cjs/js/usePreview/type.js.map +1 -0
- package/lib/cjs/js/useRipple/index.js +47 -0
- package/lib/cjs/js/useRipple/index.js.map +1 -0
- package/lib/cjs/js/utils.js +281 -0
- package/lib/cjs/js/utils.js.map +1 -0
- package/lib/css/index.css +1 -1
- package/lib/css/index.css.map +1 -1
- package/lib/es/components/affix/affix.js +59 -0
- package/lib/es/components/affix/affix.js.map +1 -0
- package/lib/es/components/affix/index.js +6 -0
- package/lib/{components/badge → es/components/affix}/index.js.map +1 -1
- package/lib/es/components/affix/totop.js +14 -0
- package/lib/es/components/affix/totop.js.map +1 -0
- package/lib/es/components/badge/badge.js +13 -0
- package/lib/es/components/badge/badge.js.map +1 -0
- package/lib/es/components/badge/index.js +6 -0
- package/lib/{components/checkbox → es/components/badge}/index.js.map +1 -1
- package/lib/es/components/button/button.js +58 -0
- package/lib/es/components/button/button.js.map +1 -0
- package/lib/es/components/button/group.js +21 -0
- package/lib/es/components/button/group.js.map +1 -0
- package/lib/es/components/button/index.js +9 -0
- package/lib/es/components/button/index.js.map +1 -0
- package/lib/es/components/button/toggle.js +46 -0
- package/lib/es/components/button/toggle.js.map +1 -0
- package/lib/es/components/card/card.js +13 -0
- package/lib/es/components/card/card.js.map +1 -0
- package/lib/es/components/card/index.js +6 -0
- package/lib/{components → es/components}/card/index.js.map +1 -1
- package/lib/es/components/checkbox/checkbox.js +42 -0
- package/lib/es/components/checkbox/checkbox.js.map +1 -0
- package/lib/es/components/checkbox/index.js +6 -0
- package/lib/{components/affix → es/components/checkbox}/index.js.map +1 -1
- package/lib/es/components/checkbox/item.js +36 -0
- package/lib/es/components/checkbox/item.js.map +1 -0
- package/lib/es/components/collapse/collapse.js +74 -0
- package/lib/es/components/collapse/collapse.js.map +1 -0
- package/lib/es/components/collapse/index.js +6 -0
- package/lib/es/components/collapse/index.js.map +1 -0
- package/lib/es/components/collapse/item.js +8 -0
- package/lib/es/components/collapse/item.js.map +1 -0
- package/lib/es/components/datagrid/cell.js +24 -0
- package/lib/es/components/datagrid/cell.js.map +1 -0
- package/lib/es/components/datagrid/datagrid.js +113 -0
- package/lib/es/components/datagrid/datagrid.js.map +1 -0
- package/lib/es/components/datagrid/index.js +6 -0
- package/lib/es/components/datagrid/index.js.map +1 -0
- package/lib/es/components/datagrid/resize.js +41 -0
- package/lib/es/components/datagrid/resize.js.map +1 -0
- package/lib/es/components/datagrid/row.js +32 -0
- package/lib/es/components/datagrid/row.js.map +1 -0
- package/lib/es/components/datagrid/sorter.js +13 -0
- package/lib/es/components/datagrid/sorter.js.map +1 -0
- package/lib/es/components/description/description.js +28 -0
- package/lib/es/components/description/description.js.map +1 -0
- package/lib/es/components/description/index.js +6 -0
- package/lib/es/components/description/index.js.map +1 -0
- package/lib/es/components/drawer/drawer.js +62 -0
- package/lib/es/components/drawer/drawer.js.map +1 -0
- package/lib/es/components/drawer/index.js +6 -0
- package/lib/es/components/drawer/index.js.map +1 -0
- package/lib/es/components/dropdown/dropdown.js +13 -0
- package/lib/es/components/dropdown/dropdown.js.map +1 -0
- package/lib/es/components/dropdown/index.js +6 -0
- package/lib/es/components/dropdown/index.js.map +1 -0
- package/lib/es/components/dropdown/item.js +18 -0
- package/lib/es/components/dropdown/item.js.map +1 -0
- package/lib/es/components/editor/controls.js +81 -0
- package/lib/es/components/editor/controls.js.map +1 -0
- package/lib/es/components/editor/editor.js +79 -0
- package/lib/es/components/editor/editor.js.map +1 -0
- package/lib/es/components/editor/index.js +6 -0
- package/lib/es/components/editor/index.js.map +1 -0
- package/lib/es/components/flex/flex.js +28 -0
- package/lib/es/components/flex/flex.js.map +1 -0
- package/lib/es/components/flex/index.js +6 -0
- package/lib/es/components/flex/index.js.map +1 -0
- package/lib/es/components/form/context.js +6 -0
- package/lib/es/components/form/context.js.map +1 -0
- package/lib/es/components/form/field.js +73 -0
- package/lib/es/components/form/field.js.map +1 -0
- package/lib/es/components/form/form.js +53 -0
- package/lib/es/components/form/form.js.map +1 -0
- package/lib/es/components/form/index.js +6 -0
- package/lib/es/components/form/index.js.map +1 -0
- package/lib/es/components/form/useForm.js +125 -0
- package/lib/es/components/form/useForm.js.map +1 -0
- package/lib/es/components/icon/icon.js +23 -0
- package/lib/es/components/icon/icon.js.map +1 -0
- package/lib/es/components/icon/index.js +6 -0
- package/lib/es/components/icon/index.js.map +1 -0
- package/lib/es/components/image/image.js +72 -0
- package/lib/es/components/image/image.js.map +1 -0
- package/lib/es/components/image/index.js +7 -0
- package/lib/es/components/image/index.js.map +1 -0
- package/lib/es/components/image/list.js +43 -0
- package/lib/es/components/image/list.js.map +1 -0
- package/lib/es/components/input/container.js +14 -0
- package/lib/es/components/input/container.js.map +1 -0
- package/lib/es/components/input/index.js +11 -0
- package/lib/es/components/input/index.js.map +1 -0
- package/lib/es/components/input/input.js +63 -0
- package/lib/es/components/input/input.js.map +1 -0
- package/lib/es/components/input/number.js +54 -0
- package/lib/es/components/input/number.js.map +1 -0
- package/lib/es/components/input/range.js +67 -0
- package/lib/es/components/input/range.js.map +1 -0
- package/lib/es/components/input/textarea.js +47 -0
- package/lib/es/components/input/textarea.js.map +1 -0
- package/lib/es/components/list/index.js +6 -0
- package/lib/es/components/list/index.js.map +1 -0
- package/lib/es/components/list/item.js +14 -0
- package/lib/es/components/list/item.js.map +1 -0
- package/lib/es/components/list/list.js +24 -0
- package/lib/es/components/list/list.js.map +1 -0
- package/lib/es/components/loading/index.js +6 -0
- package/lib/es/components/loading/index.js.map +1 -0
- package/lib/es/components/loading/loading.js +17 -0
- package/lib/es/components/loading/loading.js.map +1 -0
- package/lib/es/components/message/index.js +6 -0
- package/lib/es/components/message/index.js.map +1 -0
- package/lib/es/components/message/message.js +174 -0
- package/lib/es/components/message/message.js.map +1 -0
- package/lib/es/components/modal/hookModal.js +27 -0
- package/lib/es/components/modal/hookModal.js.map +1 -0
- package/lib/es/components/modal/index.js +7 -0
- package/lib/es/components/modal/index.js.map +1 -0
- package/lib/es/components/modal/modal.js +104 -0
- package/lib/es/components/modal/modal.js.map +1 -0
- package/lib/es/components/modal/useModal.js +34 -0
- package/lib/es/components/modal/useModal.js.map +1 -0
- package/lib/es/components/pagination/index.js +6 -0
- package/lib/es/components/pagination/index.js.map +1 -0
- package/lib/es/components/pagination/page.js +24 -0
- package/lib/es/components/pagination/page.js.map +1 -0
- package/lib/es/components/pagination/pagination.js +44 -0
- package/lib/es/components/pagination/pagination.js.map +1 -0
- package/lib/es/components/picker/colors/footer.js +39 -0
- package/lib/es/components/picker/colors/footer.js.map +1 -0
- package/lib/es/components/picker/colors/handle.js +10 -0
- package/lib/es/components/picker/colors/handle.js.map +1 -0
- package/lib/es/components/picker/colors/index.js +57 -0
- package/lib/es/components/picker/colors/index.js.map +1 -0
- package/lib/es/components/picker/dates/dates.js +46 -0
- package/lib/es/components/picker/dates/dates.js.map +1 -0
- package/lib/es/components/picker/dates/index.js +62 -0
- package/lib/es/components/picker/dates/index.js.map +1 -0
- package/lib/es/components/picker/dates/panel.js +77 -0
- package/lib/es/components/picker/dates/panel.js.map +1 -0
- package/lib/es/components/picker/time/index.js +46 -0
- package/lib/es/components/picker/time/index.js.map +1 -0
- package/lib/es/components/picker/time/item.js +15 -0
- package/lib/es/components/picker/time/item.js.map +1 -0
- package/lib/es/components/picker/time/panel.js +83 -0
- package/lib/es/components/picker/time/panel.js.map +1 -0
- package/lib/es/components/popconfirm/index.js +6 -0
- package/lib/es/components/popconfirm/index.js.map +1 -0
- package/lib/es/components/popconfirm/popconfirm.js +54 -0
- package/lib/es/components/popconfirm/popconfirm.js.map +1 -0
- package/lib/es/components/popup/content.js +40 -0
- package/lib/es/components/popup/content.js.map +1 -0
- package/lib/es/components/popup/index.js +6 -0
- package/lib/es/components/popup/index.js.map +1 -0
- package/lib/es/components/popup/popup.js +219 -0
- package/lib/es/components/popup/popup.js.map +1 -0
- package/lib/es/components/progress/circle.js +13 -0
- package/lib/es/components/progress/circle.js.map +1 -0
- package/lib/es/components/progress/index.js +6 -0
- package/lib/es/components/progress/index.js.map +1 -0
- package/lib/es/components/progress/line.js +14 -0
- package/lib/es/components/progress/line.js.map +1 -0
- package/lib/es/components/progress/progress.js +83 -0
- package/lib/es/components/progress/progress.js.map +1 -0
- package/lib/es/components/radio/index.js +6 -0
- package/lib/es/components/radio/index.js.map +1 -0
- package/lib/es/components/radio/item.js +17 -0
- package/lib/es/components/radio/item.js.map +1 -0
- package/lib/es/components/radio/radio.js +35 -0
- package/lib/es/components/radio/radio.js.map +1 -0
- package/lib/es/components/resizable/index.js +6 -0
- package/lib/es/components/resizable/index.js.map +1 -0
- package/lib/es/components/resizable/resizable.js +61 -0
- package/lib/es/components/resizable/resizable.js.map +1 -0
- package/lib/es/components/select/index.js +6 -0
- package/lib/es/components/select/index.js.map +1 -0
- package/lib/es/components/select/options.js +47 -0
- package/lib/es/components/select/options.js.map +1 -0
- package/lib/es/components/select/select.js +93 -0
- package/lib/es/components/select/select.js.map +1 -0
- package/lib/es/components/step/divider.js +8 -0
- package/lib/es/components/step/divider.js.map +1 -0
- package/lib/es/components/step/index.js +6 -0
- package/lib/es/components/step/index.js.map +1 -0
- package/lib/es/components/step/item.js +22 -0
- package/lib/es/components/step/item.js.map +1 -0
- package/lib/es/components/step/step.js +36 -0
- package/lib/es/components/step/step.js.map +1 -0
- package/lib/es/components/swiper/index.js +6 -0
- package/lib/es/components/swiper/index.js.map +1 -0
- package/lib/es/components/swiper/item.js +25 -0
- package/lib/es/components/swiper/item.js.map +1 -0
- package/lib/es/components/swiper/swiper.js +234 -0
- package/lib/es/components/swiper/swiper.js.map +1 -0
- package/lib/es/components/tabs/index.js +6 -0
- package/lib/es/components/tabs/index.js.map +1 -0
- package/lib/es/components/tabs/item.js +8 -0
- package/lib/es/components/tabs/item.js.map +1 -0
- package/lib/es/components/tabs/tabs.js +211 -0
- package/lib/es/components/tabs/tabs.js.map +1 -0
- package/lib/es/components/tag/index.js +6 -0
- package/lib/es/components/tag/index.js.map +1 -0
- package/lib/es/components/tag/tag.js +18 -0
- package/lib/es/components/tag/tag.js.map +1 -0
- package/lib/es/components/text/highlight.js +28 -0
- package/lib/es/components/text/highlight.js.map +1 -0
- package/lib/es/components/text/index.js +11 -0
- package/lib/es/components/text/index.js.map +1 -0
- package/lib/es/components/text/number.js +27 -0
- package/lib/es/components/text/number.js.map +1 -0
- package/lib/es/components/text/text.js +28 -0
- package/lib/es/components/text/text.js.map +1 -0
- package/lib/es/components/text/time.js +20 -0
- package/lib/es/components/text/time.js.map +1 -0
- package/lib/es/components/tree/index.js +6 -0
- package/lib/es/components/tree/index.js.map +1 -0
- package/lib/es/components/tree/item.js +73 -0
- package/lib/es/components/tree/item.js.map +1 -0
- package/lib/es/components/tree/tree.js +132 -0
- package/lib/es/components/tree/tree.js.map +1 -0
- package/lib/es/components/upload/index.js +6 -0
- package/lib/es/components/upload/index.js.map +1 -0
- package/lib/es/components/upload/renderFile.js +61 -0
- package/lib/es/components/upload/renderFile.js.map +1 -0
- package/lib/es/components/upload/upload.js +123 -0
- package/lib/es/components/upload/upload.js.map +1 -0
- package/lib/es/components/utils/empty/index.js +11 -0
- package/lib/es/components/utils/empty/index.js.map +1 -0
- package/lib/es/components/utils/helpericon/helpericon.js +24 -0
- package/lib/es/components/utils/helpericon/helpericon.js.map +1 -0
- package/lib/es/components/utils/helpericon/index.js +6 -0
- package/lib/es/components/utils/helpericon/index.js.map +1 -0
- package/lib/es/components/video/index.js +6 -0
- package/lib/es/components/video/index.js.map +1 -0
- package/lib/es/components/video/video.js +171 -0
- package/lib/es/components/video/video.js.map +1 -0
- package/lib/es/index.js +45 -0
- package/lib/es/index.js.map +1 -0
- package/lib/es/js/hooks.js +109 -0
- package/lib/es/js/hooks.js.map +1 -0
- package/lib/es/js/usePreview/content.js +144 -0
- package/lib/es/js/usePreview/content.js.map +1 -0
- package/lib/es/js/usePreview/index.js +23 -0
- package/lib/es/js/usePreview/index.js.map +1 -0
- package/lib/es/js/usePreview/renderFile.js +20 -0
- package/lib/es/js/usePreview/renderFile.js.map +1 -0
- package/lib/es/js/usePreview/type.js +13 -0
- package/lib/es/js/usePreview/type.js.map +1 -0
- package/lib/es/js/useRipple/index.js +43 -0
- package/lib/es/js/useRipple/index.js.map +1 -0
- package/lib/es/js/utils.js +265 -0
- package/lib/es/js/utils.js.map +1 -0
- package/lib/index.js +4317 -2
- package/lib/types/components/affix/affix.d.ts +0 -2
- package/lib/types/components/affix/index.d.ts +0 -2
- package/lib/types/components/affix/totop.d.ts +0 -2
- package/lib/types/components/affix/type.d.ts +0 -2
- package/lib/types/components/badge/badge.d.ts +0 -2
- package/lib/types/components/badge/index.d.ts +0 -2
- package/lib/types/components/badge/type.d.ts +0 -2
- package/lib/types/components/button/button.d.ts +0 -2
- package/lib/types/components/button/group.d.ts +0 -2
- package/lib/types/components/button/index.d.ts +0 -2
- package/lib/types/components/button/toggle.d.ts +0 -2
- package/lib/types/components/button/type.d.ts +0 -2
- package/lib/types/components/card/card.d.ts +0 -2
- package/lib/types/components/card/index.d.ts +0 -2
- package/lib/types/components/card/type.d.ts +0 -2
- package/lib/types/components/checkbox/checkbox.d.ts +0 -2
- package/lib/types/components/checkbox/index.d.ts +0 -2
- package/lib/types/components/checkbox/item.d.ts +0 -2
- package/lib/types/components/checkbox/type.d.ts +0 -2
- package/lib/types/components/collapse/collapse.d.ts +0 -2
- package/lib/types/components/collapse/index.d.ts +0 -2
- package/lib/types/components/collapse/item.d.ts +0 -2
- package/lib/types/components/collapse/type.d.ts +0 -2
- package/lib/types/components/datagrid/datagrid.d.ts +0 -2
- package/lib/types/components/datagrid/index.d.ts +0 -2
- package/lib/types/components/datagrid/type.d.ts +0 -2
- package/lib/types/components/description/description.d.ts +0 -2
- package/lib/types/components/description/index.d.ts +0 -2
- package/lib/types/components/description/type.d.ts +0 -2
- package/lib/types/components/drawer/drawer.d.ts +0 -2
- package/lib/types/components/drawer/index.d.ts +0 -2
- package/lib/types/components/drawer/type.d.ts +0 -2
- package/lib/types/components/dropdown/dropdown.d.ts +0 -2
- package/lib/types/components/dropdown/index.d.ts +0 -2
- package/lib/types/components/dropdown/type.d.ts +0 -2
- package/lib/types/components/editor/editor.d.ts +0 -2
- package/lib/types/components/editor/index.d.ts +0 -2
- package/lib/types/components/editor/type.d.ts +0 -2
- package/lib/types/components/flex/flex.d.ts +0 -2
- package/lib/types/components/flex/index.d.ts +0 -2
- package/lib/types/components/flex/type.d.ts +0 -2
- package/lib/types/components/form/field.d.ts +0 -2
- package/lib/types/components/form/form.d.ts +0 -2
- package/lib/types/components/form/index.d.ts +0 -2
- package/lib/types/components/form/type.d.ts +0 -2
- package/lib/types/components/form/useForm.d.ts +0 -2
- package/lib/types/components/icon/icon.d.ts +0 -2
- package/lib/types/components/icon/index.d.ts +0 -2
- package/lib/types/components/icon/type.d.ts +0 -2
- package/lib/types/components/image/image.d.ts +0 -2
- package/lib/types/components/image/index.d.ts +0 -2
- package/lib/types/components/image/list.d.ts +0 -2
- package/lib/types/components/image/type.d.ts +0 -2
- package/lib/types/components/input/index.d.ts +0 -2
- package/lib/types/components/input/input.d.ts +0 -2
- package/lib/types/components/input/number.d.ts +0 -2
- package/lib/types/components/input/range.d.ts +0 -2
- package/lib/types/components/input/textarea.d.ts +0 -2
- package/lib/types/components/input/type.d.ts +0 -2
- package/lib/types/components/list/index.d.ts +0 -2
- package/lib/types/components/list/list.d.ts +0 -2
- package/lib/types/components/list/type.d.ts +0 -2
- package/lib/types/components/loading/index.d.ts +0 -2
- package/lib/types/components/loading/loading.d.ts +0 -2
- package/lib/types/components/loading/type.d.ts +0 -2
- package/lib/types/components/message/index.d.ts +0 -2
- package/lib/types/components/message/message.d.ts +0 -2
- package/lib/types/components/message/type.d.ts +0 -2
- package/lib/types/components/modal/index.d.ts +0 -2
- package/lib/types/components/modal/modal.d.ts +0 -2
- package/lib/types/components/modal/type.d.ts +0 -2
- package/lib/types/components/modal/useModal.d.ts +0 -2
- package/lib/types/components/pagination/index.d.ts +0 -2
- package/lib/types/components/pagination/pagination.d.ts +0 -2
- package/lib/types/components/pagination/type.d.ts +0 -2
- package/lib/types/components/picker/colors/index.d.ts +0 -2
- package/lib/types/components/picker/dates/index.d.ts +0 -2
- package/lib/types/components/picker/time/index.d.ts +0 -2
- package/lib/types/components/picker/type.d.ts +2 -4
- package/lib/types/components/popconfirm/index.d.ts +0 -2
- package/lib/types/components/popconfirm/popconfirm.d.ts +0 -2
- package/lib/types/components/popconfirm/type.d.ts +0 -2
- package/lib/types/components/popup/index.d.ts +0 -2
- package/lib/types/components/popup/popup.d.ts +0 -2
- package/lib/types/components/popup/type.d.ts +0 -2
- package/lib/types/components/progress/index.d.ts +0 -2
- package/lib/types/components/progress/progress.d.ts +0 -2
- package/lib/types/components/progress/type.d.ts +0 -2
- package/lib/types/components/radio/index.d.ts +0 -2
- package/lib/types/components/radio/item.d.ts +0 -2
- package/lib/types/components/radio/radio.d.ts +0 -2
- package/lib/types/components/radio/type.d.ts +0 -2
- package/lib/types/components/resizable/index.d.ts +0 -2
- package/lib/types/components/resizable/resizable.d.ts +0 -2
- package/lib/types/components/resizable/type.d.ts +0 -2
- package/lib/types/components/select/index.d.ts +0 -2
- package/lib/types/components/select/select.d.ts +0 -2
- package/lib/types/components/select/type.d.ts +0 -2
- package/lib/types/components/step/index.d.ts +0 -2
- package/lib/types/components/step/item.d.ts +0 -2
- package/lib/types/components/step/step.d.ts +0 -2
- package/lib/types/components/step/type.d.ts +0 -2
- package/lib/types/components/swiper/index.d.ts +0 -2
- package/lib/types/components/swiper/item.d.ts +0 -2
- package/lib/types/components/swiper/swiper.d.ts +0 -2
- package/lib/types/components/swiper/type.d.ts +0 -2
- package/lib/types/components/tabs/index.d.ts +0 -2
- package/lib/types/components/tabs/item.d.ts +0 -2
- package/lib/types/components/tabs/tabs.d.ts +0 -2
- package/lib/types/components/tabs/type.d.ts +0 -2
- package/lib/types/components/tag/index.d.ts +0 -2
- package/lib/types/components/tag/tag.d.ts +0 -2
- package/lib/types/components/tag/type.d.ts +0 -2
- package/lib/types/components/text/highlight.d.ts +0 -2
- package/lib/types/components/text/index.d.ts +0 -2
- package/lib/types/components/text/number.d.ts +0 -2
- package/lib/types/components/text/text.d.ts +0 -2
- package/lib/types/components/text/time.d.ts +0 -2
- package/lib/types/components/text/type.d.ts +0 -2
- package/lib/types/components/tree/index.d.ts +0 -2
- package/lib/types/components/tree/tree.d.ts +0 -2
- package/lib/types/components/tree/type.d.ts +0 -2
- package/lib/types/components/upload/index.d.ts +0 -2
- package/lib/types/components/upload/type.d.ts +0 -2
- package/lib/types/components/upload/upload.d.ts +0 -2
- package/lib/types/components/video/index.d.ts +0 -2
- package/lib/types/components/video/type.d.ts +0 -2
- package/lib/types/components/video/video.d.ts +0 -2
- package/lib/types/index.d.ts +0 -2
- package/lib/types/js/usePreview/index.d.ts +0 -2
- package/lib/types/js/usePreview/type.d.ts +0 -2
- package/lib/types/type/index.d.ts +0 -2
- package/package.json +20 -11
- package/lib/components/affix/affix.js +0 -2
- package/lib/components/affix/affix.js.map +0 -1
- package/lib/components/affix/index.js +0 -2
- package/lib/components/affix/totop.js +0 -2
- package/lib/components/affix/totop.js.map +0 -1
- package/lib/components/badge/badge.js +0 -2
- package/lib/components/badge/badge.js.map +0 -1
- package/lib/components/badge/index.js +0 -2
- package/lib/components/button/button.js +0 -2
- package/lib/components/button/button.js.map +0 -1
- package/lib/components/button/group.js +0 -2
- package/lib/components/button/group.js.map +0 -1
- package/lib/components/button/index.js +0 -2
- package/lib/components/button/index.js.map +0 -1
- package/lib/components/button/toggle.js +0 -2
- package/lib/components/button/toggle.js.map +0 -1
- package/lib/components/card/card.js +0 -2
- package/lib/components/card/card.js.map +0 -1
- package/lib/components/card/index.js +0 -2
- package/lib/components/checkbox/checkbox.js +0 -2
- package/lib/components/checkbox/checkbox.js.map +0 -1
- package/lib/components/checkbox/index.js +0 -2
- package/lib/components/checkbox/item.js +0 -2
- package/lib/components/checkbox/item.js.map +0 -1
- package/lib/components/collapse/collapse.js +0 -2
- package/lib/components/collapse/collapse.js.map +0 -1
- package/lib/components/collapse/index.js +0 -2
- package/lib/components/collapse/index.js.map +0 -1
- package/lib/components/collapse/item.js +0 -2
- package/lib/components/collapse/item.js.map +0 -1
- package/lib/components/datagrid/cell.js +0 -2
- package/lib/components/datagrid/cell.js.map +0 -1
- package/lib/components/datagrid/datagrid.js +0 -2
- package/lib/components/datagrid/datagrid.js.map +0 -1
- package/lib/components/datagrid/index.js +0 -2
- package/lib/components/datagrid/index.js.map +0 -1
- package/lib/components/datagrid/resize.js +0 -2
- package/lib/components/datagrid/resize.js.map +0 -1
- package/lib/components/datagrid/row.js +0 -2
- package/lib/components/datagrid/row.js.map +0 -1
- package/lib/components/datagrid/sorter.js +0 -2
- package/lib/components/datagrid/sorter.js.map +0 -1
- package/lib/components/description/description.js +0 -2
- package/lib/components/description/description.js.map +0 -1
- package/lib/components/description/index.js +0 -2
- package/lib/components/description/index.js.map +0 -1
- package/lib/components/drawer/drawer.js +0 -2
- package/lib/components/drawer/drawer.js.map +0 -1
- package/lib/components/drawer/index.js +0 -2
- package/lib/components/drawer/index.js.map +0 -1
- package/lib/components/dropdown/dropdown.js +0 -2
- package/lib/components/dropdown/dropdown.js.map +0 -1
- package/lib/components/dropdown/index.js +0 -2
- package/lib/components/dropdown/index.js.map +0 -1
- package/lib/components/dropdown/item.js +0 -2
- package/lib/components/dropdown/item.js.map +0 -1
- package/lib/components/editor/controls.js +0 -2
- package/lib/components/editor/controls.js.map +0 -1
- package/lib/components/editor/editor.js +0 -2
- package/lib/components/editor/editor.js.map +0 -1
- package/lib/components/editor/index.js +0 -2
- package/lib/components/editor/index.js.map +0 -1
- package/lib/components/flex/flex.js +0 -2
- package/lib/components/flex/flex.js.map +0 -1
- package/lib/components/flex/index.js +0 -2
- package/lib/components/flex/index.js.map +0 -1
- package/lib/components/form/context.js +0 -2
- package/lib/components/form/context.js.map +0 -1
- package/lib/components/form/field.js +0 -2
- package/lib/components/form/field.js.map +0 -1
- package/lib/components/form/form.js +0 -2
- package/lib/components/form/form.js.map +0 -1
- package/lib/components/form/index.js +0 -2
- package/lib/components/form/index.js.map +0 -1
- package/lib/components/form/useForm.js +0 -2
- package/lib/components/form/useForm.js.map +0 -1
- package/lib/components/icon/icon.js +0 -2
- package/lib/components/icon/icon.js.map +0 -1
- package/lib/components/icon/index.js +0 -2
- package/lib/components/icon/index.js.map +0 -1
- package/lib/components/image/image.js +0 -2
- package/lib/components/image/image.js.map +0 -1
- package/lib/components/image/index.js +0 -2
- package/lib/components/image/index.js.map +0 -1
- package/lib/components/image/list.js +0 -2
- package/lib/components/image/list.js.map +0 -1
- package/lib/components/input/container.js +0 -2
- package/lib/components/input/container.js.map +0 -1
- package/lib/components/input/index.js +0 -2
- package/lib/components/input/index.js.map +0 -1
- package/lib/components/input/input.js +0 -2
- package/lib/components/input/input.js.map +0 -1
- package/lib/components/input/number.js +0 -2
- package/lib/components/input/number.js.map +0 -1
- package/lib/components/input/range.js +0 -2
- package/lib/components/input/range.js.map +0 -1
- package/lib/components/input/textarea.js +0 -2
- package/lib/components/input/textarea.js.map +0 -1
- package/lib/components/list/index.js +0 -2
- package/lib/components/list/index.js.map +0 -1
- package/lib/components/list/item.js +0 -2
- package/lib/components/list/item.js.map +0 -1
- package/lib/components/list/list.js +0 -2
- package/lib/components/list/list.js.map +0 -1
- package/lib/components/loading/index.js +0 -2
- package/lib/components/loading/index.js.map +0 -1
- package/lib/components/loading/loading.js +0 -2
- package/lib/components/loading/loading.js.map +0 -1
- package/lib/components/message/index.js +0 -2
- package/lib/components/message/index.js.map +0 -1
- package/lib/components/message/message.js +0 -2
- package/lib/components/message/message.js.map +0 -1
- package/lib/components/modal/hookModal.js +0 -2
- package/lib/components/modal/hookModal.js.map +0 -1
- package/lib/components/modal/index.js +0 -2
- package/lib/components/modal/index.js.map +0 -1
- package/lib/components/modal/modal.js +0 -2
- package/lib/components/modal/modal.js.map +0 -1
- package/lib/components/modal/useModal.js +0 -2
- package/lib/components/modal/useModal.js.map +0 -1
- package/lib/components/pagination/index.js +0 -2
- package/lib/components/pagination/index.js.map +0 -1
- package/lib/components/pagination/page.js +0 -2
- package/lib/components/pagination/page.js.map +0 -1
- package/lib/components/pagination/pagination.js +0 -2
- package/lib/components/pagination/pagination.js.map +0 -1
- package/lib/components/picker/colors/footer.js +0 -2
- package/lib/components/picker/colors/footer.js.map +0 -1
- package/lib/components/picker/colors/handle.js +0 -2
- package/lib/components/picker/colors/handle.js.map +0 -1
- package/lib/components/picker/colors/index.js +0 -2
- package/lib/components/picker/colors/index.js.map +0 -1
- package/lib/components/picker/dates/dates.js +0 -2
- package/lib/components/picker/dates/dates.js.map +0 -1
- package/lib/components/picker/dates/index.js +0 -2
- package/lib/components/picker/dates/index.js.map +0 -1
- package/lib/components/picker/dates/panel.js +0 -2
- package/lib/components/picker/dates/panel.js.map +0 -1
- package/lib/components/picker/time/index.js +0 -2
- package/lib/components/picker/time/index.js.map +0 -1
- package/lib/components/picker/time/item.js +0 -2
- package/lib/components/picker/time/item.js.map +0 -1
- package/lib/components/picker/time/panel.js +0 -2
- package/lib/components/picker/time/panel.js.map +0 -1
- package/lib/components/popconfirm/index.js +0 -2
- package/lib/components/popconfirm/index.js.map +0 -1
- package/lib/components/popconfirm/popconfirm.js +0 -2
- package/lib/components/popconfirm/popconfirm.js.map +0 -1
- package/lib/components/popup/content.js +0 -2
- package/lib/components/popup/content.js.map +0 -1
- package/lib/components/popup/index.js +0 -2
- package/lib/components/popup/index.js.map +0 -1
- package/lib/components/popup/popup.js +0 -2
- package/lib/components/popup/popup.js.map +0 -1
- package/lib/components/progress/circle.js +0 -2
- package/lib/components/progress/circle.js.map +0 -1
- package/lib/components/progress/index.js +0 -2
- package/lib/components/progress/index.js.map +0 -1
- package/lib/components/progress/line.js +0 -2
- package/lib/components/progress/line.js.map +0 -1
- package/lib/components/progress/progress.js +0 -2
- package/lib/components/progress/progress.js.map +0 -1
- package/lib/components/radio/index.js +0 -2
- package/lib/components/radio/index.js.map +0 -1
- package/lib/components/radio/item.js +0 -2
- package/lib/components/radio/item.js.map +0 -1
- package/lib/components/radio/radio.js +0 -2
- package/lib/components/radio/radio.js.map +0 -1
- package/lib/components/resizable/index.js +0 -2
- package/lib/components/resizable/index.js.map +0 -1
- package/lib/components/resizable/resizable.js +0 -2
- package/lib/components/resizable/resizable.js.map +0 -1
- package/lib/components/select/index.js +0 -2
- package/lib/components/select/index.js.map +0 -1
- package/lib/components/select/options.js +0 -2
- package/lib/components/select/options.js.map +0 -1
- package/lib/components/select/select.js +0 -2
- package/lib/components/select/select.js.map +0 -1
- package/lib/components/step/divider.js +0 -2
- package/lib/components/step/divider.js.map +0 -1
- package/lib/components/step/index.js +0 -2
- package/lib/components/step/index.js.map +0 -1
- package/lib/components/step/item.js +0 -2
- package/lib/components/step/item.js.map +0 -1
- package/lib/components/step/step.js +0 -2
- package/lib/components/step/step.js.map +0 -1
- package/lib/components/swiper/index.js +0 -2
- package/lib/components/swiper/index.js.map +0 -1
- package/lib/components/swiper/item.js +0 -2
- package/lib/components/swiper/item.js.map +0 -1
- package/lib/components/swiper/swiper.js +0 -2
- package/lib/components/swiper/swiper.js.map +0 -1
- package/lib/components/tabs/index.js +0 -2
- package/lib/components/tabs/index.js.map +0 -1
- package/lib/components/tabs/item.js +0 -2
- package/lib/components/tabs/item.js.map +0 -1
- package/lib/components/tabs/tabs.js +0 -2
- package/lib/components/tabs/tabs.js.map +0 -1
- package/lib/components/tag/index.js +0 -2
- package/lib/components/tag/index.js.map +0 -1
- package/lib/components/tag/tag.js +0 -2
- package/lib/components/tag/tag.js.map +0 -1
- package/lib/components/text/highlight.js +0 -2
- package/lib/components/text/highlight.js.map +0 -1
- package/lib/components/text/index.js +0 -2
- package/lib/components/text/index.js.map +0 -1
- package/lib/components/text/number.js +0 -2
- package/lib/components/text/number.js.map +0 -1
- package/lib/components/text/text.js +0 -2
- package/lib/components/text/text.js.map +0 -1
- package/lib/components/text/time.js +0 -2
- package/lib/components/text/time.js.map +0 -1
- package/lib/components/tree/index.js +0 -2
- package/lib/components/tree/index.js.map +0 -1
- package/lib/components/tree/item.js +0 -2
- package/lib/components/tree/item.js.map +0 -1
- package/lib/components/tree/tree.js +0 -2
- package/lib/components/tree/tree.js.map +0 -1
- package/lib/components/upload/index.js +0 -2
- package/lib/components/upload/index.js.map +0 -1
- package/lib/components/upload/renderFile.js +0 -2
- package/lib/components/upload/renderFile.js.map +0 -1
- package/lib/components/upload/upload.js +0 -2
- package/lib/components/upload/upload.js.map +0 -1
- package/lib/components/utils/empty/index.js +0 -2
- package/lib/components/utils/empty/index.js.map +0 -1
- package/lib/components/utils/helpericon/helpericon.js +0 -2
- package/lib/components/utils/helpericon/helpericon.js.map +0 -1
- package/lib/components/utils/helpericon/index.js +0 -2
- package/lib/components/utils/helpericon/index.js.map +0 -1
- package/lib/components/video/index.js +0 -2
- package/lib/components/video/index.js.map +0 -1
- package/lib/components/video/video.js +0 -2
- package/lib/components/video/video.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/js/hooks.js +0 -2
- package/lib/js/hooks.js.map +0 -1
- package/lib/js/usePreview/content.js +0 -2
- package/lib/js/usePreview/content.js.map +0 -1
- package/lib/js/usePreview/index.js +0 -2
- package/lib/js/usePreview/index.js.map +0 -1
- package/lib/js/usePreview/renderFile.js +0 -2
- package/lib/js/usePreview/renderFile.js.map +0 -1
- package/lib/js/usePreview/type.js +0 -2
- package/lib/js/usePreview/type.js.map +0 -1
- package/lib/js/useRipple/index.js +0 -2
- package/lib/js/useRipple/index.js.map +0 -1
- package/lib/js/utils.js +0 -2
- package/lib/js/utils.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popup.js","sources":["../../../../packages/components/popup/popup.tsx"],"sourcesContent":["import { useCreation, useReactive } from \"ahooks\";\nimport {\n\tCSSProperties,\n\tChildren,\n\tMouseEvent,\n\tcloneElement,\n\tisValidElement,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n} from \"react\";\nimport { useMouseUp, useResizeObserver } from \"../../js/hooks\";\nimport { getPointPosition, getPosition } from \"../../js/utils\";\nimport Content from \"./content\";\nimport \"./index.css\";\nimport { IPopup } from \"./type\";\n\nexport default function Popup(props: IPopup) {\n\tconst {\n\t\tvisible = false,\n\t\tcontent,\n\t\ttrigger = \"hover\",\n\t\tgap = 12,\n\t\toffset = 8,\n\t\tfixed,\n\t\tposition = \"top\",\n\t\tshowDelay = 16,\n\t\thideDelay = 12,\n\t\ttouchable,\n\t\tarrow = true,\n\t\talign,\n\t\tfitSize,\n\t\twatchResize,\n\t\tclickOutside = true,\n\t\tdisabled,\n\t\treferToWindow,\n\t\tstyle,\n\t\tclassName,\n\t\tgetContainer,\n\t\tchildren,\n\t\tonVisibleChange,\n\t} = props;\n\n\tconst triggerRef = useRef<HTMLElement>(null);\n\tconst contentRef = useRef<HTMLDivElement>(null);\n\tconst timerRef = useRef<any>(null);\n\tconst statusRef = useRef<string>(\"\");\n\tconst state = useReactive<{\n\t\tshow: boolean;\n\t\tstyle: CSSProperties;\n\t\tarrowProps: Record<string, any>;\n\t}>({\n\t\tshow: false,\n\t\tstyle: { position: fixed ? \"fixed\" : \"absolute\" },\n\t\tarrowProps: {},\n\t});\n\n\tuseMouseUp((e) => {\n\t\tif (!triggerRef.current || !contentRef.current || !clickOutside) return;\n\n\t\tconst tar = e.target as HTMLElement;\n\t\tconst isContain =\n\t\t\ttriggerRef.current.contains(tar) ||\n\t\t\tcontentRef.current.contains(tar);\n\n\t\tif (!state.show || isContain) return;\n\n\t\thandleToggle(false);\n\t});\n\n\tconst clearTimer = () => {\n\t\tif (!timerRef.current) return;\n\t\tclearTimeout(timerRef.current);\n\t\ttimerRef.current = null;\n\t};\n\n\tconst handleShow = () => {\n\t\tif (disabled) return;\n\t\tif (\n\t\t\tstate.show &&\n\t\t\t(trigger !== \"hover\" || (trigger === \"hover\" && !touchable))\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tstate.show = true;\n\t\tstatusRef.current = \"showing\";\n\t\ttimerRef.current = setTimeout(() => {\n\t\t\tif (statusRef.current !== \"showing\") {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst [left, top, { arrowX, arrowY, arrowPos }] = getPosition(\n\t\t\t\ttriggerRef.current,\n\t\t\t\tcontentRef.current,\n\t\t\t\t{\n\t\t\t\t\tposition,\n\t\t\t\t\tgap,\n\t\t\t\t\toffset,\n\t\t\t\t\talign,\n\t\t\t\t\trefWindow: referToWindow,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tstate.style = {\n\t\t\t\t...state.style,\n\t\t\t\topacity: 1,\n\t\t\t\ttransform: \"none\",\n\t\t\t\tleft,\n\t\t\t\ttop,\n\t\t\t};\n\t\t\tstate.arrowProps = {\n\t\t\t\tleft: arrowX,\n\t\t\t\ttop: arrowY,\n\t\t\t\tpos: arrowPos,\n\t\t\t};\n\t\t\tonVisibleChange?.(true);\n\t\t\tclearTimer();\n\t\t\tstatusRef.current = \"\";\n\t\t}, showDelay);\n\t};\n\n\tconst handleHide = () => {\n\t\tif (!state.show) return;\n\n\t\tstatusRef.current = \"hiding\";\n\t\ttimerRef.current = setTimeout(() => {\n\t\t\tif (statusRef.current !== \"hiding\") {\n\t\t\t\tclearTimer();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tstate.style = {\n\t\t\t\t...state.style,\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: \"translate(0, 2px)\",\n\t\t\t};\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.show = false;\n\t\t\t\tclearTimer();\n\t\t\t\tonVisibleChange?.(false);\n\t\t\t\tstatusRef.current = \"\";\n\t\t\t}, 160);\n\t\t}, hideDelay);\n\t};\n\n\tconst handleToggle = (action?: boolean) => {\n\t\tif (action !== undefined) {\n\t\t\taction ? handleShow() : handleHide();\n\t\t\treturn;\n\t\t}\n\n\t\tstate.show ? handleHide() : handleShow();\n\t};\n\tconst eventMaps = useCreation(\n\t\t() => ({\n\t\t\tclick: {\n\t\t\t\tonClick: () => handleToggle(true),\n\t\t\t},\n\t\t\thover: {\n\t\t\t\tonMouseEnter: () => handleToggle(true),\n\t\t\t\tonMouseLeave: () => handleToggle(false),\n\t\t\t},\n\t\t\tfocus: {\n\t\t\t\tonFocus: () => handleToggle(true),\n\t\t\t\tonBlur: () => handleToggle(false),\n\t\t\t},\n\t\t\tcontextmenu: {\n\t\t\t\tonContextMenu: (e: MouseEvent) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\n\t\t\t\t\tif (state.show) {\n\t\t\t\t\t\tconst [left, top] = getPointPosition(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tcontentRef.current as HTMLElement\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tstate.style = {\n\t\t\t\t\t\t\t...state.style,\n\t\t\t\t\t\t\tleft,\n\t\t\t\t\t\t\ttop,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tstate.show = true;\n\n\t\t\t\t\ttimerRef.current = setTimeout(() => {\n\t\t\t\t\t\tconst [left, top] = getPointPosition(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tcontentRef.current as HTMLElement\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tstate.style = {\n\t\t\t\t\t\t\t...state.style,\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransform: \"none\",\n\t\t\t\t\t\t\tleft,\n\t\t\t\t\t\t\ttop,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tclearTimer();\n\t\t\t\t\t\tonVisibleChange?.(true);\n\t\t\t\t\t}, showDelay);\n\t\t\t\t},\n\t\t\t},\n\t\t\tnone: {},\n\t\t}),\n\t\t[]\n\t);\n\n\tconst contentTouch = useMemo(() => {\n\t\tif (!touchable) return {};\n\t\tconst events: { [key: string]: () => void } = {};\n\n\t\tif (trigger === \"hover\") {\n\t\t\tevents[\"onMouseEnter\"] = () => {\n\t\t\t\tclearTimer();\n\t\t\t};\n\t\t\tevents[\"onMouseLeave\"] = () => handleToggle(false);\n\t\t}\n\n\t\treturn events;\n\t}, [touchable, trigger]);\n\n\tconst computePosition = () => {\n\t\tif (!state.show) return;\n\n\t\tconst [left, top, { arrowX, arrowY, arrowPos }] = getPosition(\n\t\t\ttriggerRef.current,\n\t\t\tcontentRef.current,\n\t\t\t{\n\t\t\t\tposition,\n\t\t\t\tgap,\n\t\t\t\toffset,\n\t\t\t\talign,\n\t\t\t\trefWindow: referToWindow,\n\t\t\t}\n\t\t);\n\n\t\tObject.assign(state, {\n\t\t\tstyle: { ...state.style, left, top },\n\t\t\tarrowProps: { left: arrowX, top: arrowY, pos: arrowPos },\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (trigger === \"contextmenu\") return;\n\t\tconst { observe, unobserve, disconnect } = useResizeObserver();\n\n\t\ttriggerRef.current && observe(triggerRef.current, computePosition);\n\n\t\tif (!watchResize || !contentRef.current) return;\n\n\t\tobserve(contentRef.current, computePosition);\n\n\t\treturn () => {\n\t\t\tif (!watchResize || !contentRef.current) return;\n\n\t\t\tunobserve(contentRef.current);\n\t\t\ttriggerRef.current && unobserve(triggerRef.current);\n\t\t\tdisconnect();\n\t\t};\n\t}, [watchResize, contentRef.current, triggerRef.current]);\n\n\tuseLayoutEffect(() => {\n\t\tif (!fitSize || !state.show) return;\n\n\t\tconst vertical = [\"top\", \"bottom\"].includes(position);\n\t\tconst size =\n\t\t\ttriggerRef.current?.[vertical ? \"offsetWidth\" : \"offsetHeight\"];\n\t\tstate.style = { ...state.style, [vertical ? \"width\" : \"height\"]: size };\n\t}, [state.show, fitSize]);\n\n\tuseLayoutEffect(() => {\n\t\thandleToggle(visible);\n\t}, [visible]);\n\n\treturn (\n\t\t<>\n\t\t\t{Children.map(children, (child) => {\n\t\t\t\tif (!isValidElement(child)) return;\n\n\t\t\t\tconst { className, ...restProps } = child.props as any;\n\t\t\t\tObject.keys(eventMaps[trigger]).map((evt) => {\n\t\t\t\t\tif (!restProps[evt]) return;\n\t\t\t\t\tconst fn = eventMaps[trigger][evt];\n\n\t\t\t\t\teventMaps[trigger][evt] = (e) => {\n\t\t\t\t\t\tfn();\n\t\t\t\t\t\trestProps[evt](e);\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\treturn cloneElement(child, {\n\t\t\t\t\tref: triggerRef,\n\t\t\t\t\tclassName,\n\t\t\t\t\t...restProps,\n\t\t\t\t\t...eventMaps[trigger],\n\t\t\t\t});\n\t\t\t})}\n\n\t\t\t{state.show && (\n\t\t\t\t<Content\n\t\t\t\t\tref={contentRef}\n\t\t\t\t\tarrow={arrow && trigger !== \"contextmenu\"}\n\t\t\t\t\tstyle={{ ...style, ...state.style }}\n\t\t\t\t\tarrowProps={state.arrowProps}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...contentTouch}\n\t\t\t\t\ttrigger={triggerRef.current as HTMLElement}\n\t\t\t\t\tgetContainer={getContainer}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t</Content>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import '../text/index.js';
|
|
3
|
+
import Text from '../text/text.js';
|
|
4
|
+
|
|
5
|
+
function Circle(props) {
|
|
6
|
+
const { value, circleSize = 40, lineWidth = 8 } = props;
|
|
7
|
+
return (jsxs("div", { className: 'i-progress-circle', children: [jsxs("svg", { width: circleSize, height: circleSize, children: [jsx("circle", { cx: circleSize / 2, cy: circleSize / 2, r: circleSize / 2 - lineWidth / 2, fill: 'none', stroke: 'var(--background-opacity-2)', strokeWidth: lineWidth }), jsx("circle", { cx: circleSize / 2, cy: circleSize / 2, r: circleSize / 2 - lineWidth / 2, fill: 'none', stroke: 'var(--color-main)', strokeWidth: lineWidth, strokeDasharray: 100, pathLength: 100, className: 'i-progress-circle-path', strokeLinecap: 'round', style: {
|
|
8
|
+
strokeDashoffset: `calc(100 - ${value})`,
|
|
9
|
+
} })] }), jsxs("span", { className: 'i-progress-circle-value', children: [jsx("span", { children: value }), jsx(Text, { size: '.81em', className: 'color-7', children: "%" })] })] }));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { Circle as default };
|
|
13
|
+
//# sourceMappingURL=circle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circle.js","sources":["../../../../packages/components/progress/circle.tsx"],"sourcesContent":["import Text from \"../text\";\nimport { IProgress } from \"./type\";\n\nexport default function Circle(\n\tprops: Pick<IProgress, \"value\" | \"circleSize\" | \"lineWidth\">\n) {\n\tconst { value, circleSize = 40, lineWidth = 8 } = props;\n\n\treturn (\n\t\t<div className='i-progress-circle'>\n\t\t\t<svg width={circleSize} height={circleSize}>\n\t\t\t\t<circle\n\t\t\t\t\tcx={circleSize / 2}\n\t\t\t\t\tcy={circleSize / 2}\n\t\t\t\t\tr={circleSize / 2 - lineWidth / 2}\n\t\t\t\t\tfill='none'\n\t\t\t\t\tstroke='var(--background-opacity-2)'\n\t\t\t\t\tstrokeWidth={lineWidth}\n\t\t\t\t/>\n\t\t\t\t<circle\n\t\t\t\t\tcx={circleSize / 2}\n\t\t\t\t\tcy={circleSize / 2}\n\t\t\t\t\tr={circleSize / 2 - lineWidth / 2}\n\t\t\t\t\tfill='none'\n\t\t\t\t\tstroke='var(--color-main)'\n\t\t\t\t\tstrokeWidth={lineWidth}\n\t\t\t\t\tstrokeDasharray={100}\n\t\t\t\t\tpathLength={100}\n\t\t\t\t\tclassName='i-progress-circle-path'\n\t\t\t\t\tstrokeLinecap='round'\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tstrokeDashoffset: `calc(100 - ${value})`,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</svg>\n\n\t\t\t<span className='i-progress-circle-value'>\n\t\t\t\t<span>{value}</span>\n\t\t\t\t<Text size='.81em' className='color-7'>\n\t\t\t\t\t%\n\t\t\t\t</Text>\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;;;AAGwB,SAAA,MAAM,CAC7B,KAA4D,EAAA;AAE5D,IAAA,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,KAAK;IAEvD,QACCA,cAAK,SAAS,EAAC,mBAAmB,EACjC,QAAA,EAAA,CAAAA,IAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,aACzCC,GACC,CAAA,QAAA,EAAA,EAAA,EAAE,EAAE,UAAU,GAAG,CAAC,EAClB,EAAE,EAAE,UAAU,GAAG,CAAC,EAClB,CAAC,EAAE,UAAU,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,EACjC,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,6BAA6B,EACpC,WAAW,EAAE,SAAS,EACrB,CAAA,EACFA,gBACC,EAAE,EAAE,UAAU,GAAG,CAAC,EAClB,EAAE,EAAE,UAAU,GAAG,CAAC,EAClB,CAAC,EAAE,UAAU,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,EACjC,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,mBAAmB,EAC1B,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,GAAG,EACpB,UAAU,EAAE,GAAG,EACf,SAAS,EAAC,wBAAwB,EAClC,aAAa,EAAC,OAAO,EACrB,KAAK,EAAE;4BACN,gBAAgB,EAAE,CAAc,WAAA,EAAA,KAAK,CAAG,CAAA,CAAA;yBACxC,EACA,CAAA,CAAA,EAAA,CACG,EAEND,IAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,yBAAyB,EACxC,QAAA,EAAA,CAAAC,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,KAAK,EAAA,CAAQ,EACpBA,GAAA,CAAC,IAAI,EAAC,EAAA,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,SAAS,EAE/B,QAAA,EAAA,GAAA,EAAA,CAAA,CAAA,EAAA,CACD,CACF,EAAA,CAAA;AAER;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
|
|
4
|
+
const Line = (props) => {
|
|
5
|
+
const { ref, value, lineWidth, vertical, barClass, dragging, renderCursor, onMouseDown, onTouchStart, } = props;
|
|
6
|
+
return (jsx("div", { ref: ref, className: classNames("i-progress", {
|
|
7
|
+
"i-progress-vertical": vertical,
|
|
8
|
+
}), style: { [vertical ? "width" : "height"]: lineWidth }, onMouseDown: onMouseDown, onTouchStart: onTouchStart, children: jsx("div", { className: classNames("i-progress-bar", barClass, {
|
|
9
|
+
"no-transition": dragging,
|
|
10
|
+
}), style: { [vertical ? "height" : "width"]: `${value}%` }, children: renderCursor && (jsx("a", { className: 'i-progress-cursor', children: renderCursor(value ?? 0) })) }) }));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { Line as default };
|
|
14
|
+
//# sourceMappingURL=line.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line.js","sources":["../../../../packages/components/progress/line.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { MouseEvent, RefObject } from \"react\";\nimport { IProgress } from \"./type\";\n\nconst Line = (\n\tprops: Pick<\n\t\tIProgress,\n\t\t\"value\" | \"vertical\" | \"lineWidth\" | \"barClass\" | \"renderCursor\"\n\t> & {\n\t\tref: RefObject<HTMLDivElement | null>;\n\t\tdragging: boolean;\n\t\tonMouseDown: (e: MouseEvent) => void;\n\t\tonTouchStart: (e) => void;\n\t}\n) => {\n\tconst {\n\t\tref,\n\t\tvalue,\n\t\tlineWidth,\n\t\tvertical,\n\t\tbarClass,\n\t\tdragging,\n\t\trenderCursor,\n\t\tonMouseDown,\n\t\tonTouchStart,\n\t} = props;\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={classNames(\"i-progress\", {\n\t\t\t\t\"i-progress-vertical\": vertical,\n\t\t\t})}\n\t\t\tstyle={{ [vertical ? \"width\" : \"height\"]: lineWidth }}\n\t\t\tonMouseDown={onMouseDown}\n\t\t\tonTouchStart={onTouchStart}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-progress-bar\", barClass, {\n\t\t\t\t\t\"no-transition\": dragging,\n\t\t\t\t})}\n\t\t\t\tstyle={{ [vertical ? \"height\" : \"width\"]: `${value}%` }}\n\t\t\t>\n\t\t\t\t{renderCursor && (\n\t\t\t\t\t<a className='i-progress-cursor'>\n\t\t\t\t\t\t{renderCursor(value ?? 0)}\n\t\t\t\t\t</a>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default Line;\n"],"names":["_jsx"],"mappings":";;;AAIA,MAAM,IAAI,GAAG,CACZ,KAQC,KACE;IACH,MAAM,EACL,GAAG,EACH,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,YAAY,GACZ,GAAG,KAAK;IAET,QACCA,GACC,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,UAAU,CAAC,YAAY,EAAE;AACnC,YAAA,qBAAqB,EAAE,QAAQ;AAC/B,SAAA,CAAC,EACF,KAAK,EAAE,EAAE,CAAC,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,EAAE,EACrD,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAAA,QAAA,EAE1BA,GACC,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,gBAAgB,EAAE,QAAQ,EAAE;AACjD,gBAAA,eAAe,EAAE,QAAQ;AACzB,aAAA,CAAC,EACF,KAAK,EAAE,EAAE,CAAC,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,CAAA,EAAG,KAAK,CAAG,CAAA,CAAA,EAAE,EAEtD,QAAA,EAAA,YAAY,KACZA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,mBAAmB,YAC9B,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,EAAA,CACtB,CACJ,EACI,CAAA,EAAA,CACD;AAER;;;;"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useReactive } from 'ahooks';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { useRef, useMemo, useEffect } from 'react';
|
|
5
|
+
import { useMouseMove, useMouseUp } from '../../js/hooks.js';
|
|
6
|
+
import Circle from './circle.js';
|
|
7
|
+
import Line from './line.js';
|
|
8
|
+
|
|
9
|
+
const Progress = (props) => {
|
|
10
|
+
const { value = 0, lineWidth = 8, circleSize = 40, precision = 0, style, draggable = true, type = "line", barClass, vertical, label, labelInline, className, renderCursor, onChange, onDraggingChange, } = props;
|
|
11
|
+
const ref = useRef(null);
|
|
12
|
+
const state = useReactive({
|
|
13
|
+
value,
|
|
14
|
+
dragging: false,
|
|
15
|
+
size: 0,
|
|
16
|
+
start: 0,
|
|
17
|
+
});
|
|
18
|
+
const pageXY = vertical ? "pageY" : "pageX";
|
|
19
|
+
const rectTL = vertical ? "top" : "left";
|
|
20
|
+
const rectWH = vertical ? "height" : "width";
|
|
21
|
+
const toFixedValue = useMemo(() => {
|
|
22
|
+
let value = +state.value.toFixed(precision);
|
|
23
|
+
value = Math.min(100, value);
|
|
24
|
+
value = Math.max(0, value);
|
|
25
|
+
return value;
|
|
26
|
+
}, [state.value, precision]);
|
|
27
|
+
const handleMouseDown = (e) => {
|
|
28
|
+
if (!ref.current || !draggable)
|
|
29
|
+
return;
|
|
30
|
+
if (e.touches) {
|
|
31
|
+
e = e.touches[0];
|
|
32
|
+
}
|
|
33
|
+
const rect = ref.current.getBoundingClientRect();
|
|
34
|
+
const value = ((e[pageXY] - rect[rectTL]) * 100) / rect[rectWH];
|
|
35
|
+
Object.assign(state, {
|
|
36
|
+
value: vertical ? 100 - value : value,
|
|
37
|
+
size: rect[rectWH],
|
|
38
|
+
start: rect[rectTL],
|
|
39
|
+
dragging: true,
|
|
40
|
+
});
|
|
41
|
+
onDraggingChange?.(true);
|
|
42
|
+
};
|
|
43
|
+
const handleMouseMove = (e) => {
|
|
44
|
+
if (!state.dragging || !draggable)
|
|
45
|
+
return;
|
|
46
|
+
e.preventDefault();
|
|
47
|
+
if (e.touches) {
|
|
48
|
+
e = e.touches[0];
|
|
49
|
+
}
|
|
50
|
+
const { start, size } = state;
|
|
51
|
+
const offset = e[pageXY] - start;
|
|
52
|
+
if (offset < 0 || offset > size)
|
|
53
|
+
return;
|
|
54
|
+
const value = ((e[pageXY] - start) * 100) / size;
|
|
55
|
+
state.value = vertical ? 100 - value : value;
|
|
56
|
+
};
|
|
57
|
+
const handleMouseUp = () => {
|
|
58
|
+
if (!state.dragging || !draggable)
|
|
59
|
+
return;
|
|
60
|
+
onChange?.(toFixedValue);
|
|
61
|
+
state.dragging = false;
|
|
62
|
+
onDraggingChange?.(false);
|
|
63
|
+
};
|
|
64
|
+
useMouseMove(handleMouseMove);
|
|
65
|
+
useMouseUp(handleMouseUp);
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
if (value > 100) {
|
|
68
|
+
state.value = 100;
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (value < 0) {
|
|
72
|
+
state.value = 0;
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
state.value = value;
|
|
76
|
+
}, [value]);
|
|
77
|
+
return (jsxs("div", { className: classNames("i-input-label", className, {
|
|
78
|
+
"i-input-inline": labelInline,
|
|
79
|
+
}), style: style, children: [label && jsx("span", { className: 'i-input-label-text', children: label }), type === "line" && (jsx(Line, { ref: ref, vertical: vertical, lineWidth: lineWidth, barClass: barClass, dragging: state.dragging, value: state.value, renderCursor: renderCursor, onMouseDown: handleMouseDown, onTouchStart: handleMouseDown })), type === "circle" && (jsx(Circle, { value: state.value, circleSize: circleSize, lineWidth: lineWidth }))] }));
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export { Progress as default };
|
|
83
|
+
//# sourceMappingURL=progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.js","sources":["../../../../packages/components/progress/progress.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { useEffect, useMemo, useRef } from \"react\";\nimport \"../../css/input.css\";\nimport { useMouseMove, useMouseUp } from \"../../js/hooks\";\nimport Circle from \"./circle\";\nimport \"./index.css\";\nimport Line from \"./line\";\nimport { IProgress } from \"./type\";\n\nconst Progress = (props: IProgress) => {\n\tconst {\n\t\tvalue = 0,\n\t\tlineWidth = 8,\n\t\tcircleSize = 40,\n\t\tprecision = 0,\n\t\tstyle,\n\t\tdraggable = true,\n\t\ttype = \"line\",\n\t\tbarClass,\n\t\tvertical,\n\t\tlabel,\n\t\tlabelInline,\n\t\tclassName,\n\t\trenderCursor,\n\t\tonChange,\n\t\tonDraggingChange,\n\t} = props;\n\n\tconst ref = useRef<HTMLDivElement>(null);\n\tconst state = useReactive({\n\t\tvalue,\n\t\tdragging: false,\n\t\tsize: 0,\n\t\tstart: 0,\n\t});\n\n\tconst pageXY = vertical ? \"pageY\" : \"pageX\";\n\tconst rectTL = vertical ? \"top\" : \"left\";\n\tconst rectWH = vertical ? \"height\" : \"width\";\n\n\tconst toFixedValue = useMemo(() => {\n\t\tlet value = +state.value.toFixed(precision);\n\t\tvalue = Math.min(100, value);\n\t\tvalue = Math.max(0, value);\n\n\t\treturn value;\n\t}, [state.value, precision]);\n\n\tconst handleMouseDown = (e) => {\n\t\tif (!ref.current || !draggable) return;\n\n\t\tif (e.touches) {\n\t\t\te = e.touches[0];\n\t\t}\n\n\t\tconst rect = ref.current.getBoundingClientRect();\n\t\tconst value = ((e[pageXY] - rect[rectTL]) * 100) / rect[rectWH];\n\n\t\tObject.assign(state, {\n\t\t\tvalue: vertical ? 100 - value : value,\n\t\t\tsize: rect[rectWH],\n\t\t\tstart: rect[rectTL],\n\t\t\tdragging: true,\n\t\t});\n\t\tonDraggingChange?.(true);\n\t};\n\n\tconst handleMouseMove = (e) => {\n\t\tif (!state.dragging || !draggable) return;\n\t\te.preventDefault();\n\n\t\tif (e.touches) {\n\t\t\te = e.touches[0];\n\t\t}\n\n\t\tconst { start, size } = state;\n\t\tconst offset = e[pageXY] - start;\n\n\t\tif (offset < 0 || offset > size) return;\n\n\t\tconst value = ((e[pageXY] - start) * 100) / size;\n\t\tstate.value = vertical ? 100 - value : value;\n\t};\n\n\tconst handleMouseUp = () => {\n\t\tif (!state.dragging || !draggable) return;\n\n\t\tonChange?.(toFixedValue);\n\t\tstate.dragging = false;\n\t\tonDraggingChange?.(false);\n\t};\n\n\tuseMouseMove(handleMouseMove);\n\tuseMouseUp(handleMouseUp);\n\n\tuseEffect(() => {\n\t\tif (value > 100) {\n\t\t\tstate.value = 100;\n\t\t\treturn;\n\t\t}\n\n\t\tif (value < 0) {\n\t\t\tstate.value = 0;\n\t\t\treturn;\n\t\t}\n\n\t\tstate.value = value;\n\t}, [value]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-input-label\", className, {\n\t\t\t\t\"i-input-inline\": labelInline,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{label && <span className='i-input-label-text'>{label}</span>}\n\n\t\t\t{type === \"line\" && (\n\t\t\t\t<Line\n\t\t\t\t\tref={ref}\n\t\t\t\t\tvertical={vertical}\n\t\t\t\t\tlineWidth={lineWidth}\n\t\t\t\t\tbarClass={barClass}\n\t\t\t\t\tdragging={state.dragging}\n\t\t\t\t\tvalue={state.value}\n\t\t\t\t\trenderCursor={renderCursor}\n\t\t\t\t\tonMouseDown={handleMouseDown}\n\t\t\t\t\tonTouchStart={handleMouseDown}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{type === \"circle\" && (\n\t\t\t\t<Circle\n\t\t\t\t\tvalue={state.value}\n\t\t\t\t\tcircleSize={circleSize}\n\t\t\t\t\tlineWidth={lineWidth}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default Progress;\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
|
|
4
|
+
function RadioItem(props) {
|
|
5
|
+
const { type = "default", name, value, checked, disabled, children, onChange, } = props;
|
|
6
|
+
const isChildrenFn = typeof children === "function";
|
|
7
|
+
const handleChange = (e) => {
|
|
8
|
+
onChange?.(value, e);
|
|
9
|
+
};
|
|
10
|
+
return (jsxs("label", { className: classNames("i-radio-item", {
|
|
11
|
+
disabled,
|
|
12
|
+
"i-radio-item-custom": isChildrenFn,
|
|
13
|
+
}), children: [jsx("input", { type: 'radio', name: name, checked: checked, className: classNames("i-radio-input", `i-radio-${type}`), disabled: disabled, hidden: isChildrenFn, onChange: handleChange }), isChildrenFn ? (children(!!checked, value)) : (jsx("span", { className: 'i-radio-text', children: children }))] }));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { RadioItem as default };
|
|
17
|
+
//# sourceMappingURL=item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item.js","sources":["../../../../packages/components/radio/item.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { ChangeEvent } from \"react\";\nimport { IRadioItem } from \"./type\";\n\nexport default function RadioItem(props: IRadioItem) {\n\tconst {\n\t\ttype = \"default\",\n\t\tname,\n\t\tvalue,\n\t\tchecked,\n\t\tdisabled,\n\t\tchildren,\n\t\tonChange,\n\t} = props;\n\tconst isChildrenFn = typeof children === \"function\";\n\n\tconst handleChange = (e: ChangeEvent) => {\n\t\tonChange?.(value, e);\n\t};\n\n\treturn (\n\t\t<label\n\t\t\tclassName={classNames(\"i-radio-item\", {\n\t\t\t\tdisabled,\n\t\t\t\t\"i-radio-item-custom\": isChildrenFn,\n\t\t\t})}\n\t\t>\n\t\t\t<input\n\t\t\t\ttype='radio'\n\t\t\t\tname={name}\n\t\t\t\tchecked={checked}\n\t\t\t\tclassName={classNames(\"i-radio-input\", `i-radio-${type}`)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\thidden={isChildrenFn}\n\t\t\t\tonChange={handleChange}\n\t\t\t/>\n\n\t\t\t{isChildrenFn ? (\n\t\t\t\tchildren(!!checked, value)\n\t\t\t) : (\n\t\t\t\t<span className='i-radio-text'>{children}</span>\n\t\t\t)}\n\t\t</label>\n\t);\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;;AAIwB,SAAA,SAAS,CAAC,KAAiB,EAAA;AAClD,IAAA,MAAM,EACL,IAAI,GAAG,SAAS,EAChB,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,GACR,GAAG,KAAK;AACT,IAAA,MAAM,YAAY,GAAG,OAAO,QAAQ,KAAK,UAAU;AAEnD,IAAA,MAAM,YAAY,GAAG,CAAC,CAAc,KAAI;AACvC,QAAA,QAAQ,GAAG,KAAK,EAAE,CAAC,CAAC;AACrB,KAAC;AAED,IAAA,QACCA,IACC,CAAA,OAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE;YACrC,QAAQ;AACR,YAAA,qBAAqB,EAAE,YAAY;AACnC,SAAA,CAAC,EAEF,QAAA,EAAA,CAAAC,GAAA,CAAA,OAAA,EAAA,EACC,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,CAAA,QAAA,EAAW,IAAI,CAAE,CAAA,CAAC,EACzD,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,YAAY,EAAA,CACrB,EAED,YAAY,IACZ,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,KAE1BA,cAAM,SAAS,EAAC,cAAc,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAQ,CAChD,CAAA,EAAA,CACM;AAEV;;;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useReactive } from 'ahooks';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { useMemo, useEffect } from 'react';
|
|
5
|
+
import { formatOption } from '../../js/utils.js';
|
|
6
|
+
import RadioItem from './item.js';
|
|
7
|
+
|
|
8
|
+
function Radio(props) {
|
|
9
|
+
const { label, name, options, value, type = "default", status = "normal", message, optionInline = true, labelInline, disabled, required, className, renderItem, onChange, } = props;
|
|
10
|
+
const state = useReactive({
|
|
11
|
+
value,
|
|
12
|
+
});
|
|
13
|
+
const formattedOptions = useMemo(() => formatOption(options), [options]);
|
|
14
|
+
const handleChange = (value, e) => {
|
|
15
|
+
state.value = value;
|
|
16
|
+
onChange?.(value, e);
|
|
17
|
+
};
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
state.value = value;
|
|
20
|
+
}, [value]);
|
|
21
|
+
return (jsxs("div", { className: classNames("i-radio i-input-label", {
|
|
22
|
+
[`i-radio-${status}`]: status !== "normal",
|
|
23
|
+
"i-input-inline": labelInline,
|
|
24
|
+
}, className), children: [label && (jsxs("span", { className: 'i-input-label-text', children: [required && jsx("span", { className: 'error', children: "*" }), label, message && jsx("p", { className: 'i-radio-message', children: message })] })), jsx("div", { className: classNames("i-radio-options", {
|
|
25
|
+
"i-options-block": !optionInline,
|
|
26
|
+
"i-radio-options-button": type === "button",
|
|
27
|
+
}), children: formattedOptions.map((option) => {
|
|
28
|
+
const checked = state.value === option.value;
|
|
29
|
+
return (jsx(RadioItem, { name: name, value: option.value, checked: checked, type: type, disabled: disabled || option.disabled, onChange: handleChange, children: renderItem ?? option.label }, option.value));
|
|
30
|
+
}) })] }));
|
|
31
|
+
}
|
|
32
|
+
Radio.Item = RadioItem;
|
|
33
|
+
|
|
34
|
+
export { Radio as default };
|
|
35
|
+
//# sourceMappingURL=radio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio.js","sources":["../../../../packages/components/radio/radio.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { useEffect, useMemo } from \"react\";\nimport \"../../css/input.css\";\nimport { formatOption } from \"../../js/utils\";\nimport \"./index.css\";\nimport RadioItem from \"./item\";\nimport { IRadio } from \"./type\";\n\nfunction Radio(props: IRadio) {\n\tconst {\n\t\tlabel,\n\t\tname,\n\t\toptions,\n\t\tvalue,\n\t\ttype = \"default\",\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\toptionInline = true,\n\t\tlabelInline,\n\t\tdisabled,\n\t\trequired,\n\t\tclassName,\n\t\trenderItem,\n\t\tonChange,\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t});\n\n\tconst formattedOptions = useMemo(() => formatOption(options), [options]);\n\n\tconst handleChange = (value, e) => {\n\t\tstate.value = value;\n\t\tonChange?.(value, e);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-radio i-input-label\",\n\t\t\t\t{\n\t\t\t\t\t[`i-radio-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-inline\": labelInline,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)}\n\t\t>\n\t\t\t{label && (\n\t\t\t\t<span className='i-input-label-text'>\n\t\t\t\t\t{required && <span className='error'>*</span>}\n\t\t\t\t\t{label}\n\n\t\t\t\t\t{message && <p className='i-radio-message'>{message}</p>}\n\t\t\t\t</span>\n\t\t\t)}\n\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-radio-options\", {\n\t\t\t\t\t\"i-options-block\": !optionInline,\n\t\t\t\t\t\"i-radio-options-button\": type === \"button\",\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{formattedOptions.map((option) => {\n\t\t\t\t\tconst checked = state.value === option.value;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<RadioItem\n\t\t\t\t\t\t\tkey={option.value as string}\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\tchecked={checked}\n\t\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\t\tdisabled={disabled || option.disabled}\n\t\t\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{renderItem ?? option.label}\n\t\t\t\t\t\t</RadioItem>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nRadio.Item = RadioItem;\n\nexport default Radio;\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;AASA,SAAS,KAAK,CAAC,KAAa,EAAA;AAC3B,IAAA,MAAM,EACL,KAAK,EACL,IAAI,EACJ,OAAO,EACP,KAAK,EACL,IAAI,GAAG,SAAS,EAChB,MAAM,GAAG,QAAQ,EACjB,OAAO,EACP,YAAY,GAAG,IAAI,EACnB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,UAAU,EACV,QAAQ,GACR,GAAG,KAAK;IAET,MAAM,KAAK,GAAG,WAAW,CAAC;QACzB,KAAK;AACL,KAAA,CAAC;AAEF,IAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAExE,IAAA,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,CAAC,KAAI;AACjC,QAAA,KAAK,CAAC,KAAK,GAAG,KAAK;AACnB,QAAA,QAAQ,GAAG,KAAK,EAAE,CAAC,CAAC;AACrB,KAAC;IAED,SAAS,CAAC,MAAK;AACd,QAAA,KAAK,CAAC,KAAK,GAAG,KAAK;AACpB,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAA,QACCA,IACC,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CACpB,uBAAuB,EACvB;AACC,YAAA,CAAC,WAAW,MAAM,CAAA,CAAE,GAAG,MAAM,KAAK,QAAQ;AAC1C,YAAA,gBAAgB,EAAE,WAAW;AAC7B,SAAA,EACD,SAAS,CACT,EAAA,QAAA,EAAA,CAEA,KAAK,KACLA,IAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,oBAAoB,aAClC,QAAQ,IAAIC,cAAM,SAAS,EAAC,OAAO,EAAS,QAAA,EAAA,GAAA,EAAA,CAAA,EAC5C,KAAK,EAEL,OAAO,IAAIA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,iBAAiB,YAAE,OAAO,EAAA,CAAK,CAClD,EAAA,CAAA,CACP,EAEDA,GACC,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE;oBACxC,iBAAiB,EAAE,CAAC,YAAY;oBAChC,wBAAwB,EAAE,IAAI,KAAK,QAAQ;iBAC3C,CAAC,EAAA,QAAA,EAED,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;oBAChC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;oBAE5C,QACCA,IAAC,SAAS,EAAA,EAET,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,EACrC,QAAQ,EAAE,YAAY,EAAA,QAAA,EAErB,UAAU,IAAI,MAAM,CAAC,KAAK,EAAA,EARtB,MAAM,CAAC,KAAe,CAShB;AAEd,iBAAC,CAAC,EAAA,CACG,CACD,EAAA,CAAA;AAER;AAEA,KAAK,CAAC,IAAI,GAAG,SAAS;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useReactive } from 'ahooks';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { useRef } from 'react';
|
|
5
|
+
import { useMouseUp, useMouseMove } from '../../js/hooks.js';
|
|
6
|
+
|
|
7
|
+
const Resizable = (props) => {
|
|
8
|
+
const { other, children, vertical, height, size = "auto", minSize = 0, maxSize = "100%", style, line, className, asPercent, onResize, onResizeComplete, } = props;
|
|
9
|
+
const state = useReactive({
|
|
10
|
+
size,
|
|
11
|
+
resizing: false,
|
|
12
|
+
start: 0,
|
|
13
|
+
total: 0,
|
|
14
|
+
});
|
|
15
|
+
const ref = useRef(null);
|
|
16
|
+
const handleMouseDown = () => {
|
|
17
|
+
const rect = ref.current?.getBoundingClientRect();
|
|
18
|
+
if (!rect)
|
|
19
|
+
return;
|
|
20
|
+
state.resizing = true;
|
|
21
|
+
if (vertical) {
|
|
22
|
+
state.total = rect.height;
|
|
23
|
+
state.start = rect.top;
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
state.total = rect.width;
|
|
27
|
+
state.start = rect.left;
|
|
28
|
+
};
|
|
29
|
+
const handleMouseMove = (e) => {
|
|
30
|
+
if (!state.resizing)
|
|
31
|
+
return;
|
|
32
|
+
e.preventDefault();
|
|
33
|
+
if (e.touches) {
|
|
34
|
+
e = e.touches[0];
|
|
35
|
+
}
|
|
36
|
+
const d = e[vertical ? "pageY" : "pageX"];
|
|
37
|
+
const offset = d - state.start;
|
|
38
|
+
state.size = asPercent ? `${(offset / state.total) * 100}%` : offset;
|
|
39
|
+
onResize?.(state.size);
|
|
40
|
+
};
|
|
41
|
+
const handleMouseUp = () => {
|
|
42
|
+
if (!state.resizing)
|
|
43
|
+
return;
|
|
44
|
+
state.resizing = false;
|
|
45
|
+
onResizeComplete?.(state.size);
|
|
46
|
+
};
|
|
47
|
+
useMouseUp(handleMouseUp);
|
|
48
|
+
useMouseMove(handleMouseMove);
|
|
49
|
+
return (jsxs("div", { ref: ref, className: classNames("i-resizable", className, {
|
|
50
|
+
[`i-resizable-vertical`]: vertical,
|
|
51
|
+
}), style: { ...style, height }, children: [jsx("div", { className: 'i-resizable-a', style: {
|
|
52
|
+
[vertical ? "height" : "width"]: state.size,
|
|
53
|
+
[vertical ? "minHeight" : "minWidth"]: minSize,
|
|
54
|
+
[vertical ? "maxHeight" : "maxWidth"]: maxSize,
|
|
55
|
+
}, children: other }), jsx("div", { className: classNames("i-resizable-line", {
|
|
56
|
+
[`i-resizable-resizing`]: state.resizing,
|
|
57
|
+
}), onMouseDown: handleMouseDown, onTouchStart: handleMouseDown, onContextMenu: (e) => e.preventDefault(), children: jsx("div", { className: 'i-resizable-line-node', children: line }) }), jsx("div", { className: 'i-resizable-b', children: children })] }));
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export { Resizable as default };
|
|
61
|
+
//# sourceMappingURL=resizable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resizable.js","sources":["../../../../packages/components/resizable/resizable.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { useRef } from \"react\";\nimport { useMouseMove, useMouseUp } from \"../../js/hooks\";\nimport \"./index.css\";\nimport { IResizable } from \"./type\";\n\nconst Resizable = (props: IResizable) => {\n\tconst {\n\t\tother,\n\t\tchildren,\n\t\tvertical,\n\t\theight,\n\t\tsize = \"auto\",\n\t\tminSize = 0,\n\t\tmaxSize = \"100%\",\n\t\tstyle,\n\t\tline,\n\t\tclassName,\n\t\tasPercent,\n\t\tonResize,\n\t\tonResizeComplete,\n\t} = props;\n\n\tconst state = useReactive({\n\t\tsize,\n\t\tresizing: false,\n\t\tstart: 0,\n\t\ttotal: 0,\n\t});\n\n\tconst ref = useRef<HTMLDivElement>(null);\n\n\tconst handleMouseDown = () => {\n\t\tconst rect = ref.current?.getBoundingClientRect();\n\t\tif (!rect) return;\n\n\t\tstate.resizing = true;\n\n\t\tif (vertical) {\n\t\t\tstate.total = rect.height;\n\t\t\tstate.start = rect.top;\n\t\t\treturn;\n\t\t}\n\n\t\tstate.total = rect.width;\n\t\tstate.start = rect.left;\n\t};\n\n\tconst handleMouseMove = (e) => {\n\t\tif (!state.resizing) return;\n\n\t\te.preventDefault();\n\n\t\tif (e.touches) {\n\t\t\te = e.touches[0];\n\t\t}\n\n\t\tconst d = e[vertical ? \"pageY\" : \"pageX\"];\n\t\tconst offset = d - state.start;\n\n\t\tstate.size = asPercent ? `${(offset / state.total) * 100}%` : offset;\n\t\tonResize?.(state.size);\n\t};\n\n\tconst handleMouseUp = () => {\n\t\tif (!state.resizing) return;\n\n\t\tstate.resizing = false;\n\t\tonResizeComplete?.(state.size);\n\t};\n\n\tuseMouseUp(handleMouseUp);\n\tuseMouseMove(handleMouseMove);\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={classNames(\"i-resizable\", className, {\n\t\t\t\t[`i-resizable-vertical`]: vertical,\n\t\t\t})}\n\t\t\tstyle={{ ...style, height }}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName='i-resizable-a'\n\t\t\t\tstyle={{\n\t\t\t\t\t[vertical ? \"height\" : \"width\"]: state.size,\n\t\t\t\t\t[vertical ? \"minHeight\" : \"minWidth\"]: minSize,\n\t\t\t\t\t[vertical ? \"maxHeight\" : \"maxWidth\"]: maxSize,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{other}\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-resizable-line\", {\n\t\t\t\t\t[`i-resizable-resizing`]: state.resizing,\n\t\t\t\t})}\n\t\t\t\tonMouseDown={handleMouseDown}\n\t\t\t\tonTouchStart={handleMouseDown}\n\t\t\t\tonContextMenu={(e) => e.preventDefault()}\n\t\t\t>\n\t\t\t\t<div className='i-resizable-line-node'>{line}</div>\n\t\t\t</div>\n\n\t\t\t<div className='i-resizable-b'>{children}</div>\n\t\t</div>\n\t);\n};\n\nexport default Resizable;\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { SearchRound, CheckRound } from '@ricons/material';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import Icon from '../icon/icon.js';
|
|
5
|
+
import List from '../list/list.js';
|
|
6
|
+
import Tag from '../tag/tag.js';
|
|
7
|
+
import Empty from '../utils/empty/index.js';
|
|
8
|
+
|
|
9
|
+
const Options = (props) => {
|
|
10
|
+
const { value: val, options, filter, filterPlaceholder, multiple, empty = jsx(Empty, {}), onSelect, onFilter, } = props;
|
|
11
|
+
return (jsxs("div", { className: classNames("i-select-options", {
|
|
12
|
+
"i-select-options-multiple": multiple,
|
|
13
|
+
}), children: [filter && multiple && (jsxs("div", { className: 'i-select-filter', children: [jsx(Icon, { icon: jsx(SearchRound, {}), className: 'color-8 ml-8 my-auto', size: '1.2em' }), jsx("input", { type: 'text', className: 'i-input', placeholder: filterPlaceholder, onChange: onFilter })] })), options.length === 0 && empty, options.map((option, i) => {
|
|
14
|
+
const { label, value, disabled } = option;
|
|
15
|
+
const isActive = multiple
|
|
16
|
+
? val?.includes(value)
|
|
17
|
+
: val === value;
|
|
18
|
+
return (jsxs(List.Item, { active: isActive, type: 'option', onClick: () => onSelect?.(value, option), disabled: disabled, children: [multiple && (jsx(Icon, { icon: jsx(CheckRound, {}), className: 'i-select-option-check', size: '1em' })), label] }, value || i));
|
|
19
|
+
})] }));
|
|
20
|
+
};
|
|
21
|
+
const activeOptions = (options = [], value = [], max = 3) => {
|
|
22
|
+
const total = options.flatMap((opt) => value.includes(opt.value) ? [opt] : []);
|
|
23
|
+
if (max >= total.length)
|
|
24
|
+
return total;
|
|
25
|
+
const rest = total.length - max;
|
|
26
|
+
const after = total.slice(0, max);
|
|
27
|
+
after.push(rest);
|
|
28
|
+
return after;
|
|
29
|
+
};
|
|
30
|
+
const displayValue = (config) => {
|
|
31
|
+
const { options, value, maxDisplay, multiple, onSelect } = config;
|
|
32
|
+
if (multiple) {
|
|
33
|
+
return activeOptions(options, value, maxDisplay).map((opt, i) => {
|
|
34
|
+
if (typeof opt === "number")
|
|
35
|
+
return jsxs(Tag, { children: ["+", opt] }, i);
|
|
36
|
+
const { label, value } = opt;
|
|
37
|
+
return (jsx(Tag, { hoverShowClose: true, onClose: (e) => {
|
|
38
|
+
e?.stopPropagation();
|
|
39
|
+
onSelect?.(value, opt);
|
|
40
|
+
}, children: label }, value));
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return options.find((opt) => opt.value === value)?.label;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export { Options, activeOptions, displayValue };
|
|
47
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sources":["../../../../packages/components/select/options.tsx"],"sourcesContent":["import { CheckRound, SearchRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { TOption } from \"../../type\";\nimport Icon from \"../icon\";\nimport List from \"../list\";\nimport Tag from \"../tag\";\nimport Empty from \"../utils/empty\";\nimport { ISelectOptions } from \"./type\";\nexport const Options = (props: ISelectOptions) => {\n\tconst {\n\t\tvalue: val,\n\t\toptions,\n\t\tfilter,\n\t\tfilterPlaceholder,\n\t\tmultiple,\n\t\tempty = <Empty />,\n\t\tonSelect,\n\t\tonFilter,\n\t} = props;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-select-options\", {\n\t\t\t\t\"i-select-options-multiple\": multiple,\n\t\t\t})}\n\t\t>\n\t\t\t{filter && multiple && (\n\t\t\t\t<div className='i-select-filter'>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={<SearchRound />}\n\t\t\t\t\t\tclassName='color-8 ml-8 my-auto'\n\t\t\t\t\t\tsize='1.2em'\n\t\t\t\t\t/>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype='text'\n\t\t\t\t\t\tclassName='i-input'\n\t\t\t\t\t\tplaceholder={filterPlaceholder}\n\t\t\t\t\t\tonChange={onFilter}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{options.length === 0 && empty}\n\n\t\t\t{options.map((option, i) => {\n\t\t\t\tconst { label, value, disabled } = option;\n\t\t\t\tconst isActive = multiple\n\t\t\t\t\t? val?.includes(value)\n\t\t\t\t\t: val === value;\n\n\t\t\t\treturn (\n\t\t\t\t\t<List.Item\n\t\t\t\t\t\tkey={(value as string) || i}\n\t\t\t\t\t\tactive={isActive}\n\t\t\t\t\t\ttype='option'\n\t\t\t\t\t\tonClick={() => onSelect?.(value, option)}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t{multiple && (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={<CheckRound />}\n\t\t\t\t\t\t\t\tclassName='i-select-option-check'\n\t\t\t\t\t\t\t\tsize='1em'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</List.Item>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\nexport const activeOptions = (\n\toptions: TOption[] = [],\n\tvalue: any[] = [],\n\tmax = 3\n) => {\n\tconst total = options.flatMap((opt) =>\n\t\tvalue.includes(opt.value) ? [opt] : []\n\t);\n\n\tif (max >= total.length) return total;\n\n\tconst rest = total.length - max;\n\tconst after = total.slice(0, max);\n\tafter.push(rest as any);\n\n\treturn after;\n};\n\nexport const displayValue = (config) => {\n\tconst { options, value, maxDisplay, multiple, onSelect } = config;\n\n\tif (multiple) {\n\t\treturn activeOptions(options, value, maxDisplay).map((opt, i) => {\n\t\t\tif (typeof opt === \"number\") return <Tag key={i}>+{opt}</Tag>;\n\n\t\t\tconst { label, value } = opt;\n\n\t\t\treturn (\n\t\t\t\t<Tag\n\t\t\t\t\tkey={value as string}\n\t\t\t\t\thoverShowClose\n\t\t\t\t\tonClose={(e) => {\n\t\t\t\t\t\te?.stopPropagation();\n\t\t\t\t\t\tonSelect?.(value, opt);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t});\n\t}\n\n\treturn options.find((opt: TOption) => opt.value === value)?.label;\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { UnfoldMoreRound } from '@ricons/material';
|
|
3
|
+
import { useReactive } from 'ahooks';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import { debounce } from 'radash';
|
|
6
|
+
import { useState, useMemo, useEffect } from 'react';
|
|
7
|
+
import { formatOption } from '../../js/utils.js';
|
|
8
|
+
import Popup from '../popup/popup.js';
|
|
9
|
+
import Helpericon from '../utils/helpericon/helpericon.js';
|
|
10
|
+
import { Options, displayValue } from './options.js';
|
|
11
|
+
|
|
12
|
+
const Select = (props) => {
|
|
13
|
+
const { ref, type = "text", name, label, value = "", placeholder, options = [], multiple, prepend, append, labelInline, style, className, message, status = "normal", hideClear, hideArrow, maxDisplay, border, filter, tip, filterPlaceholder = "...", popupProps, onSelect, onChange, ...restProps } = props;
|
|
14
|
+
const state = useReactive({
|
|
15
|
+
inputValue: "",
|
|
16
|
+
filterValue: "",
|
|
17
|
+
value,
|
|
18
|
+
loading: false,
|
|
19
|
+
});
|
|
20
|
+
const [active, setActive] = useState(false);
|
|
21
|
+
const formattedOptions = useMemo(() => formatOption(options), [options]);
|
|
22
|
+
const filterOptions = useMemo(() => {
|
|
23
|
+
const { filterValue: fv } = state;
|
|
24
|
+
if (!fv || !filter)
|
|
25
|
+
return formattedOptions;
|
|
26
|
+
const filterFn = typeof filter === "function"
|
|
27
|
+
? filter
|
|
28
|
+
: (opt) => opt.value.includes(fv) || opt.label.includes(fv);
|
|
29
|
+
return formattedOptions.filter(filterFn);
|
|
30
|
+
}, [formattedOptions, filter, state.filterValue]);
|
|
31
|
+
const changeValue = (v) => {
|
|
32
|
+
state.value = v;
|
|
33
|
+
onChange?.(v);
|
|
34
|
+
};
|
|
35
|
+
const handleSelect = (value, option) => {
|
|
36
|
+
onSelect?.(value, option);
|
|
37
|
+
if (multiple) {
|
|
38
|
+
const values = [...state.value];
|
|
39
|
+
const i = values.findIndex((v) => v === value);
|
|
40
|
+
i > -1 ? values.splice(i, 1) : values.push(value);
|
|
41
|
+
changeValue(values);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
setActive(false);
|
|
45
|
+
changeValue(value);
|
|
46
|
+
};
|
|
47
|
+
const handleVisibleChange = (visible) => {
|
|
48
|
+
setActive(visible);
|
|
49
|
+
if (!filter)
|
|
50
|
+
return;
|
|
51
|
+
state.filterValue = "";
|
|
52
|
+
};
|
|
53
|
+
const handleHelperClick = (e) => {
|
|
54
|
+
e.stopPropagation();
|
|
55
|
+
setActive(true);
|
|
56
|
+
if (!active)
|
|
57
|
+
return;
|
|
58
|
+
changeValue(multiple ? [] : "");
|
|
59
|
+
};
|
|
60
|
+
const handleFilterChange = debounce({ delay: 400 }, (e) => {
|
|
61
|
+
const v = e.target.value;
|
|
62
|
+
state.filterValue = v;
|
|
63
|
+
});
|
|
64
|
+
const handleInputChange = (e) => {
|
|
65
|
+
state.filterValue = e.target.value;
|
|
66
|
+
};
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
state.value = value;
|
|
69
|
+
}, [value]);
|
|
70
|
+
const hasValue = multiple
|
|
71
|
+
? state.value.length > 0
|
|
72
|
+
: !!state.value;
|
|
73
|
+
const clearable = !hideClear && active && hasValue;
|
|
74
|
+
const text = message ?? tip;
|
|
75
|
+
return (jsxs("label", { className: classNames("i-input-label", className, {
|
|
76
|
+
"i-input-inline": labelInline,
|
|
77
|
+
}), style: style, children: [label && jsx("span", { className: 'i-input-label-text', children: label }), jsx(Popup, { position: 'bottom', arrow: false, fitSize: true, ...popupProps, visible: active, trigger: 'none', onVisibleChange: handleVisibleChange, content: jsx(Options, { options: filterOptions, value: state.value, multiple: multiple, filter: !!filter, filterPlaceholder: filterPlaceholder, onSelect: handleSelect, onFilter: handleFilterChange }), children: jsxs("div", { className: classNames("i-input-item", {
|
|
78
|
+
[`i-input-${status}`]: status !== "normal",
|
|
79
|
+
"i-input-borderless": !border,
|
|
80
|
+
"i-input-focus": active,
|
|
81
|
+
}), onClick: () => setActive(true), children: [prepend, jsx("input", { ref: ref, type: 'hidden', value: state.value, ...restProps }), multiple ? (hasValue ? (jsx("div", { className: classNames("i-input i-select", {
|
|
82
|
+
"i-select-multiple": multiple,
|
|
83
|
+
}), children: displayValue({
|
|
84
|
+
options: formattedOptions,
|
|
85
|
+
value: state.value,
|
|
86
|
+
multiple,
|
|
87
|
+
maxDisplay,
|
|
88
|
+
onSelect: handleSelect,
|
|
89
|
+
}) })) : (jsx("input", { className: 'i-input i-select', placeholder: placeholder, readOnly: true }))) : null, !multiple && (jsx("input", { value: active ? state.filterValue : state.value, className: 'i-input i-select', placeholder: state.value || placeholder, onChange: handleInputChange, readOnly: !filter })), jsx(Helpericon, { active: !hideArrow, icon: clearable ? undefined : jsx(UnfoldMoreRound, {}), onClick: handleHelperClick }), append] }) }), text && jsx("span", { className: 'i-input-message', children: text })] }));
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export { Select as default };
|
|
93
|
+
//# sourceMappingURL=select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.js","sources":["../../../../packages/components/select/select.tsx"],"sourcesContent":["import { UnfoldMoreRound } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { debounce } from \"radash\";\nimport { ChangeEvent, useEffect, useMemo, useState } from \"react\";\nimport \"../../css/input.css\";\nimport { formatOption } from \"../../js/utils\";\nimport { TOption } from \"../../type\";\nimport Popup from \"../popup\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { Options, displayValue } from \"./options\";\nimport { ISelect } from \"./type\";\n\nconst Select = (props: ISelect) => {\n\tconst {\n\t\tref,\n\t\ttype = \"text\",\n\t\tname,\n\t\tlabel,\n\t\tvalue = \"\",\n\t\tplaceholder,\n\t\toptions = [],\n\t\tmultiple,\n\t\tprepend,\n\t\tappend,\n\t\tlabelInline,\n\t\tstyle,\n\t\tclassName,\n\t\tmessage,\n\t\tstatus = \"normal\",\n\t\thideClear,\n\t\thideArrow,\n\t\tmaxDisplay,\n\t\tborder,\n\t\tfilter,\n\t\ttip,\n\t\tfilterPlaceholder = \"...\",\n\t\tpopupProps,\n\t\tonSelect,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tinputValue: \"\",\n\t\tfilterValue: \"\",\n\t\tvalue,\n\t\tloading: false,\n\t});\n\n\tconst [active, setActive] = useState<boolean>(false);\n\n\tconst formattedOptions = useMemo(() => formatOption(options), [options]);\n\n\tconst filterOptions = useMemo(() => {\n\t\tconst { filterValue: fv } = state;\n\t\tif (!fv || !filter) return formattedOptions;\n\n\t\tconst filterFn =\n\t\t\ttypeof filter === \"function\"\n\t\t\t\t? filter\n\t\t\t\t: (opt) => opt.value.includes(fv) || opt.label.includes(fv);\n\n\t\treturn formattedOptions.filter(filterFn);\n\t}, [formattedOptions, filter, state.filterValue]);\n\n\tconst changeValue = (v: any) => {\n\t\tstate.value = v;\n\t\tonChange?.(v);\n\t};\n\n\tconst handleSelect = (value: any, option?: TOption) => {\n\t\tonSelect?.(value, option);\n\n\t\tif (multiple) {\n\t\t\tconst values = [...(state.value as any[])];\n\t\t\tconst i = values.findIndex((v) => v === value);\n\n\t\t\ti > -1 ? values.splice(i, 1) : values.push(value);\n\t\t\tchangeValue(values as any);\n\n\t\t\treturn;\n\t\t}\n\n\t\tsetActive(false);\n\t\tchangeValue(value);\n\t};\n\n\tconst handleVisibleChange = (visible: boolean) => {\n\t\tsetActive(visible);\n\n\t\tif (!filter) return;\n\n\t\tstate.filterValue = \"\";\n\t};\n\n\tconst handleHelperClick = (e) => {\n\t\te.stopPropagation();\n\t\tsetActive(true);\n\t\tif (!active) return;\n\n\t\tchangeValue(multiple ? [] : \"\");\n\t};\n\n\tconst handleFilterChange = debounce(\n\t\t{ delay: 400 },\n\t\t(e: ChangeEvent<HTMLInputElement>) => {\n\t\t\tconst v = e.target.value;\n\t\t\tstate.filterValue = v;\n\t\t}\n\t);\n\n\tconst handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tstate.filterValue = e.target.value;\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst hasValue = multiple\n\t\t? (state.value as any[]).length > 0\n\t\t: !!state.value;\n\tconst clearable = !hideClear && active && hasValue;\n\tconst text = message ?? tip;\n\n\treturn (\n\t\t<label\n\t\t\tclassName={classNames(\"i-input-label\", className, {\n\t\t\t\t\"i-input-inline\": labelInline,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{label && <span className='i-input-label-text'>{label}</span>}\n\n\t\t\t<Popup\n\t\t\t\tposition='bottom'\n\t\t\t\tarrow={false}\n\t\t\t\tfitSize\n\t\t\t\t{...popupProps}\n\t\t\t\tvisible={active}\n\t\t\t\ttrigger='none'\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tcontent={\n\t\t\t\t\t<Options\n\t\t\t\t\t\toptions={filterOptions}\n\t\t\t\t\t\tvalue={state.value}\n\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\tfilter={!!filter}\n\t\t\t\t\t\tfilterPlaceholder={filterPlaceholder}\n\t\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\t\tonFilter={handleFilterChange}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t\t\t\"i-input-focus\": active,\n\t\t\t\t\t})}\n\t\t\t\t\tonClick={() => setActive(true)}\n\t\t\t\t>\n\t\t\t\t\t{prepend}\n\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\ttype='hidden'\n\t\t\t\t\t\tvalue={state.value}\n\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{multiple ? (\n\t\t\t\t\t\thasValue ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-input i-select\", {\n\t\t\t\t\t\t\t\t\t\"i-select-multiple\": multiple,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{displayValue({\n\t\t\t\t\t\t\t\t\toptions: formattedOptions,\n\t\t\t\t\t\t\t\t\tvalue: state.value,\n\t\t\t\t\t\t\t\t\tmultiple,\n\t\t\t\t\t\t\t\t\tmaxDisplay,\n\t\t\t\t\t\t\t\t\tonSelect: handleSelect,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclassName='i-input i-select'\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{!multiple && (\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tvalue={active ? state.filterValue : state.value}\n\t\t\t\t\t\t\tclassName='i-input i-select'\n\t\t\t\t\t\t\tplaceholder={state.value || placeholder}\n\t\t\t\t\t\t\tonChange={handleInputChange}\n\t\t\t\t\t\t\treadOnly={!filter}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive={!hideArrow}\n\t\t\t\t\t\ticon={clearable ? undefined : <UnfoldMoreRound />}\n\t\t\t\t\t\tonClick={handleHelperClick}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{append}\n\t\t\t\t</div>\n\t\t\t</Popup>\n\n\t\t\t{text && <span className='i-input-message'>{text}</span>}\n\t\t</label>\n\t);\n};\n\nexport default Select;\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"divider.js","sources":["../../../../packages/components/step/divider.tsx"],"sourcesContent":["import \"./index.css\";\n\nexport default function Divider() {\n\treturn <i className='i-step-divider' />;\n}\n"],"names":["_jsx"],"mappings":";;AAEc,SAAU,OAAO,GAAA;AAC9B,IAAA,OAAOA,GAAG,CAAA,GAAA,EAAA,EAAA,SAAS,EAAC,gBAAgB,GAAG;AACxC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { CheckRound } from '@ricons/material';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import Divider from './divider.js';
|
|
5
|
+
|
|
6
|
+
const STATUS = ["finished", "active", "pending"];
|
|
7
|
+
function defaultRenderIcon(i, status) {
|
|
8
|
+
return (jsx("span", { className: 'i-step-item-index', children: status === "finished" ? (jsx(CheckRound, { style: { width: "1em", height: "1.5em" } })) : (i + 1) }));
|
|
9
|
+
}
|
|
10
|
+
function Item(props) {
|
|
11
|
+
const { index = 0, active = 0, renderIcon = defaultRenderIcon, title, vertical, line = jsx(Divider, {}), asList, style, className, children, onClick, } = props;
|
|
12
|
+
const status = STATUS[index === active ? 1 : index < active ? 0 : 2];
|
|
13
|
+
const handleClick = () => {
|
|
14
|
+
onClick?.(index);
|
|
15
|
+
};
|
|
16
|
+
return (jsx("div", { style: style, className: classNames("i-step-item", {
|
|
17
|
+
[`i-step-item-${status}`]: !asList,
|
|
18
|
+
}, className), onClick: handleClick, children: vertical ? (jsxs(Fragment, { children: [jsxs("div", { className: 'i-step-item-left', children: [renderIcon?.(index, status), line] }), jsxs("div", { className: 'i-step-item-right', children: [jsx("div", { className: 'i-step-item-title', children: title }), children && (jsx("div", { className: 'i-step-item-content', children: children }))] })] })) : (jsxs(Fragment, { children: [jsxs("div", { className: 'i-step-item-title', children: [renderIcon?.(index, status), jsx("span", { children: title }), line] }), children && (jsx("div", { className: 'i-step-item-content', children: children }))] })) }));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { Item as default };
|
|
22
|
+
//# sourceMappingURL=item.js.map
|