@ioca/react 1.4.78 → 1.4.80
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/_virtual/_rolldown/runtime.js +23 -0
- package/lib/cjs/components/affix/affix.js +66 -0
- package/lib/cjs/components/affix/affix.js.map +1 -0
- package/lib/cjs/components/affix/index.js +6 -0
- package/lib/cjs/components/affix/index.js.map +1 -0
- package/lib/cjs/components/affix/totop.js +25 -0
- package/lib/cjs/components/affix/totop.js.map +1 -0
- package/lib/cjs/components/badge/badge.js +24 -0
- package/lib/cjs/components/badge/badge.js.map +1 -0
- package/lib/cjs/components/badge/index.js +6 -0
- package/lib/cjs/components/badge/index.js.map +1 -0
- package/lib/cjs/components/button/button.js +64 -0
- package/lib/cjs/components/button/button.js.map +1 -0
- package/lib/cjs/components/button/confirm.js +60 -0
- package/lib/cjs/components/button/confirm.js.map +1 -0
- package/lib/cjs/components/button/group.js +26 -0
- package/lib/cjs/components/button/group.js.map +1 -0
- package/lib/cjs/components/button/index.js +6 -0
- package/lib/cjs/components/button/index.js.map +1 -0
- package/lib/cjs/components/button/toggle.js +46 -0
- package/lib/cjs/components/button/toggle.js.map +1 -0
- package/lib/cjs/components/card/card.js +33 -0
- package/lib/cjs/components/card/card.js.map +1 -0
- package/lib/cjs/components/card/index.js +6 -0
- package/lib/cjs/components/card/index.js.map +1 -0
- package/lib/cjs/components/checkbox/checkbox.js +66 -0
- package/lib/cjs/components/checkbox/checkbox.js.map +1 -0
- package/lib/cjs/components/checkbox/index.js +6 -0
- package/lib/cjs/components/checkbox/index.js.map +1 -0
- package/lib/cjs/components/checkbox/item.js +59 -0
- package/lib/cjs/components/checkbox/item.js.map +1 -0
- package/lib/cjs/components/collapse/collapse.js +84 -0
- package/lib/cjs/components/collapse/collapse.js.map +1 -0
- package/lib/cjs/components/collapse/index.js +6 -0
- package/lib/cjs/components/collapse/index.js.map +1 -0
- package/lib/cjs/components/collapse/item.js +10 -0
- package/lib/cjs/components/collapse/item.js.map +1 -0
- package/lib/cjs/components/datagrid/cell.js +39 -0
- package/lib/cjs/components/datagrid/cell.js.map +1 -0
- package/lib/cjs/components/datagrid/datagrid.js +140 -0
- package/lib/cjs/components/datagrid/datagrid.js.map +1 -0
- package/lib/cjs/components/datagrid/index.js +6 -0
- package/lib/cjs/components/datagrid/index.js.map +1 -0
- package/lib/cjs/components/datagrid/resize.js +42 -0
- package/lib/cjs/components/datagrid/resize.js.map +1 -0
- package/lib/cjs/components/datagrid/row.js +68 -0
- package/lib/cjs/components/datagrid/row.js.map +1 -0
- package/lib/cjs/components/datagrid/sorter.js +28 -0
- package/lib/cjs/components/datagrid/sorter.js.map +1 -0
- package/lib/cjs/components/description/description.js +43 -0
- package/lib/cjs/components/description/description.js.map +1 -0
- package/lib/cjs/components/description/index.js +6 -0
- package/lib/cjs/components/description/index.js.map +1 -0
- package/lib/cjs/components/drawer/drawer.js +84 -0
- package/lib/cjs/components/drawer/drawer.js.map +1 -0
- package/lib/cjs/components/drawer/index.js +6 -0
- package/lib/cjs/components/drawer/index.js.map +1 -0
- package/lib/cjs/components/dropdown/dropdown.js +38 -0
- package/lib/cjs/components/dropdown/dropdown.js.map +1 -0
- package/lib/cjs/components/dropdown/index.js +6 -0
- package/lib/cjs/components/dropdown/index.js.map +1 -0
- package/lib/cjs/components/dropdown/item.js +36 -0
- package/lib/cjs/components/dropdown/item.js.map +1 -0
- package/lib/cjs/components/editor/controls.js +89 -0
- package/lib/cjs/components/editor/controls.js.map +1 -0
- package/lib/cjs/components/editor/editor.js +91 -0
- package/lib/cjs/components/editor/editor.js.map +1 -0
- package/lib/cjs/components/editor/index.js +6 -0
- package/lib/cjs/components/editor/index.js.map +1 -0
- package/lib/cjs/components/flex/flex.js +31 -0
- package/lib/cjs/components/flex/flex.js.map +1 -0
- package/lib/cjs/components/flex/index.js +6 -0
- package/lib/cjs/components/flex/index.js.map +1 -0
- package/lib/cjs/components/form/context.js +7 -0
- package/lib/cjs/components/form/context.js.map +1 -0
- package/lib/cjs/components/form/field.js +71 -0
- package/lib/cjs/components/form/field.js.map +1 -0
- package/lib/cjs/components/form/form.js +64 -0
- package/lib/cjs/components/form/form.js.map +1 -0
- package/lib/cjs/components/form/index.js +6 -0
- package/lib/cjs/components/form/index.js.map +1 -0
- package/lib/cjs/components/form/useConfig.js +45 -0
- package/lib/cjs/components/form/useConfig.js.map +1 -0
- package/lib/cjs/components/form/useForm.js +123 -0
- package/lib/cjs/components/form/useForm.js.map +1 -0
- package/lib/cjs/components/icon/icon.js +24 -0
- package/lib/cjs/components/icon/icon.js.map +1 -0
- package/lib/cjs/components/icon/index.js +6 -0
- package/lib/cjs/components/icon/index.js.map +1 -0
- package/lib/cjs/components/image/image.js +86 -0
- package/lib/cjs/components/image/image.js.map +1 -0
- package/lib/cjs/components/image/index.js +6 -0
- package/lib/cjs/components/image/index.js.map +1 -0
- package/lib/cjs/components/image/list.js +49 -0
- package/lib/cjs/components/image/list.js.map +1 -0
- package/lib/cjs/components/input/container.js +30 -0
- package/lib/cjs/components/input/container.js.map +1 -0
- package/lib/cjs/components/input/index.js +6 -0
- package/lib/cjs/components/input/index.js.map +1 -0
- package/lib/cjs/components/input/input.js +113 -0
- package/lib/cjs/components/input/input.js.map +1 -0
- package/lib/cjs/components/input/number.js +138 -0
- package/lib/cjs/components/input/number.js.map +1 -0
- package/lib/cjs/components/input/range.js +134 -0
- package/lib/cjs/components/input/range.js.map +1 -0
- package/lib/cjs/components/input/textarea.js +61 -0
- package/lib/cjs/components/input/textarea.js.map +1 -0
- package/lib/cjs/components/list/index.js +6 -0
- package/lib/cjs/components/list/index.js.map +1 -0
- package/lib/cjs/components/list/item.js +30 -0
- package/lib/cjs/components/list/item.js.map +1 -0
- package/lib/cjs/components/list/list.js +30 -0
- package/lib/cjs/components/list/list.js.map +1 -0
- package/lib/cjs/components/loading/index.js +6 -0
- package/lib/cjs/components/loading/index.js.map +1 -0
- package/lib/cjs/components/loading/loading.js +39 -0
- package/lib/cjs/components/loading/loading.js.map +1 -0
- package/lib/cjs/components/message/index.js +6 -0
- package/lib/cjs/components/message/index.js.map +1 -0
- package/lib/cjs/components/message/message.js +197 -0
- package/lib/cjs/components/message/message.js.map +1 -0
- package/lib/cjs/components/modal/content.js +57 -0
- package/lib/cjs/components/modal/content.js.map +1 -0
- package/lib/cjs/components/modal/context.js +7 -0
- package/lib/cjs/components/modal/context.js.map +1 -0
- package/lib/cjs/components/modal/hookModal.js +28 -0
- package/lib/cjs/components/modal/hookModal.js.map +1 -0
- package/lib/cjs/components/modal/index.js +6 -0
- package/lib/cjs/components/modal/index.js.map +1 -0
- package/lib/cjs/components/modal/modal.js +117 -0
- package/lib/cjs/components/modal/modal.js.map +1 -0
- package/lib/cjs/components/modal/useModal.js +39 -0
- package/lib/cjs/components/modal/useModal.js.map +1 -0
- package/lib/cjs/components/pagination/index.js +6 -0
- package/lib/cjs/components/pagination/index.js.map +1 -0
- package/lib/cjs/components/pagination/page.js +31 -0
- package/lib/cjs/components/pagination/page.js.map +1 -0
- package/lib/cjs/components/pagination/pagination.js +86 -0
- package/lib/cjs/components/pagination/pagination.js.map +1 -0
- package/lib/cjs/components/picker/colors/footer.js +64 -0
- package/lib/cjs/components/picker/colors/footer.js.map +1 -0
- package/lib/cjs/components/picker/colors/handle.js +25 -0
- package/lib/cjs/components/picker/colors/handle.js.map +1 -0
- package/lib/cjs/components/picker/colors/index.js +81 -0
- package/lib/cjs/components/picker/colors/index.js.map +1 -0
- package/lib/cjs/components/picker/dates/dates.js +68 -0
- package/lib/cjs/components/picker/dates/dates.js.map +1 -0
- package/lib/cjs/components/picker/dates/index.js +97 -0
- package/lib/cjs/components/picker/dates/index.js.map +1 -0
- package/lib/cjs/components/picker/dates/panel.js +151 -0
- package/lib/cjs/components/picker/dates/panel.js.map +1 -0
- package/lib/cjs/components/picker/time/index.js +73 -0
- package/lib/cjs/components/picker/time/index.js.map +1 -0
- package/lib/cjs/components/picker/time/item.js +20 -0
- package/lib/cjs/components/picker/time/item.js.map +1 -0
- package/lib/cjs/components/picker/time/panel.js +144 -0
- package/lib/cjs/components/picker/time/panel.js.map +1 -0
- package/lib/cjs/components/popconfirm/index.js +6 -0
- package/lib/cjs/components/popconfirm/index.js.map +1 -0
- package/lib/cjs/components/popconfirm/popconfirm.js +86 -0
- package/lib/cjs/components/popconfirm/popconfirm.js.map +1 -0
- package/lib/cjs/components/popup/content.js +56 -0
- package/lib/cjs/components/popup/content.js.map +1 -0
- package/lib/cjs/components/popup/index.js +6 -0
- package/lib/cjs/components/popup/index.js.map +1 -0
- package/lib/cjs/components/popup/popup.js +425 -0
- package/lib/cjs/components/popup/popup.js.map +1 -0
- package/lib/cjs/components/progress/circle.js +45 -0
- package/lib/cjs/components/progress/circle.js.map +1 -0
- package/lib/cjs/components/progress/index.js +6 -0
- package/lib/cjs/components/progress/index.js.map +1 -0
- package/lib/cjs/components/progress/line.js +27 -0
- package/lib/cjs/components/progress/line.js.map +1 -0
- package/lib/cjs/components/progress/progress.js +100 -0
- package/lib/cjs/components/progress/progress.js.map +1 -0
- package/lib/cjs/components/radio/index.js +6 -0
- package/lib/cjs/components/radio/index.js.map +1 -0
- package/lib/cjs/components/radio/item.js +34 -0
- package/lib/cjs/components/radio/item.js.map +1 -0
- package/lib/cjs/components/radio/radio.js +62 -0
- package/lib/cjs/components/radio/radio.js.map +1 -0
- package/lib/cjs/components/resizable/index.js +6 -0
- package/lib/cjs/components/resizable/index.js.map +1 -0
- package/lib/cjs/components/resizable/resizable.js +81 -0
- package/lib/cjs/components/resizable/resizable.js.map +1 -0
- package/lib/cjs/components/river/index.js +6 -0
- package/lib/cjs/components/river/index.js.map +1 -0
- package/lib/cjs/components/river/river.js +116 -0
- package/lib/cjs/components/river/river.js.map +1 -0
- package/lib/cjs/components/select/index.js +6 -0
- package/lib/cjs/components/select/index.js.map +1 -0
- package/lib/cjs/components/select/options.js +76 -0
- package/lib/cjs/components/select/options.js.map +1 -0
- package/lib/cjs/components/select/select.js +155 -0
- package/lib/cjs/components/select/select.js.map +1 -0
- package/lib/cjs/components/step/divider.js +10 -0
- package/lib/cjs/components/step/divider.js.map +1 -0
- package/lib/cjs/components/step/index.js +6 -0
- package/lib/cjs/components/step/index.js.map +1 -0
- package/lib/cjs/components/step/item.js +60 -0
- package/lib/cjs/components/step/item.js.map +1 -0
- package/lib/cjs/components/step/step.js +42 -0
- package/lib/cjs/components/step/step.js.map +1 -0
- package/lib/cjs/components/swiper/index.js +6 -0
- package/lib/cjs/components/swiper/index.js.map +1 -0
- package/lib/cjs/components/swiper/item.js +39 -0
- package/lib/cjs/components/swiper/item.js.map +1 -0
- package/lib/cjs/components/swiper/swiper.js +262 -0
- package/lib/cjs/components/swiper/swiper.js.map +1 -0
- package/lib/cjs/components/tabs/index.js +6 -0
- package/lib/cjs/components/tabs/index.js.map +1 -0
- package/lib/cjs/components/tabs/item.js +10 -0
- package/lib/cjs/components/tabs/item.js.map +1 -0
- package/lib/cjs/components/tabs/tabs.js +272 -0
- package/lib/cjs/components/tabs/tabs.js.map +1 -0
- package/lib/cjs/components/tag/index.js +6 -0
- package/lib/cjs/components/tag/index.js.map +1 -0
- package/lib/cjs/components/tag/tag.js +32 -0
- package/lib/cjs/components/tag/tag.js.map +1 -0
- package/lib/cjs/components/text/highlight.js +35 -0
- package/lib/cjs/components/text/highlight.js.map +1 -0
- package/lib/cjs/components/text/index.js +6 -0
- package/lib/cjs/components/text/index.js.map +1 -0
- package/lib/cjs/components/text/number.js +32 -0
- package/lib/cjs/components/text/number.js.map +1 -0
- package/lib/cjs/components/text/text.js +39 -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 +6 -0
- package/lib/cjs/components/tree/index.js.map +1 -0
- package/lib/cjs/components/tree/item.js +136 -0
- package/lib/cjs/components/tree/item.js.map +1 -0
- package/lib/cjs/components/tree/tree.js +127 -0
- package/lib/cjs/components/tree/tree.js.map +1 -0
- package/lib/cjs/components/upload/index.js +6 -0
- package/lib/cjs/components/upload/index.js.map +1 -0
- package/lib/cjs/components/upload/renderFile.js +99 -0
- package/lib/cjs/components/upload/renderFile.js.map +1 -0
- package/lib/cjs/components/upload/upload.js +165 -0
- package/lib/cjs/components/upload/upload.js.map +1 -0
- package/lib/cjs/components/utils/empty/index.js +17 -0
- package/lib/cjs/components/utils/empty/index.js.map +1 -0
- package/lib/cjs/components/utils/helpericon/helpericon.js +24 -0
- package/lib/cjs/components/utils/helpericon/helpericon.js.map +1 -0
- package/lib/cjs/components/utils/helpericon/index.js +6 -0
- package/lib/cjs/components/utils/helpericon/index.js.map +1 -0
- package/lib/cjs/components/video/index.js +6 -0
- package/lib/cjs/components/video/index.js.map +1 -0
- package/lib/cjs/components/video/video.js +237 -0
- package/lib/cjs/components/video/video.js.map +1 -0
- package/lib/cjs/index.js +83 -0
- package/lib/cjs/js/hooks.js +259 -0
- package/lib/cjs/js/hooks.js.map +1 -0
- package/lib/cjs/js/usePreview/content.js +197 -0
- package/lib/cjs/js/usePreview/content.js.map +1 -0
- package/lib/cjs/js/usePreview/index.js +39 -0
- package/lib/cjs/js/usePreview/index.js.map +1 -0
- package/lib/cjs/js/usePreview/renderFile.js +28 -0
- package/lib/cjs/js/usePreview/renderFile.js.map +1 -0
- package/lib/cjs/js/usePreview/type.js +15 -0
- package/lib/cjs/js/usePreview/type.js.map +1 -0
- package/lib/cjs/js/useRipple/index.js +45 -0
- package/lib/cjs/js/useRipple/index.js.map +1 -0
- package/lib/cjs/js/useTheme/index.js +30 -0
- package/lib/cjs/js/useTheme/index.js.map +1 -0
- package/lib/cjs/js/utils.js +284 -0
- package/lib/cjs/js/utils.js.map +1 -0
- package/lib/es/components/affix/affix.js +1 -1
- package/lib/es/components/affix/affix.js.map +1 -1
- package/lib/es/components/affix/totop.js +1 -1
- package/lib/es/components/affix/totop.js.map +1 -1
- package/lib/es/components/badge/badge.js.map +1 -1
- package/lib/es/components/button/button.js.map +1 -1
- package/lib/es/components/card/card.js.map +1 -1
- package/lib/es/components/checkbox/checkbox.js.map +1 -1
- package/lib/es/components/collapse/collapse.js +1 -2
- package/lib/es/components/collapse/collapse.js.map +1 -1
- package/lib/es/components/datagrid/datagrid.js.map +1 -1
- package/lib/es/components/description/description.js.map +1 -1
- package/lib/es/components/drawer/drawer.js.map +1 -1
- package/lib/es/components/dropdown/dropdown.js.map +1 -1
- package/lib/es/components/editor/controls.js +1 -7
- package/lib/es/components/editor/controls.js.map +1 -1
- package/lib/es/components/editor/editor.js.map +1 -1
- package/lib/es/components/flex/flex.js.map +1 -1
- package/lib/es/components/form/field.js +1 -1
- package/lib/es/components/form/form.js +1 -1
- package/lib/es/components/form/form.js.map +1 -1
- package/lib/es/components/form/useForm.js +2 -2
- package/lib/es/components/icon/icon.js.map +1 -1
- package/lib/es/components/image/image.js.map +1 -1
- package/lib/es/components/input/input.js +1 -2
- package/lib/es/components/input/input.js.map +1 -1
- package/lib/es/components/input/number.js +1 -3
- package/lib/es/components/input/number.js.map +1 -1
- package/lib/es/components/input/range.js +1 -3
- package/lib/es/components/input/range.js.map +1 -1
- package/lib/es/components/input/textarea.js.map +1 -1
- package/lib/es/components/list/list.js.map +1 -1
- package/lib/es/components/loading/loading.js.map +1 -1
- package/lib/es/components/message/message.js +2 -2
- package/lib/es/components/message/message.js.map +1 -1
- package/lib/es/components/modal/content.js.map +1 -1
- package/lib/es/components/modal/modal.js.map +1 -1
- package/lib/es/components/pagination/pagination.js +1 -3
- package/lib/es/components/pagination/pagination.js.map +1 -1
- package/lib/es/components/picker/colors/footer.js +1 -1
- package/lib/es/components/picker/colors/footer.js.map +1 -1
- package/lib/es/components/picker/colors/index.js.map +1 -1
- package/lib/es/components/picker/dates/index.js +2 -2
- package/lib/es/components/picker/dates/index.js.map +1 -1
- package/lib/es/components/picker/dates/panel.js +2 -3
- package/lib/es/components/picker/dates/panel.js.map +1 -1
- package/lib/es/components/picker/time/index.js +1 -1
- package/lib/es/components/picker/time/index.js.map +1 -1
- package/lib/es/components/picker/time/panel.js.map +1 -1
- package/lib/es/components/popconfirm/popconfirm.js +1 -1
- package/lib/es/components/popconfirm/popconfirm.js.map +1 -1
- package/lib/es/components/popup/popup.js +1 -1
- package/lib/es/components/popup/popup.js.map +1 -1
- package/lib/es/components/progress/progress.js.map +1 -1
- package/lib/es/components/radio/radio.js.map +1 -1
- package/lib/es/components/resizable/resizable.js.map +1 -1
- package/lib/es/components/river/river.js.map +1 -1
- package/lib/es/components/select/options.js +1 -2
- package/lib/es/components/select/options.js.map +1 -1
- package/lib/es/components/select/select.js +2 -2
- package/lib/es/components/select/select.js.map +1 -1
- package/lib/es/components/step/divider.js.map +1 -1
- package/lib/es/components/step/item.js +1 -1
- package/lib/es/components/step/item.js.map +1 -1
- package/lib/es/components/step/step.js.map +1 -1
- package/lib/es/components/swiper/swiper.js +1 -2
- package/lib/es/components/swiper/swiper.js.map +1 -1
- package/lib/es/components/tabs/tabs.js +1 -1
- package/lib/es/components/tabs/tabs.js.map +1 -1
- package/lib/es/components/tag/tag.js.map +1 -1
- package/lib/es/components/text/highlight.js +1 -1
- package/lib/es/components/text/text.js.map +1 -1
- package/lib/es/components/tree/item.js +1 -1
- package/lib/es/components/tree/item.js.map +1 -1
- package/lib/es/components/tree/tree.js.map +1 -1
- package/lib/es/components/upload/renderFile.js +2 -2
- package/lib/es/components/upload/renderFile.js.map +1 -1
- package/lib/es/components/upload/upload.js +2 -3
- package/lib/es/components/upload/upload.js.map +1 -1
- package/lib/es/components/utils/empty/index.js +1 -1
- package/lib/es/components/utils/empty/index.js.map +1 -1
- package/lib/es/components/utils/helpericon/helpericon.js +2 -2
- package/lib/es/components/utils/helpericon/helpericon.js.map +1 -1
- package/lib/es/components/video/video.js +2 -8
- package/lib/es/components/video/video.js.map +1 -1
- package/lib/es/js/usePreview/content.js +2 -9
- package/lib/es/js/usePreview/content.js.map +1 -1
- package/lib/es/js/usePreview/index.js.map +1 -1
- package/lib/es/js/usePreview/renderFile.js +1 -1
- package/lib/es/js/usePreview/renderFile.js.map +1 -1
- package/lib/es/js/useRipple/index.js.map +1 -1
- package/lib/es/js/utils.js +1 -1
- package/lib/types/components/affix/affix.js +1 -2
- package/lib/types/components/affix/totop.js +1 -1
- package/lib/types/components/badge/badge.js +0 -1
- package/lib/types/components/button/button.js +0 -1
- package/lib/types/components/card/card.js +0 -1
- package/lib/types/components/checkbox/checkbox.js +0 -2
- package/lib/types/components/collapse/collapse.js +1 -3
- package/lib/types/components/datagrid/datagrid.js +0 -1
- package/lib/types/components/description/description.js +0 -1
- package/lib/types/components/drawer/drawer.js +0 -1
- package/lib/types/components/dropdown/dropdown.js +0 -1
- package/lib/types/components/editor/controls.js +1 -7
- package/lib/types/components/editor/editor.js +0 -1
- package/lib/types/components/flex/flex.js +0 -1
- package/lib/types/components/form/field.js +1 -1
- package/lib/types/components/form/form.js +1 -2
- package/lib/types/components/form/useForm.js +2 -2
- package/lib/types/components/icon/icon.js +0 -1
- package/lib/types/components/image/image.js +0 -1
- package/lib/types/components/input/input.js +1 -3
- package/lib/types/components/input/number.js +1 -4
- package/lib/types/components/input/range.js +1 -4
- package/lib/types/components/input/textarea.js +0 -1
- package/lib/types/components/list/list.js +0 -1
- package/lib/types/components/loading/loading.js +0 -1
- package/lib/types/components/message/message.js +2 -3
- package/lib/types/components/modal/content.js +0 -1
- package/lib/types/components/modal/modal.js +0 -1
- package/lib/types/components/pagination/pagination.js +1 -4
- package/lib/types/components/picker/colors/footer.js +1 -1
- package/lib/types/components/picker/colors/index.js +0 -1
- package/lib/types/components/picker/dates/index.js +2 -3
- package/lib/types/components/picker/dates/panel.js +2 -3
- package/lib/types/components/picker/time/index.js +1 -1
- package/lib/types/components/picker/time/panel.js +0 -1
- package/lib/types/components/popconfirm/popconfirm.js +1 -2
- package/lib/types/components/popup/popup.js +1 -2
- package/lib/types/components/progress/progress.js +0 -2
- package/lib/types/components/radio/radio.js +0 -2
- package/lib/types/components/resizable/resizable.js +0 -1
- package/lib/types/components/river/river.js +0 -1
- package/lib/types/components/select/options.js +1 -2
- package/lib/types/components/select/select.js +2 -4
- package/lib/types/components/step/divider.js +0 -1
- package/lib/types/components/step/item.js +1 -1
- package/lib/types/components/step/step.js +0 -1
- package/lib/types/components/swiper/swiper.js +1 -3
- package/lib/types/components/tabs/tabs.js +1 -2
- package/lib/types/components/tag/tag.js +0 -1
- package/lib/types/components/text/highlight.js +1 -1
- package/lib/types/components/text/text.js +0 -1
- package/lib/types/components/tree/item.js +1 -1
- package/lib/types/components/tree/tree.js +0 -1
- package/lib/types/components/upload/renderFile.js +2 -2
- package/lib/types/components/upload/upload.js +2 -4
- package/lib/types/components/utils/empty/index.js +1 -2
- package/lib/types/components/utils/helpericon/helpericon.js +2 -3
- package/lib/types/components/video/video.js +2 -9
- package/lib/types/index.js +0 -1
- package/lib/types/js/usePreview/content.js +2 -9
- package/lib/types/js/usePreview/index.js +0 -1
- package/lib/types/js/usePreview/renderFile.js +1 -1
- package/lib/types/js/useRipple/index.js +0 -1
- package/lib/types/js/utils.js +1 -1
- package/package.json +8 -3
- package/lib/css/index.css +0 -1
- package/lib/types/components/affix/affix.d.ts +0 -7
- package/lib/types/components/affix/index.d.ts +0 -2
- package/lib/types/components/affix/totop.d.ts +0 -3
- package/lib/types/components/affix/type.d.ts +0 -10
- package/lib/types/components/area/area.d.ts +0 -3
- package/lib/types/components/area/index.d.ts +0 -2
- package/lib/types/components/area/item.d.ts +0 -3
- package/lib/types/components/area/type.d.ts +0 -12
- package/lib/types/components/badge/badge.d.ts +0 -3
- package/lib/types/components/badge/index.d.ts +0 -2
- package/lib/types/components/badge/type.d.ts +0 -12
- package/lib/types/components/button/button.d.ts +0 -3
- package/lib/types/components/button/confirm.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 -51
- package/lib/types/components/card/card.d.ts +0 -3
- package/lib/types/components/card/index.d.ts +0 -2
- package/lib/types/components/card/type.d.ts +0 -10
- package/lib/types/components/checkbox/checkbox.d.ts +0 -7
- 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 -22
- package/lib/types/components/collapse/collapse.d.ts +0 -7
- 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 -20
- package/lib/types/components/datagrid/cell.d.ts +0 -13
- package/lib/types/components/datagrid/datagrid.d.ts +0 -3
- package/lib/types/components/datagrid/index.d.ts +0 -2
- package/lib/types/components/datagrid/resize.d.ts +0 -1
- package/lib/types/components/datagrid/row.d.ts +0 -3
- package/lib/types/components/datagrid/sorter.d.ts +0 -1
- package/lib/types/components/datagrid/type.d.ts +0 -61
- package/lib/types/components/description/description.d.ts +0 -3
- package/lib/types/components/description/index.d.ts +0 -2
- package/lib/types/components/description/type.d.ts +0 -23
- package/lib/types/components/drawer/drawer.d.ts +0 -3
- package/lib/types/components/drawer/index.d.ts +0 -2
- package/lib/types/components/drawer/type.d.ts +0 -13
- package/lib/types/components/drawer/useDrawer.d.ts +0 -0
- package/lib/types/components/dropdown/dropdown.d.ts +0 -6
- package/lib/types/components/dropdown/index.d.ts +0 -2
- package/lib/types/components/dropdown/item.d.ts +0 -3
- package/lib/types/components/dropdown/type.d.ts +0 -11
- package/lib/types/components/editor/controls.d.ts +0 -5
- package/lib/types/components/editor/editor.d.ts +0 -3
- package/lib/types/components/editor/index.d.ts +0 -2
- package/lib/types/components/editor/type.d.ts +0 -17
- package/lib/types/components/flex/flex.d.ts +0 -3
- package/lib/types/components/flex/index.d.ts +0 -2
- package/lib/types/components/flex/type.d.ts +0 -10
- package/lib/types/components/form/context.d.ts +0 -3
- package/lib/types/components/form/field.d.ts +0 -3
- package/lib/types/components/form/form.d.ts +0 -11
- package/lib/types/components/form/index.d.ts +0 -2
- package/lib/types/components/form/type.d.ts +0 -40
- package/lib/types/components/form/useConfig.d.ts +0 -5
- package/lib/types/components/form/useForm.d.ts +0 -14
- package/lib/types/components/icon/icon.d.ts +0 -3
- package/lib/types/components/icon/index.d.ts +0 -2
- package/lib/types/components/icon/type.d.ts +0 -9
- package/lib/types/components/image/image.d.ts +0 -3
- 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 -30
- package/lib/types/components/input/container.d.ts +0 -2
- package/lib/types/components/input/index.d.ts +0 -2
- package/lib/types/components/input/input.d.ts +0 -3
- package/lib/types/components/input/number.d.ts +0 -3
- package/lib/types/components/input/range.d.ts +0 -3
- package/lib/types/components/input/textarea.d.ts +0 -3
- package/lib/types/components/input/type.d.ts +0 -61
- package/lib/types/components/list/index.d.ts +0 -2
- package/lib/types/components/list/item.d.ts +0 -3
- package/lib/types/components/list/list.d.ts +0 -6
- package/lib/types/components/list/type.d.ts +0 -13
- package/lib/types/components/loading/index.d.ts +0 -2
- package/lib/types/components/loading/loading.d.ts +0 -3
- package/lib/types/components/loading/type.d.ts +0 -7
- package/lib/types/components/message/index.d.ts +0 -2
- package/lib/types/components/message/message.d.ts +0 -27
- package/lib/types/components/message/type.d.ts +0 -29
- package/lib/types/components/modal/content.d.ts +0 -2
- package/lib/types/components/modal/context.d.ts +0 -2
- package/lib/types/components/modal/hookModal.d.ts +0 -6
- package/lib/types/components/modal/index.d.ts +0 -2
- package/lib/types/components/modal/modal.d.ts +0 -3
- package/lib/types/components/modal/type.d.ts +0 -34
- package/lib/types/components/modal/useModal.d.ts +0 -6
- package/lib/types/components/pagination/index.d.ts +0 -2
- package/lib/types/components/pagination/page.d.ts +0 -3
- package/lib/types/components/pagination/pagination.d.ts +0 -3
- package/lib/types/components/pagination/type.d.ts +0 -20
- package/lib/types/components/picker/colors/footer.d.ts +0 -6
- package/lib/types/components/picker/colors/handle.d.ts +0 -2
- package/lib/types/components/picker/colors/index.d.ts +0 -2
- package/lib/types/components/picker/dates/dates.d.ts +0 -5
- package/lib/types/components/picker/dates/index.d.ts +0 -3
- package/lib/types/components/picker/dates/panel.d.ts +0 -3
- package/lib/types/components/picker/index.d.ts +0 -10
- package/lib/types/components/picker/time/index.d.ts +0 -2
- package/lib/types/components/picker/time/item.d.ts +0 -1
- package/lib/types/components/picker/time/panel.d.ts +0 -1
- package/lib/types/components/picker/type.d.ts +0 -38
- package/lib/types/components/popconfirm/index.d.ts +0 -2
- package/lib/types/components/popconfirm/popconfirm.d.ts +0 -3
- package/lib/types/components/popconfirm/type.d.ts +0 -11
- package/lib/types/components/popup/content.d.ts +0 -3
- 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 -25
- package/lib/types/components/progress/circle.d.ts +0 -2
- package/lib/types/components/progress/index.d.ts +0 -2
- package/lib/types/components/progress/line.d.ts +0 -9
- package/lib/types/components/progress/progress.d.ts +0 -3
- package/lib/types/components/progress/type.d.ts +0 -20
- 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 -7
- package/lib/types/components/radio/type.d.ts +0 -18
- package/lib/types/components/resizable/index.d.ts +0 -2
- package/lib/types/components/resizable/resizable.d.ts +0 -3
- package/lib/types/components/resizable/type.d.ts +0 -16
- package/lib/types/components/river/index.d.ts +0 -2
- package/lib/types/components/river/river.d.ts +0 -3
- package/lib/types/components/river/type.d.ts +0 -5
- package/lib/types/components/select/index.d.ts +0 -2
- package/lib/types/components/select/options.d.ts +0 -5
- package/lib/types/components/select/select.d.ts +0 -3
- package/lib/types/components/select/type.d.ts +0 -24
- package/lib/types/components/step/divider.d.ts +0 -1
- package/lib/types/components/step/index.d.ts +0 -2
- package/lib/types/components/step/item.d.ts +0 -3
- package/lib/types/components/step/step.d.ts +0 -7
- package/lib/types/components/step/type.d.ts +0 -16
- package/lib/types/components/swiper/index.d.ts +0 -2
- package/lib/types/components/swiper/item.d.ts +0 -3
- package/lib/types/components/swiper/swiper.d.ts +0 -3
- package/lib/types/components/swiper/type.d.ts +0 -49
- package/lib/types/components/tabs/index.d.ts +0 -2
- package/lib/types/components/tabs/item.d.ts +0 -3
- package/lib/types/components/tabs/tabs.d.ts +0 -3
- package/lib/types/components/tabs/type.d.ts +0 -41
- package/lib/types/components/tag/index.d.ts +0 -2
- package/lib/types/components/tag/tag.d.ts +0 -3
- package/lib/types/components/tag/type.d.ts +0 -11
- 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 -3
- package/lib/types/components/text/time.d.ts +0 -2
- package/lib/types/components/text/type.d.ts +0 -40
- package/lib/types/components/tree/index.d.ts +0 -2
- package/lib/types/components/tree/item.d.ts +0 -11
- package/lib/types/components/tree/tree.d.ts +0 -3
- package/lib/types/components/tree/type.d.ts +0 -60
- package/lib/types/components/upload/index.d.ts +0 -2
- package/lib/types/components/upload/renderFile.d.ts +0 -7
- package/lib/types/components/upload/type.d.ts +0 -41
- package/lib/types/components/upload/upload.d.ts +0 -3
- package/lib/types/components/utils/empty/index.d.ts +0 -1
- package/lib/types/components/utils/helpericon/helpericon.d.ts +0 -3
- package/lib/types/components/utils/helpericon/index.d.ts +0 -2
- package/lib/types/components/utils/helpericon/type.d.ts +0 -11
- package/lib/types/components/video/index.d.ts +0 -2
- package/lib/types/components/video/type.d.ts +0 -24
- package/lib/types/components/video/video.d.ts +0 -3
- package/lib/types/index.d.ts +0 -40
- package/lib/types/js/hooks.d.ts +0 -36
- package/lib/types/js/usePreview/content.d.ts +0 -2
- package/lib/types/js/usePreview/index.d.ts +0 -2
- package/lib/types/js/usePreview/renderFile.d.ts +0 -2
- package/lib/types/js/usePreview/type.d.ts +0 -36
- package/lib/types/js/useRipple/index.d.ts +0 -2
- package/lib/types/js/useTheme/index.d.ts +0 -6
- package/lib/types/js/useTheme/type.d.ts +0 -9
- package/lib/types/js/utils.d.ts +0 -36
- package/lib/types/type/index.d.ts +0 -34
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawer.js","names":[],"sources":["../../../../packages/components/drawer/drawer.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useEffect, useRef, useTransition } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { useKeydown, useReactive } from \"../../js/hooks\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { IDrawer } from \"./type\";\n\nfunction Drawer(props: IDrawer) {\n\tconst {\n\t\tvisible,\n\t\tposition = \"left\",\n\t\theader,\n\t\tfooter,\n\t\tbackdropClosable = true,\n\t\thideCloseButton,\n\t\tkeepDOM,\n\t\tclassName,\n\t\tdisabledEsc,\n\t\tchildren,\n\t\tonVisibleChange,\n\t\tonClose,\n\t\t...restProps\n\t} = props;\n\n\tconst toggable = useRef(true);\n\tconst state = useReactive({\n\t\tshow: visible,\n\t\tactive: visible,\n\t});\n\tconst [isPending, startTransition] = useTransition();\n\n\tconst handleHide = () => {\n\t\tif (!toggable.current || isPending) return;\n\t\ttoggable.current = false;\n\n\t\tstartTransition(() => {\n\t\t\tstate.active = false;\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!keepDOM) {\n\t\t\t\t\tstate.show = false;\n\t\t\t\t}\n\t\t\t\tonVisibleChange?.(false);\n\t\t\t\ttoggable.current = true;\n\t\t\t\tonClose?.();\n\t\t\t}, 240);\n\t\t});\n\t};\n\n\tconst handleShow = () => {\n\t\tif (!toggable.current || isPending) return;\n\n\t\tstate.show = true;\n\t\tonVisibleChange?.(true);\n\t\ttoggable.current = false;\n\n\t\tstartTransition(() => {\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tstate.active = true;\n\t\t\t\ttoggable.current = true;\n\t\t\t});\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tvisible ? handleShow() : handleHide();\n\t}, [visible]);\n\n\tconst handleBackdropClick = () => {\n\t\tbackdropClosable && handleHide();\n\t};\n\n\tuseKeydown(\n\t\t(e) => {\n\t\t\tif (e.code !== \"Escape\" || !visible) return;\n\t\t\thandleHide();\n\t\t},\n\t\t{\n\t\t\tdisabled: disabledEsc,\n\t\t}\n\t);\n\n\tif (!state.show) return null;\n\n\treturn createPortal(\n\t\t<div\n\t\t\tclassName={classNames(\"i-backdrop-drawer\", className, {\n\t\t\t\t\"i-active\": state.active,\n\t\t\t})}\n\t\t\tonClick={handleBackdropClick}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-drawer\", `i-drawer-${position}`)}\n\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t>\n\t\t\t\t{header && (\n\t\t\t\t\t<header className='i-drawer-header'>\n\t\t\t\t\t\t{header}\n\n\t\t\t\t\t\t{!hideCloseButton && (\n\t\t\t\t\t\t\t<Helpericon\n\t\t\t\t\t\t\t\tclassName='i-drawer-close'\n\t\t\t\t\t\t\t\tonClick={handleHide}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</header>\n\t\t\t\t)}\n\n\t\t\t\t<div className='i-drawer-content'>{children}</div>\n\n\t\t\t\t{footer && <div className='i-drawer-footer'>{footer}</div>}\n\t\t\t</div>\n\t\t</div>,\n\t\tdocument.body\n\t);\n}\n\nexport default Drawer;\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Drawer"],"sources":["../../../../packages/components/drawer/index.tsx"],"sourcesContent":["import Drawer from \"./drawer\";\n\nexport default Drawer;\n"],"mappings":";AAEA,IAAA,wCAAeA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_index = require("../list/index.js");
|
|
3
|
+
const require_index$1 = require("../popup/index.js");
|
|
4
|
+
const require_item = require("./item.js");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
//#region packages/components/dropdown/dropdown.tsx
|
|
8
|
+
const Dropdown = (props) => {
|
|
9
|
+
const { visible, width, content, children, ...restProps } = props;
|
|
10
|
+
const [active, setActive] = (0, react.useState)(visible);
|
|
11
|
+
if (!content) return children;
|
|
12
|
+
const handleVisibleChange = (v) => {
|
|
13
|
+
setActive(v);
|
|
14
|
+
if (props.onVisibleChange) props.onVisibleChange(v);
|
|
15
|
+
};
|
|
16
|
+
(0, react.useEffect)(() => {
|
|
17
|
+
setActive(visible);
|
|
18
|
+
}, [visible]);
|
|
19
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, {
|
|
20
|
+
trigger: "click",
|
|
21
|
+
position: "bottom",
|
|
22
|
+
content: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
23
|
+
className: "i-dropdown-content",
|
|
24
|
+
style: { minWidth: width },
|
|
25
|
+
children: typeof content === "function" ? content(() => setActive(false)) : content
|
|
26
|
+
}),
|
|
27
|
+
...restProps,
|
|
28
|
+
touchable: true,
|
|
29
|
+
visible: active,
|
|
30
|
+
onVisibleChange: handleVisibleChange,
|
|
31
|
+
children
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Dropdown.Item = require_item.default;
|
|
35
|
+
//#endregion
|
|
36
|
+
exports.default = Dropdown;
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown.js","names":[],"sources":["../../../../packages/components/dropdown/dropdown.tsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport List from \"../list\";\nimport Popup from \"../popup\";\nimport \"./index.css\";\nimport Item from \"./item\";\nimport { IDropdown } from \"./type\";\n\nconst Dropdown = (props: IDropdown) => {\n\tconst { visible, width, content, children, ...restProps } = props;\n\tconst [active, setActive] = useState(visible);\n\n\tif (!content) {\n\t\treturn children;\n\t}\n\n\tconst handleVisibleChange = (v: boolean) => {\n\t\tsetActive(v);\n\t\tif (props.onVisibleChange) {\n\t\t\tprops.onVisibleChange(v);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tsetActive(visible);\n\t}, [visible]);\n\n\treturn (\n\t\t<Popup\n\t\t\ttrigger='click'\n\t\t\tposition='bottom'\n\t\t\tcontent={\n\t\t\t\t<List\n\t\t\t\t\tclassName='i-dropdown-content'\n\t\t\t\t\tstyle={{ minWidth: width }}\n\t\t\t\t>\n\t\t\t\t\t{typeof content === \"function\"\n\t\t\t\t\t\t? content(() => setActive(false))\n\t\t\t\t\t\t: content}\n\t\t\t\t</List>\n\t\t\t}\n\t\t\t{...restProps}\n\t\t\ttouchable\n\t\t\tvisible={active}\n\t\t\tonVisibleChange={handleVisibleChange}\n\t\t>\n\t\t\t{children}\n\t\t</Popup>\n\t);\n};\n\nDropdown.Item = Item;\n\nexport default Dropdown;\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Dropdown"],"sources":["../../../../packages/components/dropdown/index.tsx"],"sourcesContent":["import Dropdown from \"./dropdown\";\n\nexport default Dropdown;\n"],"mappings":";AAEA,IAAA,4CAAeA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_index = require("../list/index.js");
|
|
3
|
+
const require_index$1 = require("../popup/index.js");
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
|
+
//#region packages/components/dropdown/item.tsx
|
|
6
|
+
const { Item: ListItem } = require_index.default;
|
|
7
|
+
const Item = (props) => {
|
|
8
|
+
const { more, moreProps, onClick, ...restProps } = props;
|
|
9
|
+
const Li = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ListItem, {
|
|
10
|
+
onClick: (e) => {
|
|
11
|
+
e.stopPropagation();
|
|
12
|
+
onClick?.(e);
|
|
13
|
+
},
|
|
14
|
+
...restProps
|
|
15
|
+
});
|
|
16
|
+
if (!more) return Li;
|
|
17
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, {
|
|
18
|
+
position: "right",
|
|
19
|
+
touchable: true,
|
|
20
|
+
arrow: false,
|
|
21
|
+
align: "start",
|
|
22
|
+
offset: 10,
|
|
23
|
+
hideDelay: 240,
|
|
24
|
+
...moreProps,
|
|
25
|
+
content: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
26
|
+
className: "i-dropdown-content",
|
|
27
|
+
onClick: (e) => e.stopPropagation(),
|
|
28
|
+
children: more
|
|
29
|
+
}),
|
|
30
|
+
children: Li
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
exports.default = Item;
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item.js","names":["List","Popup"],"sources":["../../../../packages/components/dropdown/item.tsx"],"sourcesContent":["import List from \"../list\";\nimport Popup from \"../popup\";\nimport { IDropItem } from \"./type\";\n\nconst { Item: ListItem } = List;\n\nconst Item = (props: IDropItem) => {\n\tconst { more, moreProps, onClick, ...restProps } = props;\n\tconst Li = (\n\t\t<ListItem\n\t\t\tonClick={(e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\tonClick?.(e);\n\t\t\t}}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n\n\tif (!more) return Li;\n\n\treturn (\n\t\t<Popup\n\t\t\tposition='right'\n\t\t\ttouchable\n\t\t\tarrow={false}\n\t\t\talign='start'\n\t\t\toffset={10}\n\t\t\thideDelay={240}\n\t\t\t{...moreProps}\n\t\t\tcontent={\n\t\t\t\t<List\n\t\t\t\t\tclassName='i-dropdown-content'\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t{more}\n\t\t\t\t</List>\n\t\t\t}\n\t\t>\n\t\t\t{Li}\n\t\t</Popup>\n\t);\n};\n\nexport default Item;\n"],"mappings":";;;;;AAIA,MAAM,EAAE,MAAM,aAAaA,cAAAA;AAE3B,MAAM,QAAQ,UAAqB;CAClC,MAAM,EAAE,MAAM,WAAW,SAAS,GAAG,cAAc;CACnD,MAAM,KACL,iBAAA,GAAA,kBAAA,KAAC,UAAD;EACC,UAAU,MAAM;AACf,KAAE,iBAAiB;AACnB,aAAU,EAAE;;EAEb,GAAI;EACH,CAAA;AAGH,KAAI,CAAC,KAAM,QAAO;AAElB,QACC,iBAAA,GAAA,kBAAA,KAACC,gBAAAA,SAAD;EACC,UAAS;EACT,WAAA;EACA,OAAO;EACP,OAAM;EACN,QAAQ;EACR,WAAW;EACX,GAAI;EACJ,SACC,iBAAA,GAAA,kBAAA,KAACD,cAAAA,SAAD;GACC,WAAU;GACV,UAAU,MAAM,EAAE,iBAAiB;aAElC;GACK,CAAA;YAGP;EACM,CAAA"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_index = require("../button/index.js");
|
|
3
|
+
const require_index$1 = require("../icon/index.js");
|
|
4
|
+
let _ricons_material = require("@ricons/material");
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
|
+
let xss = require("xss");
|
|
7
|
+
xss = require_runtime.__toESM(xss);
|
|
8
|
+
//#region packages/components/editor/controls.tsx
|
|
9
|
+
const { escapeAttrValue } = xss.default;
|
|
10
|
+
const exec = (a, b, c) => {
|
|
11
|
+
if (typeof document === "undefined") return;
|
|
12
|
+
return document.execCommand(a, b, c);
|
|
13
|
+
};
|
|
14
|
+
const xssOptions = { onIgnoreTagAttr: function(tag, name, value) {
|
|
15
|
+
if (["data-", "style"].includes(name.substr(0, 5))) return name + "=\"" + escapeAttrValue(value) + "\"";
|
|
16
|
+
} };
|
|
17
|
+
const fnMap = {
|
|
18
|
+
bold: {
|
|
19
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.FormatBoldRound, {}),
|
|
20
|
+
onClick: () => exec("bold"),
|
|
21
|
+
tip: "粗体"
|
|
22
|
+
},
|
|
23
|
+
italic: {
|
|
24
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.FormatItalicRound, {}),
|
|
25
|
+
onClick: () => exec("italic"),
|
|
26
|
+
tip: "斜体"
|
|
27
|
+
},
|
|
28
|
+
underline: {
|
|
29
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.FormatUnderlinedRound, {}),
|
|
30
|
+
onClick: () => exec("underline"),
|
|
31
|
+
tip: "下划线"
|
|
32
|
+
},
|
|
33
|
+
strike: {
|
|
34
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.StrikethroughSRound, {}),
|
|
35
|
+
onClick: () => exec("strikeThrough"),
|
|
36
|
+
tip: "删除线"
|
|
37
|
+
},
|
|
38
|
+
redo: {
|
|
39
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.RedoRound, {}),
|
|
40
|
+
onClick: () => exec("redo"),
|
|
41
|
+
tip: "重做"
|
|
42
|
+
},
|
|
43
|
+
undo: {
|
|
44
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.UndoRound, {}),
|
|
45
|
+
onClick: () => exec("undo"),
|
|
46
|
+
tip: "撤销"
|
|
47
|
+
},
|
|
48
|
+
clear: {
|
|
49
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.ClearAllRound, {}),
|
|
50
|
+
onClick: () => exec("removeFormat"),
|
|
51
|
+
tip: "清除格式"
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
const aliasMap = {
|
|
55
|
+
simple: [
|
|
56
|
+
"undo",
|
|
57
|
+
"redo",
|
|
58
|
+
"bold",
|
|
59
|
+
"italic",
|
|
60
|
+
"underline",
|
|
61
|
+
"strike",
|
|
62
|
+
"clear"
|
|
63
|
+
],
|
|
64
|
+
all: Object.keys(fnMap)
|
|
65
|
+
};
|
|
66
|
+
function getControls(fns, options) {
|
|
67
|
+
const { controlBtnProps } = options;
|
|
68
|
+
return (typeof fns === "string" ? aliasMap[fns] : fns).map((k) => {
|
|
69
|
+
if (fnMap[k]) {
|
|
70
|
+
const { icon, render, tip, onClick } = fnMap[k];
|
|
71
|
+
if (render) return render(options);
|
|
72
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_index.default, {
|
|
73
|
+
...controlBtnProps,
|
|
74
|
+
onClick,
|
|
75
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon }), tip && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
76
|
+
className: "i-editor-control-tip",
|
|
77
|
+
children: tip
|
|
78
|
+
})]
|
|
79
|
+
}, k);
|
|
80
|
+
}
|
|
81
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, {}, k);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//#endregion
|
|
85
|
+
exports.default = getControls;
|
|
86
|
+
exports.exec = exec;
|
|
87
|
+
exports.xssOptions = xssOptions;
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=controls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controls.js","names":["FormatBoldRound","FormatItalicRound","FormatUnderlinedRound","StrikethroughSRound","RedoRound","UndoRound","ClearAllRound","Button","Icon","Fragment"],"sources":["../../../../packages/components/editor/controls.tsx"],"sourcesContent":["import {\n\tClearAllRound,\n\tFormatBoldRound,\n\tFormatItalicRound,\n\tFormatUnderlinedRound,\n\tRedoRound,\n\tStrikethroughSRound,\n\tUndoRound,\n} from \"@ricons/material\";\nimport { Fragment } from \"react/jsx-runtime\";\nimport xss from \"xss\";\nimport Button from \"../button\";\nimport Icon from \"../icon\";\n\nconst { escapeAttrValue } = xss as unknown as {\n\tescapeAttrValue: (value: string) => string;\n};\n\nexport const exec = (a, b?, c?) => {\n\tif (typeof document === \"undefined\") return;\n\treturn document.execCommand(a, b, c);\n};\n\nexport const xssOptions = {\n\tonIgnoreTagAttr: function (tag, name, value) {\n\t\tif ([\"data-\", \"style\"].includes(name.substr(0, 5))) {\n\t\t\treturn name + '=\"' + escapeAttrValue(value) + '\"';\n\t\t}\n\t},\n};\n\nconst fnMap = {\n\tbold: {\n\t\ticon: <FormatBoldRound />,\n\t\tonClick: () => exec(\"bold\"),\n\t\ttip: \"粗体\",\n\t},\n\titalic: {\n\t\ticon: <FormatItalicRound />,\n\t\tonClick: () => exec(\"italic\"),\n\t\ttip: \"斜体\",\n\t},\n\tunderline: {\n\t\ticon: <FormatUnderlinedRound />,\n\t\tonClick: () => exec(\"underline\"),\n\t\ttip: \"下划线\",\n\t},\n\tstrike: {\n\t\ticon: <StrikethroughSRound />,\n\t\tonClick: () => exec(\"strikeThrough\"),\n\t\ttip: \"删除线\",\n\t},\n\tredo: {\n\t\ticon: <RedoRound />,\n\t\tonClick: () => exec(\"redo\"),\n\t\ttip: \"重做\",\n\t},\n\tundo: {\n\t\ticon: <UndoRound />,\n\t\tonClick: () => exec(\"undo\"),\n\t\ttip: \"撤销\",\n\t},\n\t// color: {\n\t// \ticon: <FormatColorTextRound />,\n\t// \tonClick: () => exec(\"foreColor\", false, \"\"),\n\t// },\n\t// backColor: {\n\t// \ticon: <FormatColorFillRound />,\n\t// \tonClick: () => exec(\"backColor\", false, \"\"),\n\t// },\n\tclear: {\n\t\ticon: <ClearAllRound />,\n\t\tonClick: () => exec(\"removeFormat\"),\n\t\ttip: \"清除格式\",\n\t},\n};\n\nconst aliasMap = {\n\tsimple: [\"undo\", \"redo\", \"bold\", \"italic\", \"underline\", \"strike\", \"clear\"],\n\tall: Object.keys(fnMap),\n};\n\nexport default function getControls(fns, options) {\n\tconst { controlBtnProps } = options;\n\tconst keys = typeof fns === \"string\" ? aliasMap[fns] : fns;\n\n\treturn keys.map((k) => {\n\t\tif (fnMap[k]) {\n\t\t\tconst { icon, render, tip, onClick } = fnMap[k];\n\n\t\t\tif (render) {\n\t\t\t\treturn render(options);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<Button key={k} {...controlBtnProps} onClick={onClick}>\n\t\t\t\t\t<Icon icon={icon} />\n\t\t\t\t\t{tip && <span className='i-editor-control-tip'>{tip}</span>}\n\t\t\t\t</Button>\n\t\t\t);\n\t\t}\n\t\treturn <Fragment key={k} />;\n\t});\n}\n"],"mappings":";;;;;;;;AAcA,MAAM,EAAE,oBAAoB,IAAA;AAI5B,MAAa,QAAQ,GAAG,GAAI,MAAO;AAClC,KAAI,OAAO,aAAa,YAAa;AACrC,QAAO,SAAS,YAAY,GAAG,GAAG,EAAE;;AAGrC,MAAa,aAAa,EACzB,iBAAiB,SAAU,KAAK,MAAM,OAAO;AAC5C,KAAI,CAAC,SAAS,QAAQ,CAAC,SAAS,KAAK,OAAO,GAAG,EAAE,CAAC,CACjD,QAAO,OAAO,QAAO,gBAAgB,MAAM,GAAG;GAGhD;AAED,MAAM,QAAQ;CACb,MAAM;EACL,MAAM,iBAAA,GAAA,kBAAA,KAACA,iBAAAA,iBAAD,EAAmB,CAAA;EACzB,eAAe,KAAK,OAAO;EAC3B,KAAK;EACL;CACD,QAAQ;EACP,MAAM,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,mBAAD,EAAqB,CAAA;EAC3B,eAAe,KAAK,SAAS;EAC7B,KAAK;EACL;CACD,WAAW;EACV,MAAM,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,uBAAD,EAAyB,CAAA;EAC/B,eAAe,KAAK,YAAY;EAChC,KAAK;EACL;CACD,QAAQ;EACP,MAAM,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,qBAAD,EAAuB,CAAA;EAC7B,eAAe,KAAK,gBAAgB;EACpC,KAAK;EACL;CACD,MAAM;EACL,MAAM,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,WAAD,EAAa,CAAA;EACnB,eAAe,KAAK,OAAO;EAC3B,KAAK;EACL;CACD,MAAM;EACL,MAAM,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,WAAD,EAAa,CAAA;EACnB,eAAe,KAAK,OAAO;EAC3B,KAAK;EACL;CASD,OAAO;EACN,MAAM,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,eAAD,EAAiB,CAAA;EACvB,eAAe,KAAK,eAAe;EACnC,KAAK;EACL;CACD;AAED,MAAM,WAAW;CAChB,QAAQ;EAAC;EAAQ;EAAQ;EAAQ;EAAU;EAAa;EAAU;EAAQ;CAC1E,KAAK,OAAO,KAAK,MAAM;CACvB;AAED,SAAwB,YAAY,KAAK,SAAS;CACjD,MAAM,EAAE,oBAAoB;AAG5B,SAFa,OAAO,QAAQ,WAAW,SAAS,OAAO,KAE3C,KAAK,MAAM;AACtB,MAAI,MAAM,IAAI;GACb,MAAM,EAAE,MAAM,QAAQ,KAAK,YAAY,MAAM;AAE7C,OAAI,OACH,QAAO,OAAO,QAAQ;AAGvB,UACC,iBAAA,GAAA,kBAAA,MAACC,cAAAA,SAAD;IAAgB,GAAI;IAA0B;cAA9C,CACC,iBAAA,GAAA,kBAAA,KAACC,gBAAAA,SAAD,EAAY,MAAQ,CAAA,EACnB,OAAO,iBAAA,GAAA,kBAAA,KAAC,QAAD;KAAM,WAAU;eAAwB;KAAW,CAAA,CACnD;MAHI,EAGJ;;AAGX,SAAO,iBAAA,GAAA,kBAAA,KAACC,kBAAAA,UAAD,EAAoB,EAAL,EAAK;GAC1B"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_controls = require("./controls.js");
|
|
3
|
+
let classnames = require("classnames");
|
|
4
|
+
classnames = require_runtime.__toESM(classnames);
|
|
5
|
+
let react = require("react");
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
let xss = require("xss");
|
|
8
|
+
xss = require_runtime.__toESM(xss);
|
|
9
|
+
//#region packages/components/editor/editor.tsx
|
|
10
|
+
const Editor = (props) => {
|
|
11
|
+
const { ref, width, height = "10em", placeholder, autosize, border = true, richPaste, controls = "simple", className, style, onInput, onPaste, onKeyDown, ...restProps } = props;
|
|
12
|
+
const editorRef = (0, react.useRef)(null);
|
|
13
|
+
const controlBtnProps = {
|
|
14
|
+
square: true,
|
|
15
|
+
flat: true,
|
|
16
|
+
size: "small"
|
|
17
|
+
};
|
|
18
|
+
const handlePaste = async (e) => {
|
|
19
|
+
onPaste?.(e);
|
|
20
|
+
if (richPaste) return;
|
|
21
|
+
e.preventDefault();
|
|
22
|
+
require_controls.exec("insertText", false, e.clipboardData.getData("text/plain"));
|
|
23
|
+
};
|
|
24
|
+
const handleKeyDown = (e) => {
|
|
25
|
+
onKeyDown?.(e);
|
|
26
|
+
switch (e.key) {
|
|
27
|
+
case "Tab":
|
|
28
|
+
e.preventDefault();
|
|
29
|
+
require_controls.exec("insertHTML", false, "	");
|
|
30
|
+
break;
|
|
31
|
+
case "Enter":
|
|
32
|
+
e.preventDefault();
|
|
33
|
+
require_controls.exec("insertLineBreak");
|
|
34
|
+
if (!editorRef.current) return;
|
|
35
|
+
editorRef.current.scrollBy({
|
|
36
|
+
top: 20,
|
|
37
|
+
left: -1e3
|
|
38
|
+
});
|
|
39
|
+
if (!autosize) return;
|
|
40
|
+
editorRef.current.style.height = `${editorRef.current.scrollHeight}px`;
|
|
41
|
+
break;
|
|
42
|
+
default: break;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
(0, react.useImperativeHandle)(ref, () => {
|
|
46
|
+
return {
|
|
47
|
+
input: editorRef.current,
|
|
48
|
+
setValue(html) {
|
|
49
|
+
if (!editorRef.current) return;
|
|
50
|
+
const safeHtml = (0, xss.default)(html, require_controls.xssOptions);
|
|
51
|
+
editorRef.current.innerHTML = safeHtml;
|
|
52
|
+
},
|
|
53
|
+
getSafeValue() {
|
|
54
|
+
return (0, xss.default)(editorRef.current?.innerHTML ?? "", require_controls.xssOptions);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
const handleInput = (e) => {
|
|
59
|
+
let html = editorRef.current?.innerHTML ?? "";
|
|
60
|
+
if (["<br>", "\n"].includes(html) && editorRef.current) {
|
|
61
|
+
html = "";
|
|
62
|
+
editorRef.current.innerHTML = html;
|
|
63
|
+
}
|
|
64
|
+
onInput?.(html, e);
|
|
65
|
+
};
|
|
66
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
67
|
+
className: (0, classnames.default)("i-editor", className, { "i-editor-borderless": !border }),
|
|
68
|
+
style: {
|
|
69
|
+
...style,
|
|
70
|
+
[autosize ? "minHeight" : "height"]: height,
|
|
71
|
+
width
|
|
72
|
+
},
|
|
73
|
+
children: [controls !== "none" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
74
|
+
className: "i-editor-controls",
|
|
75
|
+
children: require_controls.default(controls, { controlBtnProps })
|
|
76
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
77
|
+
ref: editorRef,
|
|
78
|
+
className: "i-editor-content",
|
|
79
|
+
"data-placeholder": placeholder,
|
|
80
|
+
contentEditable: true,
|
|
81
|
+
onPaste: handlePaste,
|
|
82
|
+
onInput: handleInput,
|
|
83
|
+
onKeyDown: handleKeyDown,
|
|
84
|
+
...restProps
|
|
85
|
+
})]
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
//#endregion
|
|
89
|
+
exports.default = Editor;
|
|
90
|
+
|
|
91
|
+
//# sourceMappingURL=editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor.js","names":[],"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\tinput: editorRef.current,\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"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Editor"],"sources":["../../../../packages/components/editor/index.tsx"],"sourcesContent":["import Editor from \"./editor\";\n\nexport default Editor;\n"],"mappings":";AAEA,IAAA,wCAAeA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
let classnames = require("classnames");
|
|
3
|
+
classnames = require_runtime.__toESM(classnames);
|
|
4
|
+
let react = require("react");
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
|
+
//#region packages/components/flex/flex.tsx
|
|
7
|
+
const Flex = (props) => {
|
|
8
|
+
const { as: Component = "div", align, justify, direction, wrap, gap, columns, className, style, ...restProps } = props;
|
|
9
|
+
const gridColumns = (0, react.useMemo)(() => {
|
|
10
|
+
if (!columns) return;
|
|
11
|
+
if (typeof columns === "number") return `repeat(${columns}, 1fr)`;
|
|
12
|
+
return columns;
|
|
13
|
+
}, [columns]);
|
|
14
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Component, {
|
|
15
|
+
...restProps,
|
|
16
|
+
style: {
|
|
17
|
+
alignItems: align,
|
|
18
|
+
justifyContent: justify,
|
|
19
|
+
gap,
|
|
20
|
+
flexDirection: direction,
|
|
21
|
+
flexWrap: wrap === true ? "wrap" : wrap,
|
|
22
|
+
gridTemplateColumns: gridColumns,
|
|
23
|
+
...style
|
|
24
|
+
},
|
|
25
|
+
className: (0, classnames.default)(className, { [columns ? "grid" : "flex"]: true })
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
exports.default = Flex;
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=flex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flex.js","names":[],"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"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Flex"],"sources":["../../../../packages/components/flex/index.tsx"],"sourcesContent":["import Flex from \"./flex\";\n\nexport default Flex;\n"],"mappings":";AAEA,IAAA,oCAAeA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"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"],"mappings":";;AAGA,MAAM,WAAA,oBAAA,eAAwB,EAAE,CAAkB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_context = require("./context.js");
|
|
3
|
+
let react = require("react");
|
|
4
|
+
let _Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js = require("/Users/iann/codes/ioca-react/node_modules/.pnpm/pubsub-js@1.9.5/node_modules/pubsub-js/src/pubsub.js");
|
|
5
|
+
_Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js = require_runtime.__toESM(_Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js);
|
|
6
|
+
//#region packages/components/form/field.tsx
|
|
7
|
+
function Field(props) {
|
|
8
|
+
const { name, required, children } = props;
|
|
9
|
+
const [fieldValue, setFieldValue] = (0, react.useState)(void 0);
|
|
10
|
+
const [fieldStatus, setFieldStatus] = (0, react.useState)("normal");
|
|
11
|
+
const [fieldMessage, setFieldMessage] = (0, react.useState)(void 0);
|
|
12
|
+
const form = (0, react.useContext)(require_context.default);
|
|
13
|
+
const { id } = form;
|
|
14
|
+
const handleChange = (v) => {
|
|
15
|
+
if (!name) return;
|
|
16
|
+
form.set(name, v);
|
|
17
|
+
_Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js.default.publish(`${id}:change`, {
|
|
18
|
+
name,
|
|
19
|
+
value: v
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const hijackChildren = (0, react.useMemo)(() => {
|
|
23
|
+
return react.Children.map(children, (node) => {
|
|
24
|
+
if (!(0, react.isValidElement)(node)) return null;
|
|
25
|
+
const { onChange } = node.props;
|
|
26
|
+
return (0, react.cloneElement)(node, {
|
|
27
|
+
value: fieldValue,
|
|
28
|
+
status: fieldStatus,
|
|
29
|
+
message: fieldMessage,
|
|
30
|
+
required,
|
|
31
|
+
onChange: (...args) => {
|
|
32
|
+
handleChange(args[0]);
|
|
33
|
+
onChange?.(...args);
|
|
34
|
+
setFieldStatus("normal");
|
|
35
|
+
setFieldMessage(void 0);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}, [
|
|
40
|
+
children,
|
|
41
|
+
fieldValue,
|
|
42
|
+
fieldStatus,
|
|
43
|
+
fieldMessage,
|
|
44
|
+
required
|
|
45
|
+
]);
|
|
46
|
+
(0, react.useEffect)(() => {
|
|
47
|
+
if (!name) return;
|
|
48
|
+
_Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js.default.subscribe(`${id}:set:${name}`, (evt, v) => {
|
|
49
|
+
setFieldValue(v);
|
|
50
|
+
});
|
|
51
|
+
_Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js.default.subscribe(`${id}:invalid:${name}`, (evt, v) => {
|
|
52
|
+
if (v?.value !== void 0) setFieldValue(v.value);
|
|
53
|
+
if (v?.status) setFieldStatus(v.status);
|
|
54
|
+
if ("message" in (v ?? {})) setFieldMessage(v.message);
|
|
55
|
+
});
|
|
56
|
+
Promise.resolve().then(() => {
|
|
57
|
+
form.set(name, form.cacheData[name] ?? void 0);
|
|
58
|
+
});
|
|
59
|
+
return () => {
|
|
60
|
+
_Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js.default.unsubscribe(`${id}:set:${name}`);
|
|
61
|
+
_Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js.default.unsubscribe(`${id}:invalid:${name}`);
|
|
62
|
+
form.delete(name);
|
|
63
|
+
};
|
|
64
|
+
}, [name, children]);
|
|
65
|
+
if (!name) return children;
|
|
66
|
+
return hijackChildren;
|
|
67
|
+
}
|
|
68
|
+
//#endregion
|
|
69
|
+
exports.default = Field;
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.js","names":["Context","Children"],"sources":["../../../../packages/components/form/field.tsx"],"sourcesContent":["import PubSub from \"pubsub-js\";\nimport {\n\tChildren,\n\tcloneElement,\n\tisValidElement,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseState,\n} from \"react\";\nimport Context from \"./context\";\nimport { IField } from \"./type\";\n\nfunction Field(props: IField) {\n\tconst { name, required, children } = props;\n\tconst [fieldValue, setFieldValue] = useState<any>(undefined);\n\tconst [fieldStatus, setFieldStatus] = useState(\"normal\");\n\tconst [fieldMessage, setFieldMessage] = useState<any>(undefined);\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\n\t\t\treturn cloneElement(node, {\n\t\t\t\tvalue: fieldValue,\n\t\t\t\tstatus: fieldStatus,\n\t\t\t\tmessage: fieldMessage,\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\tsetFieldStatus(\"normal\");\n\t\t\t\t\tsetFieldMessage(undefined);\n\t\t\t\t},\n\t\t\t} as any);\n\t\t});\n\t}, [children, fieldValue, fieldStatus, fieldMessage, required]);\n\n\tuseEffect(() => {\n\t\tif (!name) return;\n\n\t\tPubSub.subscribe(`${id}:set:${name}`, (evt, v) => {\n\t\t\tsetFieldValue(v);\n\t\t});\n\t\tPubSub.subscribe(`${id}:invalid:${name}`, (evt, v) => {\n\t\t\tif (v?.value !== undefined) setFieldValue(v.value);\n\t\t\tif (v?.status) setFieldStatus(v.status);\n\t\t\tif (\"message\" in (v ?? {})) setFieldMessage(v.message);\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"],"mappings":";;;;;;AAaA,SAAS,MAAM,OAAe;CAC7B,MAAM,EAAE,MAAM,UAAU,aAAa;CACrC,MAAM,CAAC,YAAY,kBAAA,GAAA,MAAA,UAA+B,KAAA,EAAU;CAC5D,MAAM,CAAC,aAAa,mBAAA,GAAA,MAAA,UAA2B,SAAS;CACxD,MAAM,CAAC,cAAc,oBAAA,GAAA,MAAA,UAAiC,KAAA,EAAU;CAChE,MAAM,QAAA,GAAA,MAAA,YAAkBA,gBAAAA,QAAQ;CAChC,MAAM,EAAE,OAAO;CAEf,MAAM,gBAAgB,MAAM;AAC3B,MAAI,CAAC,KAAM;AAEX,OAAK,IAAI,MAAM,EAAE;AACjB,uGAAA,QAAO,QAAQ,GAAG,GAAG,UAAU;GAC9B;GACA,OAAO;GACP,CAAC;;CAGH,MAAM,kBAAA,GAAA,MAAA,eAA+B;AACpC,SAAOC,MAAAA,SAAS,IAAI,WAAW,SAAS;AACvC,OAAI,EAAA,GAAA,MAAA,gBAAgB,KAAK,CAAE,QAAO;GAElC,MAAM,EAAE,aAAa,KAAK;AAE1B,WAAA,GAAA,MAAA,cAAoB,MAAM;IACzB,OAAO;IACP,QAAQ;IACR,SAAS;IACT;IACA,WAAW,GAAG,SAAS;AACtB,kBAAa,KAAK,GAAG;AACrB,gBAAW,GAAG,KAAK;AACnB,oBAAe,SAAS;AACxB,qBAAgB,KAAA,EAAU;;IAE3B,CAAQ;IACR;IACA;EAAC;EAAU;EAAY;EAAa;EAAc;EAAS,CAAC;AAE/D,EAAA,GAAA,MAAA,iBAAgB;AACf,MAAI,CAAC,KAAM;AAEX,uGAAA,QAAO,UAAU,GAAG,GAAG,OAAO,SAAS,KAAK,MAAM;AACjD,iBAAc,EAAE;IACf;AACF,uGAAA,QAAO,UAAU,GAAG,GAAG,WAAW,SAAS,KAAK,MAAM;AACrD,OAAI,GAAG,UAAU,KAAA,EAAW,eAAc,EAAE,MAAM;AAClD,OAAI,GAAG,OAAQ,gBAAe,EAAE,OAAO;AACvC,OAAI,cAAc,KAAK,EAAE,EAAG,iBAAgB,EAAE,QAAQ;IACrD;AAEF,UAAQ,SAAS,CAAC,WAAW;AAC5B,QAAK,IAAI,MAAM,KAAK,UAAU,SAAS,KAAA,EAAU;IAChD;AAEF,eAAa;AACZ,wGAAA,QAAO,YAAY,GAAG,GAAG,OAAO,OAAO;AACvC,wGAAA,QAAO,YAAY,GAAG,GAAG,WAAW,OAAO;AAC3C,QAAK,OAAO,KAAK;;IAEhB,CAAC,MAAM,SAAS,CAAC;AAEpB,KAAI,CAAC,KAAM,QAAO;AAElB,QAAO"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_context = require("./context.js");
|
|
3
|
+
const require_field = require("./field.js");
|
|
4
|
+
const require_useForm = require("./useForm.js");
|
|
5
|
+
const require_useConfig = require("./useConfig.js");
|
|
6
|
+
let classnames = require("classnames");
|
|
7
|
+
classnames = require_runtime.__toESM(classnames);
|
|
8
|
+
let react = require("react");
|
|
9
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
|
+
let _Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js = require("/Users/iann/codes/ioca-react/node_modules/.pnpm/pubsub-js@1.9.5/node_modules/pubsub-js/src/pubsub.js");
|
|
11
|
+
_Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js = require_runtime.__toESM(_Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js);
|
|
12
|
+
//#region packages/components/form/form.tsx
|
|
13
|
+
const Form = (props) => {
|
|
14
|
+
const { form = {}, rules, initialValues, style, className, width, columns, itemMaxWidth, gap = "1em", labelInline, labelWidth, labelRight, children, onKeyDown, onEnter, onChange, ...restProps } = props;
|
|
15
|
+
const handleKeyDown = (e) => {
|
|
16
|
+
onKeyDown?.(e);
|
|
17
|
+
if (e.keyCode !== 13) return;
|
|
18
|
+
onEnter?.(e, form.data, form);
|
|
19
|
+
};
|
|
20
|
+
const gridColumns = (0, react.useMemo)(() => {
|
|
21
|
+
if (!columns && !itemMaxWidth) return;
|
|
22
|
+
if (itemMaxWidth) return `repeat(auto-fill, minmax(${itemMaxWidth}, 1fr))`;
|
|
23
|
+
if (typeof columns === "number") return `minmax(0, 1fr) `.repeat(columns);
|
|
24
|
+
return columns;
|
|
25
|
+
}, [columns]);
|
|
26
|
+
(0, react.useEffect)(() => {
|
|
27
|
+
Object.assign(form, {
|
|
28
|
+
data: { ...initialValues },
|
|
29
|
+
rules
|
|
30
|
+
});
|
|
31
|
+
}, [form]);
|
|
32
|
+
(0, react.useEffect)(() => {
|
|
33
|
+
_Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js.default.subscribe(`${form.id}:change`, (evt, v) => {
|
|
34
|
+
onChange?.(v.name, v.value);
|
|
35
|
+
});
|
|
36
|
+
return () => {
|
|
37
|
+
_Users_iann_codes_ioca_react_node_modules__pnpm_pubsub_js_1_9_5_node_modules_pubsub_js_src_pubsub_js.default.unsubscribe(`${form.id}:change`);
|
|
38
|
+
};
|
|
39
|
+
}, []);
|
|
40
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_context.default, {
|
|
41
|
+
value: form,
|
|
42
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("form", {
|
|
43
|
+
style: {
|
|
44
|
+
...style,
|
|
45
|
+
width,
|
|
46
|
+
gap,
|
|
47
|
+
gridTemplateColumns: gridColumns,
|
|
48
|
+
"--label-width": labelWidth,
|
|
49
|
+
"--label-align": labelRight ? "right" : void 0
|
|
50
|
+
},
|
|
51
|
+
className: (0, classnames.default)("i-form", className, { "i-form-inline": labelInline }),
|
|
52
|
+
onKeyDown: handleKeyDown,
|
|
53
|
+
...restProps,
|
|
54
|
+
children
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
Form.useForm = require_useForm.default;
|
|
59
|
+
Form.Field = require_field.default;
|
|
60
|
+
Form.useConfig = require_useConfig.default;
|
|
61
|
+
//#endregion
|
|
62
|
+
exports.default = Form;
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.js","names":[],"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 useConfig from \"./useConfig\";\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,\n\t\titemMaxWidth,\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?.(e, form.data, form);\n\t};\n\n\tconst gridColumns = useMemo(() => {\n\t\tif (!columns && !itemMaxWidth) return;\n\n\t\tif (itemMaxWidth) {\n\t\t\treturn `repeat(auto-fill, minmax(${itemMaxWidth}, 1fr))`;\n\t\t}\n\n\t\tif (typeof columns === \"number\") {\n\t\t\treturn `minmax(0, 1fr) `.repeat(columns);\n\t\t}\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;\nForm.useConfig = useConfig;\n\nexport default Form;\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Form"],"sources":["../../../../packages/components/form/index.tsx"],"sourcesContent":["import Form from \"./form\";\n\nexport default Form;\n"],"mappings":";AAEA,IAAA,oCAAeA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_field = require("./field.js");
|
|
3
|
+
const require_useForm = require("./useForm.js");
|
|
4
|
+
const require_form = require("./form.js");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
//#region packages/components/form/useConfig.tsx
|
|
8
|
+
function useConfig(configs, formProps) {
|
|
9
|
+
const form = require_useForm.default();
|
|
10
|
+
const { onChange } = formProps ?? {};
|
|
11
|
+
const [values, setValues] = (0, react.useState)({});
|
|
12
|
+
const handleChange = (name, value) => {
|
|
13
|
+
setValues(() => ({ ...form.get() }));
|
|
14
|
+
onChange?.(name, value);
|
|
15
|
+
};
|
|
16
|
+
return {
|
|
17
|
+
form,
|
|
18
|
+
node: (0, react.useMemo)(() => {
|
|
19
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_form.default, {
|
|
20
|
+
...formProps,
|
|
21
|
+
onChange: handleChange,
|
|
22
|
+
form,
|
|
23
|
+
children: configs.map((config) => {
|
|
24
|
+
const { name, label, required, component: El, componentProps = {}, colspan = 1, render, shouldUpdate, shouldRender } = config;
|
|
25
|
+
const { className, style } = componentProps;
|
|
26
|
+
if (shouldRender && !shouldRender(values, form)) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Fragment, {}, name);
|
|
27
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_field.default, {
|
|
28
|
+
name,
|
|
29
|
+
required,
|
|
30
|
+
children: render?.(config, values) ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(El, {
|
|
31
|
+
label,
|
|
32
|
+
required,
|
|
33
|
+
...componentProps,
|
|
34
|
+
className: `${className ?? ""} ${colspan !== 1 ? `colspan-${colspan}` : ""}`
|
|
35
|
+
})
|
|
36
|
+
}, name);
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
}, [configs, values])
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
exports.default = useConfig;
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=useConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConfig.js","names":["useForm","Form","Fragment","Field"],"sources":["../../../../packages/components/form/useConfig.tsx"],"sourcesContent":["import { Fragment, useMemo, useState } from \"react\";\nimport Field from \"./field\";\nimport Form from \"./form\";\nimport { IForm, IFormItem } from \"./type\";\nimport useForm from \"./useForm\";\n\nexport default function useConfig(configs: IFormItem[], formProps?: IForm) {\n\tconst form = useForm();\n\tconst { onChange } = formProps ?? {};\n\tconst [values, setValues] = useState({});\n\n\tconst handleChange = (name, value) => {\n\t\tsetValues(() => ({ ...form.get() }));\n\t\tonChange?.(name, value);\n\t};\n\n\tconst node = useMemo(() => {\n\t\treturn (\n\t\t\t<Form {...formProps} onChange={handleChange} form={form}>\n\t\t\t\t{configs.map((config) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\trequired,\n\t\t\t\t\t\tcomponent: El,\n\t\t\t\t\t\tcomponentProps = {},\n\t\t\t\t\t\tcolspan = 1,\n\t\t\t\t\t\trender,\n\t\t\t\t\t\tshouldUpdate,\n\t\t\t\t\t\tshouldRender,\n\t\t\t\t\t} = config;\n\t\t\t\t\tconst { className, style } = componentProps;\n\n\t\t\t\t\tif (shouldRender && !shouldRender(values, form)) {\n\t\t\t\t\t\treturn <Fragment key={name} />;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Field key={name} name={name} required={required}>\n\t\t\t\t\t\t\t{render?.(config, values) ?? (\n\t\t\t\t\t\t\t\t<El\n\t\t\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\t\t\t\t{...componentProps}\n\t\t\t\t\t\t\t\t\tclassName={`${className ?? \"\"} ${\n\t\t\t\t\t\t\t\t\t\tcolspan !== 1\n\t\t\t\t\t\t\t\t\t\t\t? `colspan-${colspan}`\n\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Field>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</Form>\n\t\t);\n\t}, [configs, values]);\n\n\treturn {\n\t\tform,\n\t\tnode,\n\t};\n}\n"],"mappings":";;;;;;;AAMA,SAAwB,UAAU,SAAsB,WAAmB;CAC1E,MAAM,OAAOA,gBAAAA,SAAS;CACtB,MAAM,EAAE,aAAa,aAAa,EAAE;CACpC,MAAM,CAAC,QAAQ,cAAA,GAAA,MAAA,UAAsB,EAAE,CAAC;CAExC,MAAM,gBAAgB,MAAM,UAAU;AACrC,mBAAiB,EAAE,GAAG,KAAK,KAAK,EAAE,EAAE;AACpC,aAAW,MAAM,MAAM;;AA6CxB,QAAO;EACN;EACA,OAAA,GAAA,MAAA,eA5C0B;AAC1B,UACC,iBAAA,GAAA,kBAAA,KAACC,aAAAA,SAAD;IAAM,GAAI;IAAW,UAAU;IAAoB;cACjD,QAAQ,KAAK,WAAW;KACxB,MAAM,EACL,MACA,OACA,UACA,WAAW,IACX,iBAAiB,EAAE,EACnB,UAAU,GACV,QACA,cACA,iBACG;KACJ,MAAM,EAAE,WAAW,UAAU;AAE7B,SAAI,gBAAgB,CAAC,aAAa,QAAQ,KAAK,CAC9C,QAAO,iBAAA,GAAA,kBAAA,KAACC,MAAAA,UAAD,EAAuB,EAAR,KAAQ;AAG/B,YACC,iBAAA,GAAA,kBAAA,KAACC,cAAAA,SAAD;MAAwB;MAAgB;gBACtC,SAAS,QAAQ,OAAO,IACxB,iBAAA,GAAA,kBAAA,KAAC,IAAD;OACQ;OACG;OACV,GAAI;OACJ,WAAW,GAAG,aAAa,GAAG,GAC7B,YAAY,IACT,WAAW,YACX;OAEH,CAAA;MAEI,EAbI,KAaJ;MAER;IACI,CAAA;KAEN,CAAC,SAAS,OAAO,CAAC;EAKpB"}
|