@ioca/react 1.4.77 → 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.map +1 -1
- package/lib/es/components/affix/totop.js +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 -1
- 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 -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/form.js.map +1 -1
- 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 -1
- package/lib/es/components/input/input.js.map +1 -1
- package/lib/es/components/input/number.js +1 -1
- package/lib/es/components/input/number.js.map +1 -1
- package/lib/es/components/input/range.js +1 -1
- 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.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 -1
- 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/index.js.map +1 -1
- package/lib/es/components/picker/dates/index.js +1 -1
- package/lib/es/components/picker/dates/index.js.map +1 -1
- package/lib/es/components/picker/dates/panel.js +1 -1
- package/lib/es/components/picker/time/index.js +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.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 -1
- package/lib/es/components/select/select.js +1 -1
- 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/step.js.map +1 -1
- package/lib/es/components/swiper/swiper.js +1 -1
- 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/text.js.map +1 -1
- package/lib/es/components/tree/item.js +1 -1
- package/lib/es/components/tree/tree.js.map +1 -1
- package/lib/es/components/upload/renderFile.js +1 -1
- package/lib/es/components/upload/upload.js +1 -1
- 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 +1 -1
- package/lib/es/components/utils/helpericon/helpericon.js.map +1 -1
- package/lib/es/components/video/video.js +1 -1
- package/lib/es/components/video/video.js.map +1 -1
- package/lib/es/js/usePreview/content.js +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/useRipple/index.js.map +1 -1
- package/lib/types/components/affix/affix.js +0 -1
- 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 -2
- 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 -1
- package/lib/types/components/editor/editor.js +0 -1
- package/lib/types/components/flex/flex.js +0 -1
- package/lib/types/components/form/form.js +0 -1
- 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 -2
- package/lib/types/components/input/number.js +1 -2
- package/lib/types/components/input/range.js +1 -2
- 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 +0 -1
- 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 -2
- 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 +1 -2
- package/lib/types/components/picker/dates/panel.js +1 -1
- 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 +0 -1
- 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 -1
- package/lib/types/components/select/select.js +1 -3
- 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 -2
- package/lib/types/components/tabs/tabs.js +1 -2
- package/lib/types/components/tag/tag.js +0 -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 +1 -1
- package/lib/types/components/upload/upload.js +1 -2
- package/lib/types/components/utils/empty/index.js +1 -2
- package/lib/types/components/utils/helpericon/helpericon.js +1 -2
- package/lib/types/components/video/video.js +1 -2
- package/lib/types/index.js +0 -1
- package/lib/types/js/usePreview/content.js +1 -1
- 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/package.json +6 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpericon.cjs","names":[],"sources":["../../../../../packages/components/utils/helpericon/helpericon.tsx"],"sourcesContent":["import { CloseRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { uid } from \"radash\";\nimport { createElement } from \"react\";\nimport Icon from \"../../icon\";\nimport \"./index.css\";\nimport { IHelperIcon } from \"./type\";\n\nconst Helpericon = (props: IHelperIcon) => {\n\tconst {\n\t\tas = \"a\",\n\t\tactive,\n\t\tclassName,\n\t\ticon = <CloseRound />,\n\t\t...restProps\n\t} = props;\n\n\tif (!active) return <></>;\n\n\treturn createElement(\n\t\tas,\n\t\t{\n\t\t\tclassName: classNames(\"i-helpericon\", className),\n\t\t\t...restProps,\n\t\t},\n\t\t[\n\t\t\tcreateElement(Icon, {\n\t\t\t\tkey: uid(3),\n\t\t\t\ticon,\n\t\t\t}),\n\t\t]\n\t);\n};\n\nexport default Helpericon;\n"],"mappings":";;;;;;;;;;CAQA,MAAM,EACL,KAAM,KACL,QACA,WACA,OAAA,iBAAA,GAAA,kBAAA,KAAA,iBAAA,YAAA,EAAS,CAAA,EACT,GAAA,cACG;;iCAKJ,IACC;EACA,YAAA,GAAA,WAAA,SAAA,gBAAA,UAAA;EACC,GAAA;EACA,EACD,EAAA,GAAA,MAAA,eACA,cAAA,SAAA;EACC,MAAA,GAAA,qGAAA,KAAA,EAAA;EACC;EACA,CAAA,CACD,CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["Helpericon"],"sources":["../../../../../packages/components/utils/helpericon/index.tsx"],"sourcesContent":["import Helpericon from \"./helpericon\";\n\nexport default Helpericon;\n"],"mappings":";AAEA,IAAA,iDAAeA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["Video"],"sources":["../../../../packages/components/video/index.tsx"],"sourcesContent":["import Video from \"./video\";\n\nexport default Video;\n"],"mappings":";AAEA,IAAA,uCAAeA"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_hooks = require("../../js/hooks.cjs");
|
|
3
|
+
const require_index = require("../button/index.cjs");
|
|
4
|
+
const require_index$1 = require("../icon/index.cjs");
|
|
5
|
+
const require_utils = require("../../js/utils.cjs");
|
|
6
|
+
const require_index$2 = require("../text/index.cjs");
|
|
7
|
+
const require_index$3 = require("../progress/index.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/components/video/video.tsx
|
|
15
|
+
const Video = (props) => {
|
|
16
|
+
const { ref, style, hideControls, autoplay, muted, volume = 50, height, width, useOriginControls, timeProgressProps = { barClass: "bg-blue" }, volumeProgressProps = { barClass: "bg-blue" }, className, onFullScreenChange, ...restProps } = props;
|
|
17
|
+
const state = require_hooks.useReactive({
|
|
18
|
+
playing: autoplay,
|
|
19
|
+
volume: muted ? 0 : volume,
|
|
20
|
+
volumeCache: 0,
|
|
21
|
+
muted,
|
|
22
|
+
current: 0,
|
|
23
|
+
duration: 0,
|
|
24
|
+
isFullscreen: false,
|
|
25
|
+
controlHidden: true,
|
|
26
|
+
draggingProgress: false
|
|
27
|
+
});
|
|
28
|
+
const videoRef = (0, react.useRef)(null);
|
|
29
|
+
const hiddenTO = (0, react.useRef)(null);
|
|
30
|
+
const timeUpdateListener = (e) => {
|
|
31
|
+
const tar = e.target;
|
|
32
|
+
if (tar.paused || state.draggingProgress) return;
|
|
33
|
+
Object.assign(state, { current: tar.currentTime });
|
|
34
|
+
};
|
|
35
|
+
const playChangeListener = (e) => {
|
|
36
|
+
state.playing = !e.target.paused;
|
|
37
|
+
};
|
|
38
|
+
const fsChangeListener = () => {
|
|
39
|
+
if (typeof document === "undefined") return;
|
|
40
|
+
const tar = videoRef.current?.parentElement;
|
|
41
|
+
if (!tar) return;
|
|
42
|
+
state.isFullscreen = document.fullscreenElement === tar;
|
|
43
|
+
};
|
|
44
|
+
const volumeChangeListener = (e) => {
|
|
45
|
+
const tar = e.target;
|
|
46
|
+
Object.assign(state, {
|
|
47
|
+
volume: tar.volume * 100,
|
|
48
|
+
muted: tar.volume === 0
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
const handlePlay = () => {
|
|
52
|
+
const v = videoRef.current;
|
|
53
|
+
if (!v) return;
|
|
54
|
+
v.paused ? v.play() : v.pause();
|
|
55
|
+
};
|
|
56
|
+
const handleReady = (e) => {
|
|
57
|
+
const tar = e.target;
|
|
58
|
+
Object.assign(state, {
|
|
59
|
+
duration: tar.duration,
|
|
60
|
+
current: tar.currentTime
|
|
61
|
+
});
|
|
62
|
+
tar.volume = state.volume / 100;
|
|
63
|
+
};
|
|
64
|
+
const handleMuted = () => {
|
|
65
|
+
const v = videoRef.current;
|
|
66
|
+
if (!v) return;
|
|
67
|
+
if (v.volume > 0) {
|
|
68
|
+
state.volumeCache = v.volume;
|
|
69
|
+
v.volume = 0;
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
v.volume = state.volumeCache === 0 ? .5 : state.volumeCache;
|
|
73
|
+
};
|
|
74
|
+
const handleStop = () => {
|
|
75
|
+
const v = videoRef.current;
|
|
76
|
+
if (!v) return;
|
|
77
|
+
v.currentTime = 0;
|
|
78
|
+
v.pause();
|
|
79
|
+
};
|
|
80
|
+
const handleFullscreen = () => {
|
|
81
|
+
const tar = videoRef.current?.parentElement;
|
|
82
|
+
if (!tar) return;
|
|
83
|
+
state.isFullscreen ? require_utils.exitFullScreen() : require_utils.fullScreen(tar);
|
|
84
|
+
onFullScreenChange?.(!state.isFullscreen);
|
|
85
|
+
};
|
|
86
|
+
const handleUpdateTime = (t) => {
|
|
87
|
+
const v = videoRef.current;
|
|
88
|
+
if (!v) return;
|
|
89
|
+
v.currentTime = state.duration * t / 100;
|
|
90
|
+
};
|
|
91
|
+
const handleUpdateVolume = (t) => {
|
|
92
|
+
const v = videoRef.current;
|
|
93
|
+
if (!v) return;
|
|
94
|
+
v.volume = t / 100;
|
|
95
|
+
};
|
|
96
|
+
const showControls = !hideControls && !useOriginControls;
|
|
97
|
+
const clearHiddenTO = () => {
|
|
98
|
+
if (!hiddenTO.current) return;
|
|
99
|
+
clearTimeout(hiddenTO.current);
|
|
100
|
+
hiddenTO.current = null;
|
|
101
|
+
};
|
|
102
|
+
const setHiddenFalse = () => {
|
|
103
|
+
if (!showControls || !state.controlHidden) return;
|
|
104
|
+
state.controlHidden = false;
|
|
105
|
+
clearHiddenTO();
|
|
106
|
+
hiddenTO.current = setTimeout(() => {
|
|
107
|
+
state.controlHidden = true;
|
|
108
|
+
}, 1e3);
|
|
109
|
+
};
|
|
110
|
+
const handleDraggingProgress = (dragging) => {
|
|
111
|
+
state.draggingProgress = dragging;
|
|
112
|
+
};
|
|
113
|
+
const handleMouseMove = (0, _Users_iann_codes_ioca_react_node_modules__pnpm_radash_12_1_1_node_modules_radash_dist_esm_index_mjs.throttle)({ interval: 900 }, setHiddenFalse);
|
|
114
|
+
(0, react.useImperativeHandle)(ref, () => ({
|
|
115
|
+
play: () => {
|
|
116
|
+
const v = videoRef.current;
|
|
117
|
+
if (!v) return;
|
|
118
|
+
v.play();
|
|
119
|
+
},
|
|
120
|
+
pause: () => {
|
|
121
|
+
const v = videoRef.current;
|
|
122
|
+
if (!v) return;
|
|
123
|
+
v.pause();
|
|
124
|
+
},
|
|
125
|
+
stop: handleStop,
|
|
126
|
+
fullscreen: handleFullscreen,
|
|
127
|
+
getVideo: () => videoRef.current
|
|
128
|
+
}));
|
|
129
|
+
(0, react.useEffect)(() => {
|
|
130
|
+
if (typeof document === "undefined") return;
|
|
131
|
+
const v = videoRef.current;
|
|
132
|
+
if (!v) return;
|
|
133
|
+
v.addEventListener("timeupdate", timeUpdateListener);
|
|
134
|
+
v.addEventListener("play", playChangeListener);
|
|
135
|
+
v.addEventListener("pause", playChangeListener);
|
|
136
|
+
v.addEventListener("volumechange", volumeChangeListener);
|
|
137
|
+
document.addEventListener("fullscreenchange", fsChangeListener);
|
|
138
|
+
return () => {
|
|
139
|
+
clearHiddenTO();
|
|
140
|
+
v.removeEventListener("timeupdate", timeUpdateListener);
|
|
141
|
+
v.removeEventListener("play", playChangeListener);
|
|
142
|
+
v.removeEventListener("pause", playChangeListener);
|
|
143
|
+
v.removeEventListener("volumechange", volumeChangeListener);
|
|
144
|
+
document.removeEventListener("fullscreenchange", fsChangeListener);
|
|
145
|
+
};
|
|
146
|
+
}, []);
|
|
147
|
+
const currentValue = state.current / state.duration * 100;
|
|
148
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
149
|
+
className: (0, classnames.default)("i-video", className),
|
|
150
|
+
style: {
|
|
151
|
+
height,
|
|
152
|
+
width,
|
|
153
|
+
...style
|
|
154
|
+
},
|
|
155
|
+
onClick: handlePlay,
|
|
156
|
+
onDoubleClick: () => handleFullscreen(),
|
|
157
|
+
onMouseMove: handleMouseMove,
|
|
158
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("video", {
|
|
159
|
+
ref: videoRef,
|
|
160
|
+
onCanPlay: handleReady,
|
|
161
|
+
...restProps,
|
|
162
|
+
controls: useOriginControls
|
|
163
|
+
}), showControls && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
164
|
+
className: (0, classnames.default)("i-video-controls", { "i-video-controls-hidden": state.controlHidden }),
|
|
165
|
+
onClick: (e) => e.stopPropagation(),
|
|
166
|
+
children: [
|
|
167
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default.Toggle, {
|
|
168
|
+
className: "i-video-btn",
|
|
169
|
+
flat: true,
|
|
170
|
+
square: true,
|
|
171
|
+
after: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.PauseRound, {}) }),
|
|
172
|
+
active: state.playing,
|
|
173
|
+
onClick: handlePlay,
|
|
174
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.PlayArrowRound, {}) })
|
|
175
|
+
}),
|
|
176
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, {
|
|
177
|
+
className: "i-video-btn",
|
|
178
|
+
flat: true,
|
|
179
|
+
square: true,
|
|
180
|
+
onClick: handleStop,
|
|
181
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.StopRound, {}) })
|
|
182
|
+
}),
|
|
183
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
184
|
+
className: "i-video-times font-sm",
|
|
185
|
+
children: [
|
|
186
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$2.default.Time, { seconds: state.current }),
|
|
187
|
+
" /",
|
|
188
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$2.default.Time, { seconds: state.duration })
|
|
189
|
+
]
|
|
190
|
+
}),
|
|
191
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$3.default, {
|
|
192
|
+
...timeProgressProps,
|
|
193
|
+
value: currentValue,
|
|
194
|
+
onChange: handleUpdateTime,
|
|
195
|
+
onDraggingChange: handleDraggingProgress
|
|
196
|
+
}),
|
|
197
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
198
|
+
className: "i-video-control-volume",
|
|
199
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default.Toggle, {
|
|
200
|
+
className: "i-video-btn",
|
|
201
|
+
flat: true,
|
|
202
|
+
square: true,
|
|
203
|
+
active: state.volume <= 0,
|
|
204
|
+
after: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, {
|
|
205
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.VolumeOffRound, {}),
|
|
206
|
+
style: { padding: ".125em" }
|
|
207
|
+
}),
|
|
208
|
+
onClick: handleMuted,
|
|
209
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.VolumeDownRound, {}) })
|
|
210
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
211
|
+
className: "i-video-volume",
|
|
212
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$3.default, {
|
|
213
|
+
style: { height: 100 },
|
|
214
|
+
vertical: true,
|
|
215
|
+
...volumeProgressProps,
|
|
216
|
+
value: state.volume,
|
|
217
|
+
onChange: handleUpdateVolume
|
|
218
|
+
})
|
|
219
|
+
})]
|
|
220
|
+
}),
|
|
221
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default.Toggle, {
|
|
222
|
+
className: "i-video-btn",
|
|
223
|
+
flat: true,
|
|
224
|
+
square: true,
|
|
225
|
+
after: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.FullscreenExitRound, {}) }),
|
|
226
|
+
active: state.isFullscreen,
|
|
227
|
+
onClick: () => handleFullscreen(),
|
|
228
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.default, { icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ricons_material.FullscreenRound, {}) })
|
|
229
|
+
})
|
|
230
|
+
]
|
|
231
|
+
})]
|
|
232
|
+
});
|
|
233
|
+
};
|
|
234
|
+
//#endregion
|
|
235
|
+
exports.default = Video;
|
|
236
|
+
|
|
237
|
+
//# sourceMappingURL=video.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video.cjs","names":[],"sources":["../../../../packages/components/video/video.tsx"],"sourcesContent":["import {\n\tFullscreenExitRound,\n\tFullscreenRound,\n\tPauseRound,\n\tPlayArrowRound,\n\tStopRound,\n\tVolumeDownRound,\n\tVolumeOffRound,\n} from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { throttle } from \"radash\";\nimport { useEffect, useImperativeHandle, useRef } from \"react\";\nimport { useReactive } from \"../../js/hooks\";\nimport { exitFullScreen, fullScreen } from \"../../js/utils\";\nimport Button from \"../button\";\nimport Icon from \"../icon\";\nimport Progress from \"../progress\";\nimport Text from \"../text\";\nimport \"./index.css\";\nimport { IVideo } from \"./type\";\n\nconst Video = (props: IVideo) => {\n\tconst {\n\t\tref,\n\t\tstyle,\n\t\thideControls,\n\t\tautoplay,\n\t\tmuted,\n\t\tvolume = 50,\n\t\theight,\n\t\twidth,\n\t\tuseOriginControls,\n\t\ttimeProgressProps = {\n\t\t\tbarClass: \"bg-blue\",\n\t\t},\n\t\tvolumeProgressProps = {\n\t\t\tbarClass: \"bg-blue\",\n\t\t},\n\t\tclassName,\n\t\tonFullScreenChange,\n\t\t...restProps\n\t} = props;\n\tconst state = useReactive({\n\t\tplaying: autoplay,\n\t\tvolume: muted ? 0 : volume,\n\t\tvolumeCache: 0,\n\t\tmuted,\n\t\tcurrent: 0,\n\t\tduration: 0,\n\t\tisFullscreen: false,\n\t\tcontrolHidden: true,\n\t\tdraggingProgress: false,\n\t});\n\tconst videoRef = useRef<HTMLVideoElement>(null);\n\tconst hiddenTO = useRef<any>(null);\n\n\tconst timeUpdateListener = (e) => {\n\t\tconst tar = e.target;\n\t\tif (tar.paused || state.draggingProgress) return;\n\n\t\tObject.assign(state, {\n\t\t\tcurrent: tar.currentTime,\n\t\t});\n\t};\n\n\tconst playChangeListener = (e) => {\n\t\tstate.playing = !e.target.paused;\n\t};\n\n\tconst fsChangeListener = () => {\n\t\tif (typeof document === \"undefined\") return;\n\t\tconst tar = videoRef.current?.parentElement;\n\t\tif (!tar) return;\n\n\t\tstate.isFullscreen = document.fullscreenElement === tar;\n\t};\n\n\tconst volumeChangeListener = (e) => {\n\t\tconst tar = e.target;\n\t\tObject.assign(state, {\n\t\t\tvolume: tar.volume * 100,\n\t\t\tmuted: tar.volume === 0,\n\t\t});\n\t};\n\n\tconst handlePlay = () => {\n\t\tconst v = videoRef.current;\n\t\tif (!v) return;\n\n\t\tv.paused ? v.play() : v.pause();\n\t};\n\n\tconst handleReady = (e) => {\n\t\tconst tar = e.target;\n\t\tObject.assign(state, {\n\t\t\tduration: tar.duration,\n\t\t\tcurrent: tar.currentTime,\n\t\t});\n\t\ttar.volume = state.volume / 100;\n\t};\n\n\tconst handleMuted = () => {\n\t\tconst v = videoRef.current;\n\t\tif (!v) return;\n\n\t\tif (v.volume > 0) {\n\t\t\tstate.volumeCache = v.volume;\n\t\t\tv.volume = 0;\n\t\t\treturn;\n\t\t}\n\t\tv.volume = state.volumeCache === 0 ? 0.5 : state.volumeCache;\n\t};\n\n\tconst handleStop = () => {\n\t\tconst v = videoRef.current;\n\t\tif (!v) return;\n\n\t\tv.currentTime = 0;\n\t\tv.pause();\n\t};\n\n\tconst handleFullscreen = () => {\n\t\tconst tar = videoRef.current?.parentElement;\n\t\tif (!tar) return;\n\n\t\tstate.isFullscreen ? exitFullScreen() : fullScreen(tar);\n\t\tonFullScreenChange?.(!state.isFullscreen);\n\t};\n\n\tconst handleUpdateTime = (t) => {\n\t\tconst v = videoRef.current;\n\t\tif (!v) return;\n\n\t\tv.currentTime = (state.duration * t) / 100;\n\t};\n\n\tconst handleUpdateVolume = (t) => {\n\t\tconst v = videoRef.current;\n\t\tif (!v) return;\n\n\t\tv.volume = t / 100;\n\t};\n\n\tconst showControls = !hideControls && !useOriginControls;\n\n\tconst clearHiddenTO = () => {\n\t\tif (!hiddenTO.current) return;\n\t\tclearTimeout(hiddenTO.current);\n\t\thiddenTO.current = null;\n\t};\n\n\tconst setHiddenFalse = () => {\n\t\tif (!showControls || !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 handleDraggingProgress = (dragging) => {\n\t\tstate.draggingProgress = dragging;\n\t};\n\n\tconst handleMouseMove = throttle({ interval: 900 }, setHiddenFalse);\n\n\tuseImperativeHandle(ref, () => ({\n\t\tplay: () => {\n\t\t\tconst v = videoRef.current;\n\t\t\tif (!v) return;\n\n\t\t\tv.play();\n\t\t},\n\t\tpause: () => {\n\t\t\tconst v = videoRef.current;\n\t\t\tif (!v) return;\n\n\t\t\tv.pause();\n\t\t},\n\t\tstop: handleStop,\n\t\tfullscreen: handleFullscreen,\n\t\tgetVideo: () => videoRef.current,\n\t}));\n\n\tuseEffect(() => {\n\t\tif (typeof document === \"undefined\") return;\n\n\t\tconst v = videoRef.current;\n\t\tif (!v) return;\n\n\t\tv.addEventListener(\"timeupdate\", timeUpdateListener);\n\t\tv.addEventListener(\"play\", playChangeListener);\n\t\tv.addEventListener(\"pause\", playChangeListener);\n\t\tv.addEventListener(\"volumechange\", volumeChangeListener);\n\t\tdocument.addEventListener(\"fullscreenchange\", fsChangeListener);\n\n\t\treturn () => {\n\t\t\tclearHiddenTO();\n\t\t\tv.removeEventListener(\"timeupdate\", timeUpdateListener);\n\t\t\tv.removeEventListener(\"play\", playChangeListener);\n\t\t\tv.removeEventListener(\"pause\", playChangeListener);\n\t\t\tv.removeEventListener(\"volumechange\", volumeChangeListener);\n\t\t\tdocument.removeEventListener(\"fullscreenchange\", fsChangeListener);\n\t\t};\n\t}, []);\n\n\tconst currentValue = (state.current / state.duration) * 100;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-video\", className)}\n\t\t\tstyle={{ height, width, ...style }}\n\t\t\tonClick={handlePlay}\n\t\t\tonDoubleClick={() => handleFullscreen()}\n\t\t\tonMouseMove={handleMouseMove}\n\t\t>\n\t\t\t<video\n\t\t\t\tref={videoRef}\n\t\t\t\tonCanPlay={handleReady}\n\t\t\t\t{...restProps}\n\t\t\t\tcontrols={useOriginControls}\n\t\t\t/>\n\n\t\t\t{showControls && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\"i-video-controls\", {\n\t\t\t\t\t\t\"i-video-controls-hidden\": state.controlHidden,\n\t\t\t\t\t})}\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t<Button.Toggle\n\t\t\t\t\t\tclassName='i-video-btn'\n\t\t\t\t\t\tflat\n\t\t\t\t\t\tsquare\n\t\t\t\t\t\tafter={<Icon icon={<PauseRound />} />}\n\t\t\t\t\t\tactive={state.playing}\n\t\t\t\t\t\tonClick={handlePlay}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={<PlayArrowRound />} />\n\t\t\t\t\t</Button.Toggle>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName='i-video-btn'\n\t\t\t\t\t\tflat\n\t\t\t\t\t\tsquare\n\t\t\t\t\t\tonClick={handleStop}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={<StopRound />} />\n\t\t\t\t\t</Button>\n\t\t\t\t\t<span className='i-video-times font-sm'>\n\t\t\t\t\t\t<Text.Time seconds={state.current} /> /\n\t\t\t\t\t\t<Text.Time seconds={state.duration} />\n\t\t\t\t\t</span>\n\t\t\t\t\t<Progress\n\t\t\t\t\t\t{...timeProgressProps}\n\t\t\t\t\t\tvalue={currentValue}\n\t\t\t\t\t\tonChange={handleUpdateTime}\n\t\t\t\t\t\tonDraggingChange={handleDraggingProgress}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<div className='i-video-control-volume'>\n\t\t\t\t\t\t<Button.Toggle\n\t\t\t\t\t\t\tclassName='i-video-btn'\n\t\t\t\t\t\t\tflat\n\t\t\t\t\t\t\tsquare\n\t\t\t\t\t\t\tactive={state.volume <= 0}\n\t\t\t\t\t\t\tafter={\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={<VolumeOffRound />}\n\t\t\t\t\t\t\t\t\tstyle={{ padding: \".125em\" }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={handleMuted}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon icon={<VolumeDownRound />} />\n\t\t\t\t\t\t</Button.Toggle>\n\n\t\t\t\t\t\t<div className='i-video-volume'>\n\t\t\t\t\t\t\t<Progress\n\t\t\t\t\t\t\t\tstyle={{ height: 100 }}\n\t\t\t\t\t\t\t\tvertical\n\t\t\t\t\t\t\t\t{...volumeProgressProps}\n\t\t\t\t\t\t\t\tvalue={state.volume}\n\t\t\t\t\t\t\t\tonChange={handleUpdateVolume}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<Button.Toggle\n\t\t\t\t\t\tclassName='i-video-btn'\n\t\t\t\t\t\tflat\n\t\t\t\t\t\tsquare\n\t\t\t\t\t\tafter={<Icon icon={<FullscreenExitRound />} />}\n\t\t\t\t\t\tactive={state.isFullscreen}\n\t\t\t\t\t\tonClick={() => handleFullscreen()}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={<FullscreenRound />} />\n\t\t\t\t\t</Button.Toggle>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default Video;\n"],"mappings":";;;;;;;;;;;;;;;CAqBA,MAAM,EACL,KACC,OACA,cACA,UACA,OACA,SAAK,IACL,QACA,OACA,mBACA,oBAAiB,EACjB,UAAA,WACC,EACD,sBAAC,EACD,UAAA,WACC,EACD,WACA,oBACA,GAAA,cACG;CACJ,MAAI,QAAK,cAAA,YAAA;EACT,SAAM;EACL,QAAQ,QAAC,IAAQ;EACjB,aAAa;EACb;EACA,SAAK;EACL,UAAU;EACV,cAAW;EACX,eAAc;EACd,kBAAe;EACf,CAAA;CACD,MAAE,YAAA,GAAA,MAAA,QAAA,KAAA;CACF,MAAM,YAAA,GAAA,MAAA,QAAkB,KAAA;;EAGxB,MAAM,MAAA,EAAA;AACL,MAAA,IAAM,UAAQ,MAAM,iBAAA;yBAGpB,SAAO,IAAO,aACb,CAAA;;;AAIF,QAAM,UAAA,CAAA,EAAA,OAAqB;;;AAI3B,MAAK,OAAC,aAAmB,YAAM;EAC9B,MAAI,MAAO,SAAU,SAAI;AACzB,MAAA,CAAK,IAAK;;;;EAMX,MAAM,MAAA,EAAA;AACL,SAAM,OAAQ,OAAM;GACpB,QAAO,IAAM,SAAQ;GACpB,OAAO,IAAI,WAAU;GACrB,CAAA;;;EAIF,MAAM,IAAA,SAAc;AACnB,MAAA,CAAK,EAAG;;;;EAMT,MAAM,MAAA,EAAA;AACL,SAAM,OAAQ,OAAM;GACpB,UAAO,IAAO;GACb,SAAS,IAAI;GACb,CAAA;AACD,MAAE,SAAA,MAAA,SAAA;;;EAIH,MAAM,IAAA,SAAc;AACnB,MAAA,CAAK,EAAG;;AAGR,SAAM,cAAY,EAAA;AACjB,KAAA,SAAM;AACN;;AAED,IAAA,SAAA,MAAA,gBAAA,IAAA,KAAA,MAAA;;;EAID,MAAM,IAAA,SAAc;AACnB,MAAA,CAAK,EAAG;;AAGR,IAAE,OAAA;;;EAIH,MAAM,MAAA,SAAgB,SAAS;AAC9B,MAAA,CAAK,IAAK;;AAGV,uBAAqB,CAAA,MAAA,aAAmB;;;EAIzC,MAAM,IAAA,SAAA;AACL,MAAA,CAAK,EAAG;;;;EAMT,MAAM,IAAA,SAAA;AACL,MAAA,CAAK,EAAG;;;;;AAQT,MAAK,CAAC,SAAA,QAAkB;AACvB,eAAa,SAAS,QAAO;AAC7B,WAAA,UAAa;;;AAId,MAAK,CAAC,gBAAgB,CAAC,MAAM,cAAA;AAC5B,QAAK,gBAAiB;;AAGtB,WAAA,UAAe,iBAAA;AACf,SAAA,gBAAmB;KAClB,IAAM;;;AAIR,QAAM,mBAAA;;;;EAMN,YAAA;GACC,MAAO,IAAI,SAAC;AACX,OAAA,CAAK,EAAG;;;EAIT,aAAC;GACD,MAAO,IAAI,SAAE;AACZ,OAAA,CAAK,EAAG;;;EAIT,MAAC;EACD,YAAM;EACN,gBAAY,SAAA;EACZ,EAAA;;AAGD,MAAA,OAAY,aAAI,YAAA;;AAGf,MAAA,CAAK,EAAG;;AAGR,IAAE,iBAAiB,QAAC,mBAAa;AACjC,IAAE,iBAAiB,SAAQ,mBAAmB;AAC9C,IAAE,iBAAiB,gBAAS,qBAAmB;AAC/C,WAAE,iBAAkB,oBAAe,iBAAqB;;AAGxD,kBAAa;AACZ,KAAA,oBAAe,cAAA,mBAAA;AACf,KAAE,oBAAoB,QAAC,mBAAa;AACpC,KAAE,oBAAoB,SAAQ,mBAAmB;AACjD,KAAE,oBAAoB,gBAAS,qBAAmB;AAClD,YAAE,oBAAqB,oBAAe,iBAAqB;;IAE3D,EAAA,CAAA;;QAKF,iBAAA,GAAA,kBAAA,MAAA,OAAA;EACE,YAAA,GAAA,WAAA,SAAA,WAAA,UAAA;EACA,OAAA;GAAS;GAAE;GAAa,GAAC;GAAQ;EACjC,SAAS;EACT,qBAAmB,kBAAA;EACnB,aAAa;YALf,CAOC,iBAAA,GAAA,kBAAA,KAAA,SAAA;GACE,KAAA;GACA,WAAK;GACL,GAAA;GACA,UAAI;GACJ,CAAA,EAAA,gBAGA,iBAAA,GAAA,kBAAA,MAAA,OAAA;GACC,YAAA,GAAA,WAAA,SAAA,oBAAA,EACA,2BAAyB,MAAM,eAC9B,CAAC;GACF,UAAE,MAAA,EAAA,iBAAA;aAJH;IAMA,iBAAA,GAAA,kBAAA,KAAA,cAAA,QAAA,QAAA;KACE,WAAO;KACP,MAAA;KACA,QAAA;KACA,OAAA,iBAAA,GAAA,kBAAA,KAAA,gBAAA,SAAA,EAAA,MAAA,iBAAA,GAAA,kBAAA,KAAA,iBAAA,YAAA,EAAA,CAAA,EAAA,CAAA;KACA,QAAQ,MAAK;KACb,SAAQ;eAET,iBAAA,GAAA,kBAAA,KAAA,gBAAA,SAAA,EAAA,MAAA,iBAAA,GAAA,kBAAA,KAAA,iBAAA,gBAAA,EAAA,CAAA,EAAA,CAAA;KACc,CAAA;IACd,iBAAA,GAAA,kBAAA,KAAC,cAAA,SAAD;KACC,WAAA;KACA,MAAA;KACA,QAAA;KACA,SAAA;eAED,iBAAA,GAAA,kBAAA,KAAA,gBAAA,SAAA,EAAA,MAAA,iBAAA,GAAA,kBAAA,KAAA,iBAAA,WAAA,EAAA,CAAA,EAAA,CAAA;KACO,CAAA;IACP,iBAAA,GAAA,kBAAA,MAAC,QAAD;KAAE,WAAM;eAAR;MACC,iBAAA,GAAA,kBAAA,KAAA,gBAAA,QAAK,MAAL,EAAK,SAAa,MAAM,SAAa,CAAA;;MACrC,iBAAA,GAAA,kBAAA,KAAC,gBAAA,QAAK,MAAN,EAAW,SAAS,MAAM,UAAY,CAAA;MAChC;;IACP,iBAAA,GAAA,kBAAA,KAAC,gBAAA,SAAD;KACC,GAAA;KACA,OAAI;KACJ,UAAO;KACP,kBAAU;KACV,CAAA;;;gBAGA,iBAAA,GAAA,kBAAA,KAAA,cAAA,QAAI,QAAJ;MACC,WAAO;MACP,MAAA;MACA,QAAA;MACA,QAAA,MAAA,UAAA;MACA,OACA,iBAAA,GAAA,kBAAA,KAAA,gBAAA,SAAA;OACE,MAAA,iBAAA,GAAA,kBAAA,KAAA,iBAAA,gBAAA,EAAA,CAAA;OACA,OAAO,EAAA,SAAA,UAAiB;OACxB,CAAA;MAEF,SAAA;gBAED,iBAAA,GAAA,kBAAA,KAAA,gBAAA,SAAA,EAAA,MAAA,iBAAA,GAAA,kBAAA,KAAA,iBAAA,iBAAA,EAAA,CAAA,EAAA,CAAA;MACc,CAAA,EAAA,iBAAA,GAAA,kBAAA,KAAA,OAAA;;gBAGb,iBAAA,GAAA,kBAAA,KAAA,gBAAA,SAAA;OACC,OAAA,EAAA,QAAA,KAAA;OACA,UAAA;OACA,GAAA;OACA,OAAI,MAAA;OACJ,UAAO;OACP,CAAA;MACA,CAAA,CACG;;;KAGL,WAAO;KACP,MAAA;KACA,QAAA;KACA,OAAA,iBAAA,GAAA,kBAAA,KAAA,gBAAA,SAAA,EAAA,MAAA,iBAAA,GAAA,kBAAA,KAAA,iBAAA,qBAAA,EAAA,CAAA,EAAA,CAAA;KACA,QAAQ,MAAK;KACb,eAAc,kBAAY;eAE3B,iBAAA,GAAA,kBAAA,KAAA,gBAAA,SAAA,EAAA,MAAA,iBAAA,GAAA,kBAAA,KAAA,iBAAA,iBAAA,EAAA,CAAA,EAAA,CAAA;KACc,CAAA;IACZ;KAEH"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_index = require("./components/loading/index.cjs");
|
|
3
|
+
const require_index$1 = require("./components/button/index.cjs");
|
|
4
|
+
const require_index$2 = require("./components/icon/index.cjs");
|
|
5
|
+
const require_index$3 = require("./components/affix/index.cjs");
|
|
6
|
+
const require_index$4 = require("./components/badge/index.cjs");
|
|
7
|
+
const require_index$5 = require("./components/card/index.cjs");
|
|
8
|
+
const require_index$6 = require("./components/checkbox/index.cjs");
|
|
9
|
+
const require_index$7 = require("./components/collapse/index.cjs");
|
|
10
|
+
const require_index$8 = require("./components/datagrid/index.cjs");
|
|
11
|
+
const require_index$9 = require("./components/description/index.cjs");
|
|
12
|
+
const require_index$10 = require("./components/drawer/index.cjs");
|
|
13
|
+
const require_index$11 = require("./components/list/index.cjs");
|
|
14
|
+
const require_index$12 = require("./components/popup/index.cjs");
|
|
15
|
+
const require_index$13 = require("./components/dropdown/index.cjs");
|
|
16
|
+
const require_index$14 = require("./components/editor/index.cjs");
|
|
17
|
+
const require_index$15 = require("./components/flex/index.cjs");
|
|
18
|
+
const require_index$16 = require("./components/form/index.cjs");
|
|
19
|
+
const require_index$17 = require("./components/text/index.cjs");
|
|
20
|
+
const require_index$18 = require("./components/progress/index.cjs");
|
|
21
|
+
const require_index$19 = require("./components/video/index.cjs");
|
|
22
|
+
const require_index$20 = require("./js/usePreview/index.cjs");
|
|
23
|
+
const require_index$21 = require("./components/image/index.cjs");
|
|
24
|
+
const require_index$22 = require("./components/input/index.cjs");
|
|
25
|
+
const require_index$23 = require("./components/message/index.cjs");
|
|
26
|
+
const require_index$24 = require("./components/modal/index.cjs");
|
|
27
|
+
const require_index$25 = require("./components/pagination/index.cjs");
|
|
28
|
+
const require_index$26 = require("./components/tag/index.cjs");
|
|
29
|
+
const require_index$27 = require("./components/select/index.cjs");
|
|
30
|
+
const require_index$28 = require("./components/picker/colors/index.cjs");
|
|
31
|
+
const require_index$29 = require("./components/picker/dates/index.cjs");
|
|
32
|
+
const require_index$30 = require("./components/picker/time/index.cjs");
|
|
33
|
+
const require_index$31 = require("./components/popconfirm/index.cjs");
|
|
34
|
+
const require_index$32 = require("./components/radio/index.cjs");
|
|
35
|
+
const require_index$33 = require("./components/resizable/index.cjs");
|
|
36
|
+
const require_index$34 = require("./components/river/index.cjs");
|
|
37
|
+
const require_index$35 = require("./components/step/index.cjs");
|
|
38
|
+
const require_index$36 = require("./components/swiper/index.cjs");
|
|
39
|
+
const require_index$37 = require("./components/tabs/index.cjs");
|
|
40
|
+
const require_index$38 = require("./components/tree/index.cjs");
|
|
41
|
+
const require_index$39 = require("./components/upload/index.cjs");
|
|
42
|
+
const require_index$40 = require("./js/useTheme/index.cjs");
|
|
43
|
+
exports.Affix = require_index$3.default;
|
|
44
|
+
exports.Badge = require_index$4.default;
|
|
45
|
+
exports.Button = require_index$1.default;
|
|
46
|
+
exports.Card = require_index$5.default;
|
|
47
|
+
exports.Checkbox = require_index$6.default;
|
|
48
|
+
exports.Collapse = require_index$7.default;
|
|
49
|
+
exports.ColorPicker = require_index$28.default;
|
|
50
|
+
exports.Datagrid = require_index$8.default;
|
|
51
|
+
exports.DatePicker = require_index$29.default;
|
|
52
|
+
exports.Description = require_index$9.default;
|
|
53
|
+
exports.Drawer = require_index$10.default;
|
|
54
|
+
exports.Dropdown = require_index$13.default;
|
|
55
|
+
exports.Editor = require_index$14.default;
|
|
56
|
+
exports.Flex = require_index$15.default;
|
|
57
|
+
exports.Form = require_index$16.default;
|
|
58
|
+
exports.Icon = require_index$2.default;
|
|
59
|
+
exports.Image = require_index$21.default;
|
|
60
|
+
exports.Input = require_index$22.default;
|
|
61
|
+
exports.List = require_index$11.default;
|
|
62
|
+
exports.Loading = require_index.default;
|
|
63
|
+
exports.Message = require_index$23.default;
|
|
64
|
+
exports.Modal = require_index$24.default;
|
|
65
|
+
exports.Pagination = require_index$25.default;
|
|
66
|
+
exports.Popconfirm = require_index$31.default;
|
|
67
|
+
exports.Popup = require_index$12.default;
|
|
68
|
+
exports.Progress = require_index$18.default;
|
|
69
|
+
exports.Radio = require_index$32.default;
|
|
70
|
+
exports.Resizable = require_index$33.default;
|
|
71
|
+
exports.River = require_index$34.default;
|
|
72
|
+
exports.Select = require_index$27.default;
|
|
73
|
+
exports.Step = require_index$35.default;
|
|
74
|
+
exports.Swiper = require_index$36.default;
|
|
75
|
+
exports.Tabs = require_index$37.default;
|
|
76
|
+
exports.Tag = require_index$26.default;
|
|
77
|
+
exports.Text = require_index$17.default;
|
|
78
|
+
exports.TimePicker = require_index$30.default;
|
|
79
|
+
exports.Tree = require_index$38.default;
|
|
80
|
+
exports.Upload = require_index$39.default;
|
|
81
|
+
exports.Video = require_index$19.default;
|
|
82
|
+
exports.usePreview = require_index$20.default;
|
|
83
|
+
exports.useTheme = require_index$40.default;
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
let react = require("react");
|
|
3
|
+
//#region packages/js/hooks.ts
|
|
4
|
+
const MouseMoveEvents = /* @__PURE__ */ new Set();
|
|
5
|
+
const MouseUpEvents = /* @__PURE__ */ new Set();
|
|
6
|
+
const KeydownEvents = /* @__PURE__ */ new Set();
|
|
7
|
+
let initialized = false;
|
|
8
|
+
const initEvents = () => {
|
|
9
|
+
if (typeof document === "undefined" || initialized) return;
|
|
10
|
+
initialized = true;
|
|
11
|
+
const touchable = "ontouchend" in document;
|
|
12
|
+
const EVENTS = {
|
|
13
|
+
MOVE: touchable ? "touchmove" : "mousemove",
|
|
14
|
+
UP: touchable ? "touchend" : "mouseup",
|
|
15
|
+
KEYDOWN: "keydown"
|
|
16
|
+
};
|
|
17
|
+
document.addEventListener(EVENTS.MOVE, (e) => {
|
|
18
|
+
for (const listener of MouseMoveEvents.values()) listener(e);
|
|
19
|
+
}, { passive: false });
|
|
20
|
+
document.addEventListener(EVENTS.UP, (e) => {
|
|
21
|
+
for (const listener of MouseUpEvents.values()) listener(e);
|
|
22
|
+
});
|
|
23
|
+
document.addEventListener(EVENTS.KEYDOWN, (e) => {
|
|
24
|
+
for (const listener of KeydownEvents.values()) listener(e);
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
function initEventsOnce() {
|
|
28
|
+
(0, react.useEffect)(initEvents, []);
|
|
29
|
+
}
|
|
30
|
+
function useMouseMove(listener, options) {
|
|
31
|
+
initEventsOnce();
|
|
32
|
+
(0, react.useEffect)(() => {
|
|
33
|
+
if (options?.disabled) return;
|
|
34
|
+
MouseMoveEvents.add(listener);
|
|
35
|
+
return () => {
|
|
36
|
+
MouseMoveEvents.delete(listener);
|
|
37
|
+
};
|
|
38
|
+
}, []);
|
|
39
|
+
}
|
|
40
|
+
function useMouseUp(listener, options) {
|
|
41
|
+
initEventsOnce();
|
|
42
|
+
(0, react.useEffect)(() => {
|
|
43
|
+
if (options?.disabled) return;
|
|
44
|
+
MouseUpEvents.add(listener);
|
|
45
|
+
return () => {
|
|
46
|
+
MouseUpEvents.delete(listener);
|
|
47
|
+
};
|
|
48
|
+
}, []);
|
|
49
|
+
}
|
|
50
|
+
function useKeydown(listener, options) {
|
|
51
|
+
initEventsOnce();
|
|
52
|
+
(0, react.useEffect)(() => {
|
|
53
|
+
if (options?.disabled) return;
|
|
54
|
+
KeydownEvents.add(listener);
|
|
55
|
+
return () => {
|
|
56
|
+
KeydownEvents.delete(listener);
|
|
57
|
+
};
|
|
58
|
+
}, []);
|
|
59
|
+
}
|
|
60
|
+
function useReactive(initialState) {
|
|
61
|
+
const [, setFlag] = (0, react.useState)(0);
|
|
62
|
+
const scheduledRef = (0, react.useRef)(false);
|
|
63
|
+
const proxyCacheRef = (0, react.useRef)(/* @__PURE__ */ new WeakMap());
|
|
64
|
+
const rootRef = (0, react.useRef)(null);
|
|
65
|
+
const proxyRef = (0, react.useRef)(null);
|
|
66
|
+
const notify = () => {
|
|
67
|
+
if (scheduledRef.current) return;
|
|
68
|
+
scheduledRef.current = true;
|
|
69
|
+
const flush = () => {
|
|
70
|
+
scheduledRef.current = false;
|
|
71
|
+
setFlag((n) => n + 1);
|
|
72
|
+
};
|
|
73
|
+
if (typeof queueMicrotask !== "undefined") {
|
|
74
|
+
queueMicrotask(flush);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
Promise.resolve().then(flush);
|
|
78
|
+
};
|
|
79
|
+
const createProxy = (target) => {
|
|
80
|
+
if (!target || typeof target !== "object") return target;
|
|
81
|
+
if (!Array.isArray(target)) {
|
|
82
|
+
const proto = Object.getPrototypeOf(target);
|
|
83
|
+
if (!(proto === Object.prototype || proto === null)) return target;
|
|
84
|
+
}
|
|
85
|
+
const cached = proxyCacheRef.current.get(target);
|
|
86
|
+
if (cached) return cached;
|
|
87
|
+
const proxy = new Proxy(target, {
|
|
88
|
+
get(t, p, r) {
|
|
89
|
+
return createProxy(Reflect.get(t, p, r));
|
|
90
|
+
},
|
|
91
|
+
set(t, p, v, r) {
|
|
92
|
+
const prev = Reflect.get(t, p, r);
|
|
93
|
+
const ok = Reflect.set(t, p, v, r);
|
|
94
|
+
if (prev !== v) notify();
|
|
95
|
+
return ok;
|
|
96
|
+
},
|
|
97
|
+
deleteProperty(t, p) {
|
|
98
|
+
const had = Object.prototype.hasOwnProperty.call(t, p);
|
|
99
|
+
const ok = Reflect.deleteProperty(t, p);
|
|
100
|
+
if (had) notify();
|
|
101
|
+
return ok;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
proxyCacheRef.current.set(target, proxy);
|
|
105
|
+
return proxy;
|
|
106
|
+
};
|
|
107
|
+
if (!proxyRef.current) {
|
|
108
|
+
rootRef.current = initialState;
|
|
109
|
+
proxyRef.current = createProxy(rootRef.current);
|
|
110
|
+
}
|
|
111
|
+
return proxyRef.current;
|
|
112
|
+
}
|
|
113
|
+
function useLocalStorageState(key, options) {
|
|
114
|
+
const { defaultValue, listenStorageChange } = options ?? {};
|
|
115
|
+
const getDefault = () => {
|
|
116
|
+
return typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
117
|
+
};
|
|
118
|
+
const read = () => {
|
|
119
|
+
if (typeof window === "undefined") return getDefault();
|
|
120
|
+
const raw = window.localStorage.getItem(key);
|
|
121
|
+
if (raw === null) return getDefault();
|
|
122
|
+
try {
|
|
123
|
+
return JSON.parse(raw);
|
|
124
|
+
} catch (e) {
|
|
125
|
+
return raw;
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
const [state, setState] = (0, react.useState)(() => read());
|
|
129
|
+
const set = (value) => {
|
|
130
|
+
setState((prev) => {
|
|
131
|
+
const next = typeof value === "function" ? value(prev) : value;
|
|
132
|
+
if (typeof window !== "undefined") if (next === void 0) window.localStorage.removeItem(key);
|
|
133
|
+
else window.localStorage.setItem(key, JSON.stringify(next));
|
|
134
|
+
return next;
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
(0, react.useEffect)(() => {
|
|
138
|
+
if (!listenStorageChange) return;
|
|
139
|
+
if (typeof window === "undefined") return;
|
|
140
|
+
const onStorage = (e) => {
|
|
141
|
+
if (e.key !== key) return;
|
|
142
|
+
if (e.newValue === null) {
|
|
143
|
+
setState(getDefault());
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
try {
|
|
147
|
+
setState(JSON.parse(e.newValue));
|
|
148
|
+
} catch (err) {
|
|
149
|
+
setState(e.newValue);
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
window.addEventListener("storage", onStorage);
|
|
153
|
+
return () => {
|
|
154
|
+
window.removeEventListener("storage", onStorage);
|
|
155
|
+
};
|
|
156
|
+
}, [key, listenStorageChange]);
|
|
157
|
+
return [state, set];
|
|
158
|
+
}
|
|
159
|
+
function useSize(target) {
|
|
160
|
+
const [size, setSize] = (0, react.useState)();
|
|
161
|
+
(0, react.useEffect)(() => {
|
|
162
|
+
if (typeof window === "undefined") return;
|
|
163
|
+
const resolveTarget = () => {
|
|
164
|
+
if (!target) return null;
|
|
165
|
+
if (typeof target === "function") return target();
|
|
166
|
+
if (typeof target === "object" && "current" in target) return target.current;
|
|
167
|
+
return target;
|
|
168
|
+
};
|
|
169
|
+
const el = resolveTarget();
|
|
170
|
+
if (!el) return;
|
|
171
|
+
const update = () => {
|
|
172
|
+
const rect = el.getBoundingClientRect();
|
|
173
|
+
setSize({
|
|
174
|
+
width: rect.width,
|
|
175
|
+
height: rect.height
|
|
176
|
+
});
|
|
177
|
+
};
|
|
178
|
+
update();
|
|
179
|
+
let ro;
|
|
180
|
+
if (typeof ResizeObserver !== "undefined") {
|
|
181
|
+
ro = new ResizeObserver(update);
|
|
182
|
+
ro.observe(el);
|
|
183
|
+
}
|
|
184
|
+
window.addEventListener("resize", update);
|
|
185
|
+
return () => {
|
|
186
|
+
window.removeEventListener("resize", update);
|
|
187
|
+
ro?.disconnect();
|
|
188
|
+
};
|
|
189
|
+
}, [target]);
|
|
190
|
+
return size;
|
|
191
|
+
}
|
|
192
|
+
const defaultObserver = {
|
|
193
|
+
observe: void 0,
|
|
194
|
+
unobserve: void 0,
|
|
195
|
+
disconnect: void 0
|
|
196
|
+
};
|
|
197
|
+
function useIntersectionObserver(configs) {
|
|
198
|
+
if (typeof window === "undefined") return { ...defaultObserver };
|
|
199
|
+
const WM = /* @__PURE__ */ new WeakMap();
|
|
200
|
+
const IO = new IntersectionObserver((entries) => {
|
|
201
|
+
entries.map((entry) => {
|
|
202
|
+
WM.get(entry.target)?.(entry.target, entry.isIntersecting);
|
|
203
|
+
});
|
|
204
|
+
}, configs);
|
|
205
|
+
function observe(target, callback) {
|
|
206
|
+
if (WM.get(target)) return;
|
|
207
|
+
WM.set(target, callback);
|
|
208
|
+
target && IO.observe(target);
|
|
209
|
+
}
|
|
210
|
+
function unobserve(target) {
|
|
211
|
+
target && IO.unobserve(target);
|
|
212
|
+
WM.delete(target);
|
|
213
|
+
}
|
|
214
|
+
function disconnect() {
|
|
215
|
+
IO.disconnect();
|
|
216
|
+
}
|
|
217
|
+
return {
|
|
218
|
+
observe,
|
|
219
|
+
unobserve,
|
|
220
|
+
disconnect
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
function useResizeObserver() {
|
|
224
|
+
if (typeof window === "undefined") return { ...defaultObserver };
|
|
225
|
+
const WM = /* @__PURE__ */ new WeakMap();
|
|
226
|
+
const IO = new ResizeObserver((entries) => {
|
|
227
|
+
entries.map((entry) => {
|
|
228
|
+
WM.get(entry.target)?.(entry.target);
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
function observe(target, callback) {
|
|
232
|
+
if (WM.get(target)) return;
|
|
233
|
+
target && IO.observe(target);
|
|
234
|
+
WM.set(target, callback);
|
|
235
|
+
}
|
|
236
|
+
function unobserve(target) {
|
|
237
|
+
target && IO.unobserve(target);
|
|
238
|
+
WM.delete(target);
|
|
239
|
+
}
|
|
240
|
+
function disconnect() {
|
|
241
|
+
IO.disconnect();
|
|
242
|
+
}
|
|
243
|
+
return {
|
|
244
|
+
observe,
|
|
245
|
+
unobserve,
|
|
246
|
+
disconnect
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
//#endregion
|
|
250
|
+
exports.useIntersectionObserver = useIntersectionObserver;
|
|
251
|
+
exports.useKeydown = useKeydown;
|
|
252
|
+
exports.useLocalStorageState = useLocalStorageState;
|
|
253
|
+
exports.useMouseMove = useMouseMove;
|
|
254
|
+
exports.useMouseUp = useMouseUp;
|
|
255
|
+
exports.useReactive = useReactive;
|
|
256
|
+
exports.useResizeObserver = useResizeObserver;
|
|
257
|
+
exports.useSize = useSize;
|
|
258
|
+
|
|
259
|
+
//# sourceMappingURL=hooks.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.cjs","names":[],"sources":["../../../packages/js/hooks.ts"],"sourcesContent":["import { DependencyList, useEffect, useMemo, useRef, useState } from \"react\";\n\ntype TMouseEvent = (e: MouseEvent) => void;\ntype TKeyboardEvent = (e: KeyboardEvent) => void;\ntype TEventOption = {\n\tdisabled?: boolean;\n};\n\nconst MouseMoveEvents = new Set<TMouseEvent>();\nconst MouseUpEvents = new Set<TMouseEvent>();\nconst KeydownEvents = new Set<TKeyboardEvent>();\n\nlet initialized = false;\n\nconst initEvents = () => {\n\tif (typeof document === \"undefined\" || initialized) return;\n\tinitialized = true;\n\n\tconst touchable = \"ontouchend\" in document;\n\tconst EVENTS: Record<string, any> = {\n\t\tMOVE: touchable ? \"touchmove\" : \"mousemove\",\n\t\tUP: touchable ? \"touchend\" : \"mouseup\",\n\t\tKEYDOWN: \"keydown\",\n\t};\n\n\tdocument.addEventListener(\n\t\tEVENTS.MOVE,\n\t\t(e) => {\n\t\t\tfor (const listener of MouseMoveEvents.values()) {\n\t\t\t\tlistener(e);\n\t\t\t}\n\t\t},\n\t\t{ passive: false },\n\t);\n\n\tdocument.addEventListener(EVENTS.UP, (e) => {\n\t\tfor (const listener of MouseUpEvents.values()) {\n\t\t\tlistener(e);\n\t\t}\n\t});\n\n\tdocument.addEventListener(EVENTS.KEYDOWN, (e) => {\n\t\tfor (const listener of KeydownEvents.values()) {\n\t\t\tlistener(e);\n\t\t}\n\t});\n};\n\nfunction initEventsOnce() {\n\tuseEffect(initEvents, []);\n}\n\nexport function useMouseMove(listener: TMouseEvent, options?: TEventOption) {\n\tinitEventsOnce();\n\n\tuseEffect(() => {\n\t\tif (options?.disabled) return;\n\n\t\tMouseMoveEvents.add(listener);\n\t\treturn () => {\n\t\t\tMouseMoveEvents.delete(listener);\n\t\t};\n\t}, []);\n}\n\nexport function useMouseUp(listener: TMouseEvent, options?: TEventOption) {\n\tinitEventsOnce();\n\n\tuseEffect(() => {\n\t\tif (options?.disabled) return;\n\n\t\tMouseUpEvents.add(listener);\n\t\treturn () => {\n\t\t\tMouseUpEvents.delete(listener);\n\t\t};\n\t}, []);\n}\n\nexport function useKeydown(listener: TKeyboardEvent, options?: TEventOption) {\n\tinitEventsOnce();\n\n\tuseEffect(() => {\n\t\tif (options?.disabled) return;\n\n\t\tKeydownEvents.add(listener);\n\t\treturn () => {\n\t\t\tKeydownEvents.delete(listener);\n\t\t};\n\t}, []);\n}\n\nexport function useCreation<T>(factory: () => T, deps: DependencyList) {\n\treturn useMemo(factory, deps);\n}\n\nexport function useReactive<T extends object>(initialState: T): T {\n\tconst [, setFlag] = useState(0);\n\tconst scheduledRef = useRef(false);\n\tconst proxyCacheRef = useRef(new WeakMap<object, any>());\n\tconst rootRef = useRef<T | null>(null);\n\tconst proxyRef = useRef<T | null>(null);\n\n\tconst notify = () => {\n\t\tif (scheduledRef.current) return;\n\t\tscheduledRef.current = true;\n\n\t\tconst flush = () => {\n\t\t\tscheduledRef.current = false;\n\t\t\tsetFlag((n) => n + 1);\n\t\t};\n\n\t\tif (typeof queueMicrotask !== \"undefined\") {\n\t\t\tqueueMicrotask(flush);\n\t\t\treturn;\n\t\t}\n\n\t\tPromise.resolve().then(flush);\n\t};\n\n\tconst createProxy = (target: any): any => {\n\t\tif (!target || typeof target !== \"object\") return target;\n\n\t\tif (!Array.isArray(target)) {\n\t\t\tconst proto = Object.getPrototypeOf(target);\n\t\t\tconst isPlainObject = proto === Object.prototype || proto === null;\n\t\t\tif (!isPlainObject) return target;\n\t\t}\n\n\t\tconst cached = proxyCacheRef.current.get(target);\n\t\tif (cached) return cached;\n\n\t\tconst proxy = new Proxy(target, {\n\t\t\tget(t, p, r) {\n\t\t\t\treturn createProxy(Reflect.get(t, p, r));\n\t\t\t},\n\t\t\tset(t, p, v, r) {\n\t\t\t\tconst prev = Reflect.get(t, p, r);\n\t\t\t\tconst ok = Reflect.set(t, p, v, r);\n\t\t\t\tif (prev !== v) notify();\n\t\t\t\treturn ok;\n\t\t\t},\n\t\t\tdeleteProperty(t, p) {\n\t\t\t\tconst had = Object.prototype.hasOwnProperty.call(t, p);\n\t\t\t\tconst ok = Reflect.deleteProperty(t, p);\n\t\t\t\tif (had) notify();\n\t\t\t\treturn ok;\n\t\t\t},\n\t\t});\n\n\t\tproxyCacheRef.current.set(target, proxy);\n\t\treturn proxy;\n\t};\n\n\tif (!proxyRef.current) {\n\t\trootRef.current = initialState;\n\t\tproxyRef.current = createProxy(rootRef.current);\n\t}\n\n\treturn proxyRef.current as T;\n}\n\ntype TSetState<T> = (\n\tvalue: T | undefined | ((prev: T | undefined) => T),\n) => void;\n\ntype TLocalStorageOptions<T> = {\n\tdefaultValue?: T | (() => T);\n\tlistenStorageChange?: boolean;\n};\n\nexport function useLocalStorageState<T>(\n\tkey: string,\n\toptions?: TLocalStorageOptions<T>,\n): [T | undefined, TSetState<T>] {\n\tconst { defaultValue, listenStorageChange } = options ?? {};\n\n\tconst getDefault = () => {\n\t\treturn typeof defaultValue === \"function\"\n\t\t\t? (defaultValue as () => T)()\n\t\t\t: defaultValue;\n\t};\n\n\tconst read = (): T | undefined => {\n\t\tif (typeof window === \"undefined\") return getDefault();\n\n\t\tconst raw = window.localStorage.getItem(key);\n\t\tif (raw === null) return getDefault();\n\n\t\ttry {\n\t\t\treturn JSON.parse(raw) as T;\n\t\t} catch (e) {\n\t\t\treturn raw as unknown as T;\n\t\t}\n\t};\n\n\tconst [state, setState] = useState<T | undefined>(() => read());\n\n\tconst set: TSetState<T> = (value) => {\n\t\tsetState((prev) => {\n\t\t\tconst next =\n\t\t\t\ttypeof value === \"function\"\n\t\t\t\t\t? (value as (prev: T | undefined) => T)(prev)\n\t\t\t\t\t: value;\n\n\t\t\tif (typeof window !== \"undefined\") {\n\t\t\t\tif (next === undefined) {\n\t\t\t\t\twindow.localStorage.removeItem(key);\n\t\t\t\t} else {\n\t\t\t\t\twindow.localStorage.setItem(key, JSON.stringify(next));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn next;\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (!listenStorageChange) return;\n\t\tif (typeof window === \"undefined\") return;\n\n\t\tconst onStorage = (e: StorageEvent) => {\n\t\t\tif (e.key !== key) return;\n\n\t\t\tif (e.newValue === null) {\n\t\t\t\tsetState(getDefault());\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tsetState(JSON.parse(e.newValue) as T);\n\t\t\t} catch (err) {\n\t\t\t\tsetState(e.newValue as unknown as T);\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener(\"storage\", onStorage);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"storage\", onStorage);\n\t\t};\n\t}, [key, listenStorageChange]);\n\n\treturn [state, set];\n}\n\ntype TResponsiveConfig = Record<string, number>;\n\nlet responsiveConfig: TResponsiveConfig = {};\n\nexport function configResponsive(config: TResponsiveConfig) {\n\tresponsiveConfig = config;\n}\n\nexport function useResponsive() {\n\tconst compute = () => {\n\t\tif (typeof window === \"undefined\") return {};\n\t\tconst w = window.innerWidth;\n\t\tconst result: Record<string, boolean> = {};\n\n\t\tfor (const key in responsiveConfig) {\n\t\t\tresult[key] = w >= responsiveConfig[key];\n\t\t}\n\n\t\treturn result;\n\t};\n\n\tconst [state, setState] = useState<Record<string, boolean>>(() =>\n\t\tcompute(),\n\t);\n\n\tuseEffect(() => {\n\t\tif (typeof window === \"undefined\") return;\n\n\t\tconst onResize = () => {\n\t\t\tconst next = compute();\n\t\t\tsetState((prev) => {\n\t\t\t\tconst prevKeys = Object.keys(prev);\n\t\t\t\tconst nextKeys = Object.keys(next);\n\t\t\t\tif (prevKeys.length !== nextKeys.length) return next;\n\n\t\t\t\tfor (const k of nextKeys) {\n\t\t\t\t\tif (prev[k] !== next[k]) return next;\n\t\t\t\t}\n\n\t\t\t\treturn prev;\n\t\t\t});\n\t\t};\n\n\t\tonResize();\n\t\twindow.addEventListener(\"resize\", onResize);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"resize\", onResize);\n\t\t};\n\t}, []);\n\n\treturn state;\n}\n\ntype TSize = { width: number; height: number };\n\nexport function useSize(target: any): TSize | undefined {\n\tconst [size, setSize] = useState<TSize>();\n\n\tuseEffect(() => {\n\t\tif (typeof window === \"undefined\") return;\n\n\t\tconst resolveTarget = () => {\n\t\t\tif (!target) return null;\n\t\t\tif (typeof target === \"function\") return target();\n\t\t\tif (typeof target === \"object\" && \"current\" in target) {\n\t\t\t\treturn target.current;\n\t\t\t}\n\t\t\treturn target;\n\t\t};\n\n\t\tconst el = resolveTarget() as HTMLElement | null;\n\t\tif (!el) return;\n\n\t\tconst update = () => {\n\t\t\tconst rect = el.getBoundingClientRect();\n\t\t\tsetSize({ width: rect.width, height: rect.height });\n\t\t};\n\n\t\tupdate();\n\n\t\tlet ro: ResizeObserver | undefined;\n\t\tif (typeof ResizeObserver !== \"undefined\") {\n\t\t\tro = new ResizeObserver(update);\n\t\t\tro.observe(el);\n\t\t}\n\n\t\twindow.addEventListener(\"resize\", update);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"resize\", update);\n\t\t\tro?.disconnect();\n\t\t};\n\t}, [target]);\n\n\treturn size;\n}\n\nconst defaultObserver = {\n\tobserve: undefined,\n\tunobserve: undefined,\n\tdisconnect: undefined,\n};\n\nexport function useIntersectionObserver(configs?: IntersectionObserverInit) {\n\tif (typeof window === \"undefined\") {\n\t\treturn {\n\t\t\t...defaultObserver,\n\t\t};\n\t}\n\n\tconst WM = new WeakMap();\n\tconst IO = new IntersectionObserver((entries) => {\n\t\tentries.map((entry) => {\n\t\t\tconst callback = WM.get(entry.target);\n\t\t\tcallback?.(entry.target, entry.isIntersecting);\n\t\t});\n\t}, configs);\n\n\tfunction observe(target: HTMLElement, callback: Function) {\n\t\tif (WM.get(target)) return;\n\t\tWM.set(target, callback);\n\t\ttarget && IO.observe(target);\n\t}\n\n\tfunction unobserve(target: HTMLElement) {\n\t\ttarget && IO.unobserve(target);\n\t\tWM.delete(target);\n\t}\n\n\tfunction disconnect() {\n\t\tIO.disconnect();\n\t}\n\n\treturn {\n\t\tobserve,\n\t\tunobserve,\n\t\tdisconnect,\n\t};\n}\n\nexport function useResizeObserver() {\n\tif (typeof window === \"undefined\") {\n\t\treturn {\n\t\t\t...defaultObserver,\n\t\t};\n\t}\n\n\tconst WM = new WeakMap();\n\tconst IO = new ResizeObserver((entries) => {\n\t\tentries.map((entry) => {\n\t\t\tconst callback = WM.get(entry.target);\n\t\t\tcallback?.(entry.target);\n\t\t});\n\t});\n\n\tfunction observe(target: HTMLElement, callback: Function) {\n\t\tif (WM.get(target)) return;\n\t\ttarget && IO.observe(target);\n\t\tWM.set(target, callback);\n\t}\n\n\tfunction unobserve(target: HTMLElement) {\n\t\ttarget && IO.unobserve(target);\n\t\tWM.delete(target);\n\t}\n\n\tfunction disconnect() {\n\t\tIO.disconnect();\n\t}\n\n\treturn {\n\t\tobserve,\n\t\tunobserve,\n\t\tdisconnect,\n\t};\n}\n"],"mappings":"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"}
|