@ioca/react 1.4.78 → 1.4.79
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.cjs +23 -0
- package/lib/cjs/components/affix/affix.cjs +66 -0
- package/lib/cjs/components/affix/affix.cjs.map +1 -0
- package/lib/cjs/components/affix/index.cjs +6 -0
- package/lib/cjs/components/affix/index.cjs.map +1 -0
- package/lib/cjs/components/affix/totop.cjs +25 -0
- package/lib/cjs/components/affix/totop.cjs.map +1 -0
- package/lib/cjs/components/badge/badge.cjs +24 -0
- package/lib/cjs/components/badge/badge.cjs.map +1 -0
- package/lib/cjs/components/badge/index.cjs +6 -0
- package/lib/cjs/components/badge/index.cjs.map +1 -0
- package/lib/cjs/components/button/button.cjs +64 -0
- package/lib/cjs/components/button/button.cjs.map +1 -0
- package/lib/cjs/components/button/confirm.cjs +60 -0
- package/lib/cjs/components/button/confirm.cjs.map +1 -0
- package/lib/cjs/components/button/group.cjs +26 -0
- package/lib/cjs/components/button/group.cjs.map +1 -0
- package/lib/cjs/components/button/index.cjs +6 -0
- package/lib/cjs/components/button/index.cjs.map +1 -0
- package/lib/cjs/components/button/toggle.cjs +46 -0
- package/lib/cjs/components/button/toggle.cjs.map +1 -0
- package/lib/cjs/components/card/card.cjs +33 -0
- package/lib/cjs/components/card/card.cjs.map +1 -0
- package/lib/cjs/components/card/index.cjs +6 -0
- package/lib/cjs/components/card/index.cjs.map +1 -0
- package/lib/cjs/components/checkbox/checkbox.cjs +66 -0
- package/lib/cjs/components/checkbox/checkbox.cjs.map +1 -0
- package/lib/cjs/components/checkbox/index.cjs +6 -0
- package/lib/cjs/components/checkbox/index.cjs.map +1 -0
- package/lib/cjs/components/checkbox/item.cjs +59 -0
- package/lib/cjs/components/checkbox/item.cjs.map +1 -0
- package/lib/cjs/components/collapse/collapse.cjs +84 -0
- package/lib/cjs/components/collapse/collapse.cjs.map +1 -0
- package/lib/cjs/components/collapse/index.cjs +6 -0
- package/lib/cjs/components/collapse/index.cjs.map +1 -0
- package/lib/cjs/components/collapse/item.cjs +10 -0
- package/lib/cjs/components/collapse/item.cjs.map +1 -0
- package/lib/cjs/components/datagrid/cell.cjs +39 -0
- package/lib/cjs/components/datagrid/cell.cjs.map +1 -0
- package/lib/cjs/components/datagrid/datagrid.cjs +140 -0
- package/lib/cjs/components/datagrid/datagrid.cjs.map +1 -0
- package/lib/cjs/components/datagrid/index.cjs +6 -0
- package/lib/cjs/components/datagrid/index.cjs.map +1 -0
- package/lib/cjs/components/datagrid/resize.cjs +42 -0
- package/lib/cjs/components/datagrid/resize.cjs.map +1 -0
- package/lib/cjs/components/datagrid/row.cjs +68 -0
- package/lib/cjs/components/datagrid/row.cjs.map +1 -0
- package/lib/cjs/components/datagrid/sorter.cjs +28 -0
- package/lib/cjs/components/datagrid/sorter.cjs.map +1 -0
- package/lib/cjs/components/description/description.cjs +43 -0
- package/lib/cjs/components/description/description.cjs.map +1 -0
- package/lib/cjs/components/description/index.cjs +6 -0
- package/lib/cjs/components/description/index.cjs.map +1 -0
- package/lib/cjs/components/drawer/drawer.cjs +84 -0
- package/lib/cjs/components/drawer/drawer.cjs.map +1 -0
- package/lib/cjs/components/drawer/index.cjs +6 -0
- package/lib/cjs/components/drawer/index.cjs.map +1 -0
- package/lib/cjs/components/dropdown/dropdown.cjs +38 -0
- package/lib/cjs/components/dropdown/dropdown.cjs.map +1 -0
- package/lib/cjs/components/dropdown/index.cjs +6 -0
- package/lib/cjs/components/dropdown/index.cjs.map +1 -0
- package/lib/cjs/components/dropdown/item.cjs +36 -0
- package/lib/cjs/components/dropdown/item.cjs.map +1 -0
- package/lib/cjs/components/editor/controls.cjs +89 -0
- package/lib/cjs/components/editor/controls.cjs.map +1 -0
- package/lib/cjs/components/editor/editor.cjs +91 -0
- package/lib/cjs/components/editor/editor.cjs.map +1 -0
- package/lib/cjs/components/editor/index.cjs +6 -0
- package/lib/cjs/components/editor/index.cjs.map +1 -0
- package/lib/cjs/components/flex/flex.cjs +31 -0
- package/lib/cjs/components/flex/flex.cjs.map +1 -0
- package/lib/cjs/components/flex/index.cjs +6 -0
- package/lib/cjs/components/flex/index.cjs.map +1 -0
- package/lib/cjs/components/form/context.cjs +7 -0
- package/lib/cjs/components/form/context.cjs.map +1 -0
- package/lib/cjs/components/form/field.cjs +71 -0
- package/lib/cjs/components/form/field.cjs.map +1 -0
- package/lib/cjs/components/form/form.cjs +64 -0
- package/lib/cjs/components/form/form.cjs.map +1 -0
- package/lib/cjs/components/form/index.cjs +6 -0
- package/lib/cjs/components/form/index.cjs.map +1 -0
- package/lib/cjs/components/form/useConfig.cjs +45 -0
- package/lib/cjs/components/form/useConfig.cjs.map +1 -0
- package/lib/cjs/components/form/useForm.cjs +123 -0
- package/lib/cjs/components/form/useForm.cjs.map +1 -0
- package/lib/cjs/components/icon/icon.cjs +24 -0
- package/lib/cjs/components/icon/icon.cjs.map +1 -0
- package/lib/cjs/components/icon/index.cjs +6 -0
- package/lib/cjs/components/icon/index.cjs.map +1 -0
- package/lib/cjs/components/image/image.cjs +86 -0
- package/lib/cjs/components/image/image.cjs.map +1 -0
- package/lib/cjs/components/image/index.cjs +6 -0
- package/lib/cjs/components/image/index.cjs.map +1 -0
- package/lib/cjs/components/image/list.cjs +49 -0
- package/lib/cjs/components/image/list.cjs.map +1 -0
- package/lib/cjs/components/input/container.cjs +30 -0
- package/lib/cjs/components/input/container.cjs.map +1 -0
- package/lib/cjs/components/input/index.cjs +6 -0
- package/lib/cjs/components/input/index.cjs.map +1 -0
- package/lib/cjs/components/input/input.cjs +113 -0
- package/lib/cjs/components/input/input.cjs.map +1 -0
- package/lib/cjs/components/input/number.cjs +138 -0
- package/lib/cjs/components/input/number.cjs.map +1 -0
- package/lib/cjs/components/input/range.cjs +134 -0
- package/lib/cjs/components/input/range.cjs.map +1 -0
- package/lib/cjs/components/input/textarea.cjs +61 -0
- package/lib/cjs/components/input/textarea.cjs.map +1 -0
- package/lib/cjs/components/list/index.cjs +6 -0
- package/lib/cjs/components/list/index.cjs.map +1 -0
- package/lib/cjs/components/list/item.cjs +30 -0
- package/lib/cjs/components/list/item.cjs.map +1 -0
- package/lib/cjs/components/list/list.cjs +30 -0
- package/lib/cjs/components/list/list.cjs.map +1 -0
- package/lib/cjs/components/loading/index.cjs +6 -0
- package/lib/cjs/components/loading/index.cjs.map +1 -0
- package/lib/cjs/components/loading/loading.cjs +39 -0
- package/lib/cjs/components/loading/loading.cjs.map +1 -0
- package/lib/cjs/components/message/index.cjs +6 -0
- package/lib/cjs/components/message/index.cjs.map +1 -0
- package/lib/cjs/components/message/message.cjs +197 -0
- package/lib/cjs/components/message/message.cjs.map +1 -0
- package/lib/cjs/components/modal/content.cjs +57 -0
- package/lib/cjs/components/modal/content.cjs.map +1 -0
- package/lib/cjs/components/modal/context.cjs +7 -0
- package/lib/cjs/components/modal/context.cjs.map +1 -0
- package/lib/cjs/components/modal/hookModal.cjs +28 -0
- package/lib/cjs/components/modal/hookModal.cjs.map +1 -0
- package/lib/cjs/components/modal/index.cjs +6 -0
- package/lib/cjs/components/modal/index.cjs.map +1 -0
- package/lib/cjs/components/modal/modal.cjs +117 -0
- package/lib/cjs/components/modal/modal.cjs.map +1 -0
- package/lib/cjs/components/modal/useModal.cjs +39 -0
- package/lib/cjs/components/modal/useModal.cjs.map +1 -0
- package/lib/cjs/components/pagination/index.cjs +6 -0
- package/lib/cjs/components/pagination/index.cjs.map +1 -0
- package/lib/cjs/components/pagination/page.cjs +31 -0
- package/lib/cjs/components/pagination/page.cjs.map +1 -0
- package/lib/cjs/components/pagination/pagination.cjs +86 -0
- package/lib/cjs/components/pagination/pagination.cjs.map +1 -0
- package/lib/cjs/components/picker/colors/footer.cjs +64 -0
- package/lib/cjs/components/picker/colors/footer.cjs.map +1 -0
- package/lib/cjs/components/picker/colors/handle.cjs +25 -0
- package/lib/cjs/components/picker/colors/handle.cjs.map +1 -0
- package/lib/cjs/components/picker/colors/index.cjs +81 -0
- package/lib/cjs/components/picker/colors/index.cjs.map +1 -0
- package/lib/cjs/components/picker/dates/dates.cjs +68 -0
- package/lib/cjs/components/picker/dates/dates.cjs.map +1 -0
- package/lib/cjs/components/picker/dates/index.cjs +97 -0
- package/lib/cjs/components/picker/dates/index.cjs.map +1 -0
- package/lib/cjs/components/picker/dates/panel.cjs +151 -0
- package/lib/cjs/components/picker/dates/panel.cjs.map +1 -0
- package/lib/cjs/components/picker/time/index.cjs +73 -0
- package/lib/cjs/components/picker/time/index.cjs.map +1 -0
- package/lib/cjs/components/picker/time/item.cjs +20 -0
- package/lib/cjs/components/picker/time/item.cjs.map +1 -0
- package/lib/cjs/components/picker/time/panel.cjs +144 -0
- package/lib/cjs/components/picker/time/panel.cjs.map +1 -0
- package/lib/cjs/components/popconfirm/index.cjs +6 -0
- package/lib/cjs/components/popconfirm/index.cjs.map +1 -0
- package/lib/cjs/components/popconfirm/popconfirm.cjs +86 -0
- package/lib/cjs/components/popconfirm/popconfirm.cjs.map +1 -0
- package/lib/cjs/components/popup/content.cjs +56 -0
- package/lib/cjs/components/popup/content.cjs.map +1 -0
- package/lib/cjs/components/popup/index.cjs +6 -0
- package/lib/cjs/components/popup/index.cjs.map +1 -0
- package/lib/cjs/components/popup/popup.cjs +425 -0
- package/lib/cjs/components/popup/popup.cjs.map +1 -0
- package/lib/cjs/components/progress/circle.cjs +45 -0
- package/lib/cjs/components/progress/circle.cjs.map +1 -0
- package/lib/cjs/components/progress/index.cjs +6 -0
- package/lib/cjs/components/progress/index.cjs.map +1 -0
- package/lib/cjs/components/progress/line.cjs +27 -0
- package/lib/cjs/components/progress/line.cjs.map +1 -0
- package/lib/cjs/components/progress/progress.cjs +100 -0
- package/lib/cjs/components/progress/progress.cjs.map +1 -0
- package/lib/cjs/components/radio/index.cjs +6 -0
- package/lib/cjs/components/radio/index.cjs.map +1 -0
- package/lib/cjs/components/radio/item.cjs +34 -0
- package/lib/cjs/components/radio/item.cjs.map +1 -0
- package/lib/cjs/components/radio/radio.cjs +62 -0
- package/lib/cjs/components/radio/radio.cjs.map +1 -0
- package/lib/cjs/components/resizable/index.cjs +6 -0
- package/lib/cjs/components/resizable/index.cjs.map +1 -0
- package/lib/cjs/components/resizable/resizable.cjs +81 -0
- package/lib/cjs/components/resizable/resizable.cjs.map +1 -0
- package/lib/cjs/components/river/index.cjs +6 -0
- package/lib/cjs/components/river/index.cjs.map +1 -0
- package/lib/cjs/components/river/river.cjs +116 -0
- package/lib/cjs/components/river/river.cjs.map +1 -0
- package/lib/cjs/components/select/index.cjs +6 -0
- package/lib/cjs/components/select/index.cjs.map +1 -0
- package/lib/cjs/components/select/options.cjs +76 -0
- package/lib/cjs/components/select/options.cjs.map +1 -0
- package/lib/cjs/components/select/select.cjs +155 -0
- package/lib/cjs/components/select/select.cjs.map +1 -0
- package/lib/cjs/components/step/divider.cjs +10 -0
- package/lib/cjs/components/step/divider.cjs.map +1 -0
- package/lib/cjs/components/step/index.cjs +6 -0
- package/lib/cjs/components/step/index.cjs.map +1 -0
- package/lib/cjs/components/step/item.cjs +60 -0
- package/lib/cjs/components/step/item.cjs.map +1 -0
- package/lib/cjs/components/step/step.cjs +42 -0
- package/lib/cjs/components/step/step.cjs.map +1 -0
- package/lib/cjs/components/swiper/index.cjs +6 -0
- package/lib/cjs/components/swiper/index.cjs.map +1 -0
- package/lib/cjs/components/swiper/item.cjs +39 -0
- package/lib/cjs/components/swiper/item.cjs.map +1 -0
- package/lib/cjs/components/swiper/swiper.cjs +262 -0
- package/lib/cjs/components/swiper/swiper.cjs.map +1 -0
- package/lib/cjs/components/tabs/index.cjs +6 -0
- package/lib/cjs/components/tabs/index.cjs.map +1 -0
- package/lib/cjs/components/tabs/item.cjs +10 -0
- package/lib/cjs/components/tabs/item.cjs.map +1 -0
- package/lib/cjs/components/tabs/tabs.cjs +272 -0
- package/lib/cjs/components/tabs/tabs.cjs.map +1 -0
- package/lib/cjs/components/tag/index.cjs +6 -0
- package/lib/cjs/components/tag/index.cjs.map +1 -0
- package/lib/cjs/components/tag/tag.cjs +32 -0
- package/lib/cjs/components/tag/tag.cjs.map +1 -0
- package/lib/cjs/components/text/highlight.cjs +35 -0
- package/lib/cjs/components/text/highlight.cjs.map +1 -0
- package/lib/cjs/components/text/index.cjs +6 -0
- package/lib/cjs/components/text/index.cjs.map +1 -0
- package/lib/cjs/components/text/number.cjs +32 -0
- package/lib/cjs/components/text/number.cjs.map +1 -0
- package/lib/cjs/components/text/text.cjs +39 -0
- package/lib/cjs/components/text/text.cjs.map +1 -0
- package/lib/cjs/components/text/time.cjs +24 -0
- package/lib/cjs/components/text/time.cjs.map +1 -0
- package/lib/cjs/components/tree/index.cjs +6 -0
- package/lib/cjs/components/tree/index.cjs.map +1 -0
- package/lib/cjs/components/tree/item.cjs +136 -0
- package/lib/cjs/components/tree/item.cjs.map +1 -0
- package/lib/cjs/components/tree/tree.cjs +127 -0
- package/lib/cjs/components/tree/tree.cjs.map +1 -0
- package/lib/cjs/components/upload/index.cjs +6 -0
- package/lib/cjs/components/upload/index.cjs.map +1 -0
- package/lib/cjs/components/upload/renderFile.cjs +99 -0
- package/lib/cjs/components/upload/renderFile.cjs.map +1 -0
- package/lib/cjs/components/upload/upload.cjs +165 -0
- package/lib/cjs/components/upload/upload.cjs.map +1 -0
- package/lib/cjs/components/utils/empty/index.cjs +17 -0
- package/lib/cjs/components/utils/empty/index.cjs.map +1 -0
- package/lib/cjs/components/utils/helpericon/helpericon.cjs +24 -0
- package/lib/cjs/components/utils/helpericon/helpericon.cjs.map +1 -0
- package/lib/cjs/components/utils/helpericon/index.cjs +6 -0
- package/lib/cjs/components/utils/helpericon/index.cjs.map +1 -0
- package/lib/cjs/components/video/index.cjs +6 -0
- package/lib/cjs/components/video/index.cjs.map +1 -0
- package/lib/cjs/components/video/video.cjs +237 -0
- package/lib/cjs/components/video/video.cjs.map +1 -0
- package/lib/cjs/index.cjs +83 -0
- package/lib/cjs/js/hooks.cjs +259 -0
- package/lib/cjs/js/hooks.cjs.map +1 -0
- package/lib/cjs/js/usePreview/content.cjs +197 -0
- package/lib/cjs/js/usePreview/content.cjs.map +1 -0
- package/lib/cjs/js/usePreview/index.cjs +39 -0
- package/lib/cjs/js/usePreview/index.cjs.map +1 -0
- package/lib/cjs/js/usePreview/renderFile.cjs +28 -0
- package/lib/cjs/js/usePreview/renderFile.cjs.map +1 -0
- package/lib/cjs/js/usePreview/type.cjs +15 -0
- package/lib/cjs/js/usePreview/type.cjs.map +1 -0
- package/lib/cjs/js/useRipple/index.cjs +45 -0
- package/lib/cjs/js/useRipple/index.cjs.map +1 -0
- package/lib/cjs/js/useTheme/index.cjs +30 -0
- package/lib/cjs/js/useTheme/index.cjs.map +1 -0
- package/lib/cjs/js/utils.cjs +284 -0
- package/lib/cjs/js/utils.cjs.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 +6 -3
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_hooks = require("../hooks.cjs");
|
|
3
|
+
const require_index = require("../../components/button/index.cjs");
|
|
4
|
+
const require_index$1 = require("../../components/icon/index.cjs");
|
|
5
|
+
const require_utils = require("../utils.cjs");
|
|
6
|
+
const require_type = require("./type.cjs");
|
|
7
|
+
const require_renderFile = require("./renderFile.cjs");
|
|
8
|
+
let classnames = require("classnames");
|
|
9
|
+
classnames = require_runtime.__toESM(classnames);
|
|
10
|
+
let _Users_iann_codes_ioca_react_node_modules__pnpm_radash_12_1_1_node_modules_radash_dist_esm_index_mjs = require("/Users/iann/codes/ioca-react/node_modules/.pnpm/radash@12.1.1/node_modules/radash/dist/esm/index.mjs");
|
|
11
|
+
let react = require("react");
|
|
12
|
+
let _ricons_material = require("@ricons/material");
|
|
13
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
14
|
+
//#region packages/js/usePreview/content.tsx
|
|
15
|
+
function Content(props) {
|
|
16
|
+
const { items = [], initial = 0, renderFile: renderFile$1 = require_renderFile.default, onRotate, onChange, onClose, onZoom } = props;
|
|
17
|
+
const state = require_hooks.useReactive({
|
|
18
|
+
current: initial,
|
|
19
|
+
rotate: 0,
|
|
20
|
+
scale: 1,
|
|
21
|
+
translate: [0, 0],
|
|
22
|
+
start: [0, 0],
|
|
23
|
+
dragging: false,
|
|
24
|
+
controlHidden: true
|
|
25
|
+
});
|
|
26
|
+
const box = (0, react.useRef)(null);
|
|
27
|
+
const translate = (0, react.useRef)([0, 0]);
|
|
28
|
+
const hiddenTO = (0, react.useRef)(null);
|
|
29
|
+
const files = (0, react.useMemo)(() => {
|
|
30
|
+
return items.map((item) => {
|
|
31
|
+
const o = { src: "" };
|
|
32
|
+
if (typeof item === "string") o.src = item;
|
|
33
|
+
else Object.assign(o, item);
|
|
34
|
+
o.suffix = require_utils.getSuffixByUrl(o.src) || "";
|
|
35
|
+
o.type = require_utils.getFileType(o.suffix, item["type"]);
|
|
36
|
+
return o;
|
|
37
|
+
});
|
|
38
|
+
}, [items]);
|
|
39
|
+
const { file, content } = (0, react.useMemo)(() => {
|
|
40
|
+
const file = files[state.current];
|
|
41
|
+
return {
|
|
42
|
+
file,
|
|
43
|
+
content: renderFile$1(file)
|
|
44
|
+
};
|
|
45
|
+
}, [state.current, items]);
|
|
46
|
+
const isImage = file.type === require_type.TFileType.IMAGE;
|
|
47
|
+
const handleSwitch = (next) => {
|
|
48
|
+
const l = files.length;
|
|
49
|
+
const { current: before } = state;
|
|
50
|
+
if (next >= l) state.current = 0;
|
|
51
|
+
else if (next < 0) state.current = l - 1;
|
|
52
|
+
else state.current = next;
|
|
53
|
+
onChange?.(state.current, before);
|
|
54
|
+
state.rotate = files[state.current].rotate || 0;
|
|
55
|
+
if (state.scale !== 1) {
|
|
56
|
+
state.scale = 1;
|
|
57
|
+
onZoom?.(1);
|
|
58
|
+
}
|
|
59
|
+
onRotate?.(state.rotate);
|
|
60
|
+
state.translate = translate.current = [0, 0];
|
|
61
|
+
};
|
|
62
|
+
const handleRotate = (deg) => {
|
|
63
|
+
state.rotate += deg;
|
|
64
|
+
onRotate?.(state.rotate);
|
|
65
|
+
};
|
|
66
|
+
const handleMouseWheel = (0, _Users_iann_codes_ioca_react_node_modules__pnpm_radash_12_1_1_node_modules_radash_dist_esm_index_mjs.throttle)({ interval: 60 }, (e) => {
|
|
67
|
+
e.stopPropagation();
|
|
68
|
+
e.preventDefault();
|
|
69
|
+
if (!isImage) return;
|
|
70
|
+
let after = state.scale + (e.deltaY < 0 ? .05 : -.05);
|
|
71
|
+
if (after > 2) after = 2;
|
|
72
|
+
if (after < .25) after = .25;
|
|
73
|
+
onZoom?.(after);
|
|
74
|
+
state.scale = after;
|
|
75
|
+
});
|
|
76
|
+
const handleMouseDown = (e) => {
|
|
77
|
+
if (!isImage) return;
|
|
78
|
+
e.preventDefault();
|
|
79
|
+
state.dragging = true;
|
|
80
|
+
state.start = [e.pageX, e.pageY];
|
|
81
|
+
};
|
|
82
|
+
const clearHiddenTO = () => {
|
|
83
|
+
if (!hiddenTO.current || state.controlHidden) return;
|
|
84
|
+
clearTimeout(hiddenTO.current);
|
|
85
|
+
hiddenTO.current = null;
|
|
86
|
+
};
|
|
87
|
+
const setHiddenFalse = () => {
|
|
88
|
+
if (!state.controlHidden) return;
|
|
89
|
+
state.controlHidden = false;
|
|
90
|
+
clearHiddenTO();
|
|
91
|
+
hiddenTO.current = setTimeout(() => {
|
|
92
|
+
state.controlHidden = true;
|
|
93
|
+
}, 1e3);
|
|
94
|
+
};
|
|
95
|
+
const throttleMouseMove = (0, _Users_iann_codes_ioca_react_node_modules__pnpm_radash_12_1_1_node_modules_radash_dist_esm_index_mjs.throttle)({ interval: 300 }, setHiddenFalse);
|
|
96
|
+
const handleMouseMove = (e) => {
|
|
97
|
+
throttleMouseMove();
|
|
98
|
+
if (!state.dragging) return;
|
|
99
|
+
e.preventDefault();
|
|
100
|
+
const [x, y] = translate.current;
|
|
101
|
+
const [ox, oy] = state.start;
|
|
102
|
+
const offsetX = e.pageX - ox;
|
|
103
|
+
const offsetY = e.pageY - oy;
|
|
104
|
+
state.translate = [x + offsetX, y + offsetY];
|
|
105
|
+
};
|
|
106
|
+
const handleMouseUp = () => {
|
|
107
|
+
if (!state.dragging) return;
|
|
108
|
+
state.dragging = false;
|
|
109
|
+
translate.current = state.translate;
|
|
110
|
+
};
|
|
111
|
+
require_hooks.useMouseMove(handleMouseMove);
|
|
112
|
+
require_hooks.useMouseUp(handleMouseUp);
|
|
113
|
+
(0, react.useEffect)(() => {
|
|
114
|
+
if (!box.current) return;
|
|
115
|
+
box.current.addEventListener("wheel", handleMouseWheel, { passive: false });
|
|
116
|
+
return () => {
|
|
117
|
+
if (!box.current) return;
|
|
118
|
+
box.current.removeEventListener("wheel", handleMouseWheel);
|
|
119
|
+
};
|
|
120
|
+
}, []);
|
|
121
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
122
|
+
ref: box,
|
|
123
|
+
className: (0, classnames.default)("i-preview-content", { "no-transition": state.dragging }),
|
|
124
|
+
style: { transform: `translate(${state.translate.map((n) => `${n}px`).join(",")}) rotate(${state.rotate}deg) scale(${state.scale})` },
|
|
125
|
+
onMouseDown: handleMouseDown,
|
|
126
|
+
onClick: (e) => e.stopPropagation(),
|
|
127
|
+
children: content
|
|
128
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
129
|
+
className: (0, classnames.default)("i-preview-controls", { "i-preview-controls-hidden": state.controlHidden }),
|
|
130
|
+
children: [
|
|
131
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
132
|
+
square: true,
|
|
133
|
+
flat: true,
|
|
134
|
+
onClick: onClose,
|
|
135
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.CloseRound, {}) })
|
|
136
|
+
}),
|
|
137
|
+
files.length > 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
138
|
+
className: "px-8",
|
|
139
|
+
children: [
|
|
140
|
+
state.current + 1,
|
|
141
|
+
" / ",
|
|
142
|
+
files.length
|
|
143
|
+
]
|
|
144
|
+
}),
|
|
145
|
+
state.scale !== 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_index.default, {
|
|
146
|
+
flat: true,
|
|
147
|
+
onClick: () => state.scale = 1,
|
|
148
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.AspectRatioRound, {}) }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
149
|
+
className: "mt-2",
|
|
150
|
+
children: [(state.scale * 100).toFixed(0), "%"]
|
|
151
|
+
})]
|
|
152
|
+
}),
|
|
153
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
154
|
+
square: true,
|
|
155
|
+
flat: true,
|
|
156
|
+
href: file.src,
|
|
157
|
+
target: "_blank",
|
|
158
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.OpenInNewRound, {}) })
|
|
159
|
+
}),
|
|
160
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
161
|
+
square: true,
|
|
162
|
+
flat: true,
|
|
163
|
+
href: file.src,
|
|
164
|
+
download: true,
|
|
165
|
+
target: "_blank",
|
|
166
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.FileDownloadOutlined, {}) })
|
|
167
|
+
}),
|
|
168
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
169
|
+
square: true,
|
|
170
|
+
flat: true,
|
|
171
|
+
onClick: () => handleRotate(90),
|
|
172
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.RotateRightRound, {}) })
|
|
173
|
+
}),
|
|
174
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
175
|
+
square: true,
|
|
176
|
+
flat: true,
|
|
177
|
+
onClick: () => handleRotate(-90),
|
|
178
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.RotateLeftRound, {}) })
|
|
179
|
+
}),
|
|
180
|
+
files.length > 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
181
|
+
square: true,
|
|
182
|
+
flat: true,
|
|
183
|
+
onClick: () => handleSwitch(state.current - 1),
|
|
184
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.KeyboardArrowLeftRound, {}) })
|
|
185
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
186
|
+
square: true,
|
|
187
|
+
flat: true,
|
|
188
|
+
onClick: () => handleSwitch(state.current + 1),
|
|
189
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.KeyboardArrowRightRound, {}) })
|
|
190
|
+
})] })
|
|
191
|
+
]
|
|
192
|
+
})] });
|
|
193
|
+
}
|
|
194
|
+
//#endregion
|
|
195
|
+
exports.default = Content;
|
|
196
|
+
|
|
197
|
+
//# sourceMappingURL=content.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.cjs","names":["DefaultRenderFile","useReactive","getSuffixByUrl","getFileType","renderFile","TFileType","Button","Icon","CloseRound","AspectRatioRound","OpenInNewRound","FileDownloadOutlined","RotateRightRound","RotateLeftRound","KeyboardArrowLeftRound","KeyboardArrowRightRound"],"sources":["../../../../packages/js/usePreview/content.tsx"],"sourcesContent":["import Button from \"@p/components/button\";\nimport Icon from \"@p/components/icon\";\nimport {\n\tAspectRatioRound,\n\tCloseRound,\n\tFileDownloadOutlined,\n\tKeyboardArrowLeftRound,\n\tKeyboardArrowRightRound,\n\tOpenInNewRound,\n\tRotateLeftRound,\n\tRotateRightRound,\n} from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { throttle } from \"radash\";\nimport { useEffect, useMemo, useRef } from \"react\";\nimport { useMouseMove, useMouseUp, useReactive } from \"../hooks\";\nimport { getFileType, getSuffixByUrl } from \"../utils\";\nimport DefaultRenderFile from \"./renderFile\";\nimport { IPreview, TFileType, TPreviewItem } from \"./type\";\n\nexport default function Content(props: IPreview) {\n\tconst {\n\t\titems = [],\n\t\tinitial = 0,\n\t\trenderFile = DefaultRenderFile,\n\t\tonRotate,\n\t\tonChange,\n\t\tonClose,\n\t\tonZoom,\n\t} = props;\n\tconst state = useReactive({\n\t\tcurrent: initial,\n\t\trotate: 0,\n\t\tscale: 1,\n\t\ttranslate: [0, 0],\n\t\tstart: [0, 0],\n\t\tdragging: false,\n\t\tcontrolHidden: true,\n\t});\n\tconst box = useRef<HTMLDivElement>(null);\n\tconst translate = useRef<number[]>([0, 0]);\n\tconst hiddenTO = useRef<any>(null);\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 { file, content } = useMemo(() => {\n\t\tconst file = files[state.current];\n\t\tconst content = renderFile(file);\n\n\t\treturn {\n\t\t\tfile,\n\t\t\tcontent,\n\t\t};\n\t}, [state.current, items]);\n\n\tconst isImage = file.type === TFileType.IMAGE;\n\n\tconst handleSwitch = (next: number) => {\n\t\tconst l = files.length;\n\t\tconst { current: before } = state;\n\t\tif (next >= l) {\n\t\t\tstate.current = 0;\n\t\t} else if (next < 0) {\n\t\t\tstate.current = l - 1;\n\t\t} else {\n\t\t\tstate.current = next;\n\t\t}\n\t\tonChange?.(state.current, before);\n\n\t\tstate.rotate = files[state.current].rotate || 0;\n\n\t\tif (state.scale !== 1) {\n\t\t\tstate.scale = 1;\n\t\t\tonZoom?.(1);\n\t\t}\n\t\tonRotate?.(state.rotate);\n\t\tstate.translate = translate.current = [0, 0];\n\t};\n\n\tconst handleRotate = (deg: number) => {\n\t\tstate.rotate += deg;\n\n\t\tonRotate?.(state.rotate);\n\t};\n\n\tconst handleMouseWheel = throttle({ interval: 60 }, (e) => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tif (!isImage) return;\n\t\tlet after = state.scale + (e.deltaY < 0 ? 0.05 : -0.05);\n\t\tif (after > 2) after = 2;\n\t\tif (after < 0.25) after = 0.25;\n\n\t\tonZoom?.(after);\n\t\tstate.scale = after;\n\t});\n\n\tconst handleMouseDown = (e) => {\n\t\tif (!isImage) return;\n\t\te.preventDefault();\n\t\tstate.dragging = true;\n\t\tstate.start = [e.pageX, e.pageY];\n\t};\n\n\tconst clearHiddenTO = () => {\n\t\tif (!hiddenTO.current || state.controlHidden) return;\n\t\tclearTimeout(hiddenTO.current);\n\t\thiddenTO.current = null;\n\t};\n\n\tconst setHiddenFalse = () => {\n\t\tif (!state.controlHidden) return;\n\t\tstate.controlHidden = false;\n\n\t\tclearHiddenTO();\n\t\thiddenTO.current = setTimeout(() => {\n\t\t\tstate.controlHidden = true;\n\t\t}, 1000);\n\t};\n\n\tconst throttleMouseMove = throttle({ interval: 300 }, setHiddenFalse);\n\n\tconst handleMouseMove = (e) => {\n\t\tthrottleMouseMove();\n\t\tif (!state.dragging) return;\n\t\te.preventDefault();\n\n\t\tconst [x, y] = translate.current;\n\t\tconst [ox, oy] = state.start;\n\t\tconst offsetX = e.pageX - ox;\n\t\tconst offsetY = e.pageY - oy;\n\n\t\tstate.translate = [x + offsetX, y + offsetY];\n\t};\n\n\tconst handleMouseUp = () => {\n\t\tif (!state.dragging) return;\n\t\tstate.dragging = false;\n\t\ttranslate.current = state.translate;\n\t};\n\n\tuseMouseMove(handleMouseMove);\n\tuseMouseUp(handleMouseUp);\n\n\tuseEffect(() => {\n\t\tif (!box.current) return;\n\n\t\tbox.current.addEventListener(\"wheel\", handleMouseWheel, {\n\t\t\tpassive: false,\n\t\t});\n\n\t\treturn () => {\n\t\t\tif (!box.current) return;\n\n\t\t\tbox.current.removeEventListener(\"wheel\", handleMouseWheel);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tref={box}\n\t\t\t\tclassName={classNames(\"i-preview-content\", {\n\t\t\t\t\t\"no-transition\": state.dragging,\n\t\t\t\t})}\n\t\t\t\tstyle={{\n\t\t\t\t\ttransform: `translate(${state.translate\n\t\t\t\t\t\t.map((n) => `${n}px`)\n\t\t\t\t\t\t.join(\",\")}) rotate(${state.rotate}deg) scale(${\n\t\t\t\t\t\tstate.scale\n\t\t\t\t\t})`,\n\t\t\t\t}}\n\t\t\t\tonMouseDown={handleMouseDown}\n\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-preview-controls\", {\n\t\t\t\t\t\"i-preview-controls-hidden\": state.controlHidden,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<Button square flat onClick={onClose}>\n\t\t\t\t\t<Icon icon={<CloseRound />} />\n\t\t\t\t</Button>\n\t\t\t\t{files.length > 1 && (\n\t\t\t\t\t<span className='px-8'>\n\t\t\t\t\t\t{state.current + 1} / {files.length}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t{state.scale !== 1 && (\n\t\t\t\t\t<Button flat onClick={() => (state.scale = 1)}>\n\t\t\t\t\t\t<Icon icon={<AspectRatioRound />} />\n\t\t\t\t\t\t<span className='mt-2'>\n\t\t\t\t\t\t\t{(state.scale * 100).toFixed(0)}%\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t\t<Button square flat href={file.src} target='_blank'>\n\t\t\t\t\t<Icon icon={<OpenInNewRound />} />\n\t\t\t\t</Button>\n\t\t\t\t<Button square flat href={file.src} download target='_blank'>\n\t\t\t\t\t<Icon icon={<FileDownloadOutlined />} />\n\t\t\t\t</Button>\n\t\t\t\t<Button square flat onClick={() => handleRotate(90)}>\n\t\t\t\t\t<Icon icon={<RotateRightRound />} />\n\t\t\t\t</Button>\n\t\t\t\t<Button square flat onClick={() => handleRotate(-90)}>\n\t\t\t\t\t<Icon icon={<RotateLeftRound />} />\n\t\t\t\t</Button>\n\n\t\t\t\t{files.length > 1 && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsquare\n\t\t\t\t\t\t\tflat\n\t\t\t\t\t\t\tonClick={() => handleSwitch(state.current - 1)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon icon={<KeyboardArrowLeftRound />} />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsquare\n\t\t\t\t\t\t\tflat\n\t\t\t\t\t\t\tonClick={() => handleSwitch(state.current + 1)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon icon={<KeyboardArrowRightRound />} />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_utils = require("../utils.cjs");
|
|
3
|
+
const require_hookModal = require("../../components/modal/hookModal.cjs");
|
|
4
|
+
const require_content = require("./content.cjs");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
//#region packages/js/usePreview/index.tsx
|
|
8
|
+
function usePreview() {
|
|
9
|
+
const ref = (0, react.useRef)(null);
|
|
10
|
+
const preview = (config) => {
|
|
11
|
+
const { items, modalProps, onClose, ...restProps } = config;
|
|
12
|
+
const handleClose = () => {
|
|
13
|
+
onClose?.();
|
|
14
|
+
unMount?.();
|
|
15
|
+
};
|
|
16
|
+
const unMount = require_utils.renderNode(/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_hookModal.default, {
|
|
17
|
+
ref,
|
|
18
|
+
visible: true,
|
|
19
|
+
className: "i-preview",
|
|
20
|
+
customized: true,
|
|
21
|
+
hideShadow: true,
|
|
22
|
+
...modalProps,
|
|
23
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_content.default, {
|
|
24
|
+
...restProps,
|
|
25
|
+
items,
|
|
26
|
+
onClose: () => {
|
|
27
|
+
ref.current?.update({ visible: false });
|
|
28
|
+
}
|
|
29
|
+
}),
|
|
30
|
+
fixed: true,
|
|
31
|
+
onClose: handleClose
|
|
32
|
+
}));
|
|
33
|
+
};
|
|
34
|
+
return preview;
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
exports.default = usePreview;
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../packages/js/usePreview/index.tsx"],"sourcesContent":["import { useRef } from \"react\";\nimport HookModal from \"../../components/modal/hookModal\";\nimport type { RefHookModal } from \"../../components/modal/type\";\nimport { renderNode } from \"../utils\";\nimport Content from \"./content\";\nimport \"./index.css\";\nimport type { IPreview } from \"./type\";\n\nexport default function usePreview() {\n\tconst ref = useRef<RefHookModal>(null);\n\n\tconst preview = (config: IPreview) => {\n\t\tconst { items, modalProps, onClose, ...restProps } = config;\n\n\t\tconst handleClose = () => {\n\t\t\tonClose?.();\n\t\t\tunMount?.();\n\t\t};\n\n\t\tconst unMount = renderNode(\n\t\t\t<HookModal\n\t\t\t\tref={ref}\n\t\t\t\tvisible\n\t\t\t\tclassName='i-preview'\n\t\t\t\tcustomized\n\t\t\t\thideShadow\n\t\t\t\t{...modalProps}\n\t\t\t\tchildren={\n\t\t\t\t\t<Content\n\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t\titems={items}\n\t\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\t\tref.current?.update({ visible: false });\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tfixed\n\t\t\t\tonClose={handleClose}\n\t\t\t/>\n\t\t);\n\t};\n\n\treturn preview;\n}\n"],"mappings":";;;;;;;;CAQA,MAAO,OAAA,GAAA,MAAA,QAA2B,KAAG;;EAGpC,MAAM,EAAA,OAAU,YAAS,SAAY,GAAC,cAAA;;AAGrC,cAAM;AACL,cAAW;;2CAIZ,iBAAA,GAAA,kBAAA,KAAA,kBAAA,SAAA;GACE;GACA,SAAA;GACA,WAAA;GACA,YAAA;GACA,YAAA;GACA,GAAA;GACA,UACA,iBAAA,GAAA,kBAAA,KAAA,gBAAA,SAAA;IACE,GAAA;IACI;IACJ,eAAY;AACZ,SAAA,SAAc,OAAC,EAAA,SAAA,OAAA,CAAA;;IAEd,CAAA;GAEH,OAAA;GACA,SAAA;GACA,CAAA,CACD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_index = require("../../components/icon/index.cjs");
|
|
3
|
+
const require_index$1 = require("../../components/video/index.cjs");
|
|
4
|
+
const require_type = require("./type.cjs");
|
|
5
|
+
let _ricons_material = require("@ricons/material");
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
//#region packages/js/usePreview/renderFile.tsx
|
|
8
|
+
function renderFile(props) {
|
|
9
|
+
const { name, suffix, type } = props;
|
|
10
|
+
switch (type) {
|
|
11
|
+
case require_type.TFileType.IMAGE: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", { src: props.src });
|
|
12
|
+
case require_type.TFileType.VIDEO: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { ...props });
|
|
13
|
+
default: return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
14
|
+
className: "i-preview-unknown",
|
|
15
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
16
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.FeedOutlined, {}),
|
|
17
|
+
size: "3em"
|
|
18
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h5", {
|
|
19
|
+
className: "mt-4",
|
|
20
|
+
children: name || suffix || "?"
|
|
21
|
+
})]
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
exports.default = renderFile;
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=renderFile.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderFile.cjs","names":["TFileType","Video","Icon","FeedOutlined"],"sources":["../../../../packages/js/usePreview/renderFile.tsx"],"sourcesContent":["import Icon from \"@p/components/icon\";\nimport Video from \"@p/components/video\";\nimport { FeedOutlined } from \"@ricons/material\";\nimport { TFileType, TPreviewItem } from \"./type\";\n\nexport default function renderFile(props: TPreviewItem) {\n\tconst { name, suffix, type } = props;\n\n\tswitch (type) {\n\t\tcase TFileType.IMAGE:\n\t\t\treturn <img src={props.src} />;\n\t\tcase TFileType.VIDEO:\n\t\t\treturn <Video {...props} />;\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<div className='i-preview-unknown'>\n\t\t\t\t\t<Icon icon={<FeedOutlined />} size='3em' />\n\t\t\t\t\t<h5 className='mt-4'>{name || suffix || \"?\"}</h5>\n\t\t\t\t</div>\n\t\t\t);\n\t}\n}\n"],"mappings":";;;;;;;AAKA,SAAwB,WAAW,OAAqB;CACvD,MAAM,EAAE,MAAM,QAAQ,SAAS;AAE/B,SAAQ,MAAR;EACC,KAAKA,aAAAA,UAAU,MACd,QAAO,iBAAA,GAAA,kBAAA,KAAC,OAAD,EAAK,KAAK,MAAM,KAAO,CAAA;EAC/B,KAAKA,aAAAA,UAAU,MACd,QAAO,iBAAA,GAAA,kBAAA,KAACC,gBAAAA,SAAD,EAAO,GAAI,OAAS,CAAA;EAC5B,QACC,QACC,iBAAA,GAAA,kBAAA,MAAC,OAAD;GAAK,WAAU;aAAf,CACC,iBAAA,GAAA,kBAAA,KAACC,cAAAA,SAAD;IAAM,MAAM,iBAAA,GAAA,kBAAA,KAACC,iBAAAA,cAAD,EAAgB,CAAA;IAAE,MAAK;IAAQ,CAAA,EAC3C,iBAAA,GAAA,kBAAA,KAAC,MAAD;IAAI,WAAU;cAAQ,QAAQ,UAAU;IAAS,CAAA,CAC5C"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region packages/js/usePreview/type.ts
|
|
2
|
+
let TFileType = /* @__PURE__ */ function(TFileType) {
|
|
3
|
+
TFileType["IMAGE"] = "IMAGE";
|
|
4
|
+
TFileType["VIDEO"] = "VIDEO";
|
|
5
|
+
TFileType["AUDIO"] = "AUDIO";
|
|
6
|
+
TFileType["PDF"] = "PDF";
|
|
7
|
+
TFileType["EXCEL"] = "EXCEL";
|
|
8
|
+
TFileType["TXT"] = "TXT";
|
|
9
|
+
TFileType["UNKNOWN"] = "UNKNOWN";
|
|
10
|
+
return TFileType;
|
|
11
|
+
}({});
|
|
12
|
+
//#endregion
|
|
13
|
+
exports.TFileType = TFileType;
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=type.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.cjs","names":[],"sources":["../../../../packages/js/usePreview/type.ts"],"sourcesContent":["import { CSSProperties, ReactNode } from \"react\";\nimport type { IModal } from \"../../components/modal/type\";\n\nexport type TPreviewItem = {\n\tsrc: string;\n\tname?: ReactNode;\n\tthumb?: string;\n\trotate?: number;\n\tzoom?: number;\n\tstyle?: CSSProperties;\n\ttype?: string;\n\tsuffix?: string;\n};\n\nexport enum TFileType {\n\tIMAGE = \"IMAGE\",\n\tVIDEO = \"VIDEO\",\n\tAUDIO = \"AUDIO\",\n\tPDF = \"PDF\",\n\tEXCEL = \"EXCEL\",\n\tTXT = \"TXT\",\n\tUNKNOWN = \"UNKNOWN\",\n}\n\nexport interface IPreview {\n\titems: (TPreviewItem | string)[];\n\tinitial?: number;\n\tcontrols?: boolean;\n\tloop?: boolean;\n\tclassName?: string;\n\tstyle?: CSSProperties;\n\tmodalProps?: IModal;\n\trenderImage?: (file: TPreviewItem) => ReactNode;\n\trenderFile?: (file: TPreviewItem) => ReactNode;\n\tonClose?: () => void;\n\tonChange?: (after: number, before?: number) => void;\n\tonZoom?: (scale: number) => void;\n\tonRotate?: (deg: number) => void;\n}\n"],"mappings":";AAcA,IAAY,YAAL,yBAAA,WAAA;AACN,WAAA,WAAA;AACA,WAAA,WAAA;AACA,WAAA,WAAA;AACA,WAAA,SAAA;AACA,WAAA,WAAA;AACA,WAAA,SAAA;AACA,WAAA,aAAA;;KACA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//#region packages/js/useRipple/index.ts
|
|
2
|
+
const TIMEOUT = 500;
|
|
3
|
+
const useRipple = () => {
|
|
4
|
+
if (!document) return;
|
|
5
|
+
if (document.documentElement.dataset["iocaRipple"]) return;
|
|
6
|
+
document.documentElement.dataset["iocaRipple"] = "enable";
|
|
7
|
+
document.addEventListener("mousedown", listener);
|
|
8
|
+
};
|
|
9
|
+
function listener(e) {
|
|
10
|
+
const target = e.target;
|
|
11
|
+
const parent = target.closest("[data-ripple]");
|
|
12
|
+
if (!target || !parent) return;
|
|
13
|
+
triggerRipple(parent, e);
|
|
14
|
+
}
|
|
15
|
+
function triggerRipple(target, e) {
|
|
16
|
+
if (!document) return;
|
|
17
|
+
const [$box, $ripple] = createRipple();
|
|
18
|
+
const rect = target.getBoundingClientRect();
|
|
19
|
+
const size = Math.max(rect.width, rect.height) * 2;
|
|
20
|
+
$ripple.style.cssText = `
|
|
21
|
+
left: ${e.pageX - rect.left}px;
|
|
22
|
+
top: ${e.pageY - rect.top}px;
|
|
23
|
+
width: ${size}px;
|
|
24
|
+
height: ${size}px;
|
|
25
|
+
transition: all ${TIMEOUT / 1e3}s;
|
|
26
|
+
`;
|
|
27
|
+
target.insertAdjacentElement("afterbegin", $box);
|
|
28
|
+
target.offsetHeight;
|
|
29
|
+
$ripple.classList.add("i-ripple-active");
|
|
30
|
+
setTimeout(() => {
|
|
31
|
+
$box.remove();
|
|
32
|
+
}, TIMEOUT);
|
|
33
|
+
}
|
|
34
|
+
function createRipple() {
|
|
35
|
+
const $box = document.createElement("SPAN");
|
|
36
|
+
const $ripple = document.createElement("SPAN");
|
|
37
|
+
$box.className = "i-ripple-container";
|
|
38
|
+
$ripple.className = "i-ripple";
|
|
39
|
+
$box.append($ripple);
|
|
40
|
+
return [$box, $ripple];
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
exports.default = useRipple;
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../packages/js/useRipple/index.ts"],"sourcesContent":["import \"./ripple.css\";\n\nconst TIMEOUT = 500;\n\nconst useRipple = () => {\n\tif (!document) return;\n\tif (document.documentElement.dataset[\"iocaRipple\"]) return;\n\tdocument.documentElement.dataset[\"iocaRipple\"] = \"enable\";\n\n\tdocument.addEventListener(\"mousedown\", listener);\n};\n\nfunction listener(e: MouseEvent) {\n\tconst target = e.target as HTMLElement;\n\tconst parent = target.closest(\"[data-ripple]\") as HTMLElement;\n\n\tif (!target || !parent) return;\n\n\ttriggerRipple(parent, e);\n}\n\nfunction triggerRipple(target: HTMLElement, e: MouseEvent) {\n\tif (!document) return;\n\tconst [$box, $ripple] = createRipple();\n\tconst rect = target.getBoundingClientRect();\n\tconst size = Math.max(rect.width, rect.height) * 2;\n\n\t$ripple.style.cssText = `\n left: ${e.pageX - rect.left}px;\n top: ${e.pageY - rect.top}px;\n width: ${size}px;\n height: ${size}px;\n transition: all ${TIMEOUT / 1000}s;\n `;\n\ttarget.insertAdjacentElement(\"afterbegin\", $box);\n\ttarget.offsetHeight;\n\t$ripple.classList.add(\"i-ripple-active\");\n\n\tsetTimeout(() => {\n\t\t$box.remove();\n\t}, TIMEOUT);\n}\n\nfunction createRipple() {\n\tconst $box = document.createElement(\"SPAN\");\n\tconst $ripple = document.createElement(\"SPAN\");\n\n\t$box.className = \"i-ripple-container\";\n\t$ripple.className = \"i-ripple\";\n\n\t$box.append($ripple);\n\n\treturn [$box, $ripple];\n}\n\nexport default useRipple;\n"],"mappings":";AAAA,MAAM,UAAU;AAEhB,MAAM,kBAAa;;AAEnB,KAAK,SAAC,gBAAkB,QAAA,cAAA;AACvB,UAAK,gBAAgB,QAAA,gBAAA;AAErB,UAAS,iBAAgB,aAAS,SAAc;;AAGjD,SAAC,SAAA,GAAA;;CAED,MAAA,SAAS,OAAY,QAAU,gBAAE;AAEhC,KAAA,CAAK,UAAU,CAAA,OAAO;AAEtB,eAAc,QAAQ,EAAE;;AAGzB,SAAA,cAAA,QAAA,GAAA;;CAEA,MAAA,CAAQ,MAAC,WAAc,cAAQ;CAC9B,MAAK,OAAQ,OAAE,uBAAM;CACrB,MAAM,OAAO,KAAC,IAAQ,KAAE,OAAA,KAAc,OAAA,GAAA;AAEtC,SAAM,MAAO,UAAS;;eAER,EAAA,QAAU,KAAA,IAAA;iBACR,KAAC;kBACD,KAAM;0BACC,UAAA,IAAA;;AAEvB,QAAO,sBAAkB,cAAgB,KAAA;AACzC,QAAI;AACJ,SAAO,UAAA,IAAA,kBAAiC;AAExC,kBAAiB;;IAEjB,QAAW;;AAGZ,SAAA,eAAA;;CAEA,MAAA,UAAS,SAAe,cAAA,OAAA;AAEvB,MAAK,YAAW;;AAGhB,MAAC,OAAO,QAAY;AAEpB,QAAK,CAAA,MAAQ,QAAO"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_hooks = require("../hooks.cjs");
|
|
3
|
+
let react = require("react");
|
|
4
|
+
//#region packages/js/useTheme/index.ts
|
|
5
|
+
const useTheme = (props) => {
|
|
6
|
+
const { key = "ioca-react-theme", defaultValue = "theme-auto", listenStorageChange } = props ?? {};
|
|
7
|
+
const [mounted, setMounted] = (0, react.useState)(false);
|
|
8
|
+
const [theme, setTheme] = require_hooks.useLocalStorageState(key, {
|
|
9
|
+
defaultValue,
|
|
10
|
+
listenStorageChange
|
|
11
|
+
});
|
|
12
|
+
(0, react.useEffect)(() => {
|
|
13
|
+
setMounted(true);
|
|
14
|
+
}, []);
|
|
15
|
+
(0, react.useEffect)(() => {
|
|
16
|
+
if (!mounted || !theme) return;
|
|
17
|
+
const cls = document.documentElement.classList;
|
|
18
|
+
const prev = Array.from(cls).find((n) => n.startsWith("theme-"));
|
|
19
|
+
if (prev) cls.replace(prev, theme);
|
|
20
|
+
else cls.add(theme);
|
|
21
|
+
}, [theme, mounted]);
|
|
22
|
+
return {
|
|
23
|
+
theme: mounted ? theme : defaultValue,
|
|
24
|
+
setTheme: mounted ? setTheme : () => {}
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
exports.default = useTheme;
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["useLocalStorageState"],"sources":["../../../../packages/js/useTheme/index.ts"],"sourcesContent":["import { useLocalStorageState } from \"../hooks\";\nimport { useEffect, useState } from \"react\";\nimport { ITheme } from \"./type\";\n\nconst useTheme = (props?: ITheme) => {\n\tconst {\n\t\tkey = \"ioca-react-theme\",\n\t\tdefaultValue = \"theme-auto\",\n\t\tlistenStorageChange,\n\t} = props ?? {};\n\n\tconst [mounted, setMounted] = useState(false);\n\n\tconst [theme, setTheme] = useLocalStorageState<string>(key, {\n\t\tdefaultValue,\n\t\tlistenStorageChange,\n\t});\n\n\tuseEffect(() => {\n\t\tsetMounted(true);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!mounted || !theme) return;\n\n\t\tconst cls = document.documentElement.classList;\n\t\tconst prev = Array.from(cls).find((n) => n.startsWith(\"theme-\"));\n\n\t\tif (prev) {\n\t\t\tcls.replace(prev, theme);\n\t\t} else {\n\t\t\tcls.add(theme);\n\t\t}\n\t}, [theme, mounted]);\n\n\treturn {\n\t\ttheme: mounted ? theme : defaultValue,\n\t\tsetTheme: mounted ? setTheme : () => {},\n\t};\n};\n\nexport default useTheme;\n"],"mappings":";;;;AAIA,MAAM,YAAY,UAAmB;CACpC,MAAM,EACL,MAAM,oBACN,eAAe,cACf,wBACG,SAAS,EAAE;CAEf,MAAM,CAAC,SAAS,eAAA,GAAA,MAAA,UAAuB,MAAM;CAE7C,MAAM,CAAC,OAAO,YAAYA,cAAAA,qBAA6B,KAAK;EAC3D;EACA;EACA,CAAC;AAEF,EAAA,GAAA,MAAA,iBAAgB;AACf,aAAW,KAAK;IACd,EAAE,CAAC;AAEN,EAAA,GAAA,MAAA,iBAAgB;AACf,MAAI,CAAC,WAAW,CAAC,MAAO;EAExB,MAAM,MAAM,SAAS,gBAAgB;EACrC,MAAM,OAAO,MAAM,KAAK,IAAI,CAAC,MAAM,MAAM,EAAE,WAAW,SAAS,CAAC;AAEhE,MAAI,KACH,KAAI,QAAQ,MAAM,MAAM;MAExB,KAAI,IAAI,MAAM;IAEb,CAAC,OAAO,QAAQ,CAAC;AAEpB,QAAO;EACN,OAAO,UAAU,QAAQ;EACzB,UAAU,UAAU,iBAAiB;EACrC"}
|