@ioca/react 1.3.3 → 1.3.5
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/picker/type.d.ts +2 -2
- package/lib/types/js/usePreview/type.d.ts +2 -11
- 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":"editor.js","sources":["../../../../packages/components/editor/editor.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useImperativeHandle, useRef } from \"react\";\nimport xss from \"xss\";\nimport { IButton } from \"../button/type\";\nimport getControls, { exec, xssOptions } from \"./controls\";\nimport \"./index.css\";\nimport { IEditor } from \"./type\";\n\nconst Editor = (props: IEditor) => {\n\tconst {\n\t\tref,\n\t\twidth,\n\t\theight = \"10em\",\n\t\tplaceholder,\n\t\tautosize,\n\t\tborder = true,\n\t\trichPaste,\n\t\tcontrols = \"simple\",\n\t\tclassName,\n\t\tstyle,\n\t\tonInput,\n\t\tonPaste,\n\t\tonKeyDown,\n\t\t...restProps\n\t} = props;\n\tconst editorRef = useRef<HTMLDivElement>(null);\n\tconst controlBtnProps: IButton = {\n\t\tsquare: true,\n\t\tflat: true,\n\t\tsize: \"small\",\n\t};\n\n\tconst handlePaste = async (e) => {\n\t\tonPaste?.(e);\n\n\t\tif (richPaste) return;\n\t\te.preventDefault();\n\t\tconst text = e.clipboardData.getData(\"text/plain\");\n\t\texec(\"insertText\", false, text);\n\t};\n\n\tconst handleKeyDown = (e) => {\n\t\tonKeyDown?.(e);\n\n\t\tswitch (e.key) {\n\t\t\tcase \"Tab\":\n\t\t\t\te.preventDefault();\n\t\t\t\texec(\"insertHTML\", false, \"	\");\n\t\t\t\tbreak;\n\t\t\tcase \"Enter\":\n\t\t\t\te.preventDefault();\n\t\t\t\texec(\"insertLineBreak\");\n\n\t\t\t\tif (!editorRef.current) return;\n\t\t\t\teditorRef.current.scrollBy({\n\t\t\t\t\ttop: 20,\n\t\t\t\t\tleft: -1000,\n\t\t\t\t});\n\n\t\t\t\tif (!autosize) return;\n\t\t\t\teditorRef.current.style.height = `${editorRef.current.scrollHeight}px`;\n\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tuseImperativeHandle(ref, () => {\n\t\treturn {\n\t\t\tsetValue(html) {\n\t\t\t\tif (!editorRef.current) return;\n\t\t\t\tconst safeHtml = xss(html, xssOptions);\n\n\t\t\t\teditorRef.current.innerHTML = safeHtml;\n\t\t\t},\n\t\t\tgetSafeValue() {\n\t\t\t\tconst html = editorRef.current?.innerHTML ?? \"\";\n\n\t\t\t\treturn xss(html, xssOptions);\n\t\t\t},\n\t\t};\n\t});\n\n\tconst handleInput = (e) => {\n\t\tlet html = editorRef.current?.innerHTML ?? \"\";\n\n\t\tif ([\"<br>\", \"\\n\"].includes(html) && editorRef.current) {\n\t\t\thtml = \"\";\n\t\t\teditorRef.current.innerHTML = html;\n\t\t}\n\n\t\tonInput?.(html, e);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-editor\", className, {\n\t\t\t\t\"i-editor-borderless\": !border,\n\t\t\t})}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\t[autosize ? \"minHeight\" : \"height\"]: height,\n\t\t\t\twidth,\n\t\t\t}}\n\t\t>\n\t\t\t{controls !== \"none\" && (\n\t\t\t\t<div className='i-editor-controls'>\n\t\t\t\t\t{getControls(controls, {\n\t\t\t\t\t\tcontrolBtnProps,\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<div\n\t\t\t\tref={editorRef}\n\t\t\t\tclassName='i-editor-content'\n\t\t\t\tdata-placeholder={placeholder}\n\t\t\t\tcontentEditable\n\t\t\t\tonPaste={handlePaste}\n\t\t\t\tonInput={handleInput}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t{...restProps}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default Editor;\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,28 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
|
|
5
|
+
const Flex = (props) => {
|
|
6
|
+
const { as: Component = "div", align, justify, direction, wrap, gap, columns, className, style, ...restProps } = props;
|
|
7
|
+
const gridColumns = useMemo(() => {
|
|
8
|
+
if (!columns)
|
|
9
|
+
return;
|
|
10
|
+
if (typeof columns === "number")
|
|
11
|
+
return `repeat(${columns}, 1fr)`;
|
|
12
|
+
return columns;
|
|
13
|
+
}, [columns]);
|
|
14
|
+
return (jsx(Component, { ...restProps, style: {
|
|
15
|
+
alignItems: align,
|
|
16
|
+
justifyContent: justify,
|
|
17
|
+
gap,
|
|
18
|
+
flexDirection: direction,
|
|
19
|
+
flexWrap: wrap === true ? "wrap" : wrap,
|
|
20
|
+
gridTemplateColumns: gridColumns,
|
|
21
|
+
...style,
|
|
22
|
+
}, className: classNames(className, {
|
|
23
|
+
[columns ? "grid" : "flex"]: true,
|
|
24
|
+
}) }));
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export { Flex as default };
|
|
28
|
+
//# sourceMappingURL=flex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flex.js","sources":["../../../../packages/components/flex/flex.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useMemo } from \"react\";\nimport \"./index.css\";\nimport { IFlex } from \"./type\";\n\nconst Flex: React.FC<IFlex> = (props: IFlex) => {\n\tconst {\n\t\tas: Component = \"div\" as any,\n\t\talign,\n\t\tjustify,\n\t\tdirection,\n\t\twrap,\n\t\tgap,\n\t\tcolumns,\n\t\tclassName,\n\t\tstyle,\n\t\t...restProps\n\t} = props;\n\n\tconst gridColumns = useMemo(() => {\n\t\tif (!columns) return;\n\n\t\tif (typeof columns === \"number\") return `repeat(${columns}, 1fr)`;\n\n\t\treturn columns;\n\t}, [columns]);\n\n\treturn (\n\t\t<Component\n\t\t\t{...restProps}\n\t\t\tstyle={{\n\t\t\t\talignItems: align,\n\t\t\t\tjustifyContent: justify,\n\t\t\t\tgap,\n\t\t\t\tflexDirection: direction,\n\t\t\t\tflexWrap: wrap === true ? \"wrap\" : wrap,\n\t\t\t\tgridTemplateColumns: gridColumns as any,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t\tclassName={classNames(className, {\n\t\t\t\t[columns ? \"grid\" : \"flex\"]: true,\n\t\t\t})}\n\t\t/>\n\t);\n};\n\nexport default Flex;\n"],"names":["_jsx"],"mappings":";;;;AAKA,MAAM,IAAI,GAAoB,CAAC,KAAY,KAAI;AAC9C,IAAA,MAAM,EACL,EAAE,EAAE,SAAS,GAAG,KAAY,EAC5B,KAAK,EACL,OAAO,EACP,SAAS,EACT,IAAI,EACJ,GAAG,EACH,OAAO,EACP,SAAS,EACT,KAAK,EACL,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,WAAW,GAAG,OAAO,CAAC,MAAK;AAChC,QAAA,IAAI,CAAC,OAAO;YAAE;QAEd,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,CAAA,OAAA,EAAU,OAAO,CAAA,MAAA,CAAQ;AAEjE,QAAA,OAAO,OAAO;AACf,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,QACCA,GAAC,CAAA,SAAS,OACL,SAAS,EACb,KAAK,EAAE;AACN,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,cAAc,EAAE,OAAO;YACvB,GAAG;AACH,YAAA,aAAa,EAAE,SAAS;YACxB,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI;AACvC,YAAA,mBAAmB,EAAE,WAAkB;AACvC,YAAA,GAAG,KAAK;AACR,SAAA,EACD,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YAChC,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;SACjC,CAAC,EAAA,CACD;AAEJ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../../packages/components/form/context.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport { IFormInstance } from \"./useForm\";\n\nconst Context = createContext({} as IFormInstance);\n\nexport default Context;\n"],"names":[],"mappings":";;AAGA,MAAM,OAAO,GAAG,aAAa,CAAC,EAAmB;;;;"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { useReactive } from 'ahooks';
|
|
2
|
+
import PubSub from 'pubsub-js';
|
|
3
|
+
import { useContext, useMemo, Children, isValidElement, cloneElement, useEffect } from 'react';
|
|
4
|
+
import Context from './context.js';
|
|
5
|
+
|
|
6
|
+
function Field(props) {
|
|
7
|
+
const { name, required, children } = props;
|
|
8
|
+
const state = useReactive({
|
|
9
|
+
value: undefined,
|
|
10
|
+
status: "normal",
|
|
11
|
+
message: undefined,
|
|
12
|
+
update: 0,
|
|
13
|
+
});
|
|
14
|
+
const form = useContext(Context);
|
|
15
|
+
const { id } = form;
|
|
16
|
+
const handleChange = (v) => {
|
|
17
|
+
if (!name)
|
|
18
|
+
return;
|
|
19
|
+
form.set(name, v);
|
|
20
|
+
PubSub.publish(`${id}:change`, {
|
|
21
|
+
name,
|
|
22
|
+
value: v,
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
const hijackChildren = useMemo(() => {
|
|
26
|
+
return Children.map(children, (node) => {
|
|
27
|
+
if (!isValidElement(node))
|
|
28
|
+
return null;
|
|
29
|
+
const { onChange } = node.props;
|
|
30
|
+
const { value, status, message } = state;
|
|
31
|
+
return cloneElement(node, {
|
|
32
|
+
value,
|
|
33
|
+
status,
|
|
34
|
+
message,
|
|
35
|
+
required,
|
|
36
|
+
onChange: (...args) => {
|
|
37
|
+
handleChange(args[0]);
|
|
38
|
+
onChange?.(...args);
|
|
39
|
+
Object.assign(state, {
|
|
40
|
+
status: "normal",
|
|
41
|
+
message: undefined,
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}, [children, state.update]);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (!name)
|
|
49
|
+
return;
|
|
50
|
+
PubSub.subscribe(`${id}:set:${name}`, (evt, v) => {
|
|
51
|
+
state.value = v;
|
|
52
|
+
state.update += 1;
|
|
53
|
+
});
|
|
54
|
+
PubSub.subscribe(`${id}:invalid:${name}`, (evt, v) => {
|
|
55
|
+
Object.assign(state, v);
|
|
56
|
+
state.update += 1;
|
|
57
|
+
});
|
|
58
|
+
Promise.resolve().then(() => {
|
|
59
|
+
form.set(name, form.cacheData[name] ?? undefined);
|
|
60
|
+
});
|
|
61
|
+
return () => {
|
|
62
|
+
PubSub.unsubscribe(`${id}:set:${name}`);
|
|
63
|
+
PubSub.unsubscribe(`${id}:invalid:${name}`);
|
|
64
|
+
form.delete(name);
|
|
65
|
+
};
|
|
66
|
+
}, [name, children]);
|
|
67
|
+
if (!name)
|
|
68
|
+
return children;
|
|
69
|
+
return hijackChildren;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export { Field as default };
|
|
73
|
+
//# sourceMappingURL=field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.js","sources":["../../../../packages/components/form/field.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport PubSub from \"pubsub-js\";\nimport {\n\tChildren,\n\tcloneElement,\n\tisValidElement,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n} from \"react\";\nimport Context from \"./context\";\nimport { IField } from \"./type\";\n\nfunction Field(props: IField) {\n\tconst { name, required, children } = props;\n\tconst state = useReactive({\n\t\tvalue: undefined,\n\t\tstatus: \"normal\",\n\t\tmessage: undefined,\n\t\tupdate: 0,\n\t});\n\tconst form = useContext(Context);\n\tconst { id } = form;\n\n\tconst handleChange = (v) => {\n\t\tif (!name) return;\n\n\t\tform.set(name, v);\n\t\tPubSub.publish(`${id}:change`, {\n\t\t\tname,\n\t\t\tvalue: v,\n\t\t});\n\t};\n\n\tconst hijackChildren = useMemo(() => {\n\t\treturn Children.map(children, (node) => {\n\t\t\tif (!isValidElement(node)) return null;\n\n\t\t\tconst { onChange } = node.props as any;\n\t\t\tconst { value, status, message } = state;\n\n\t\t\treturn cloneElement(node, {\n\t\t\t\tvalue,\n\t\t\t\tstatus,\n\t\t\t\tmessage,\n\t\t\t\trequired,\n\t\t\t\tonChange: (...args) => {\n\t\t\t\t\thandleChange(args[0]);\n\t\t\t\t\tonChange?.(...args);\n\t\t\t\t\tObject.assign(state, {\n\t\t\t\t\t\tstatus: \"normal\",\n\t\t\t\t\t\tmessage: undefined,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t} as any);\n\t\t});\n\t}, [children, state.update]);\n\n\tuseEffect(() => {\n\t\tif (!name) return;\n\n\t\tPubSub.subscribe(`${id}:set:${name}`, (evt, v) => {\n\t\t\tstate.value = v;\n\t\t\tstate.update += 1;\n\t\t});\n\t\tPubSub.subscribe(`${id}:invalid:${name}`, (evt, v) => {\n\t\t\tObject.assign(state, v);\n\t\t\tstate.update += 1;\n\t\t});\n\n\t\tPromise.resolve().then(() => {\n\t\t\tform.set(name, form.cacheData[name] ?? undefined);\n\t\t});\n\n\t\treturn () => {\n\t\t\tPubSub.unsubscribe(`${id}:set:${name}`);\n\t\t\tPubSub.unsubscribe(`${id}:invalid:${name}`);\n\t\t\tform.delete(name);\n\t\t};\n\t}, [name, children]);\n\n\tif (!name) return children;\n\n\treturn hijackChildren;\n}\n\nexport default Field;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import PubSub from 'pubsub-js';
|
|
4
|
+
import { useMemo, useEffect } from 'react';
|
|
5
|
+
import Context from './context.js';
|
|
6
|
+
import Field from './field.js';
|
|
7
|
+
import useForm from './useForm.js';
|
|
8
|
+
|
|
9
|
+
const Form = (props) => {
|
|
10
|
+
const { form = {}, rules, initialValues, style, className, width, columns = 1, gap = "1em", labelInline, labelWidth, labelRight, children, onKeyDown, onEnter, onChange, ...restProps } = props;
|
|
11
|
+
const handleKeyDown = (e) => {
|
|
12
|
+
onKeyDown?.(e);
|
|
13
|
+
if (e.keyCode !== 13)
|
|
14
|
+
return;
|
|
15
|
+
onEnter?.(form.data, form);
|
|
16
|
+
};
|
|
17
|
+
const gridColumns = useMemo(() => {
|
|
18
|
+
if (!columns)
|
|
19
|
+
return;
|
|
20
|
+
if (typeof columns === "number")
|
|
21
|
+
return `minmax(0, 1fr) `.repeat(columns);
|
|
22
|
+
return columns;
|
|
23
|
+
}, [columns]);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
Object.assign(form, {
|
|
26
|
+
data: { ...initialValues },
|
|
27
|
+
rules,
|
|
28
|
+
});
|
|
29
|
+
}, [form]);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
PubSub.subscribe(`${form.id}:change`, (evt, v) => {
|
|
32
|
+
onChange?.(v.name, v.value);
|
|
33
|
+
});
|
|
34
|
+
return () => {
|
|
35
|
+
PubSub.unsubscribe(`${form.id}:change`);
|
|
36
|
+
};
|
|
37
|
+
}, []);
|
|
38
|
+
return (jsx(Context, { value: form, children: jsx("form", { style: {
|
|
39
|
+
...style,
|
|
40
|
+
width,
|
|
41
|
+
gap,
|
|
42
|
+
gridTemplateColumns: gridColumns,
|
|
43
|
+
"--label-width": labelWidth,
|
|
44
|
+
"--label-align": labelRight ? "right" : undefined,
|
|
45
|
+
}, className: classNames("i-form", className, {
|
|
46
|
+
"i-form-inline": labelInline,
|
|
47
|
+
}), onKeyDown: handleKeyDown, ...restProps, children: children }) }));
|
|
48
|
+
};
|
|
49
|
+
Form.useForm = useForm;
|
|
50
|
+
Form.Field = Field;
|
|
51
|
+
|
|
52
|
+
export { Form as default };
|
|
53
|
+
//# sourceMappingURL=form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.js","sources":["../../../../packages/components/form/form.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport PubSub from \"pubsub-js\";\nimport { CSSProperties, useEffect, useMemo } from \"react\";\nimport Context from \"./context\";\nimport Field from \"./field\";\nimport \"./index.css\";\nimport { IForm } from \"./type\";\nimport useForm, { IFormInstance } from \"./useForm\";\n\nconst Form = (props: IForm) => {\n\tconst {\n\t\tform = {} as IFormInstance,\n\t\trules,\n\t\tinitialValues,\n\t\tstyle,\n\t\tclassName,\n\t\twidth,\n\t\tcolumns = 1,\n\t\tgap = \"1em\",\n\t\tlabelInline,\n\t\tlabelWidth,\n\t\tlabelRight,\n\t\tchildren,\n\t\tonKeyDown,\n\t\tonEnter,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst handleKeyDown = (e) => {\n\t\tonKeyDown?.(e);\n\n\t\tif (e.keyCode !== 13) return;\n\n\t\tonEnter?.(form.data, form);\n\t};\n\n\tconst gridColumns = useMemo(() => {\n\t\tif (!columns) return;\n\n\t\tif (typeof columns === \"number\")\n\t\t\treturn `minmax(0, 1fr) `.repeat(columns);\n\n\t\treturn columns;\n\t}, [columns]);\n\n\tuseEffect(() => {\n\t\tObject.assign(form, {\n\t\t\tdata: { ...initialValues },\n\t\t\trules,\n\t\t});\n\t}, [form]);\n\n\tuseEffect(() => {\n\t\tPubSub.subscribe(`${form.id}:change`, (evt, v) => {\n\t\t\tonChange?.(v.name, v.value);\n\t\t});\n\n\t\treturn () => {\n\t\t\tPubSub.unsubscribe(`${form.id}:change`);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<Context value={form}>\n\t\t\t<form\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t...style,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tgap,\n\t\t\t\t\t\tgridTemplateColumns: gridColumns as any,\n\t\t\t\t\t\t\"--label-width\": labelWidth,\n\t\t\t\t\t\t\"--label-align\": labelRight ? \"right\" : undefined,\n\t\t\t\t\t} as CSSProperties\n\t\t\t\t}\n\t\t\t\tclassName={classNames(\"i-form\", className, {\n\t\t\t\t\t\"i-form-inline\": labelInline,\n\t\t\t\t})}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t{...restProps}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</form>\n\t\t</Context>\n\t);\n};\n\nForm.useForm = useForm;\nForm.Field = Field;\n\nexport default Form;\n"],"names":["_jsx"],"mappings":";;;;;;;;AASA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EACL,IAAI,GAAG,EAAmB,EAC1B,KAAK,EACL,aAAa,EACb,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,GAAG,CAAC,EACX,GAAG,GAAG,KAAK,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAI;AAC3B,QAAA,SAAS,GAAG,CAAC,CAAC;AAEd,QAAA,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;YAAE;QAEtB,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAC3B,KAAC;AAED,IAAA,MAAM,WAAW,GAAG,OAAO,CAAC,MAAK;AAChC,QAAA,IAAI,CAAC,OAAO;YAAE;QAEd,IAAI,OAAO,OAAO,KAAK,QAAQ;AAC9B,YAAA,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC;AAEzC,QAAA,OAAO,OAAO;AACf,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEb,SAAS,CAAC,MAAK;AACd,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACnB,YAAA,IAAI,EAAE,EAAE,GAAG,aAAa,EAAE;YAC1B,KAAK;AACL,SAAA,CAAC;AACH,KAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEV,SAAS,CAAC,MAAK;AACd,QAAA,MAAM,CAAC,SAAS,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAS,OAAA,CAAA,EAAE,CAAC,GAAG,EAAE,CAAC,KAAI;YAChD,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;AAC5B,SAAC,CAAC;AAEF,QAAA,OAAO,MAAK;YACX,MAAM,CAAC,WAAW,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAS,OAAA,CAAA,CAAC;AACxC,SAAC;KACD,EAAE,EAAE,CAAC;IAEN,QACCA,GAAC,CAAA,OAAO,EAAC,EAAA,KAAK,EAAE,IAAI,EAAA,QAAA,EACnBA,GACC,CAAA,MAAA,EAAA,EAAA,KAAK,EACJ;AACC,gBAAA,GAAG,KAAK;gBACR,KAAK;gBACL,GAAG;AACH,gBAAA,mBAAmB,EAAE,WAAkB;AACvC,gBAAA,eAAe,EAAE,UAAU;gBAC3B,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS;AAChC,aAAA,EAEnB,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE;AAC1C,gBAAA,eAAe,EAAE,WAAW;aAC5B,CAAC,EACF,SAAS,EAAE,aAAa,EAAA,GACpB,SAAS,EAAA,QAAA,EAEZ,QAAQ,EAAA,CACH,EACE,CAAA;AAEZ;AAEA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,IAAI,CAAC,KAAK,GAAG,KAAK;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import PubSub from 'pubsub-js';
|
|
2
|
+
import { uid } from 'radash';
|
|
3
|
+
import { useRef } from 'react';
|
|
4
|
+
|
|
5
|
+
class IFormInstance {
|
|
6
|
+
id;
|
|
7
|
+
data = {};
|
|
8
|
+
cacheData = {};
|
|
9
|
+
rules = {};
|
|
10
|
+
constructor() {
|
|
11
|
+
this.id = uid(8);
|
|
12
|
+
this.data = {};
|
|
13
|
+
}
|
|
14
|
+
get(field) {
|
|
15
|
+
return field ? this.data[field] : this.data;
|
|
16
|
+
}
|
|
17
|
+
set(field, value) {
|
|
18
|
+
const id = this.id;
|
|
19
|
+
if (!this.data)
|
|
20
|
+
return;
|
|
21
|
+
if (typeof field === "string") {
|
|
22
|
+
this.data[field] = value;
|
|
23
|
+
this.cacheData[field] = value;
|
|
24
|
+
PubSub.publish(`${id}:set:${field}`, value);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
Object.keys(field).map((name) => {
|
|
28
|
+
this.data[name] = field[name];
|
|
29
|
+
this.cacheData[name] = field[name];
|
|
30
|
+
PubSub.publish(`${id}:set:${name}`, field[name]);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
delete(field) {
|
|
34
|
+
delete this.data[field];
|
|
35
|
+
}
|
|
36
|
+
clear() {
|
|
37
|
+
if (!this.data)
|
|
38
|
+
return;
|
|
39
|
+
this.cacheData = {};
|
|
40
|
+
Object.keys(this.data).map((name) => {
|
|
41
|
+
PubSub.publish(`${this.id}:set:${name}`, undefined);
|
|
42
|
+
this.data[name] = undefined;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
async validate(field) {
|
|
46
|
+
const { id, rules, data } = this;
|
|
47
|
+
if (!rules)
|
|
48
|
+
return data;
|
|
49
|
+
if (field) {
|
|
50
|
+
const o = rules[field];
|
|
51
|
+
const rule = {
|
|
52
|
+
validator: (v) => Array.isArray(v)
|
|
53
|
+
? v.length > 0
|
|
54
|
+
: ![undefined, null, ""].includes(v),
|
|
55
|
+
message: undefined,
|
|
56
|
+
};
|
|
57
|
+
if (typeof o === "function") {
|
|
58
|
+
rule.validator = o;
|
|
59
|
+
}
|
|
60
|
+
else if (o === true) {
|
|
61
|
+
rule.message = "required";
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
Object.assign(rule, o);
|
|
65
|
+
}
|
|
66
|
+
const isValid = rule.validator?.(data[field], this);
|
|
67
|
+
if (!isValid) {
|
|
68
|
+
PubSub.publish(`${id}:invalid:${field}`, {
|
|
69
|
+
message: rule.message,
|
|
70
|
+
status: "error",
|
|
71
|
+
});
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
PubSub.publish(`${id}:invalid:${name}`, {
|
|
75
|
+
message: null,
|
|
76
|
+
status: "normal",
|
|
77
|
+
});
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
let isAllValid = true;
|
|
81
|
+
Object.keys(data).map((name) => {
|
|
82
|
+
const o = rules[name];
|
|
83
|
+
if (o === undefined)
|
|
84
|
+
return;
|
|
85
|
+
const rule = {
|
|
86
|
+
validator: (v) => (Array.isArray(v) ? v.length > 0 : !!v),
|
|
87
|
+
message: undefined,
|
|
88
|
+
};
|
|
89
|
+
if (typeof o === "function") {
|
|
90
|
+
rule.validator = o;
|
|
91
|
+
}
|
|
92
|
+
else if (o === true) {
|
|
93
|
+
rule.message = "required";
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
Object.assign(rule, o);
|
|
97
|
+
}
|
|
98
|
+
const isValid = rule.validator?.(data[name], this);
|
|
99
|
+
if (!isValid) {
|
|
100
|
+
PubSub.publish(`${id}:invalid:${name}`, {
|
|
101
|
+
message: rule.message,
|
|
102
|
+
status: "error",
|
|
103
|
+
});
|
|
104
|
+
isAllValid = false;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
PubSub.publish(`${id}:invalid:${name}`, {
|
|
108
|
+
message: null,
|
|
109
|
+
status: "normal",
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
return isAllValid ? Promise.resolve(data) : false;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function useForm(form) {
|
|
117
|
+
const formRef = useRef(null);
|
|
118
|
+
if (!formRef.current) {
|
|
119
|
+
formRef.current = form ?? new IFormInstance();
|
|
120
|
+
}
|
|
121
|
+
return formRef.current;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export { IFormInstance, useForm as default };
|
|
125
|
+
//# sourceMappingURL=useForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useForm.js","sources":["../../../../packages/components/form/useForm.ts"],"sourcesContent":["import PubSub from \"pubsub-js\";\nimport { uid } from \"radash\";\nimport { useRef } from \"react\";\nimport { IForm, TRule } from \"./type\";\n\nexport class IFormInstance {\n\treadonly id?: string;\n\tdata: Record<string, any> = {};\n\tcacheData: Record<string, any> = {};\n\trules?: Pick<IForm, \"rules\"> = {};\n\n\tconstructor() {\n\t\tthis.id = uid(8);\n\t\tthis.data = {};\n\t}\n\n\tget(field?: string) {\n\t\treturn field ? this.data[field] : this.data;\n\t}\n\n\tset(field: any, value?: any) {\n\t\tconst id = this.id;\n\t\tif (!this.data) return;\n\n\t\tif (typeof field === \"string\") {\n\t\t\tthis.data[field] = value;\n\t\t\tthis.cacheData[field] = value;\n\t\t\tPubSub.publish(`${id}:set:${field}`, value);\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys(field).map((name) => {\n\t\t\tthis.data[name] = field[name];\n\t\t\tthis.cacheData[name] = field[name];\n\t\t\tPubSub.publish(`${id}:set:${name}`, field[name]);\n\t\t});\n\t}\n\n\tdelete(field) {\n\t\tdelete this.data[field];\n\t}\n\n\tclear() {\n\t\tif (!this.data) return;\n\t\tthis.cacheData = {};\n\n\t\tObject.keys(this.data).map((name) => {\n\t\t\tPubSub.publish(`${this.id}:set:${name}`, undefined);\n\t\t\tthis.data[name] = undefined;\n\t\t});\n\t}\n\n\tasync validate(field?: string) {\n\t\tconst { id, rules, data } = this;\n\t\tif (!rules) return data;\n\n\t\tif (field) {\n\t\t\tconst o = rules[field];\n\t\t\tconst rule: TRule = {\n\t\t\t\tvalidator: (v) =>\n\t\t\t\t\tArray.isArray(v)\n\t\t\t\t\t\t? v.length > 0\n\t\t\t\t\t\t: ![undefined, null, \"\"].includes(v),\n\t\t\t\tmessage: undefined,\n\t\t\t};\n\n\t\t\tif (typeof o === \"function\") {\n\t\t\t\trule.validator = o;\n\t\t\t} else if (o === true) {\n\t\t\t\trule.message = \"required\";\n\t\t\t} else {\n\t\t\t\tObject.assign(rule, o);\n\t\t\t}\n\n\t\t\tconst isValid = rule.validator?.(data[field], this);\n\n\t\t\tif (!isValid) {\n\t\t\t\tPubSub.publish(`${id}:invalid:${field}`, {\n\t\t\t\t\tmessage: rule.message,\n\t\t\t\t\tstatus: \"error\",\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tPubSub.publish(`${id}:invalid:${name}`, {\n\t\t\t\tmessage: null,\n\t\t\t\tstatus: \"normal\",\n\t\t\t});\n\t\t\treturn true;\n\t\t}\n\n\t\tlet isAllValid = true;\n\n\t\tObject.keys(data).map((name) => {\n\t\t\tconst o = rules[name];\n\t\t\tif (o === undefined) return;\n\n\t\t\tconst rule: TRule = {\n\t\t\t\tvalidator: (v) => (Array.isArray(v) ? v.length > 0 : !!v),\n\t\t\t\tmessage: undefined,\n\t\t\t};\n\n\t\t\tif (typeof o === \"function\") {\n\t\t\t\trule.validator = o;\n\t\t\t} else if (o === true) {\n\t\t\t\trule.message = \"required\";\n\t\t\t} else {\n\t\t\t\tObject.assign(rule, o);\n\t\t\t}\n\n\t\t\tconst isValid = rule.validator?.(data[name], this);\n\n\t\t\tif (!isValid) {\n\t\t\t\tPubSub.publish(`${id}:invalid:${name}`, {\n\t\t\t\t\tmessage: rule.message,\n\t\t\t\t\tstatus: \"error\",\n\t\t\t\t});\n\t\t\t\tisAllValid = false;\n\t\t\t} else {\n\t\t\t\tPubSub.publish(`${id}:invalid:${name}`, {\n\t\t\t\t\tmessage: null,\n\t\t\t\t\tstatus: \"normal\",\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn isAllValid ? Promise.resolve(data) : false;\n\t}\n}\n\nexport default function useForm(form?: IFormInstance) {\n\tconst formRef = useRef<IFormInstance>(null);\n\n\tif (!formRef.current) {\n\t\tformRef.current = form ?? new IFormInstance();\n\t}\n\n\treturn formRef.current;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
2
|
+
import { isValidElement, cloneElement } from 'react';
|
|
3
|
+
|
|
4
|
+
const Icon = (props) => {
|
|
5
|
+
const { ref, icon, size = "1.425em", rotate, style, className, ...restProps } = props;
|
|
6
|
+
if (!isValidElement(icon))
|
|
7
|
+
return icon;
|
|
8
|
+
const iconProps = {
|
|
9
|
+
ref,
|
|
10
|
+
style: {
|
|
11
|
+
transform: rotate ? `rotate(${rotate}deg)` : undefined,
|
|
12
|
+
...style,
|
|
13
|
+
width: size,
|
|
14
|
+
height: size,
|
|
15
|
+
},
|
|
16
|
+
className: classNames("i-icon", className),
|
|
17
|
+
...restProps,
|
|
18
|
+
};
|
|
19
|
+
return cloneElement(icon, iconProps);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { Icon as default };
|
|
23
|
+
//# sourceMappingURL=icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.js","sources":["../../../../packages/components/icon/icon.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { cloneElement, isValidElement } from \"react\";\nimport \"./index.css\";\nimport { IIcon } from \"./type\";\n\nconst Icon = (props: IIcon) => {\n\tconst {\n\t\tref,\n\t\ticon,\n\t\tsize = \"1.425em\",\n\t\trotate,\n\t\tstyle,\n\t\tclassName,\n\t\t...restProps\n\t} = props;\n\n\tif (!isValidElement(icon)) return icon;\n\n\tconst iconProps = {\n\t\tref,\n\t\tstyle: {\n\t\t\ttransform: rotate ? `rotate(${rotate}deg)` : undefined,\n\t\t\t...style,\n\t\t\twidth: size,\n\t\t\theight: size,\n\t\t},\n\t\tclassName: classNames(\"i-icon\", className),\n\t\t...restProps,\n\t};\n\n\treturn cloneElement(icon, iconProps);\n};\n\nexport default Icon;\n"],"names":[],"mappings":";;;AAKA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;IAC7B,MAAM,EACL,GAAG,EACH,IAAI,EACJ,IAAI,GAAG,SAAS,EAChB,MAAM,EACN,KAAK,EACL,SAAS,EACT,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;AAAE,QAAA,OAAO,IAAI;AAEtC,IAAA,MAAM,SAAS,GAAG;QACjB,GAAG;AACH,QAAA,KAAK,EAAE;YACN,SAAS,EAAE,MAAM,GAAG,CAAU,OAAA,EAAA,MAAM,CAAM,IAAA,CAAA,GAAG,SAAS;AACtD,YAAA,GAAG,KAAK;AACR,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,MAAM,EAAE,IAAI;AACZ,SAAA;AACD,QAAA,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;AAC1C,QAAA,GAAG,SAAS;KACZ;AAED,IAAA,OAAO,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC;AACrC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { HideImageTwotone } from '@ricons/material';
|
|
3
|
+
import { useReactive } from 'ahooks';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import { useRef, useEffect } from 'react';
|
|
6
|
+
import { useIntersectionObserver } from '../../js/hooks.js';
|
|
7
|
+
import usePreview from '../../js/usePreview/index.js';
|
|
8
|
+
import Icon from '../icon/icon.js';
|
|
9
|
+
import Loading from '../loading/loading.js';
|
|
10
|
+
|
|
11
|
+
const Image = (props) => {
|
|
12
|
+
const { src, round, size, initSize, lazyload, fallback = (jsx(Icon, { icon: jsx(HideImageTwotone, {}), size: '2em', className: 'color-5' })), fit, style, className, cover, coverClass, usePreview: previewable, onLoad, onError, onClick, ...restProps } = props;
|
|
13
|
+
const state = useReactive({
|
|
14
|
+
status: "loading",
|
|
15
|
+
});
|
|
16
|
+
const ref = useRef(null);
|
|
17
|
+
const wh = fit ? "100%" : undefined;
|
|
18
|
+
const { observe, unobserve } = useIntersectionObserver();
|
|
19
|
+
const preview = usePreview();
|
|
20
|
+
const handleError = (err) => {
|
|
21
|
+
onError?.(err);
|
|
22
|
+
state.status = "error";
|
|
23
|
+
};
|
|
24
|
+
const handleLoad = (e) => {
|
|
25
|
+
onLoad?.(e);
|
|
26
|
+
state.status = undefined;
|
|
27
|
+
};
|
|
28
|
+
const handleClick = (e) => {
|
|
29
|
+
onClick?.(e);
|
|
30
|
+
previewable &&
|
|
31
|
+
src &&
|
|
32
|
+
preview({
|
|
33
|
+
items: [
|
|
34
|
+
{
|
|
35
|
+
src,
|
|
36
|
+
type: "IMAGE",
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
if (!src)
|
|
43
|
+
return;
|
|
44
|
+
if (!ref.current?.complete) {
|
|
45
|
+
state.status = "loading";
|
|
46
|
+
}
|
|
47
|
+
if (!lazyload || !ref.current)
|
|
48
|
+
return;
|
|
49
|
+
observe(ref.current, (tar, visible) => {
|
|
50
|
+
if (!visible)
|
|
51
|
+
return;
|
|
52
|
+
tar.setAttribute("src", tar.dataset.src || "");
|
|
53
|
+
unobserve(tar);
|
|
54
|
+
});
|
|
55
|
+
return () => {
|
|
56
|
+
ref.current && unobserve(ref.current);
|
|
57
|
+
};
|
|
58
|
+
}, [src]);
|
|
59
|
+
restProps[lazyload ? "data-src" : "src"] = src;
|
|
60
|
+
const iSize = state.status === "loading" ? initSize : undefined;
|
|
61
|
+
return (jsx("div", { style: {
|
|
62
|
+
width: size ?? iSize,
|
|
63
|
+
height: size ?? iSize,
|
|
64
|
+
...style,
|
|
65
|
+
}, className: classNames("i-image", className, {
|
|
66
|
+
rounded: round,
|
|
67
|
+
[`i-image-${state.status}`]: state.status,
|
|
68
|
+
}), children: state.status === "error" ? (fallback) : (jsxs(Fragment, { children: [src && (jsx("img", { ref: ref, style: { objectFit: fit, width: wh, height: wh }, ...restProps, onLoad: handleLoad, onError: handleError, onClick: handleClick })), src && state.status === "loading" && jsx(Loading, { absolute: true }), cover && (jsx("div", { className: classNames("i-image-cover", coverClass), onClick: handleClick, children: cover }))] })) }));
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export { Image as default };
|
|
72
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.js","sources":["../../../../packages/components/image/image.tsx"],"sourcesContent":["import { HideImageTwotone } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { useEffect, useRef } from \"react\";\nimport { useIntersectionObserver } from \"../../js/hooks\";\nimport usePreview from \"../../js/usePreview\";\nimport Icon from \"../icon\";\nimport Loading from \"../loading\";\nimport \"./index.css\";\nimport type { CompositionImage, IImage } from \"./type\";\n\nconst Image = (props: IImage) => {\n\tconst {\n\t\tsrc,\n\t\tround,\n\t\tsize,\n\t\tinitSize,\n\t\tlazyload,\n\t\tfallback = (\n\t\t\t<Icon icon={<HideImageTwotone />} size='2em' className='color-5' />\n\t\t),\n\t\tfit,\n\t\tstyle,\n\t\tclassName,\n\t\tcover,\n\t\tcoverClass,\n\t\tusePreview: previewable,\n\t\tonLoad,\n\t\tonError,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive<{ status?: string }>({\n\t\tstatus: \"loading\",\n\t});\n\tconst ref = useRef<HTMLImageElement>(null);\n\tconst wh = fit ? \"100%\" : undefined;\n\n\tconst { observe, unobserve } = useIntersectionObserver();\n\tconst preview = usePreview();\n\n\tconst handleError = (err) => {\n\t\tonError?.(err);\n\t\tstate.status = \"error\";\n\t};\n\n\tconst handleLoad = (e) => {\n\t\tonLoad?.(e);\n\t\tstate.status = undefined;\n\t};\n\n\tconst handleClick = (e) => {\n\t\tonClick?.(e);\n\n\t\tpreviewable &&\n\t\t\tsrc &&\n\t\t\tpreview({\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\tsrc,\n\t\t\t\t\t\ttype: \"IMAGE\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (!src) return;\n\n\t\tif (!ref.current?.complete) {\n\t\t\tstate.status = \"loading\";\n\t\t}\n\n\t\tif (!lazyload || !ref.current) return;\n\n\t\tobserve(ref.current, (tar: HTMLElement, visible: boolean) => {\n\t\t\tif (!visible) return;\n\n\t\t\ttar.setAttribute(\"src\", tar.dataset.src || \"\");\n\t\t\tunobserve(tar);\n\t\t});\n\n\t\treturn () => {\n\t\t\tref.current && unobserve(ref.current);\n\t\t};\n\t}, [src]);\n\n\trestProps[lazyload ? \"data-src\" : \"src\"] = src;\n\tconst iSize = state.status === \"loading\" ? initSize : undefined;\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: size ?? iSize,\n\t\t\t\theight: size ?? iSize,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t\tclassName={classNames(\"i-image\", className, {\n\t\t\t\trounded: round,\n\t\t\t\t[`i-image-${state.status}`]: state.status,\n\t\t\t})}\n\t\t>\n\t\t\t{state.status === \"error\" ? (\n\t\t\t\tfallback\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t{src && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\tstyle={{ objectFit: fit, width: wh, height: wh }}\n\t\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t\t\tonLoad={handleLoad}\n\t\t\t\t\t\t\tonError={handleError}\n\t\t\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{src && state.status === \"loading\" && <Loading absolute />}\n\n\t\t\t\t\t{cover && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames(\"i-image-cover\", coverClass)}\n\t\t\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{cover}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default Image as CompositionImage;\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;AAWA,MAAM,KAAK,GAAG,CAAC,KAAa,KAAI;IAC/B,MAAM,EACL,GAAG,EACH,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,IACPA,GAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAEA,GAAC,CAAA,gBAAgB,EAAG,EAAA,CAAA,EAAE,IAAI,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAG,CAAA,CACnE,EACD,GAAG,EACH,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EACV,UAAU,EAAE,WAAW,EACvB,MAAM,EACN,OAAO,EACP,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;IAET,MAAM,KAAK,GAAG,WAAW,CAAsB;AAC9C,QAAA,MAAM,EAAE,SAAS;AACjB,KAAA,CAAC;AACF,IAAA,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC;IAC1C,MAAM,EAAE,GAAG,GAAG,GAAG,MAAM,GAAG,SAAS;IAEnC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,uBAAuB,EAAE;AACxD,IAAA,MAAM,OAAO,GAAG,UAAU,EAAE;AAE5B,IAAA,MAAM,WAAW,GAAG,CAAC,GAAG,KAAI;AAC3B,QAAA,OAAO,GAAG,GAAG,CAAC;AACd,QAAA,KAAK,CAAC,MAAM,GAAG,OAAO;AACvB,KAAC;AAED,IAAA,MAAM,UAAU,GAAG,CAAC,CAAC,KAAI;AACxB,QAAA,MAAM,GAAG,CAAC,CAAC;AACX,QAAA,KAAK,CAAC,MAAM,GAAG,SAAS;AACzB,KAAC;AAED,IAAA,MAAM,WAAW,GAAG,CAAC,CAAC,KAAI;AACzB,QAAA,OAAO,GAAG,CAAC,CAAC;QAEZ,WAAW;YACV,GAAG;AACH,YAAA,OAAO,CAAC;AACP,gBAAA,KAAK,EAAE;AACN,oBAAA;wBACC,GAAG;AACH,wBAAA,IAAI,EAAE,OAAO;AACb,qBAAA;AACD,iBAAA;AACD,aAAA,CAAC;AACJ,KAAC;IAED,SAAS,CAAC,MAAK;AACd,QAAA,IAAI,CAAC,GAAG;YAAE;AAEV,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE;AAC3B,YAAA,KAAK,CAAC,MAAM,GAAG,SAAS;;AAGzB,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;QAE/B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAgB,EAAE,OAAgB,KAAI;AAC3D,YAAA,IAAI,CAAC,OAAO;gBAAE;AAEd,YAAA,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;YAC9C,SAAS,CAAC,GAAG,CAAC;AACf,SAAC,CAAC;AAEF,QAAA,OAAO,MAAK;YACX,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;AACtC,SAAC;AACF,KAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAET,IAAA,SAAS,CAAC,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC,GAAG,GAAG;AAC9C,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,GAAG,QAAQ,GAAG,SAAS;IAE/D,QACCA,GACC,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;YACN,KAAK,EAAE,IAAI,IAAI,KAAK;YACpB,MAAM,EAAE,IAAI,IAAI,KAAK;AACrB,YAAA,GAAG,KAAK;AACR,SAAA,EACD,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE;AAC3C,YAAA,OAAO,EAAE,KAAK;YACd,CAAC,CAAA,QAAA,EAAW,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM;SACzC,CAAC,EAAA,QAAA,EAED,KAAK,CAAC,MAAM,KAAK,OAAO,IACxB,QAAQ,KAERC,4BACE,GAAG,KACHD,GACC,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAC5C,SAAS,EACb,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACnB,CAAA,CACF,EAEA,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAIA,IAAC,OAAO,EAAA,EAAC,QAAQ,EAAA,IAAA,EAAA,CAAG,EAEzD,KAAK,KACLA,GAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,EAClD,OAAO,EAAE,WAAW,YAEnB,KAAK,EAAA,CACD,CACN,CACC,EAAA,CAAA,CACH,EACI,CAAA;AAER;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../packages/components/image/index.tsx"],"sourcesContent":["import Image from \"./image\";\nimport List from \"./list\";\n\nImage.List = List;\n\nexport default Image;\n"],"names":[],"mappings":";;;AAGA,KAAK,CAAC,IAAI,GAAG,IAAI;;;;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import usePreview from '../../js/usePreview/index.js';
|
|
4
|
+
import { getSuffixByUrl, getFileType } from '../../js/utils.js';
|
|
5
|
+
import Flex from '../flex/flex.js';
|
|
6
|
+
import Image from './image.js';
|
|
7
|
+
|
|
8
|
+
function List(props) {
|
|
9
|
+
const { items = [], gap = 8, columns, wrap, direction, usePreview: previewable, onClick, ...restProps } = props;
|
|
10
|
+
const preview = usePreview();
|
|
11
|
+
const files = useMemo(() => {
|
|
12
|
+
return items.map((item) => {
|
|
13
|
+
const o = {
|
|
14
|
+
src: "",
|
|
15
|
+
};
|
|
16
|
+
if (typeof item === "string") {
|
|
17
|
+
o.src = item;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
Object.assign(o, item);
|
|
21
|
+
}
|
|
22
|
+
o.suffix = getSuffixByUrl(o.src) || "";
|
|
23
|
+
o.type = getFileType(o.suffix, item["type"]);
|
|
24
|
+
return o;
|
|
25
|
+
});
|
|
26
|
+
}, [items]);
|
|
27
|
+
const handleClick = (e, i) => {
|
|
28
|
+
onClick?.(e);
|
|
29
|
+
previewable &&
|
|
30
|
+
preview({
|
|
31
|
+
items: files,
|
|
32
|
+
initial: i,
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
if (!files.length)
|
|
36
|
+
return "";
|
|
37
|
+
return (jsx(Flex, { className: 'i-image-list', gap: gap, columns: columns, wrap: wrap, direction: direction, children: files.map((img, i) => {
|
|
38
|
+
return (jsx(Image, { src: img.src, size: 60, usePreview: false, onClick: (e) => handleClick(e, i), ...restProps }, i));
|
|
39
|
+
}) }));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export { List as default };
|
|
43
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sources":["../../../../packages/components/image/list.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport usePreview from \"../../js/usePreview\";\nimport { TPreviewItem } from \"../../js/usePreview/type\";\nimport { getFileType, getSuffixByUrl } from \"../../js/utils\";\nimport Flex from \"../flex\";\nimport Image from \"./image\";\nimport { IImageList } from \"./type\";\n\nexport default function List(props: IImageList) {\n\tconst {\n\t\titems = [],\n\t\tgap = 8,\n\t\tcolumns,\n\t\twrap,\n\t\tdirection,\n\t\tusePreview: previewable,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\tconst preview = usePreview();\n\n\tconst files = useMemo(() => {\n\t\treturn items.map((item) => {\n\t\t\tconst o: TPreviewItem = {\n\t\t\t\tsrc: \"\",\n\t\t\t};\n\t\t\tif (typeof item === \"string\") {\n\t\t\t\to.src = item;\n\t\t\t} else {\n\t\t\t\tObject.assign(o, item);\n\t\t\t}\n\n\t\t\to.suffix = getSuffixByUrl(o.src) || \"\";\n\t\t\to.type = getFileType(o.suffix, item[\"type\"]);\n\n\t\t\treturn o;\n\t\t});\n\t}, [items]);\n\n\tconst handleClick = (e, i) => {\n\t\tonClick?.(e);\n\n\t\tpreviewable &&\n\t\t\tpreview({\n\t\t\t\titems: files,\n\t\t\t\tinitial: i,\n\t\t\t});\n\t};\n\n\tif (!files.length) return \"\";\n\n\treturn (\n\t\t<Flex\n\t\t\tclassName='i-image-list'\n\t\t\tgap={gap}\n\t\t\tcolumns={columns}\n\t\t\twrap={wrap}\n\t\t\tdirection={direction}\n\t\t>\n\t\t\t{files.map((img, i) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Image\n\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\tsrc={img.src}\n\t\t\t\t\t\tsize={60}\n\t\t\t\t\t\tusePreview={false}\n\t\t\t\t\t\tonClick={(e) => handleClick(e, i)}\n\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t})}\n\t\t</Flex>\n\t);\n}\n"],"names":["_jsx"],"mappings":";;;;;;;AAQwB,SAAA,IAAI,CAAC,KAAiB,EAAA;IAC7C,MAAM,EACL,KAAK,GAAG,EAAE,EACV,GAAG,GAAG,CAAC,EACP,OAAO,EACP,IAAI,EACJ,SAAS,EACT,UAAU,EAAE,WAAW,EACvB,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;AACT,IAAA,MAAM,OAAO,GAAG,UAAU,EAAE;AAE5B,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,MAAK;AAC1B,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACzB,YAAA,MAAM,CAAC,GAAiB;AACvB,gBAAA,GAAG,EAAE,EAAE;aACP;AACD,YAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC7B,gBAAA,CAAC,CAAC,GAAG,GAAG,IAAI;;iBACN;AACN,gBAAA,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC;;YAGvB,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;AACtC,YAAA,CAAC,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAE5C,YAAA,OAAO,CAAC;AACT,SAAC,CAAC;AACH,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAA,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,KAAI;AAC5B,QAAA,OAAO,GAAG,CAAC,CAAC;QAEZ,WAAW;AACV,YAAA,OAAO,CAAC;AACP,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,OAAO,EAAE,CAAC;AACV,aAAA,CAAC;AACJ,KAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM;AAAE,QAAA,OAAO,EAAE;AAE5B,IAAA,QACCA,GAAA,CAAC,IAAI,EAAA,EACJ,SAAS,EAAC,cAAc,EACxB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EAEnB,QAAA,EAAA,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;AACrB,YAAA,QACCA,GAAC,CAAA,KAAK,EAEL,EAAA,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,IAAI,EAAE,EAAE,EACR,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7B,GAAA,SAAS,IALR,CAAC,CAML;SAEH,CAAC,EACI,CAAA;AAET;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
|
|
4
|
+
function InputContainer(props) {
|
|
5
|
+
const { as: As = "label", label, className, labelInline, style, children, status, tip, required, } = props;
|
|
6
|
+
return (jsxs(As, { className: classNames("i-input-label", className, {
|
|
7
|
+
"i-input-inline": labelInline,
|
|
8
|
+
}), style: style, children: [label && (jsxs("span", { className: 'i-input-label-text', children: [required && jsx("span", { className: 'error', children: "*" }), label] })), children, tip && (jsx("span", { className: classNames("i-input-message", {
|
|
9
|
+
[`i-input-${status}`]: status !== "normal",
|
|
10
|
+
}), children: tip }))] }));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { InputContainer as default };
|
|
14
|
+
//# sourceMappingURL=container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","sources":["../../../../packages/components/input/container.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { IInputContainer } from \"./type\";\n\nexport default function InputContainer(props: IInputContainer) {\n\tconst {\n\t\tas: As = \"label\",\n\t\tlabel,\n\t\tclassName,\n\t\tlabelInline,\n\t\tstyle,\n\t\tchildren,\n\t\tstatus,\n\t\ttip,\n\t\trequired,\n\t} = props;\n\n\treturn (\n\t\t<As\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 && (\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\t\t\t\t</span>\n\t\t\t)}\n\n\t\t\t{children}\n\n\t\t\t{tip && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={classNames(\"i-input-message\", {\n\t\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{tip}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</As>\n\t);\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;;AAGwB,SAAA,cAAc,CAAC,KAAsB,EAAA;IAC5D,MAAM,EACL,EAAE,EAAE,EAAE,GAAG,OAAO,EAChB,KAAK,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,QAAQ,EACR,MAAM,EACN,GAAG,EACH,QAAQ,GACR,GAAG,KAAK;IAET,QACCA,IAAC,CAAA,EAAE,EACF,EAAA,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,EAAE;AACjD,YAAA,gBAAgB,EAAE,WAAW;AAC7B,SAAA,CAAC,EACF,KAAK,EAAE,KAAK,EAAA,QAAA,EAAA,CAEX,KAAK,KACLA,IAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAA,CAClC,QAAQ,IAAIC,cAAM,SAAS,EAAC,OAAO,EAAA,QAAA,EAAA,GAAA,EAAA,CAAS,EAC5C,KAAK,CAAA,EAAA,CACA,CACP,EAEA,QAAQ,EAER,GAAG,KACHA,cACC,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE;AACxC,oBAAA,CAAC,WAAW,MAAM,CAAA,CAAE,GAAG,MAAM,KAAK,QAAQ;AAC1C,iBAAA,CAAC,YAED,GAAG,EAAA,CACE,CACP,CAAA,EAAA,CACG;AAEP;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Input from './input.js';
|
|
2
|
+
import Number from './number.js';
|
|
3
|
+
import Range from './range.js';
|
|
4
|
+
import Textarea from './textarea.js';
|
|
5
|
+
|
|
6
|
+
Input.Textarea = Textarea;
|
|
7
|
+
Input.Number = Number;
|
|
8
|
+
Input.Range = Range;
|
|
9
|
+
|
|
10
|
+
export { Input as default };
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../packages/components/input/index.tsx"],"sourcesContent":["import Input from \"./input\";\nimport Number from \"./number\";\nimport Range from \"./range\";\nimport Textarea from \"./textarea\";\n\nInput.Textarea = Textarea;\nInput.Number = Number;\nInput.Range = Range;\n\nexport default Input;\n"],"names":[],"mappings":";;;;;AAKA,KAAK,CAAC,QAAQ,GAAG,QAAQ;AACzB,KAAK,CAAC,MAAM,GAAG,MAAM;AACrB,KAAK,CAAC,KAAK,GAAG,KAAK;;;;"}
|