@ioca/react 1.5.20 → 1.5.21
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/css/index.css +1 -2
- package/lib/es/components/affix/affix.js +1 -1
- package/lib/es/components/affix/index.js +0 -1
- package/lib/es/components/affix/totop.js +0 -1
- package/lib/es/components/badge/badge.js +1 -1
- package/lib/es/components/badge/index.js +0 -1
- package/lib/es/components/button/button.js +1 -1
- package/lib/es/components/button/confirm.js +0 -1
- package/lib/es/components/button/group.js +0 -1
- package/lib/es/components/button/index.js +0 -1
- package/lib/es/components/button/toggle.js +0 -1
- package/lib/es/components/card/card.js +1 -1
- package/lib/es/components/card/index.js +0 -1
- package/lib/es/components/checkbox/checkbox.js +2 -1
- package/lib/es/components/checkbox/index.js +0 -1
- package/lib/es/components/checkbox/item.js +0 -1
- package/lib/es/components/collapse/collapse.js +1 -1
- package/lib/es/components/collapse/index.js +0 -1
- package/lib/es/components/collapse/item.js +0 -1
- package/lib/es/components/datagrid/cell.js +0 -1
- package/lib/es/components/datagrid/datagrid.js +1 -1
- package/lib/es/components/datagrid/helper.js +0 -1
- package/lib/es/components/datagrid/index.js +0 -1
- package/lib/es/components/datagrid/resize.js +0 -1
- package/lib/es/components/datagrid/row.js +0 -1
- package/lib/es/components/datagrid/sorter.js +0 -1
- package/lib/es/components/datagrid/virtual.js +0 -1
- package/lib/es/components/description/description.js +1 -1
- package/lib/es/components/description/index.js +0 -1
- package/lib/es/components/drawer/drawer.js +1 -1
- package/lib/es/components/drawer/index.js +0 -1
- package/lib/es/components/dropdown/dropdown.js +1 -1
- package/lib/es/components/dropdown/index.js +0 -1
- package/lib/es/components/dropdown/item.js +0 -1
- package/lib/es/components/editor/controls.js +0 -1
- package/lib/es/components/editor/editor.js +1 -1
- package/lib/es/components/editor/index.js +0 -1
- package/lib/es/components/editor/memtion.js +0 -1
- package/lib/es/components/flex/flex.js +1 -1
- package/lib/es/components/flex/index.js +0 -1
- package/lib/es/components/form/context.js +0 -1
- package/lib/es/components/form/field.js +0 -1
- package/lib/es/components/form/form.js +1 -1
- package/lib/es/components/form/index.js +0 -1
- package/lib/es/components/form/useConfig.js +0 -1
- package/lib/es/components/form/useForm.js +0 -1
- package/lib/es/components/form/utils.js +0 -1
- package/lib/es/components/icon/icon.js +1 -1
- package/lib/es/components/icon/index.js +0 -1
- package/lib/es/components/image/image.js +1 -1
- package/lib/es/components/image/index.js +0 -1
- package/lib/es/components/image/list.js +0 -1
- package/lib/es/components/input/container.js +0 -1
- package/lib/es/components/input/index.js +0 -1
- package/lib/es/components/input/input.js +1 -1
- package/lib/es/components/input/number.js +1 -1
- package/lib/es/components/input/range.js +1 -1
- package/lib/es/components/input/textarea.js +1 -1
- package/lib/es/components/list/index.js +0 -1
- package/lib/es/components/list/item.js +0 -1
- package/lib/es/components/list/list.js +1 -1
- package/lib/es/components/loading/index.js +0 -1
- package/lib/es/components/loading/loading.js +1 -1
- package/lib/es/components/message/index.js +0 -1
- package/lib/es/components/message/message.js +1 -1
- package/lib/es/components/modal/content.js +1 -1
- package/lib/es/components/modal/context.js +0 -1
- package/lib/es/components/modal/hookModal.js +0 -1
- package/lib/es/components/modal/index.js +0 -1
- package/lib/es/components/modal/modal.js +1 -1
- package/lib/es/components/modal/modalManager.js +0 -1
- package/lib/es/components/modal/useModal.js +0 -1
- package/lib/es/components/pagination/index.js +0 -1
- package/lib/es/components/pagination/page.js +0 -1
- package/lib/es/components/pagination/pagination.js +1 -1
- package/lib/es/components/picker/colors/footer.js +0 -1
- package/lib/es/components/picker/colors/handle.js +0 -1
- package/lib/es/components/picker/colors/index.js +1 -1
- package/lib/es/components/picker/daterange/daterange.js +2 -1
- package/lib/es/components/picker/daterange/index.js +0 -1
- package/lib/es/components/picker/daterange/panel.js +0 -1
- package/lib/es/components/picker/dates/dates.js +0 -1
- package/lib/es/components/picker/dates/index.js +1 -1
- package/lib/es/components/picker/dates/panel.js +0 -1
- package/lib/es/components/picker/time/index.js +0 -1
- package/lib/es/components/picker/time/item.js +0 -1
- package/lib/es/components/picker/time/panel.js +1 -1
- package/lib/es/components/popconfirm/index.js +0 -1
- package/lib/es/components/popconfirm/popconfirm.js +1 -1
- package/lib/es/components/popup/content.js +0 -1
- package/lib/es/components/popup/index.js +0 -1
- package/lib/es/components/popup/popup.js +1 -1
- package/lib/es/components/progress/circle.js +0 -1
- package/lib/es/components/progress/index.js +0 -1
- package/lib/es/components/progress/line.js +0 -1
- package/lib/es/components/progress/progress.js +2 -1
- package/lib/es/components/radio/index.js +0 -1
- package/lib/es/components/radio/item.js +0 -1
- package/lib/es/components/radio/radio.js +2 -1
- package/lib/es/components/resizable/index.js +0 -1
- package/lib/es/components/resizable/resizable.js +1 -1
- package/lib/es/components/river/index.js +0 -1
- package/lib/es/components/river/river.js +1 -1
- package/lib/es/components/scroll/index.js +0 -1
- package/lib/es/components/scroll/scroll.js +1 -1
- package/lib/es/components/select/index.js +0 -1
- package/lib/es/components/select/options.js +0 -1
- package/lib/es/components/select/select.js +2 -1
- package/lib/es/components/step/divider.js +1 -1
- package/lib/es/components/step/index.js +0 -1
- package/lib/es/components/step/item.js +0 -1
- package/lib/es/components/step/step.js +1 -1
- package/lib/es/components/swiper/index.js +0 -1
- package/lib/es/components/swiper/item.js +0 -1
- package/lib/es/components/swiper/swiper.js +1 -1
- package/lib/es/components/tabs/contents.js +0 -1
- package/lib/es/components/tabs/helper.js +0 -1
- package/lib/es/components/tabs/index.js +0 -1
- package/lib/es/components/tabs/item.js +0 -1
- package/lib/es/components/tabs/navs.js +0 -1
- package/lib/es/components/tabs/tabs.js +1 -1
- package/lib/es/components/tag/index.js +0 -1
- package/lib/es/components/tag/tag.js +1 -1
- package/lib/es/components/text/highlight.js +0 -1
- package/lib/es/components/text/index.js +0 -1
- package/lib/es/components/text/number.js +0 -1
- package/lib/es/components/text/text.js +1 -1
- package/lib/es/components/text/time.js +0 -1
- package/lib/es/components/tree/index.js +0 -1
- package/lib/es/components/tree/item.js +0 -1
- package/lib/es/components/tree/tree.js +1 -1
- package/lib/es/components/tree/virtual.js +0 -1
- package/lib/es/components/upload/dropbox.js +0 -1
- package/lib/es/components/upload/index.js +0 -1
- package/lib/es/components/upload/renderFile.js +0 -1
- package/lib/es/components/upload/upload.js +1 -1
- package/lib/es/components/utils/empty/index.js +1 -1
- package/lib/es/components/utils/helpericon/helpericon.js +1 -1
- package/lib/es/components/utils/helpericon/index.js +0 -1
- package/lib/es/components/video/index.js +0 -1
- package/lib/es/components/video/video.js +1 -1
- package/lib/es/index.js +1 -1
- package/lib/es/js/hooks.js +0 -1
- package/lib/es/js/usePreview/content.js +0 -1
- package/lib/es/js/usePreview/index.js +1 -1
- package/lib/es/js/usePreview/renderFile.js +0 -1
- package/lib/es/js/usePreview/type.js +0 -1
- package/lib/es/js/useRipple/index.js +2 -1
- package/lib/es/js/useTheme/index.js +0 -1
- package/lib/es/js/utils.js +0 -1
- package/package.json +3 -7
- package/lib/cjs/components/affix/affix.js +0 -80
- package/lib/cjs/components/affix/affix.js.map +0 -1
- package/lib/cjs/components/affix/index.js +0 -10
- package/lib/cjs/components/affix/index.js.map +0 -1
- package/lib/cjs/components/affix/totop.js +0 -21
- package/lib/cjs/components/affix/totop.js.map +0 -1
- package/lib/cjs/components/badge/badge.js +0 -21
- package/lib/cjs/components/badge/badge.js.map +0 -1
- package/lib/cjs/components/badge/index.js +0 -10
- package/lib/cjs/components/badge/index.js.map +0 -1
- package/lib/cjs/components/button/button.js +0 -72
- package/lib/cjs/components/button/button.js.map +0 -1
- package/lib/cjs/components/button/confirm.js +0 -58
- package/lib/cjs/components/button/confirm.js.map +0 -1
- package/lib/cjs/components/button/group.js +0 -29
- package/lib/cjs/components/button/group.js.map +0 -1
- package/lib/cjs/components/button/index.js +0 -10
- package/lib/cjs/components/button/index.js.map +0 -1
- package/lib/cjs/components/button/toggle.js +0 -47
- package/lib/cjs/components/button/toggle.js.map +0 -1
- package/lib/cjs/components/card/card.js +0 -21
- package/lib/cjs/components/card/card.js.map +0 -1
- package/lib/cjs/components/card/index.js +0 -10
- package/lib/cjs/components/card/index.js.map +0 -1
- package/lib/cjs/components/checkbox/checkbox.js +0 -47
- package/lib/cjs/components/checkbox/checkbox.js.map +0 -1
- package/lib/cjs/components/checkbox/index.js +0 -10
- package/lib/cjs/components/checkbox/index.js.map +0 -1
- package/lib/cjs/components/checkbox/item.js +0 -43
- package/lib/cjs/components/checkbox/item.js.map +0 -1
- package/lib/cjs/components/collapse/collapse.js +0 -80
- package/lib/cjs/components/collapse/collapse.js.map +0 -1
- package/lib/cjs/components/collapse/index.js +0 -10
- package/lib/cjs/components/collapse/index.js.map +0 -1
- package/lib/cjs/components/collapse/item.js +0 -12
- package/lib/cjs/components/collapse/item.js.map +0 -1
- package/lib/cjs/components/datagrid/cell.js +0 -34
- package/lib/cjs/components/datagrid/cell.js.map +0 -1
- package/lib/cjs/components/datagrid/datagrid.js +0 -219
- package/lib/cjs/components/datagrid/datagrid.js.map +0 -1
- package/lib/cjs/components/datagrid/helper.js +0 -83
- package/lib/cjs/components/datagrid/helper.js.map +0 -1
- package/lib/cjs/components/datagrid/index.js +0 -10
- package/lib/cjs/components/datagrid/index.js.map +0 -1
- package/lib/cjs/components/datagrid/resize.js +0 -72
- package/lib/cjs/components/datagrid/resize.js.map +0 -1
- package/lib/cjs/components/datagrid/row.js +0 -55
- package/lib/cjs/components/datagrid/row.js.map +0 -1
- package/lib/cjs/components/datagrid/sorter.js +0 -21
- package/lib/cjs/components/datagrid/sorter.js.map +0 -1
- package/lib/cjs/components/datagrid/virtual.js +0 -310
- package/lib/cjs/components/datagrid/virtual.js.map +0 -1
- package/lib/cjs/components/description/description.js +0 -36
- package/lib/cjs/components/description/description.js.map +0 -1
- package/lib/cjs/components/description/index.js +0 -10
- package/lib/cjs/components/description/index.js.map +0 -1
- package/lib/cjs/components/drawer/drawer.js +0 -77
- package/lib/cjs/components/drawer/drawer.js.map +0 -1
- package/lib/cjs/components/drawer/index.js +0 -10
- package/lib/cjs/components/drawer/index.js.map +0 -1
- package/lib/cjs/components/dropdown/dropdown.js +0 -36
- package/lib/cjs/components/dropdown/dropdown.js.map +0 -1
- package/lib/cjs/components/dropdown/index.js +0 -10
- package/lib/cjs/components/dropdown/index.js.map +0 -1
- package/lib/cjs/components/dropdown/item.js +0 -38
- package/lib/cjs/components/dropdown/item.js.map +0 -1
- package/lib/cjs/components/editor/controls.js +0 -64
- package/lib/cjs/components/editor/controls.js.map +0 -1
- package/lib/cjs/components/editor/editor.js +0 -287
- package/lib/cjs/components/editor/editor.js.map +0 -1
- package/lib/cjs/components/editor/index.js +0 -10
- package/lib/cjs/components/editor/index.js.map +0 -1
- package/lib/cjs/components/editor/memtion.js +0 -302
- package/lib/cjs/components/editor/memtion.js.map +0 -1
- package/lib/cjs/components/flex/flex.js +0 -36
- package/lib/cjs/components/flex/flex.js.map +0 -1
- package/lib/cjs/components/flex/index.js +0 -10
- package/lib/cjs/components/flex/index.js.map +0 -1
- package/lib/cjs/components/form/context.js +0 -10
- package/lib/cjs/components/form/context.js.map +0 -1
- package/lib/cjs/components/form/field.js +0 -81
- package/lib/cjs/components/form/field.js.map +0 -1
- package/lib/cjs/components/form/form.js +0 -76
- package/lib/cjs/components/form/form.js.map +0 -1
- package/lib/cjs/components/form/index.js +0 -10
- package/lib/cjs/components/form/index.js.map +0 -1
- package/lib/cjs/components/form/useConfig.js +0 -38
- package/lib/cjs/components/form/useConfig.js.map +0 -1
- package/lib/cjs/components/form/useForm.js +0 -127
- package/lib/cjs/components/form/useForm.js.map +0 -1
- package/lib/cjs/components/form/utils.js +0 -33
- package/lib/cjs/components/form/utils.js.map +0 -1
- package/lib/cjs/components/icon/icon.js +0 -31
- package/lib/cjs/components/icon/icon.js.map +0 -1
- package/lib/cjs/components/icon/index.js +0 -10
- package/lib/cjs/components/icon/index.js.map +0 -1
- package/lib/cjs/components/image/image.js +0 -103
- package/lib/cjs/components/image/image.js.map +0 -1
- package/lib/cjs/components/image/index.js +0 -10
- package/lib/cjs/components/image/index.js.map +0 -1
- package/lib/cjs/components/image/list.js +0 -47
- package/lib/cjs/components/image/list.js.map +0 -1
- package/lib/cjs/components/input/container.js +0 -22
- package/lib/cjs/components/input/container.js.map +0 -1
- package/lib/cjs/components/input/index.js +0 -10
- package/lib/cjs/components/input/index.js.map +0 -1
- package/lib/cjs/components/input/input.js +0 -85
- package/lib/cjs/components/input/input.js.map +0 -1
- package/lib/cjs/components/input/number.js +0 -118
- package/lib/cjs/components/input/number.js.map +0 -1
- package/lib/cjs/components/input/range.js +0 -82
- package/lib/cjs/components/input/range.js.map +0 -1
- package/lib/cjs/components/input/textarea.js +0 -64
- package/lib/cjs/components/input/textarea.js.map +0 -1
- package/lib/cjs/components/list/index.js +0 -10
- package/lib/cjs/components/list/index.js.map +0 -1
- package/lib/cjs/components/list/item.js +0 -23
- package/lib/cjs/components/list/item.js.map +0 -1
- package/lib/cjs/components/list/list.js +0 -33
- package/lib/cjs/components/list/list.js.map +0 -1
- package/lib/cjs/components/loading/index.js +0 -10
- package/lib/cjs/components/loading/index.js.map +0 -1
- package/lib/cjs/components/loading/loading.js +0 -26
- package/lib/cjs/components/loading/loading.js.map +0 -1
- package/lib/cjs/components/message/index.js +0 -11
- package/lib/cjs/components/message/index.js.map +0 -1
- package/lib/cjs/components/message/message.js +0 -239
- package/lib/cjs/components/message/message.js.map +0 -1
- package/lib/cjs/components/modal/content.js +0 -45
- package/lib/cjs/components/modal/content.js.map +0 -1
- package/lib/cjs/components/modal/context.js +0 -10
- package/lib/cjs/components/modal/context.js.map +0 -1
- package/lib/cjs/components/modal/hookModal.js +0 -31
- package/lib/cjs/components/modal/hookModal.js.map +0 -1
- package/lib/cjs/components/modal/index.js +0 -10
- package/lib/cjs/components/modal/index.js.map +0 -1
- package/lib/cjs/components/modal/modal.js +0 -140
- package/lib/cjs/components/modal/modal.js.map +0 -1
- package/lib/cjs/components/modal/modalManager.js +0 -83
- package/lib/cjs/components/modal/modalManager.js.map +0 -1
- package/lib/cjs/components/modal/useModal.js +0 -38
- package/lib/cjs/components/modal/useModal.js.map +0 -1
- package/lib/cjs/components/pagination/index.js +0 -10
- package/lib/cjs/components/pagination/index.js.map +0 -1
- package/lib/cjs/components/pagination/page.js +0 -32
- package/lib/cjs/components/pagination/page.js.map +0 -1
- package/lib/cjs/components/pagination/pagination.js +0 -52
- package/lib/cjs/components/pagination/pagination.js.map +0 -1
- package/lib/cjs/components/picker/colors/footer.js +0 -39
- package/lib/cjs/components/picker/colors/footer.js.map +0 -1
- package/lib/cjs/components/picker/colors/handle.js +0 -18
- package/lib/cjs/components/picker/colors/handle.js.map +0 -1
- package/lib/cjs/components/picker/colors/index.js +0 -72
- package/lib/cjs/components/picker/colors/index.js.map +0 -1
- package/lib/cjs/components/picker/daterange/daterange.js +0 -60
- package/lib/cjs/components/picker/daterange/daterange.js.map +0 -1
- package/lib/cjs/components/picker/daterange/index.js +0 -11
- package/lib/cjs/components/picker/daterange/index.js.map +0 -1
- package/lib/cjs/components/picker/daterange/panel.js +0 -55
- package/lib/cjs/components/picker/daterange/panel.js.map +0 -1
- package/lib/cjs/components/picker/dates/dates.js +0 -63
- package/lib/cjs/components/picker/dates/dates.js.map +0 -1
- package/lib/cjs/components/picker/dates/index.js +0 -73
- package/lib/cjs/components/picker/dates/index.js.map +0 -1
- package/lib/cjs/components/picker/dates/panel.js +0 -93
- package/lib/cjs/components/picker/dates/panel.js.map +0 -1
- package/lib/cjs/components/picker/time/index.js +0 -55
- package/lib/cjs/components/picker/time/index.js.map +0 -1
- package/lib/cjs/components/picker/time/item.js +0 -23
- package/lib/cjs/components/picker/time/item.js.map +0 -1
- package/lib/cjs/components/picker/time/panel.js +0 -104
- package/lib/cjs/components/picker/time/panel.js.map +0 -1
- package/lib/cjs/components/popconfirm/index.js +0 -10
- package/lib/cjs/components/popconfirm/index.js.map +0 -1
- package/lib/cjs/components/popconfirm/popconfirm.js +0 -55
- package/lib/cjs/components/popconfirm/popconfirm.js.map +0 -1
- package/lib/cjs/components/popup/content.js +0 -51
- package/lib/cjs/components/popup/content.js.map +0 -1
- package/lib/cjs/components/popup/index.js +0 -10
- package/lib/cjs/components/popup/index.js.map +0 -1
- package/lib/cjs/components/popup/popup.js +0 -495
- package/lib/cjs/components/popup/popup.js.map +0 -1
- package/lib/cjs/components/progress/circle.js +0 -16
- package/lib/cjs/components/progress/circle.js.map +0 -1
- package/lib/cjs/components/progress/index.js +0 -10
- package/lib/cjs/components/progress/index.js.map +0 -1
- package/lib/cjs/components/progress/line.js +0 -22
- package/lib/cjs/components/progress/line.js.map +0 -1
- package/lib/cjs/components/progress/progress.js +0 -90
- package/lib/cjs/components/progress/progress.js.map +0 -1
- package/lib/cjs/components/radio/index.js +0 -10
- package/lib/cjs/components/radio/index.js.map +0 -1
- package/lib/cjs/components/radio/item.js +0 -25
- package/lib/cjs/components/radio/item.js.map +0 -1
- package/lib/cjs/components/radio/radio.js +0 -40
- package/lib/cjs/components/radio/radio.js.map +0 -1
- package/lib/cjs/components/resizable/index.js +0 -10
- package/lib/cjs/components/resizable/index.js.map +0 -1
- package/lib/cjs/components/resizable/resizable.js +0 -68
- package/lib/cjs/components/resizable/resizable.js.map +0 -1
- package/lib/cjs/components/river/index.js +0 -10
- package/lib/cjs/components/river/index.js.map +0 -1
- package/lib/cjs/components/river/river.js +0 -114
- package/lib/cjs/components/river/river.js.map +0 -1
- package/lib/cjs/components/scroll/index.js +0 -10
- package/lib/cjs/components/scroll/index.js.map +0 -1
- package/lib/cjs/components/scroll/scroll.js +0 -78
- package/lib/cjs/components/scroll/scroll.js.map +0 -1
- package/lib/cjs/components/select/index.js +0 -10
- package/lib/cjs/components/select/index.js.map +0 -1
- package/lib/cjs/components/select/options.js +0 -55
- package/lib/cjs/components/select/options.js.map +0 -1
- package/lib/cjs/components/select/select.js +0 -103
- package/lib/cjs/components/select/select.js.map +0 -1
- package/lib/cjs/components/step/divider.js +0 -12
- package/lib/cjs/components/step/divider.js.map +0 -1
- package/lib/cjs/components/step/index.js +0 -10
- package/lib/cjs/components/step/index.js.map +0 -1
- package/lib/cjs/components/step/item.js +0 -30
- package/lib/cjs/components/step/item.js.map +0 -1
- package/lib/cjs/components/step/step.js +0 -44
- package/lib/cjs/components/step/step.js.map +0 -1
- package/lib/cjs/components/swiper/index.js +0 -10
- package/lib/cjs/components/swiper/index.js.map +0 -1
- package/lib/cjs/components/swiper/item.js +0 -33
- package/lib/cjs/components/swiper/item.js.map +0 -1
- package/lib/cjs/components/swiper/swiper.js +0 -241
- package/lib/cjs/components/swiper/swiper.js.map +0 -1
- package/lib/cjs/components/tabs/contents.js +0 -28
- package/lib/cjs/components/tabs/contents.js.map +0 -1
- package/lib/cjs/components/tabs/helper.js +0 -68
- package/lib/cjs/components/tabs/helper.js.map +0 -1
- package/lib/cjs/components/tabs/index.js +0 -10
- package/lib/cjs/components/tabs/index.js.map +0 -1
- package/lib/cjs/components/tabs/item.js +0 -12
- package/lib/cjs/components/tabs/item.js.map +0 -1
- package/lib/cjs/components/tabs/navs.js +0 -38
- package/lib/cjs/components/tabs/navs.js.map +0 -1
- package/lib/cjs/components/tabs/tabs.js +0 -255
- package/lib/cjs/components/tabs/tabs.js.map +0 -1
- package/lib/cjs/components/tag/index.js +0 -10
- package/lib/cjs/components/tag/index.js.map +0 -1
- package/lib/cjs/components/tag/tag.js +0 -26
- package/lib/cjs/components/tag/tag.js.map +0 -1
- package/lib/cjs/components/text/highlight.js +0 -32
- package/lib/cjs/components/text/highlight.js.map +0 -1
- package/lib/cjs/components/text/index.js +0 -10
- package/lib/cjs/components/text/index.js.map +0 -1
- package/lib/cjs/components/text/number.js +0 -31
- package/lib/cjs/components/text/number.js.map +0 -1
- package/lib/cjs/components/text/text.js +0 -42
- package/lib/cjs/components/text/text.js.map +0 -1
- package/lib/cjs/components/text/time.js +0 -24
- package/lib/cjs/components/text/time.js.map +0 -1
- package/lib/cjs/components/tree/index.js +0 -10
- package/lib/cjs/components/tree/index.js.map +0 -1
- package/lib/cjs/components/tree/item.js +0 -68
- package/lib/cjs/components/tree/item.js.map +0 -1
- package/lib/cjs/components/tree/tree.js +0 -237
- package/lib/cjs/components/tree/tree.js.map +0 -1
- package/lib/cjs/components/tree/virtual.js +0 -52
- package/lib/cjs/components/tree/virtual.js.map +0 -1
- package/lib/cjs/components/upload/dropbox.js +0 -54
- package/lib/cjs/components/upload/dropbox.js.map +0 -1
- package/lib/cjs/components/upload/index.js +0 -10
- package/lib/cjs/components/upload/index.js.map +0 -1
- package/lib/cjs/components/upload/renderFile.js +0 -66
- package/lib/cjs/components/upload/renderFile.js.map +0 -1
- package/lib/cjs/components/upload/upload.js +0 -163
- package/lib/cjs/components/upload/upload.js.map +0 -1
- package/lib/cjs/components/utils/empty/index.js +0 -19
- package/lib/cjs/components/utils/empty/index.js.map +0 -1
- package/lib/cjs/components/utils/helpericon/helpericon.js +0 -32
- package/lib/cjs/components/utils/helpericon/helpericon.js.map +0 -1
- package/lib/cjs/components/utils/helpericon/index.js +0 -10
- package/lib/cjs/components/utils/helpericon/index.js.map +0 -1
- package/lib/cjs/components/video/index.js +0 -10
- package/lib/cjs/components/video/index.js.map +0 -1
- package/lib/cjs/components/video/video.js +0 -181
- package/lib/cjs/components/video/video.js.map +0 -1
- package/lib/cjs/index.js +0 -92
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/js/hooks.js +0 -272
- package/lib/cjs/js/hooks.js.map +0 -1
- package/lib/cjs/js/usePreview/content.js +0 -164
- package/lib/cjs/js/usePreview/content.js.map +0 -1
- package/lib/cjs/js/usePreview/index.js +0 -27
- package/lib/cjs/js/usePreview/index.js.map +0 -1
- package/lib/cjs/js/usePreview/renderFile.js +0 -24
- package/lib/cjs/js/usePreview/renderFile.js.map +0 -1
- package/lib/cjs/js/usePreview/type.js +0 -13
- package/lib/cjs/js/usePreview/type.js.map +0 -1
- package/lib/cjs/js/useRipple/index.js +0 -51
- package/lib/cjs/js/useRipple/index.js.map +0 -1
- package/lib/cjs/js/useTheme/index.js +0 -155
- package/lib/cjs/js/useTheme/index.js.map +0 -1
- package/lib/cjs/js/utils.js +0 -302
- package/lib/cjs/js/utils.js.map +0 -1
- package/lib/css/colors.css +0 -792
- package/lib/css/index.css.map +0 -1
- package/lib/css/input.css +0 -210
- package/lib/css/reset.css +0 -140
- package/lib/css/tokens.css +0 -13
- package/lib/css/utilities.css +0 -1973
- package/lib/es/components/affix/affix.js.map +0 -1
- package/lib/es/components/affix/index.js.map +0 -1
- package/lib/es/components/affix/totop.js.map +0 -1
- package/lib/es/components/badge/badge.js.map +0 -1
- package/lib/es/components/badge/index.js.map +0 -1
- package/lib/es/components/button/button.js.map +0 -1
- package/lib/es/components/button/confirm.js.map +0 -1
- package/lib/es/components/button/group.js.map +0 -1
- package/lib/es/components/button/index.js.map +0 -1
- package/lib/es/components/button/toggle.js.map +0 -1
- package/lib/es/components/card/card.js.map +0 -1
- package/lib/es/components/card/index.js.map +0 -1
- package/lib/es/components/checkbox/checkbox.js.map +0 -1
- package/lib/es/components/checkbox/index.js.map +0 -1
- package/lib/es/components/checkbox/item.js.map +0 -1
- package/lib/es/components/collapse/collapse.js.map +0 -1
- package/lib/es/components/collapse/index.js.map +0 -1
- package/lib/es/components/collapse/item.js.map +0 -1
- package/lib/es/components/datagrid/cell.js.map +0 -1
- package/lib/es/components/datagrid/datagrid.js.map +0 -1
- package/lib/es/components/datagrid/helper.js.map +0 -1
- package/lib/es/components/datagrid/index.js.map +0 -1
- package/lib/es/components/datagrid/resize.js.map +0 -1
- package/lib/es/components/datagrid/row.js.map +0 -1
- package/lib/es/components/datagrid/sorter.js.map +0 -1
- package/lib/es/components/datagrid/virtual.js.map +0 -1
- package/lib/es/components/description/description.js.map +0 -1
- package/lib/es/components/description/index.js.map +0 -1
- package/lib/es/components/drawer/drawer.js.map +0 -1
- package/lib/es/components/drawer/index.js.map +0 -1
- package/lib/es/components/dropdown/dropdown.js.map +0 -1
- package/lib/es/components/dropdown/index.js.map +0 -1
- package/lib/es/components/dropdown/item.js.map +0 -1
- package/lib/es/components/editor/controls.js.map +0 -1
- package/lib/es/components/editor/editor.js.map +0 -1
- package/lib/es/components/editor/index.js.map +0 -1
- package/lib/es/components/editor/memtion.js.map +0 -1
- package/lib/es/components/flex/flex.js.map +0 -1
- package/lib/es/components/flex/index.js.map +0 -1
- package/lib/es/components/form/context.js.map +0 -1
- package/lib/es/components/form/field.js.map +0 -1
- package/lib/es/components/form/form.js.map +0 -1
- package/lib/es/components/form/index.js.map +0 -1
- package/lib/es/components/form/useConfig.js.map +0 -1
- package/lib/es/components/form/useForm.js.map +0 -1
- package/lib/es/components/form/utils.js.map +0 -1
- package/lib/es/components/icon/icon.js.map +0 -1
- package/lib/es/components/icon/index.js.map +0 -1
- package/lib/es/components/image/image.js.map +0 -1
- package/lib/es/components/image/index.js.map +0 -1
- package/lib/es/components/image/list.js.map +0 -1
- package/lib/es/components/input/container.js.map +0 -1
- package/lib/es/components/input/index.js.map +0 -1
- package/lib/es/components/input/input.js.map +0 -1
- package/lib/es/components/input/number.js.map +0 -1
- package/lib/es/components/input/range.js.map +0 -1
- package/lib/es/components/input/textarea.js.map +0 -1
- package/lib/es/components/list/index.js.map +0 -1
- package/lib/es/components/list/item.js.map +0 -1
- package/lib/es/components/list/list.js.map +0 -1
- package/lib/es/components/loading/index.js.map +0 -1
- package/lib/es/components/loading/loading.js.map +0 -1
- package/lib/es/components/message/index.js.map +0 -1
- package/lib/es/components/message/message.js.map +0 -1
- package/lib/es/components/modal/content.js.map +0 -1
- package/lib/es/components/modal/context.js.map +0 -1
- package/lib/es/components/modal/hookModal.js.map +0 -1
- package/lib/es/components/modal/index.js.map +0 -1
- package/lib/es/components/modal/modal.js.map +0 -1
- package/lib/es/components/modal/modalManager.js.map +0 -1
- package/lib/es/components/modal/useModal.js.map +0 -1
- package/lib/es/components/pagination/index.js.map +0 -1
- package/lib/es/components/pagination/page.js.map +0 -1
- package/lib/es/components/pagination/pagination.js.map +0 -1
- package/lib/es/components/picker/colors/footer.js.map +0 -1
- package/lib/es/components/picker/colors/handle.js.map +0 -1
- package/lib/es/components/picker/colors/index.js.map +0 -1
- package/lib/es/components/picker/daterange/daterange.js.map +0 -1
- package/lib/es/components/picker/daterange/index.js.map +0 -1
- package/lib/es/components/picker/daterange/panel.js.map +0 -1
- package/lib/es/components/picker/dates/dates.js.map +0 -1
- package/lib/es/components/picker/dates/index.js.map +0 -1
- package/lib/es/components/picker/dates/panel.js.map +0 -1
- package/lib/es/components/picker/time/index.js.map +0 -1
- package/lib/es/components/picker/time/item.js.map +0 -1
- package/lib/es/components/picker/time/panel.js.map +0 -1
- package/lib/es/components/popconfirm/index.js.map +0 -1
- package/lib/es/components/popconfirm/popconfirm.js.map +0 -1
- package/lib/es/components/popup/content.js.map +0 -1
- package/lib/es/components/popup/index.js.map +0 -1
- package/lib/es/components/popup/popup.js.map +0 -1
- package/lib/es/components/progress/circle.js.map +0 -1
- package/lib/es/components/progress/index.js.map +0 -1
- package/lib/es/components/progress/line.js.map +0 -1
- package/lib/es/components/progress/progress.js.map +0 -1
- package/lib/es/components/radio/index.js.map +0 -1
- package/lib/es/components/radio/item.js.map +0 -1
- package/lib/es/components/radio/radio.js.map +0 -1
- package/lib/es/components/resizable/index.js.map +0 -1
- package/lib/es/components/resizable/resizable.js.map +0 -1
- package/lib/es/components/river/index.js.map +0 -1
- package/lib/es/components/river/river.js.map +0 -1
- package/lib/es/components/scroll/index.js.map +0 -1
- package/lib/es/components/scroll/scroll.js.map +0 -1
- package/lib/es/components/select/index.js.map +0 -1
- package/lib/es/components/select/options.js.map +0 -1
- package/lib/es/components/select/select.js.map +0 -1
- package/lib/es/components/step/divider.js.map +0 -1
- package/lib/es/components/step/index.js.map +0 -1
- package/lib/es/components/step/item.js.map +0 -1
- package/lib/es/components/step/step.js.map +0 -1
- package/lib/es/components/swiper/index.js.map +0 -1
- package/lib/es/components/swiper/item.js.map +0 -1
- package/lib/es/components/swiper/swiper.js.map +0 -1
- package/lib/es/components/tabs/contents.js.map +0 -1
- package/lib/es/components/tabs/helper.js.map +0 -1
- package/lib/es/components/tabs/index.js.map +0 -1
- package/lib/es/components/tabs/item.js.map +0 -1
- package/lib/es/components/tabs/navs.js.map +0 -1
- package/lib/es/components/tabs/tabs.js.map +0 -1
- package/lib/es/components/tag/index.js.map +0 -1
- package/lib/es/components/tag/tag.js.map +0 -1
- package/lib/es/components/text/highlight.js.map +0 -1
- package/lib/es/components/text/index.js.map +0 -1
- package/lib/es/components/text/number.js.map +0 -1
- package/lib/es/components/text/text.js.map +0 -1
- package/lib/es/components/text/time.js.map +0 -1
- package/lib/es/components/tree/index.js.map +0 -1
- package/lib/es/components/tree/item.js.map +0 -1
- package/lib/es/components/tree/tree.js.map +0 -1
- package/lib/es/components/tree/virtual.js.map +0 -1
- package/lib/es/components/upload/dropbox.js.map +0 -1
- package/lib/es/components/upload/index.js.map +0 -1
- package/lib/es/components/upload/renderFile.js.map +0 -1
- package/lib/es/components/upload/upload.js.map +0 -1
- package/lib/es/components/utils/empty/index.js.map +0 -1
- package/lib/es/components/utils/helpericon/helpericon.js.map +0 -1
- package/lib/es/components/utils/helpericon/index.js.map +0 -1
- package/lib/es/components/video/index.js.map +0 -1
- package/lib/es/components/video/video.js.map +0 -1
- package/lib/es/index.js.map +0 -1
- package/lib/es/js/hooks.js.map +0 -1
- package/lib/es/js/usePreview/content.js.map +0 -1
- package/lib/es/js/usePreview/index.js.map +0 -1
- package/lib/es/js/usePreview/renderFile.js.map +0 -1
- package/lib/es/js/usePreview/type.js.map +0 -1
- package/lib/es/js/useRipple/index.js.map +0 -1
- package/lib/es/js/useTheme/index.js.map +0 -1
- package/lib/es/js/utils.js.map +0 -1
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var classNames = require('classnames');
|
|
7
|
-
var react = require('react');
|
|
8
|
-
var reactWindow = require('react-window');
|
|
9
|
-
var hooks = require('../../js/hooks.js');
|
|
10
|
-
var loading = require('../loading/loading.js');
|
|
11
|
-
var resize = require('./resize.js');
|
|
12
|
-
var sorter = require('./sorter.js');
|
|
13
|
-
|
|
14
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
|
|
15
|
-
|
|
16
|
-
var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
|
|
17
|
-
|
|
18
|
-
const VirtualCell = react.memo(function VirtualCell({ column, data, row, col, isHeader, cellEllipsis, sortBy, sortType, resizable, onWidthChange, }) {
|
|
19
|
-
const { id, fixed, justify, colSpan, render, title, sorter: sorter$1, renderHeader } = column;
|
|
20
|
-
const style = react.useMemo(() => ({
|
|
21
|
-
"--datagrid-justify": justify,
|
|
22
|
-
gridColumn: `${col + 1} / span ${colSpan ?? 1}`,
|
|
23
|
-
insetInline: `var(--datagrid-cell-inset-${col})`,
|
|
24
|
-
...(isHeader ? { insetBlockStart: 0 } : null),
|
|
25
|
-
position: !isHeader && !fixed ? "static" : undefined,
|
|
26
|
-
}), [col, colSpan, fixed, isHeader, justify]);
|
|
27
|
-
const order = isHeader && sortBy === id ? sortType : "";
|
|
28
|
-
return (jsxRuntime.jsxs("div", { "data-col": id, className: classNames__default("i-datagrid-cell", {
|
|
29
|
-
[`i-datagrid-cell-fixed-${fixed}`]: fixed,
|
|
30
|
-
"i-datagrid-has-sorter": isHeader && sorter$1,
|
|
31
|
-
}), style: style, children: [isHeader
|
|
32
|
-
? (renderHeader?.(column, col) ?? (jsxRuntime.jsx("div", { className: classNames__default("i-datagrid-cell-content", {
|
|
33
|
-
"i-datagrid-cell-content-ellipsis": cellEllipsis,
|
|
34
|
-
}), children: title || id })))
|
|
35
|
-
: (render?.(data?.[id], data, row, col) ?? (jsxRuntime.jsx("div", { className: classNames__default("i-datagrid-cell-content", {
|
|
36
|
-
"i-datagrid-cell-content-ellipsis": cellEllipsis,
|
|
37
|
-
}), children: data?.[id] }))), isHeader && sorter$1 && jsxRuntime.jsx(sorter.default, { type: order }), isHeader && resizable && (jsxRuntime.jsx(resize.default, { index: col, onWidthChange: onWidthChange }))] }));
|
|
38
|
-
});
|
|
39
|
-
// ---------------------------------------------------------------------------
|
|
40
|
-
// VirtualRow — memoised row rendered by react-window
|
|
41
|
-
// ---------------------------------------------------------------------------
|
|
42
|
-
const VirtualRow = react.memo(function VirtualRow({ index, style: itemStyle, ariaAttributes, rows, columns, columnById, columnIndexById, contentWidthPx, virtualRowHeight, header, striped, cellEllipsis, loaderNode, sortBy, sortType, resizable, onWidthChange, onRowClick, onCellClick, onCellDoubleClick, }) {
|
|
43
|
-
if (index >= rows.length) {
|
|
44
|
-
return (jsxRuntime.jsx("div", { ...ariaAttributes, style: {
|
|
45
|
-
...itemStyle,
|
|
46
|
-
width: contentWidthPx,
|
|
47
|
-
minWidth: "100%",
|
|
48
|
-
display: "flex",
|
|
49
|
-
alignItems: "center",
|
|
50
|
-
justifyContent: "center",
|
|
51
|
-
}, children: loaderNode }));
|
|
52
|
-
}
|
|
53
|
-
const rowData = rows[index];
|
|
54
|
-
const rowNum = index + (header ? 1 : 0);
|
|
55
|
-
const bg = striped && index % 2 === 0 ? "var(--background-1)" : undefined;
|
|
56
|
-
const handleCellClick = react.useCallback((e) => {
|
|
57
|
-
if (!onCellClick)
|
|
58
|
-
return;
|
|
59
|
-
const el = e.target?.closest?.(".i-datagrid-cell[data-col]");
|
|
60
|
-
const id = el?.dataset?.col;
|
|
61
|
-
if (!id)
|
|
62
|
-
return;
|
|
63
|
-
const column = columnById.get(id);
|
|
64
|
-
const col = columnIndexById.get(id);
|
|
65
|
-
if (!column || col == null)
|
|
66
|
-
return;
|
|
67
|
-
onCellClick(rowData, column, rowNum, col, e);
|
|
68
|
-
}, [columnById, columnIndexById, onCellClick, rowData, rowNum]);
|
|
69
|
-
const handleCellDoubleClick = react.useCallback((e) => {
|
|
70
|
-
if (!onCellDoubleClick)
|
|
71
|
-
return;
|
|
72
|
-
const el = e.target?.closest?.(".i-datagrid-cell[data-col]");
|
|
73
|
-
const id = el?.dataset?.col;
|
|
74
|
-
if (!id)
|
|
75
|
-
return;
|
|
76
|
-
const column = columnById.get(id);
|
|
77
|
-
const col = columnIndexById.get(id);
|
|
78
|
-
if (!column || col == null)
|
|
79
|
-
return;
|
|
80
|
-
onCellDoubleClick(rowData, column, rowNum, col, e);
|
|
81
|
-
}, [columnById, columnIndexById, onCellDoubleClick, rowData, rowNum]);
|
|
82
|
-
const handleRowClick = react.useCallback(() => onRowClick?.(rowData, rowNum), [onRowClick, rowData, rowNum]);
|
|
83
|
-
return (jsxRuntime.jsx("div", { style: {
|
|
84
|
-
...itemStyle,
|
|
85
|
-
width: contentWidthPx,
|
|
86
|
-
minWidth: "100%",
|
|
87
|
-
display: "grid",
|
|
88
|
-
gridTemplateColumns: "var(--grid-template-columns)",
|
|
89
|
-
height: virtualRowHeight,
|
|
90
|
-
"--datagrid-cell-background": bg,
|
|
91
|
-
}, className: 'i-datagrid-row', onClick: handleRowClick, onClickCapture: handleCellClick, onDoubleClickCapture: handleCellDoubleClick, children: columns.map((c, col) => (jsxRuntime.jsx(VirtualCell, { column: c, data: rowData, row: rowNum, col: col, cellEllipsis: cellEllipsis, sortBy: sortBy, sortType: sortType, resizable: resizable, onWidthChange: onWidthChange }, c.id))) }));
|
|
92
|
-
});
|
|
93
|
-
// ---------------------------------------------------------------------------
|
|
94
|
-
// VirtualDatagrid
|
|
95
|
-
// ---------------------------------------------------------------------------
|
|
96
|
-
function VirtualDatagrid(props) {
|
|
97
|
-
const { virtual, columns, rows, header, sortBy, sortType, height, loading: loading$1, resizable, striped, cellEllipsis, empty, wrapRef, containerRef, onHeaderClick, onWidthChange, onRowClick, onCellClick, onCellDoubleClick, onScroll, } = props;
|
|
98
|
-
const headerRef = react.useRef(null);
|
|
99
|
-
const headerInnerRef = react.useRef(null);
|
|
100
|
-
const listRef = react.useRef(null);
|
|
101
|
-
const ro = hooks.useResizeObserver();
|
|
102
|
-
const triggerRef = react.useRef({ rowCount: -1 });
|
|
103
|
-
const [viewport, setViewport] = react.useState({ width: 0, height: 0 });
|
|
104
|
-
const [contentWidth, setContentWidth] = react.useState(0);
|
|
105
|
-
const rafRef = react.useRef({
|
|
106
|
-
viewport: 0,
|
|
107
|
-
contentWidth: 0,
|
|
108
|
-
scrollSync: 0,
|
|
109
|
-
});
|
|
110
|
-
const columnById = react.useMemo(() => {
|
|
111
|
-
const map = new Map();
|
|
112
|
-
columns.forEach((c) => map.set(c.id, c));
|
|
113
|
-
return map;
|
|
114
|
-
}, [columns]);
|
|
115
|
-
const columnIndexById = react.useMemo(() => {
|
|
116
|
-
const map = new Map();
|
|
117
|
-
columns.forEach((c, i) => map.set(c.id, i));
|
|
118
|
-
return map;
|
|
119
|
-
}, [columns]);
|
|
120
|
-
const handleHeaderClick = react.useCallback((e) => {
|
|
121
|
-
const el = e.target?.closest?.(".i-datagrid-cell[data-col]");
|
|
122
|
-
const id = el?.dataset?.col;
|
|
123
|
-
onHeaderClick(id ? columnById.get(id) : undefined, e);
|
|
124
|
-
}, [columnById, onHeaderClick]);
|
|
125
|
-
const handleBodyScroll = react.useCallback((e) => {
|
|
126
|
-
const el = e.currentTarget;
|
|
127
|
-
if (!el)
|
|
128
|
-
return;
|
|
129
|
-
if (rafRef.current.scrollSync)
|
|
130
|
-
return;
|
|
131
|
-
rafRef.current.scrollSync = requestAnimationFrame(() => {
|
|
132
|
-
rafRef.current.scrollSync = 0;
|
|
133
|
-
if (!headerRef.current)
|
|
134
|
-
return;
|
|
135
|
-
const target = el.scrollLeft;
|
|
136
|
-
if (headerRef.current.scrollLeft !== target) {
|
|
137
|
-
headerRef.current.scrollLeft = target;
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}, []);
|
|
141
|
-
const handleReachEnd = react.useCallback(() => {
|
|
142
|
-
if (virtual.onReachEnd) {
|
|
143
|
-
virtual.onReachEnd();
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
onScroll?.(undefined);
|
|
147
|
-
}, [onScroll, virtual.onReachEnd]);
|
|
148
|
-
const handleRowsRendered = react.useCallback((_visible, overscan) => {
|
|
149
|
-
if (!virtual.hasMore)
|
|
150
|
-
return;
|
|
151
|
-
const threshold = virtual.threshold ?? 8;
|
|
152
|
-
const stopIndex = overscan?.stopIndex ?? -1;
|
|
153
|
-
if (stopIndex < rows.length - 1 - threshold)
|
|
154
|
-
return;
|
|
155
|
-
if (triggerRef.current.rowCount === rows.length)
|
|
156
|
-
return;
|
|
157
|
-
triggerRef.current.rowCount = rows.length;
|
|
158
|
-
handleReachEnd();
|
|
159
|
-
}, [handleReachEnd, rows.length, virtual.hasMore, virtual.threshold]);
|
|
160
|
-
const handleHeaderScroll = react.useCallback((e) => {
|
|
161
|
-
const el = e.currentTarget;
|
|
162
|
-
if (!el)
|
|
163
|
-
return;
|
|
164
|
-
const listEl = listRef.current?.element;
|
|
165
|
-
if (listEl && listEl.scrollLeft !== el.scrollLeft) {
|
|
166
|
-
listEl.scrollLeft = el.scrollLeft;
|
|
167
|
-
}
|
|
168
|
-
}, []);
|
|
169
|
-
react.useEffect(() => {
|
|
170
|
-
const el = wrapRef.current;
|
|
171
|
-
if (!el)
|
|
172
|
-
return;
|
|
173
|
-
const update = () => {
|
|
174
|
-
if (rafRef.current.viewport)
|
|
175
|
-
cancelAnimationFrame(rafRef.current.viewport);
|
|
176
|
-
rafRef.current.viewport = requestAnimationFrame(() => {
|
|
177
|
-
rafRef.current.viewport = 0;
|
|
178
|
-
const r = el.getBoundingClientRect();
|
|
179
|
-
const w = Math.round(r.width);
|
|
180
|
-
const h = Math.round(r.height);
|
|
181
|
-
setViewport((prev) => {
|
|
182
|
-
if (prev.width === w && prev.height === h)
|
|
183
|
-
return prev;
|
|
184
|
-
return { width: w, height: h };
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
};
|
|
188
|
-
update();
|
|
189
|
-
ro.observe?.(el, update);
|
|
190
|
-
return () => {
|
|
191
|
-
ro.unobserve?.(el);
|
|
192
|
-
if (rafRef.current.viewport)
|
|
193
|
-
cancelAnimationFrame(rafRef.current.viewport);
|
|
194
|
-
rafRef.current.viewport = 0;
|
|
195
|
-
};
|
|
196
|
-
}, [ro, wrapRef]);
|
|
197
|
-
react.useEffect(() => {
|
|
198
|
-
const el = headerInnerRef.current;
|
|
199
|
-
if (!el)
|
|
200
|
-
return;
|
|
201
|
-
const update = () => {
|
|
202
|
-
if (rafRef.current.contentWidth) {
|
|
203
|
-
cancelAnimationFrame(rafRef.current.contentWidth);
|
|
204
|
-
}
|
|
205
|
-
rafRef.current.contentWidth = requestAnimationFrame(() => {
|
|
206
|
-
rafRef.current.contentWidth = 0;
|
|
207
|
-
const w = Math.ceil(el.scrollWidth);
|
|
208
|
-
setContentWidth((prev) => (prev === w ? prev : w));
|
|
209
|
-
});
|
|
210
|
-
};
|
|
211
|
-
update();
|
|
212
|
-
ro.observe?.(el, update);
|
|
213
|
-
return () => {
|
|
214
|
-
ro.unobserve?.(el);
|
|
215
|
-
if (rafRef.current.contentWidth) {
|
|
216
|
-
cancelAnimationFrame(rafRef.current.contentWidth);
|
|
217
|
-
}
|
|
218
|
-
rafRef.current.contentWidth = 0;
|
|
219
|
-
};
|
|
220
|
-
}, [ro]);
|
|
221
|
-
react.useEffect(() => {
|
|
222
|
-
triggerRef.current.rowCount = -1;
|
|
223
|
-
}, [rows.length, virtual.hasMore]);
|
|
224
|
-
react.useEffect(() => {
|
|
225
|
-
if (!loading$1)
|
|
226
|
-
return;
|
|
227
|
-
const listEl = listRef.current?.element;
|
|
228
|
-
listEl?.scrollTo({ top: 0, left: 0 });
|
|
229
|
-
headerRef.current?.scrollTo({ top: 0, left: 0 });
|
|
230
|
-
}, [loading$1]);
|
|
231
|
-
const listHeight = Math.max(0, (typeof height === "number" ? height : viewport.height || 360) -
|
|
232
|
-
(header ? virtual.rowHeight : 0));
|
|
233
|
-
const hasVerticalScrollbar = rows.length * virtual.rowHeight > listHeight + 1;
|
|
234
|
-
const scrollbarSize = hasVerticalScrollbar ? reactWindow.getScrollbarSize() : 0;
|
|
235
|
-
const measuredContentWidth = Math.max(contentWidth, viewport.width || 0);
|
|
236
|
-
const contentWidthPx = measuredContentWidth
|
|
237
|
-
? `${measuredContentWidth}px`
|
|
238
|
-
: "fit-content";
|
|
239
|
-
const headerCells = react.useMemo(() => columns.map((c, col) => (jsxRuntime.jsx(VirtualCell, { column: c, row: 0, col: col, isHeader: true, cellEllipsis: cellEllipsis, sortBy: sortBy, sortType: sortType, resizable: resizable, onWidthChange: onWidthChange }, c.id))), [
|
|
240
|
-
cellEllipsis,
|
|
241
|
-
columns,
|
|
242
|
-
onWidthChange,
|
|
243
|
-
resizable,
|
|
244
|
-
sortBy,
|
|
245
|
-
sortType,
|
|
246
|
-
]);
|
|
247
|
-
const headerInnerStyle = react.useMemo(() => ({
|
|
248
|
-
display: "grid",
|
|
249
|
-
gridTemplateColumns: "var(--grid-template-columns)",
|
|
250
|
-
height: virtual.rowHeight,
|
|
251
|
-
width: contentWidthPx,
|
|
252
|
-
minWidth: "100%",
|
|
253
|
-
}), [contentWidthPx, virtual.rowHeight]);
|
|
254
|
-
const listStyle = react.useMemo(() => ({
|
|
255
|
-
height: listHeight,
|
|
256
|
-
width: "100%",
|
|
257
|
-
overflow: "auto",
|
|
258
|
-
}), [listHeight]);
|
|
259
|
-
const headerWrapStyle = react.useMemo(() => scrollbarSize > 0
|
|
260
|
-
? {
|
|
261
|
-
paddingRight: scrollbarSize,
|
|
262
|
-
boxSizing: "content-box",
|
|
263
|
-
}
|
|
264
|
-
: undefined, [scrollbarSize]);
|
|
265
|
-
const loaderNode = react.useMemo(() => virtual.loader ?? jsxRuntime.jsx(loading.default, { className: 'my-12' }), [virtual.loader]);
|
|
266
|
-
// Stable row-component reference so react-window can memoise rows.
|
|
267
|
-
const rowProps = react.useMemo(() => ({
|
|
268
|
-
rows,
|
|
269
|
-
columns,
|
|
270
|
-
columnById,
|
|
271
|
-
columnIndexById,
|
|
272
|
-
contentWidthPx,
|
|
273
|
-
virtualRowHeight: virtual.rowHeight,
|
|
274
|
-
header,
|
|
275
|
-
striped,
|
|
276
|
-
cellEllipsis,
|
|
277
|
-
loaderNode,
|
|
278
|
-
sortBy,
|
|
279
|
-
sortType,
|
|
280
|
-
resizable,
|
|
281
|
-
onWidthChange,
|
|
282
|
-
onRowClick,
|
|
283
|
-
onCellClick,
|
|
284
|
-
onCellDoubleClick,
|
|
285
|
-
}), [
|
|
286
|
-
rows,
|
|
287
|
-
columns,
|
|
288
|
-
columnById,
|
|
289
|
-
columnIndexById,
|
|
290
|
-
contentWidthPx,
|
|
291
|
-
virtual.rowHeight,
|
|
292
|
-
header,
|
|
293
|
-
striped,
|
|
294
|
-
cellEllipsis,
|
|
295
|
-
loaderNode,
|
|
296
|
-
sortBy,
|
|
297
|
-
sortType,
|
|
298
|
-
resizable,
|
|
299
|
-
onWidthChange,
|
|
300
|
-
onRowClick,
|
|
301
|
-
onCellClick,
|
|
302
|
-
onCellDoubleClick,
|
|
303
|
-
]);
|
|
304
|
-
return (jsxRuntime.jsxs("div", { ref: containerRef, className: classNames__default("i-datagrid", {
|
|
305
|
-
"i-datagrid-loading": loading$1,
|
|
306
|
-
}), style: { display: "block", width: "100%", maxWidth: "100%" }, children: [header && (jsxRuntime.jsx("div", { ref: headerRef, className: 'i-datagrid-virtual-header', onScroll: handleHeaderScroll, style: headerWrapStyle, children: jsxRuntime.jsx("div", { ref: headerInnerRef, className: 'i-datagrid-header i-datagrid-row', style: headerInnerStyle, onClick: handleHeaderClick, children: headerCells }) })), jsxRuntime.jsx(reactWindow.List, { listRef: listRef, rowCount: rows.length + (virtual.hasMore ? 1 : 0), rowHeight: virtual.rowHeight, overscanCount: Math.max(3, virtual.threshold ?? 8), rowProps: rowProps, style: listStyle, onScroll: handleBodyScroll, onRowsRendered: handleRowsRendered, rowComponent: VirtualRow }), rows.length < 1 && !virtual.hasMore && empty] }));
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
exports.default = VirtualDatagrid;
|
|
310
|
-
//# sourceMappingURL=virtual.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"virtual.js","sources":["../../../../packages/components/datagrid/virtual.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport type { CSSProperties, ReactNode } from \"react\";\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n// @ts-ignore\nimport { List as VirtualList, getScrollbarSize } from \"react-window\";\nimport { useResizeObserver } from \"../../js/hooks\";\nimport Loading from \"../loading\";\nimport Resize from \"./resize\";\nimport Sorter from \"./sorter\";\nimport type { IColumn, IData, VirtualDatagridProps } from \"./type\";\n\n// ---------------------------------------------------------------------------\n// VirtualCell — memoized cell for virtual grid rows\n// ---------------------------------------------------------------------------\n\ntype VirtualCellProps = {\n\tcolumn: IColumn;\n\tdata?: IData;\n\trow: number;\n\tcol: number;\n\tisHeader?: boolean;\n\tcellEllipsis?: boolean;\n\tsortBy: string;\n\tsortType: string;\n\tresizable?: boolean;\n\tonWidthChange?: (i: number, w: number, phase?: \"preview\" | \"commit\") => void;\n};\n\nconst VirtualCell = memo(function VirtualCell({\n\tcolumn,\n\tdata,\n\trow,\n\tcol,\n\tisHeader,\n\tcellEllipsis,\n\tsortBy,\n\tsortType,\n\tresizable,\n\tonWidthChange,\n}: VirtualCellProps) {\n\tconst { id, fixed, justify, colSpan, render, title, sorter, renderHeader } =\n\t\tcolumn;\n\n\tconst style = useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\t\"--datagrid-justify\": justify,\n\t\t\t\tgridColumn: `${col + 1} / span ${colSpan ?? 1}`,\n\t\t\t\tinsetInline: `var(--datagrid-cell-inset-${col})`,\n\t\t\t\t...(isHeader ? { insetBlockStart: 0 } : null),\n\t\t\t\tposition: !isHeader && !fixed ? (\"static\" as const) : undefined,\n\t\t\t}) as any,\n\t\t[col, colSpan, fixed, isHeader, justify],\n\t);\n\n\tconst order = isHeader && sortBy === id ? sortType : \"\";\n\n\treturn (\n\t\t<div\n\t\t\tdata-col={id}\n\t\t\tclassName={classNames(\"i-datagrid-cell\", {\n\t\t\t\t[`i-datagrid-cell-fixed-${fixed}`]: fixed,\n\t\t\t\t\"i-datagrid-has-sorter\": isHeader && sorter,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{isHeader\n\t\t\t\t? (renderHeader?.(column, col) ?? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames(\"i-datagrid-cell-content\", {\n\t\t\t\t\t\t\t\t\"i-datagrid-cell-content-ellipsis\": cellEllipsis,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{title || id}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))\n\t\t\t\t: (render?.(data?.[id], data, row, col) ?? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames(\"i-datagrid-cell-content\", {\n\t\t\t\t\t\t\t\t\"i-datagrid-cell-content-ellipsis\": cellEllipsis,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{data?.[id]}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t{isHeader && sorter && <Sorter type={order} />}\n\t\t\t{isHeader && resizable && (\n\t\t\t\t<Resize index={col} onWidthChange={onWidthChange} />\n\t\t\t)}\n\t\t</div>\n\t);\n});\n\n// ---------------------------------------------------------------------------\n// Row-level data carried through react-window's rowProps\n// ---------------------------------------------------------------------------\n\ntype RowCustomProps = {\n\trows: IData[];\n\tcolumns: IColumn[];\n\tcolumnById: Map<string, IColumn>;\n\tcolumnIndexById: Map<string, number>;\n\tcontentWidthPx: string;\n\tvirtualRowHeight: number;\n\theader: boolean;\n\tstriped?: boolean;\n\tcellEllipsis?: boolean;\n\tloaderNode: ReactNode;\n\tsortBy: string;\n\tsortType: string;\n\tresizable?: boolean;\n\tonWidthChange?: (i: number, w: number, phase?: \"preview\" | \"commit\") => void;\n\tonRowClick?: (data?: IData, row?: number) => void;\n\tonCellClick?: VirtualDatagridProps[\"onCellClick\"];\n\tonCellDoubleClick?: VirtualDatagridProps[\"onCellDoubleClick\"];\n};\n\n// ---------------------------------------------------------------------------\n// VirtualRow — memoised row rendered by react-window\n// ---------------------------------------------------------------------------\n\nconst VirtualRow = memo(function VirtualRow({\n\tindex,\n\tstyle: itemStyle,\n\tariaAttributes,\n\trows,\n\tcolumns,\n\tcolumnById,\n\tcolumnIndexById,\n\tcontentWidthPx,\n\tvirtualRowHeight,\n\theader,\n\tstriped,\n\tcellEllipsis,\n\tloaderNode,\n\tsortBy,\n\tsortType,\n\tresizable,\n\tonWidthChange,\n\tonRowClick,\n\tonCellClick,\n\tonCellDoubleClick,\n}: {\n\t\tindex: number;\n\t\tstyle: CSSProperties;\n\t\tariaAttributes: Record<string, unknown>;\n\t} & RowCustomProps) {\n\tif (index >= rows.length) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\t{...ariaAttributes}\n\t\t\t\tstyle={{\n\t\t\t\t\t...itemStyle,\n\t\t\t\t\twidth: contentWidthPx,\n\t\t\t\t\tminWidth: \"100%\",\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t} as React.CSSProperties}\n\t\t\t>\n\t\t\t\t{loaderNode}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst rowData = rows[index];\n\tconst rowNum = index + (header ? 1 : 0);\n\tconst bg =\n\t\tstriped && index % 2 === 0 ? \"var(--background-1)\" : undefined;\n\n\tconst handleCellClick = useCallback(\n\t\t(e: any) => {\n\t\t\tif (!onCellClick) return;\n\t\t\tconst el = (e.target as HTMLElement | null)?.closest?.(\n\t\t\t\t\".i-datagrid-cell[data-col]\",\n\t\t\t) as HTMLElement | null;\n\t\t\tconst id = el?.dataset?.col;\n\t\t\tif (!id) return;\n\t\t\tconst column = columnById.get(id);\n\t\t\tconst col = columnIndexById.get(id);\n\t\t\tif (!column || col == null) return;\n\t\t\tonCellClick(rowData, column, rowNum, col, e);\n\t\t},\n\t\t[columnById, columnIndexById, onCellClick, rowData, rowNum],\n\t);\n\n\tconst handleCellDoubleClick = useCallback(\n\t\t(e: any) => {\n\t\t\tif (!onCellDoubleClick) return;\n\t\t\tconst el = (e.target as HTMLElement | null)?.closest?.(\n\t\t\t\t\".i-datagrid-cell[data-col]\",\n\t\t\t) as HTMLElement | null;\n\t\t\tconst id = el?.dataset?.col;\n\t\t\tif (!id) return;\n\t\t\tconst column = columnById.get(id);\n\t\t\tconst col = columnIndexById.get(id);\n\t\t\tif (!column || col == null) return;\n\t\t\tonCellDoubleClick(rowData, column, rowNum, col, e);\n\t\t},\n\t\t[columnById, columnIndexById, onCellDoubleClick, rowData, rowNum],\n\t);\n\n\tconst handleRowClick = useCallback(\n\t\t() => onRowClick?.(rowData, rowNum),\n\t\t[onRowClick, rowData, rowNum],\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\t...itemStyle,\n\t\t\t\twidth: contentWidthPx,\n\t\t\t\tminWidth: \"100%\",\n\t\t\t\tdisplay: \"grid\",\n\t\t\t\tgridTemplateColumns: \"var(--grid-template-columns)\",\n\t\t\t\theight: virtualRowHeight,\n\t\t\t\t\"--datagrid-cell-background\": bg,\n\t\t\t} as React.CSSProperties}\n\t\t\tclassName='i-datagrid-row'\n\t\t\tonClick={handleRowClick}\n\t\t\tonClickCapture={handleCellClick}\n\t\t\tonDoubleClickCapture={handleCellDoubleClick}\n\t\t>\n\t\t\t{columns.map((c, col) => (\n\t\t\t\t<VirtualCell\n\t\t\t\t\tkey={c.id}\n\t\t\t\t\tcolumn={c}\n\t\t\t\t\tdata={rowData}\n\t\t\t\t\trow={rowNum}\n\t\t\t\t\tcol={col}\n\t\t\t\t\tcellEllipsis={cellEllipsis}\n\t\t\t\t\tsortBy={sortBy}\n\t\t\t\t\tsortType={sortType}\n\t\t\t\t\tresizable={resizable}\n\t\t\t\t\tonWidthChange={onWidthChange}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</div>\n\t);\n});\n\n// ---------------------------------------------------------------------------\n// VirtualDatagrid\n// ---------------------------------------------------------------------------\n\nexport default function VirtualDatagrid(props: VirtualDatagridProps) {\n\tconst {\n\t\tvirtual,\n\t\tcolumns,\n\t\trows,\n\t\theader,\n\t\tsortBy,\n\t\tsortType,\n\t\theight,\n\t\tloading,\n\t\tresizable,\n\t\tstriped,\n\t\tcellEllipsis,\n\t\tempty,\n\t\twrapRef,\n\t\tcontainerRef,\n\t\tonHeaderClick,\n\t\tonWidthChange,\n\t\tonRowClick,\n\t\tonCellClick,\n\t\tonCellDoubleClick,\n\t\tonScroll,\n\t} = props;\n\n\tconst headerRef = useRef<HTMLDivElement>(null);\n\tconst headerInnerRef = useRef<HTMLDivElement>(null);\n\tconst listRef = useRef<any>(null);\n\tconst ro = useResizeObserver();\n\tconst triggerRef = useRef({ rowCount: -1 });\n\tconst [viewport, setViewport] = useState({ width: 0, height: 0 });\n\tconst [contentWidth, setContentWidth] = useState(0);\n\tconst rafRef = useRef({\n\t\tviewport: 0 as number | 0,\n\t\tcontentWidth: 0 as number | 0,\n\t\tscrollSync: 0 as number | 0,\n\t});\n\n\tconst columnById = useMemo(() => {\n\t\tconst map = new Map<string, IColumn>();\n\t\tcolumns.forEach((c) => map.set(c.id, c));\n\t\treturn map;\n\t}, [columns]);\n\n\tconst columnIndexById = useMemo(() => {\n\t\tconst map = new Map<string, number>();\n\t\tcolumns.forEach((c, i) => map.set(c.id, i));\n\t\treturn map;\n\t}, [columns]);\n\n\tconst handleHeaderClick = useCallback(\n\t\t(e: any) => {\n\t\t\tconst el = (e.target as HTMLElement | null)?.closest?.(\n\t\t\t\t\".i-datagrid-cell[data-col]\",\n\t\t\t) as HTMLElement | null;\n\t\t\tconst id = el?.dataset?.col;\n\t\t\tonHeaderClick(id ? columnById.get(id) : undefined, e);\n\t\t},\n\t\t[columnById, onHeaderClick],\n\t);\n\n\tconst handleBodyScroll = useCallback((e: any) => {\n\t\tconst el = e.currentTarget as HTMLDivElement | null;\n\t\tif (!el) return;\n\n\t\tif (rafRef.current.scrollSync) return;\n\t\trafRef.current.scrollSync = requestAnimationFrame(() => {\n\t\t\trafRef.current.scrollSync = 0;\n\t\t\tif (!headerRef.current) return;\n\t\t\tconst target = el.scrollLeft;\n\t\t\tif (headerRef.current.scrollLeft !== target) {\n\t\t\t\theaderRef.current.scrollLeft = target;\n\t\t\t}\n\t\t});\n\t}, []);\n\n\tconst handleReachEnd = useCallback(() => {\n\t\tif (virtual.onReachEnd) {\n\t\t\tvirtual.onReachEnd();\n\t\t\treturn;\n\t\t}\n\t\tonScroll?.(undefined as any);\n\t}, [onScroll, virtual.onReachEnd]);\n\n\tconst handleRowsRendered = useCallback(\n\t\t(_visible: any, overscan: any) => {\n\t\t\tif (!virtual.hasMore) return;\n\t\t\tconst threshold = virtual.threshold ?? 8;\n\t\t\tconst stopIndex = overscan?.stopIndex ?? -1;\n\t\t\tif (stopIndex < rows.length - 1 - threshold) return;\n\t\t\tif (triggerRef.current.rowCount === rows.length) return;\n\t\t\ttriggerRef.current.rowCount = rows.length;\n\t\t\thandleReachEnd();\n\t\t},\n\t\t[handleReachEnd, rows.length, virtual.hasMore, virtual.threshold],\n\t);\n\n\tconst handleHeaderScroll = useCallback((e: any) => {\n\t\tconst el = e.currentTarget as HTMLDivElement | null;\n\t\tif (!el) return;\n\t\tconst listEl = listRef.current?.element as HTMLDivElement | null;\n\t\tif (listEl && listEl.scrollLeft !== el.scrollLeft) {\n\t\t\tlistEl.scrollLeft = el.scrollLeft;\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\tconst el = wrapRef.current;\n\t\tif (!el) return;\n\n\t\tconst update = () => {\n\t\t\tif (rafRef.current.viewport)\n\t\t\t\tcancelAnimationFrame(rafRef.current.viewport);\n\t\t\trafRef.current.viewport = requestAnimationFrame(() => {\n\t\t\t\trafRef.current.viewport = 0;\n\t\t\t\tconst r = el.getBoundingClientRect();\n\t\t\t\tconst w = Math.round(r.width);\n\t\t\t\tconst h = Math.round(r.height);\n\t\t\t\tsetViewport((prev) => {\n\t\t\t\t\tif (prev.width === w && prev.height === h) return prev;\n\t\t\t\t\treturn { width: w, height: h };\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tupdate();\n\t\tro.observe?.(el, update);\n\t\treturn () => {\n\t\t\tro.unobserve?.(el);\n\t\t\tif (rafRef.current.viewport)\n\t\t\t\tcancelAnimationFrame(rafRef.current.viewport);\n\t\t\trafRef.current.viewport = 0;\n\t\t};\n\t}, [ro, wrapRef]);\n\n\tuseEffect(() => {\n\t\tconst el = headerInnerRef.current;\n\t\tif (!el) return;\n\n\t\tconst update = () => {\n\t\t\tif (rafRef.current.contentWidth) {\n\t\t\t\tcancelAnimationFrame(rafRef.current.contentWidth);\n\t\t\t}\n\t\t\trafRef.current.contentWidth = requestAnimationFrame(() => {\n\t\t\t\trafRef.current.contentWidth = 0;\n\t\t\t\tconst w = Math.ceil(el.scrollWidth);\n\t\t\t\tsetContentWidth((prev) => (prev === w ? prev : w));\n\t\t\t});\n\t\t};\n\n\t\tupdate();\n\t\tro.observe?.(el, update);\n\t\treturn () => {\n\t\t\tro.unobserve?.(el);\n\t\t\tif (rafRef.current.contentWidth) {\n\t\t\t\tcancelAnimationFrame(rafRef.current.contentWidth);\n\t\t\t}\n\t\t\trafRef.current.contentWidth = 0;\n\t\t};\n\t}, [ro]);\n\n\tuseEffect(() => {\n\t\ttriggerRef.current.rowCount = -1;\n\t}, [rows.length, virtual.hasMore]);\n\n\tuseEffect(() => {\n\t\tif (!loading) return;\n\t\tconst listEl = listRef.current?.element as HTMLDivElement | null;\n\t\tlistEl?.scrollTo({ top: 0, left: 0 });\n\t\theaderRef.current?.scrollTo({ top: 0, left: 0 });\n\t}, [loading]);\n\n\tconst listHeight = Math.max(\n\t\t0,\n\t\t(typeof height === \"number\" ? height : viewport.height || 360) -\n\t\t\t(header ? virtual.rowHeight : 0),\n\t);\n\tconst hasVerticalScrollbar =\n\t\trows.length * virtual.rowHeight > listHeight + 1;\n\tconst scrollbarSize = hasVerticalScrollbar ? getScrollbarSize() : 0;\n\tconst measuredContentWidth = Math.max(contentWidth, viewport.width || 0);\n\tconst contentWidthPx = measuredContentWidth\n\t\t? `${measuredContentWidth}px`\n\t\t: \"fit-content\";\n\n\tconst headerCells = useMemo(\n\t\t() =>\n\t\t\tcolumns.map((c, col) => (\n\t\t\t\t<VirtualCell\n\t\t\t\t\tkey={c.id}\n\t\t\t\t\tcolumn={c}\n\t\t\t\t\trow={0}\n\t\t\t\t\tcol={col}\n\t\t\t\t\tisHeader\n\t\t\t\t\tcellEllipsis={cellEllipsis}\n\t\t\t\t\tsortBy={sortBy}\n\t\t\t\t\tsortType={sortType}\n\t\t\t\t\tresizable={resizable}\n\t\t\t\t\tonWidthChange={onWidthChange}\n\t\t\t\t/>\n\t\t\t)),\n\t\t[\n\t\t\tcellEllipsis,\n\t\t\tcolumns,\n\t\t\tonWidthChange,\n\t\t\tresizable,\n\t\t\tsortBy,\n\t\t\tsortType,\n\t\t],\n\t);\n\n\tconst headerInnerStyle = useMemo(\n\t\t() => ({\n\t\t\tdisplay: \"grid\",\n\t\t\tgridTemplateColumns: \"var(--grid-template-columns)\",\n\t\t\theight: virtual.rowHeight,\n\t\t\twidth: contentWidthPx,\n\t\t\tminWidth: \"100%\",\n\t\t}),\n\t\t[contentWidthPx, virtual.rowHeight],\n\t);\n\n\tconst listStyle = useMemo(\n\t\t() => ({\n\t\t\theight: listHeight,\n\t\t\twidth: \"100%\",\n\t\t\toverflow: \"auto\",\n\t\t}),\n\t\t[listHeight],\n\t);\n\n\tconst headerWrapStyle = useMemo(\n\t\t() =>\n\t\t\tscrollbarSize > 0\n\t\t\t\t? {\n\t\t\t\t\t\tpaddingRight: scrollbarSize,\n\t\t\t\t\t\tboxSizing: \"content-box\" as const,\n\t\t\t\t\t}\n\t\t\t\t: undefined,\n\t\t[scrollbarSize],\n\t);\n\n\tconst loaderNode = useMemo<ReactNode>(\n\t\t() => virtual.loader ?? <Loading className='my-12' />,\n\t\t[virtual.loader],\n\t);\n\n\t// Stable row-component reference so react-window can memoise rows.\n\tconst rowProps = useMemo<RowCustomProps>(\n\t\t() => ({\n\t\t\trows,\n\t\t\tcolumns,\n\t\t\tcolumnById,\n\t\t\tcolumnIndexById,\n\t\t\tcontentWidthPx,\n\t\t\tvirtualRowHeight: virtual.rowHeight,\n\t\t\theader,\n\t\t\tstriped,\n\t\t\tcellEllipsis,\n\t\t\tloaderNode,\n\t\t\tsortBy,\n\t\t\tsortType,\n\t\t\tresizable,\n\t\t\tonWidthChange,\n\t\t\tonRowClick,\n\t\t\tonCellClick,\n\t\t\tonCellDoubleClick,\n\t\t}),\n\t\t[\n\t\t\trows,\n\t\t\tcolumns,\n\t\t\tcolumnById,\n\t\t\tcolumnIndexById,\n\t\t\tcontentWidthPx,\n\t\t\tvirtual.rowHeight,\n\t\t\theader,\n\t\t\tstriped,\n\t\t\tcellEllipsis,\n\t\t\tloaderNode,\n\t\t\tsortBy,\n\t\t\tsortType,\n\t\t\tresizable,\n\t\t\tonWidthChange,\n\t\t\tonRowClick,\n\t\t\tonCellClick,\n\t\t\tonCellDoubleClick,\n\t\t],\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tclassName={classNames(\"i-datagrid\", {\n\t\t\t\t\"i-datagrid-loading\": loading,\n\t\t\t})}\n\t\t\tstyle={{ display: \"block\", width: \"100%\", maxWidth: \"100%\" }}\n\t\t>\n\t\t\t{header && (\n\t\t\t\t<div\n\t\t\t\t\tref={headerRef}\n\t\t\t\t\tclassName='i-datagrid-virtual-header'\n\t\t\t\t\tonScroll={handleHeaderScroll}\n\t\t\t\t\tstyle={headerWrapStyle}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={headerInnerRef}\n\t\t\t\t\t\tclassName='i-datagrid-header i-datagrid-row'\n\t\t\t\t\t\tstyle={headerInnerStyle}\n\t\t\t\t\t\tonClick={handleHeaderClick}\n\t\t\t\t\t>\n\t\t\t\t\t\t{headerCells}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<VirtualList\n\t\t\t\tlistRef={listRef}\n\t\t\t\trowCount={rows.length + (virtual.hasMore ? 1 : 0)}\n\t\t\t\trowHeight={virtual.rowHeight}\n\t\t\t\toverscanCount={Math.max(3, virtual.threshold ?? 8)}\n\t\t\t\trowProps={rowProps as any}\n\t\t\t\tstyle={listStyle}\n\t\t\t\tonScroll={handleBodyScroll}\n\t\t\t\tonRowsRendered={handleRowsRendered}\n\t\t\t\trowComponent={VirtualRow as any}\n\t\t\t/>\n\t\t\t{rows.length < 1 && !virtual.hasMore && empty}\n\t\t</div>\n\t);\n}\n"],"names":["memo","sorter","useMemo","_jsxs","classNames","_jsx","Sorter","Resize","useCallback","loading","useRef","useResizeObserver","useState","useEffect","getScrollbarSize","Loading","VirtualList"],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var classNames = require('classnames');
|
|
7
|
-
var react = require('react');
|
|
8
|
-
|
|
9
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
|
|
10
|
-
|
|
11
|
-
var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
|
|
12
|
-
|
|
13
|
-
const Description = (props) => {
|
|
14
|
-
const { data, colon, columns = 1, gap = ".5em", align, labelWidth, labelAlign, vertical, equally, style, className, } = props;
|
|
15
|
-
return (jsxRuntime.jsx("div", { className: classNames__default("i-description", className), style: {
|
|
16
|
-
["--description-label-width"]: labelWidth,
|
|
17
|
-
gridTemplateColumns: `repeat(${columns}, ${equally ? "1fr" : "auto"})`,
|
|
18
|
-
gap,
|
|
19
|
-
textAlign: align,
|
|
20
|
-
...style,
|
|
21
|
-
}, children: data.map((item, i) => {
|
|
22
|
-
const { label, value, style, hidden, rowSpan = 1, colSpan = 1, } = item;
|
|
23
|
-
if (hidden)
|
|
24
|
-
return jsxRuntime.jsx(react.Fragment, {}, i);
|
|
25
|
-
return (jsxRuntime.jsxs("div", { className: classNames__default("i-description-item", {
|
|
26
|
-
"i-description-item-vertical": vertical,
|
|
27
|
-
}), style: {
|
|
28
|
-
gridColumn: `span ${colSpan}`,
|
|
29
|
-
gridRow: `span ${rowSpan}`,
|
|
30
|
-
...style,
|
|
31
|
-
}, children: [label && (jsxRuntime.jsxs("div", { className: 'i-description-label', style: { textAlign: labelAlign }, children: [label, colon] })), jsxRuntime.jsx("div", { className: 'i-description-value', children: value })] }, i));
|
|
32
|
-
}) }));
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
exports.default = Description;
|
|
36
|
-
//# sourceMappingURL=description.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"description.js","sources":["../../../../packages/components/description/description.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { CSSProperties, Fragment } from \"react\";\nimport \"./index.css\";\nimport { IDescription } from \"./type\";\n\nconst Description = (props: IDescription) => {\n\tconst {\n\t\tdata,\n\t\tcolon,\n\t\tcolumns = 1,\n\t\tgap = \".5em\",\n\t\talign,\n\t\tlabelWidth,\n\t\tlabelAlign,\n\t\tvertical,\n\t\tequally,\n\t\tstyle,\n\t\tclassName,\n\t} = props;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-description\", className)}\n\t\t\tstyle={\n\t\t\t\t{\n\t\t\t\t\t[\"--description-label-width\"]: labelWidth,\n\t\t\t\t\tgridTemplateColumns: `repeat(${columns}, ${\n\t\t\t\t\t\tequally ? \"1fr\" : \"auto\"\n\t\t\t\t\t})`,\n\t\t\t\t\tgap,\n\t\t\t\t\ttextAlign: align,\n\t\t\t\t\t...style,\n\t\t\t\t} as CSSProperties\n\t\t\t}\n\t\t>\n\t\t\t{data.map((item, i) => {\n\t\t\t\tconst {\n\t\t\t\t\tlabel,\n\t\t\t\t\tvalue,\n\t\t\t\t\tstyle,\n\t\t\t\t\thidden,\n\t\t\t\t\trowSpan = 1,\n\t\t\t\t\tcolSpan = 1,\n\t\t\t\t} = item;\n\n\t\t\t\tif (hidden) return <Fragment key={i} />;\n\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\tclassName={classNames(\"i-description-item\", {\n\t\t\t\t\t\t\t\"i-description-item-vertical\": vertical,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tgridColumn: `span ${colSpan}`,\n\t\t\t\t\t\t\tgridRow: `span ${rowSpan}`,\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName='i-description-label'\n\t\t\t\t\t\t\t\tstyle={{ textAlign: labelAlign }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t{colon}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div className='i-description-value'>{value}</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\nexport default Description;\n"],"names":["_jsx","classNames","Fragment","_jsxs"],"mappings":";;;;;;;;;;;;AAKA,MAAM,WAAW,GAAG,CAAC,KAAmB,KAAI;AAC3C,IAAA,MAAM,EACL,IAAI,EACJ,KAAK,EACL,OAAO,GAAG,CAAC,EACX,GAAG,GAAG,MAAM,EACZ,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,OAAO,EACP,KAAK,EACL,SAAS,GACT,GAAG,KAAK;AAET,IAAA,QACCA,cAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAEC,mBAAU,CAAC,eAAe,EAAE,SAAS,CAAC,EACjD,KAAK,EACJ;YACC,CAAC,2BAA2B,GAAG,UAAU;AACzC,YAAA,mBAAmB,EAAE,CAAA,OAAA,EAAU,OAAO,CAAA,EAAA,EACrC,OAAO,GAAG,KAAK,GAAG,MACnB,CAAA,CAAA,CAAG;YACH,GAAG;AACH,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,GAAG,KAAK;SACS,EAAA,QAAA,EAGlB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;AACrB,YAAA,MAAM,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,GACX,GAAG,IAAI;AAER,YAAA,IAAI,MAAM;AAAE,gBAAA,OAAOD,cAAA,CAACE,cAAQ,EAAA,EAAA,EAAM,CAAC,CAAI;AAEvC,YAAA,QACCC,eAAA,CAAA,KAAA,EAAA,EAEC,SAAS,EAAEF,mBAAU,CAAC,oBAAoB,EAAE;AAC3C,oBAAA,6BAA6B,EAAE,QAAQ;iBACvC,CAAC,EACF,KAAK,EAAE;oBACN,UAAU,EAAE,CAAA,KAAA,EAAQ,OAAO,CAAA,CAAE;oBAC7B,OAAO,EAAE,CAAA,KAAA,EAAQ,OAAO,CAAA,CAAE;AAC1B,oBAAA,GAAG,KAAK;AACR,iBAAA,EAAA,QAAA,EAAA,CAEA,KAAK,KACLE,eAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,CAE/B,KAAK,EACL,KAAK,CAAA,EAAA,CACD,CACN,EACDH,wBAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAE,KAAK,EAAA,CAAO,CAAA,EAAA,EAnB7C,CAAC,CAoBD;QAER,CAAC,CAAC,EAAA,CACG;AAER;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var classNames = require('classnames');
|
|
7
|
-
var react = require('react');
|
|
8
|
-
var reactDom = require('react-dom');
|
|
9
|
-
var hooks = require('../../js/hooks.js');
|
|
10
|
-
var helpericon = require('../utils/helpericon/helpericon.js');
|
|
11
|
-
|
|
12
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
|
|
13
|
-
|
|
14
|
-
var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
|
|
15
|
-
|
|
16
|
-
function Drawer(props) {
|
|
17
|
-
const { visible, position = "left", header, footer, backdropClosable = true, hideCloseButton, keepDOM, className, disabledEsc, children, onVisibleChange, onClose, ...restProps } = props;
|
|
18
|
-
const toggable = react.useRef(true);
|
|
19
|
-
const state = hooks.useReactive({
|
|
20
|
-
show: visible,
|
|
21
|
-
active: visible,
|
|
22
|
-
});
|
|
23
|
-
const [isPending, startTransition] = react.useTransition();
|
|
24
|
-
const handleHide = () => {
|
|
25
|
-
if (!toggable.current || isPending)
|
|
26
|
-
return;
|
|
27
|
-
toggable.current = false;
|
|
28
|
-
startTransition(() => {
|
|
29
|
-
state.active = false;
|
|
30
|
-
setTimeout(() => {
|
|
31
|
-
if (!keepDOM) {
|
|
32
|
-
state.show = false;
|
|
33
|
-
}
|
|
34
|
-
onVisibleChange?.(false);
|
|
35
|
-
toggable.current = true;
|
|
36
|
-
onClose?.();
|
|
37
|
-
}, 240);
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
const handleShow = () => {
|
|
41
|
-
if (!toggable.current || isPending)
|
|
42
|
-
return;
|
|
43
|
-
state.show = true;
|
|
44
|
-
onVisibleChange?.(true);
|
|
45
|
-
toggable.current = false;
|
|
46
|
-
startTransition(() => {
|
|
47
|
-
requestAnimationFrame(() => {
|
|
48
|
-
state.active = true;
|
|
49
|
-
toggable.current = true;
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
react.useEffect(() => {
|
|
54
|
-
visible ? handleShow() : handleHide();
|
|
55
|
-
}, [visible]);
|
|
56
|
-
const handleBackdropClick = () => {
|
|
57
|
-
backdropClosable && handleHide();
|
|
58
|
-
};
|
|
59
|
-
hooks.useKeydown((e) => {
|
|
60
|
-
if (e.code !== "Escape" || !visible)
|
|
61
|
-
return;
|
|
62
|
-
handleHide();
|
|
63
|
-
}, {
|
|
64
|
-
disabled: disabledEsc,
|
|
65
|
-
});
|
|
66
|
-
if (!state.show)
|
|
67
|
-
return null;
|
|
68
|
-
const container = typeof document === "undefined" ? null : document.body;
|
|
69
|
-
if (!container)
|
|
70
|
-
return null;
|
|
71
|
-
return reactDom.createPortal(jsxRuntime.jsx("div", { className: classNames__default("i-backdrop-drawer", className, {
|
|
72
|
-
"i-active": state.active,
|
|
73
|
-
}), onClick: handleBackdropClick, ...restProps, children: jsxRuntime.jsxs("div", { className: classNames__default("i-drawer", `i-drawer-${position}`), onClick: (e) => e.stopPropagation(), children: [header && (jsxRuntime.jsxs("header", { className: 'i-drawer-header', children: [header, !hideCloseButton && (jsxRuntime.jsx(helpericon.default, { className: 'i-drawer-close', onClick: handleHide }))] })), jsxRuntime.jsx("div", { className: 'i-drawer-content', children: children }), footer && jsxRuntime.jsx("div", { className: 'i-drawer-footer', children: footer })] }) }), container);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
exports.default = Drawer;
|
|
77
|
-
//# sourceMappingURL=drawer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.js","sources":["../../../../packages/components/drawer/drawer.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useEffect, useRef, useTransition } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { useKeydown, useReactive } from \"../../js/hooks\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { IDrawer } from \"./type\";\n\nfunction Drawer(props: IDrawer) {\n\tconst {\n\t\tvisible,\n\t\tposition = \"left\",\n\t\theader,\n\t\tfooter,\n\t\tbackdropClosable = true,\n\t\thideCloseButton,\n\t\tkeepDOM,\n\t\tclassName,\n\t\tdisabledEsc,\n\t\tchildren,\n\t\tonVisibleChange,\n\t\tonClose,\n\t\t...restProps\n\t} = props;\n\n\tconst toggable = useRef(true);\n\tconst state = useReactive({\n\t\tshow: visible,\n\t\tactive: visible,\n\t});\n\tconst [isPending, startTransition] = useTransition();\n\n\tconst handleHide = () => {\n\t\tif (!toggable.current || isPending) return;\n\t\ttoggable.current = false;\n\n\t\tstartTransition(() => {\n\t\t\tstate.active = false;\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!keepDOM) {\n\t\t\t\t\tstate.show = false;\n\t\t\t\t}\n\t\t\t\tonVisibleChange?.(false);\n\t\t\t\ttoggable.current = true;\n\t\t\t\tonClose?.();\n\t\t\t}, 240);\n\t\t});\n\t};\n\n\tconst handleShow = () => {\n\t\tif (!toggable.current || isPending) return;\n\n\t\tstate.show = true;\n\t\tonVisibleChange?.(true);\n\t\ttoggable.current = false;\n\n\t\tstartTransition(() => {\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tstate.active = true;\n\t\t\t\ttoggable.current = true;\n\t\t\t});\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tvisible ? handleShow() : handleHide();\n\t}, [visible]);\n\n\tconst handleBackdropClick = () => {\n\t\tbackdropClosable && handleHide();\n\t};\n\n\tuseKeydown(\n\t\t(e) => {\n\t\t\tif (e.code !== \"Escape\" || !visible) return;\n\t\t\thandleHide();\n\t\t},\n\t\t{\n\t\t\tdisabled: disabledEsc,\n\t\t}\n\t);\n\n\tif (!state.show) return null;\n\n\tconst container =\n\t\ttypeof document === \"undefined\" ? null : document.body;\n\tif (!container) return null;\n\n\treturn createPortal(\n\t\t<div\n\t\t\tclassName={classNames(\"i-backdrop-drawer\", className, {\n\t\t\t\t\"i-active\": state.active,\n\t\t\t})}\n\t\t\tonClick={handleBackdropClick}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-drawer\", `i-drawer-${position}`)}\n\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t>\n\t\t\t\t{header && (\n\t\t\t\t\t<header className='i-drawer-header'>\n\t\t\t\t\t\t{header}\n\n\t\t\t\t\t\t{!hideCloseButton && (\n\t\t\t\t\t\t\t<Helpericon\n\t\t\t\t\t\t\t\tclassName='i-drawer-close'\n\t\t\t\t\t\t\t\tonClick={handleHide}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</header>\n\t\t\t\t)}\n\n\t\t\t\t<div className='i-drawer-content'>{children}</div>\n\n\t\t\t\t{footer && <div className='i-drawer-footer'>{footer}</div>}\n\t\t\t</div>\n\t\t</div>,\n\t\tcontainer\n\t);\n}\n\nexport default Drawer;\n"],"names":["useRef","useReactive","useTransition","useEffect","useKeydown","createPortal","_jsx","classNames","_jsxs","Helpericon"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var react = require('react');
|
|
7
|
-
var list = require('../list/list.js');
|
|
8
|
-
var popup = require('../popup/popup.js');
|
|
9
|
-
var item = require('./item.js');
|
|
10
|
-
|
|
11
|
-
const DropdownCloseCtx = react.createContext(null);
|
|
12
|
-
const Dropdown = (props) => {
|
|
13
|
-
const { visible, width, content, children, ...restProps } = props;
|
|
14
|
-
const [active, setActive] = react.useState(visible);
|
|
15
|
-
if (!content) {
|
|
16
|
-
return children;
|
|
17
|
-
}
|
|
18
|
-
const close = () => setActive(false);
|
|
19
|
-
const handleVisibleChange = (v) => {
|
|
20
|
-
setActive(v);
|
|
21
|
-
if (props.onVisibleChange) {
|
|
22
|
-
props.onVisibleChange(v);
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
react.useEffect(() => {
|
|
26
|
-
setActive(visible);
|
|
27
|
-
}, [visible]);
|
|
28
|
-
return (jsxRuntime.jsx(popup.default, { trigger: 'click', position: 'bottom', content: jsxRuntime.jsx(DropdownCloseCtx.Provider, { value: close, children: jsxRuntime.jsx(list.default, { className: 'i-dropdown-content', style: { minWidth: width }, children: typeof content === "function"
|
|
29
|
-
? content(close)
|
|
30
|
-
: content }) }), ...restProps, touchable: true, visible: active, onVisibleChange: handleVisibleChange, children: children }));
|
|
31
|
-
};
|
|
32
|
-
Dropdown.Item = item.default;
|
|
33
|
-
|
|
34
|
-
exports.DropdownCloseCtx = DropdownCloseCtx;
|
|
35
|
-
exports.default = Dropdown;
|
|
36
|
-
//# sourceMappingURL=dropdown.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.js","sources":["../../../../packages/components/dropdown/dropdown.tsx"],"sourcesContent":["import { createContext, useEffect, useState } from \"react\";\nimport List from \"../list\";\nimport Popup from \"../popup\";\nimport \"./index.css\";\nimport Item from \"./item\";\nimport { IDropdown } from \"./type\";\n\nexport const DropdownCloseCtx = createContext<(() => void) | null>(null);\n\nconst Dropdown = (props: IDropdown) => {\n\tconst { visible, width, content, children, ...restProps } = props;\n\tconst [active, setActive] = useState(visible);\n\n\tif (!content) {\n\t\treturn children;\n\t}\n\n\tconst close = () => setActive(false);\n\n\tconst handleVisibleChange = (v: boolean) => {\n\t\tsetActive(v);\n\t\tif (props.onVisibleChange) {\n\t\t\tprops.onVisibleChange(v);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tsetActive(visible);\n\t}, [visible]);\n\n\treturn (\n\t\t<Popup\n\t\t\ttrigger='click'\n\t\t\tposition='bottom'\n\t\t\tcontent={\n\t\t\t\t<DropdownCloseCtx.Provider value={close}>\n\t\t\t\t\t<List\n\t\t\t\t\t\tclassName='i-dropdown-content'\n\t\t\t\t\t\tstyle={{ minWidth: width }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{typeof content === \"function\"\n\t\t\t\t\t\t\t? content(close)\n\t\t\t\t\t\t\t: content}\n\t\t\t\t\t</List>\n\t\t\t\t</DropdownCloseCtx.Provider>\n\t\t\t}\n\t\t\t{...restProps}\n\t\t\ttouchable\n\t\t\tvisible={active}\n\t\t\tonVisibleChange={handleVisibleChange}\n\t\t>\n\t\t\t{children}\n\t\t</Popup>\n\t);\n};\n\nDropdown.Item = Item;\n\nexport default Dropdown;\n"],"names":["createContext","useState","useEffect","_jsx","Popup","List","Item"],"mappings":";;;;;;;;;;MAOa,gBAAgB,GAAGA,mBAAa,CAAsB,IAAI;AAEvE,MAAM,QAAQ,GAAG,CAAC,KAAgB,KAAI;AACrC,IAAA,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;IACjE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGC,cAAQ,CAAC,OAAO,CAAC;IAE7C,IAAI,CAAC,OAAO,EAAE;AACb,QAAA,OAAO,QAAQ;IAChB;IAEA,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC;AAEpC,IAAA,MAAM,mBAAmB,GAAG,CAAC,CAAU,KAAI;QAC1C,SAAS,CAAC,CAAC,CAAC;AACZ,QAAA,IAAI,KAAK,CAAC,eAAe,EAAE;AAC1B,YAAA,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACzB;AACD,IAAA,CAAC;IAEDC,eAAS,CAAC,MAAK;QACd,SAAS,CAAC,OAAO,CAAC;AACnB,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,QACCC,cAAA,CAACC,aAAK,IACL,OAAO,EAAC,OAAO,EACf,QAAQ,EAAC,QAAQ,EACjB,OAAO,EACND,eAAC,gBAAgB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,YACtCA,cAAA,CAACE,YAAI,IACJ,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,YAEzB,OAAO,OAAO,KAAK;AACnB,sBAAE,OAAO,CAAC,KAAK;sBACb,OAAO,EAAA,CACJ,EAAA,CACoB,KAEzB,SAAS,EACb,SAAS,EAAA,IAAA,EACT,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,mBAAmB,YAEnC,QAAQ,EAAA,CACF;AAEV;AAEA,QAAQ,CAAC,IAAI,GAAGC,YAAI;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var react = require('react');
|
|
7
|
-
var list = require('../list/list.js');
|
|
8
|
-
var popup = require('../popup/popup.js');
|
|
9
|
-
var dropdown = require('./dropdown.js');
|
|
10
|
-
|
|
11
|
-
const { Item: ListItem } = list.default;
|
|
12
|
-
const Item = (props) => {
|
|
13
|
-
const { more, moreProps, onClick, ref: itemRef, children, ...restProps } = props;
|
|
14
|
-
const close = react.useContext(dropdown.DropdownCloseCtx);
|
|
15
|
-
const liRef = react.useRef(null);
|
|
16
|
-
const [position, setPosition] = react.useState("right");
|
|
17
|
-
const { position: morePosition, onVisibleChange: moreOnVisibleChange, width: moreWidth, ...restMoreProps } = moreProps ?? {};
|
|
18
|
-
const effectivePosition = morePosition ?? position;
|
|
19
|
-
const handleVisibleChange = (v) => {
|
|
20
|
-
if (v && liRef.current) {
|
|
21
|
-
const rect = liRef.current.getBoundingClientRect();
|
|
22
|
-
setPosition(rect.left > window.innerWidth / 2 ? "left" : "right");
|
|
23
|
-
}
|
|
24
|
-
moreOnVisibleChange?.(v);
|
|
25
|
-
};
|
|
26
|
-
const Li = (jsxRuntime.jsx(ListItem, { ref: itemRef ?? liRef, onClick: (e) => {
|
|
27
|
-
e.stopPropagation();
|
|
28
|
-
if (!more)
|
|
29
|
-
close?.();
|
|
30
|
-
onClick?.(e);
|
|
31
|
-
}, ...restProps, children: children }));
|
|
32
|
-
if (!more)
|
|
33
|
-
return Li;
|
|
34
|
-
return (jsxRuntime.jsx(popup.default, { ...restMoreProps, position: effectivePosition, touchable: true, arrow: false, align: "start", offset: 11, hideDelay: 240, onVisibleChange: handleVisibleChange, content: jsxRuntime.jsx(list.default, { className: "i-dropdown-content", style: { minWidth: moreWidth }, onClick: (e) => e.stopPropagation(), children: more }), children: Li }));
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
exports.default = Item;
|
|
38
|
-
//# sourceMappingURL=item.js.map
|