@ioca/react 1.5.19 → 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 +130 -104
- 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 +1 -2
- 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 +9 -18
- 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 +44 -58
- package/lib/es/components/tree/tree.js +123 -20
- package/lib/es/components/tree/virtual.js +43 -0
- 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 +3 -4
- 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/lib/index.js +338 -197
- package/lib/types/components/tabs/type.d.ts +1 -1
- package/lib/types/components/tree/type.d.ts +8 -5
- package/lib/types/js/usePreview/type.d.ts +1 -1
- package/package.json +8 -11
- 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 -283
- 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 -264
- 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 -80
- package/lib/cjs/components/tree/item.js.map +0 -1
- package/lib/cjs/components/tree/tree.js +0 -134
- package/lib/cjs/components/tree/tree.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 -214
- 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/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,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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sources":["../../../../packages/components/dropdown/item.tsx"],"sourcesContent":["import { useContext, useRef, useState } from \"react\";\nimport List from \"../list\";\nimport Popup from \"../popup\";\nimport { DropdownCloseCtx } from \"./dropdown\";\nimport { IDropItem } from \"./type\";\n\nconst { Item: ListItem } = List;\n\nconst Item = (props: IDropItem) => {\n const {\n more,\n moreProps,\n onClick,\n ref: itemRef,\n children,\n ...restProps\n } = props;\n const close = useContext(DropdownCloseCtx);\n const liRef = useRef<HTMLLIElement>(null);\n const [position, setPosition] = useState<\"left\" | \"right\">(\"right\");\n\n const {\n position: morePosition,\n onVisibleChange: moreOnVisibleChange,\n width: moreWidth,\n ...restMoreProps\n } = moreProps ?? {};\n const effectivePosition = morePosition ?? position;\n\n const handleVisibleChange = (v: boolean) => {\n if (v && liRef.current) {\n const rect = liRef.current.getBoundingClientRect();\n setPosition(rect.left > window.innerWidth / 2 ? \"left\" : \"right\");\n }\n moreOnVisibleChange?.(v);\n };\n\n const Li = (\n <ListItem\n ref={itemRef ?? liRef}\n onClick={(e) => {\n e.stopPropagation();\n if (!more) close?.();\n onClick?.(e);\n }}\n {...restProps}\n >\n {children}\n </ListItem>\n );\n\n if (!more) return Li;\n\n return (\n <Popup\n {...restMoreProps}\n position={effectivePosition}\n touchable\n arrow={false}\n align=\"start\"\n offset={11}\n hideDelay={240}\n onVisibleChange={handleVisibleChange}\n content={\n <List\n className=\"i-dropdown-content\"\n style={{ minWidth: moreWidth }}\n onClick={(e) => e.stopPropagation()}\n >\n {more}\n </List>\n }\n >\n {Li}\n </Popup>\n );\n};\n\nexport default Item;\n"],"names":["List","useContext","DropdownCloseCtx","useRef","useState","_jsx","Popup"],"mappings":";;;;;;;;;;AAMA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAGA,YAAI;AAE/B,MAAM,IAAI,GAAG,CAAC,KAAgB,KAAI;AAC9B,IAAA,MAAM,EACF,IAAI,EACJ,SAAS,EACT,OAAO,EACP,GAAG,EAAE,OAAO,EACZ,QAAQ,EACR,GAAG,SAAS,EACf,GAAG,KAAK;AACT,IAAA,MAAM,KAAK,GAAGC,gBAAU,CAACC,yBAAgB,CAAC;AAC1C,IAAA,MAAM,KAAK,GAAGC,YAAM,CAAgB,IAAI,CAAC;IACzC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGC,cAAQ,CAAmB,OAAO,CAAC;IAEnE,MAAM,EACF,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,mBAAmB,EACpC,KAAK,EAAE,SAAS,EAChB,GAAG,aAAa,EACnB,GAAG,SAAS,IAAI,EAAE;AACnB,IAAA,MAAM,iBAAiB,GAAG,YAAY,IAAI,QAAQ;AAElD,IAAA,MAAM,mBAAmB,GAAG,CAAC,CAAU,KAAI;AACvC,QAAA,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE;YACpB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE;AAClD,YAAA,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC;QACrE;AACA,QAAA,mBAAmB,GAAG,CAAC,CAAC;AAC5B,IAAA,CAAC;AAED,IAAA,MAAM,EAAE,IACJC,cAAA,CAAC,QAAQ,IACL,GAAG,EAAE,OAAO,IAAI,KAAK,EACrB,OAAO,EAAE,CAAC,CAAC,KAAI;YACX,CAAC,CAAC,eAAe,EAAE;AACnB,YAAA,IAAI,CAAC,IAAI;gBAAE,KAAK,IAAI;AACpB,YAAA,OAAO,GAAG,CAAC,CAAC;AAChB,QAAA,CAAC,KACG,SAAS,EAAA,QAAA,EAEZ,QAAQ,EAAA,CACF,CACd;AAED,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,EAAE;AAEpB,IAAA,QACIA,cAAA,CAACC,aAAK,EAAA,EAAA,GACE,aAAa,EACjB,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAA,IAAA,EACT,KAAK,EAAE,KAAK,EACZ,KAAK,EAAC,OAAO,EACb,MAAM,EAAE,EAAE,EACV,SAAS,EAAE,GAAG,EACd,eAAe,EAAE,mBAAmB,EACpC,OAAO,EACHD,cAAA,CAACL,YAAI,EAAA,EACD,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAC9B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,EAAA,QAAA,EAElC,IAAI,EAAA,CACF,EAAA,QAAA,EAGV,EAAE,EAAA,CACC;AAEhB;;;;"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var material = require('@ricons/material');
|
|
7
|
-
var button = require('../button/button.js');
|
|
8
|
-
var icon = require('../icon/icon.js');
|
|
9
|
-
|
|
10
|
-
const exec = (a, b, c) => {
|
|
11
|
-
if (typeof document === "undefined")
|
|
12
|
-
return;
|
|
13
|
-
return document.execCommand(a, b, c);
|
|
14
|
-
};
|
|
15
|
-
const escapeHtmlAttr = (value) => value
|
|
16
|
-
.replaceAll("&", "&")
|
|
17
|
-
.replaceAll('"', """)
|
|
18
|
-
.replaceAll("<", "<")
|
|
19
|
-
.replaceAll(">", ">");
|
|
20
|
-
const xssOptions = {
|
|
21
|
-
onIgnoreTagAttr(tag, name, value) {
|
|
22
|
-
if (["class", "contenteditable"].includes(name)) {
|
|
23
|
-
return name + '="' + escapeHtmlAttr(value) + '"';
|
|
24
|
-
}
|
|
25
|
-
if (["data-", "style"].includes(name.substring(0, 5))) {
|
|
26
|
-
return name + '="' + escapeHtmlAttr(value) + '"';
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
const handleMouseDown = (e) => {
|
|
31
|
-
e.preventDefault();
|
|
32
|
-
};
|
|
33
|
-
const defaultControls = [
|
|
34
|
-
{ key: "undo", icon: jsxRuntime.jsx(material.UndoRound, {}), onClick: () => exec("undo") },
|
|
35
|
-
{ key: "redo", icon: jsxRuntime.jsx(material.RedoRound, {}), onClick: () => exec("redo") },
|
|
36
|
-
{ key: "bold", icon: jsxRuntime.jsx(material.FormatBoldRound, {}), onClick: () => exec("bold") },
|
|
37
|
-
{ key: "italic", icon: jsxRuntime.jsx(material.FormatItalicRound, {}), onClick: () => exec("italic") },
|
|
38
|
-
{
|
|
39
|
-
key: "underline",
|
|
40
|
-
icon: jsxRuntime.jsx(material.FormatUnderlinedRound, {}),
|
|
41
|
-
onClick: () => exec("underline"),
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
key: "strike",
|
|
45
|
-
icon: jsxRuntime.jsx(material.StrikethroughSRound, {}),
|
|
46
|
-
onClick: () => exec("strikeThrough"),
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
key: "clear",
|
|
50
|
-
icon: jsxRuntime.jsx(material.ClearAllRound, {}),
|
|
51
|
-
onClick: () => exec("removeFormat"),
|
|
52
|
-
},
|
|
53
|
-
];
|
|
54
|
-
function getControls(options) {
|
|
55
|
-
const { controlBtnProps, addtionControls, getSelection } = options;
|
|
56
|
-
const controls = defaultControls.map(({ key, icon: icon$1, onClick }) => (jsxRuntime.jsx(button.default, { ...controlBtnProps, onMouseDown: handleMouseDown, onClick: onClick, children: jsxRuntime.jsx(icon.default, { icon: icon$1 }) }, key)));
|
|
57
|
-
const extControls = (addtionControls ?? []).map((item, index) => (jsxRuntime.jsx(button.default, { ...controlBtnProps, onMouseDown: handleMouseDown, onClick: (e) => item.onClick?.(getSelection(), e), children: item.icon }, `addtion-${index}`)));
|
|
58
|
-
return [...controls, ...extControls];
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
exports.default = getControls;
|
|
62
|
-
exports.exec = exec;
|
|
63
|
-
exports.xssOptions = xssOptions;
|
|
64
|
-
//# sourceMappingURL=controls.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"controls.js","sources":["../../../../packages/components/editor/controls.tsx"],"sourcesContent":["import {\n ClearAllRound,\n FormatBoldRound,\n FormatItalicRound,\n FormatUnderlinedRound,\n RedoRound,\n StrikethroughSRound,\n UndoRound,\n} from \"@ricons/material\";\nimport { MouseEvent, ReactNode } from \"react\";\nimport { type IFilterXSSOptions } from \"xss\";\nimport Button from \"../button\";\nimport { IButton } from \"../button/type\";\nimport Icon from \"../icon\";\nimport { IEditorAddtionControl } from \"./type\";\n\nexport const exec = (a, b?, c?) => {\n if (typeof document === \"undefined\") return;\n return document.execCommand(a, b, c);\n};\n\nconst escapeHtmlAttr = (value: string) =>\n value\n .replaceAll(\"&\", \"&\")\n .replaceAll('\"', \""\")\n .replaceAll(\"<\", \"<\")\n .replaceAll(\">\", \">\");\n\nexport const xssOptions: IFilterXSSOptions = {\n onIgnoreTagAttr(tag, name, value) {\n if ([\"class\", \"contenteditable\"].includes(name)) {\n return name + '=\"' + escapeHtmlAttr(value) + '\"';\n }\n if ([\"data-\", \"style\"].includes(name.substring(0, 5))) {\n return name + '=\"' + escapeHtmlAttr(value) + '\"';\n }\n },\n};\n\nconst handleMouseDown = (e: MouseEvent<HTMLElement>) => {\n e.preventDefault();\n};\n\ntype ControlItem = {\n key: string;\n icon: ReactNode;\n onClick: () => void;\n};\n\nconst defaultControls: ControlItem[] = [\n { key: \"undo\", icon: <UndoRound />, onClick: () => exec(\"undo\") },\n { key: \"redo\", icon: <RedoRound />, onClick: () => exec(\"redo\") },\n { key: \"bold\", icon: <FormatBoldRound />, onClick: () => exec(\"bold\") },\n { key: \"italic\", icon: <FormatItalicRound />, onClick: () => exec(\"italic\") },\n {\n key: \"underline\",\n icon: <FormatUnderlinedRound />,\n onClick: () => exec(\"underline\"),\n },\n {\n key: \"strike\",\n icon: <StrikethroughSRound />,\n onClick: () => exec(\"strikeThrough\"),\n },\n {\n key: \"clear\",\n icon: <ClearAllRound />,\n onClick: () => exec(\"removeFormat\"),\n },\n];\n\nexport default function getControls(options: {\n controlBtnProps: IButton;\n addtionControls?: IEditorAddtionControl[];\n getSelection: () => Range | null;\n}) {\n const { controlBtnProps, addtionControls, getSelection } = options;\n\n const controls = defaultControls.map(({ key, icon, onClick }) => (\n <Button\n key={key}\n {...controlBtnProps}\n onMouseDown={handleMouseDown}\n onClick={onClick}\n >\n <Icon icon={icon} />\n </Button>\n ));\n\n const extControls = (addtionControls ?? []).map((item, index) => (\n <Button\n key={`addtion-${index}`}\n {...controlBtnProps}\n onMouseDown={handleMouseDown}\n onClick={(e) => item.onClick?.(getSelection(), e)}\n >\n {item.icon}\n </Button>\n ));\n\n return [...controls, ...extControls];\n}\n"],"names":["_jsx","UndoRound","RedoRound","FormatBoldRound","FormatItalicRound","FormatUnderlinedRound","StrikethroughSRound","ClearAllRound","icon","Button","Icon"],"mappings":"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"}
|
|
@@ -1,287 +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 xss = require('xss');
|
|
9
|
-
var controls = require('./controls.js');
|
|
10
|
-
var memtion = require('./memtion.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
|
-
var xss__default = /*#__PURE__*/_interopDefaultCompat(xss);
|
|
16
|
-
|
|
17
|
-
const controlBtnProps = {
|
|
18
|
-
square: true,
|
|
19
|
-
flat: true,
|
|
20
|
-
size: "small",
|
|
21
|
-
};
|
|
22
|
-
const Editor = (props) => {
|
|
23
|
-
const { ref, value = "", width, height = "10em", placeholder, autosize, border = true, mode = "rich", hideControl, addtionControls, memtion: memtion$1, className, style, onChange, onEnter, onFocus, onBlur, onPaste, onMouseUp, onKeyUp, onKeyDown, ...restProps } = props;
|
|
24
|
-
const editorRef = react.useRef(null);
|
|
25
|
-
const selectionRef = react.useRef(null);
|
|
26
|
-
const memtionTriggerRangeRef = react.useRef(null);
|
|
27
|
-
const pendingMemtionRef = react.useRef(false);
|
|
28
|
-
const isPlaintextMode = mode === "plaintext";
|
|
29
|
-
const isRichMode = mode === "rich";
|
|
30
|
-
const isPlaintextOnMemtionMode = mode === "plaintextOnMemtion";
|
|
31
|
-
const [memtionVisible, setMemtionVisible] = react.useState(false);
|
|
32
|
-
const [memtionRect, setMemtionRect] = react.useState(null);
|
|
33
|
-
const [memtionKeyword, setMemtionKeyword] = react.useState("");
|
|
34
|
-
const [memtionActiveIndex, setMemtionActiveIndex] = react.useState(0);
|
|
35
|
-
const [activeMemtionIndex, setActiveMemtionIndex] = react.useState(-1);
|
|
36
|
-
const activeMemtionIndexRef = react.useRef(-1);
|
|
37
|
-
const memtionOptions = react.useMemo(() => {
|
|
38
|
-
if (activeMemtionIndex < 0 || !memtion$1?.length)
|
|
39
|
-
return [];
|
|
40
|
-
const active = memtion$1?.[activeMemtionIndex];
|
|
41
|
-
return memtion.filterMemtionOptions(active?.options ?? [], memtionKeyword);
|
|
42
|
-
}, [memtion$1, memtionKeyword, activeMemtionIndex]);
|
|
43
|
-
const sanitizeValue = (nextValue) => {
|
|
44
|
-
if (isPlaintextMode) {
|
|
45
|
-
return nextValue === "\n" ? "" : nextValue;
|
|
46
|
-
}
|
|
47
|
-
const safeHtml = isPlaintextOnMemtionMode
|
|
48
|
-
? memtion.sanitizePlaintextOnMemtionHtml(xss__default(nextValue, controls.xssOptions))
|
|
49
|
-
: xss__default(nextValue, controls.xssOptions);
|
|
50
|
-
return safeHtml === "<br>" ? "" : safeHtml;
|
|
51
|
-
};
|
|
52
|
-
const syncHeight = () => {
|
|
53
|
-
if (autosize && editorRef.current) {
|
|
54
|
-
editorRef.current.style.height = `${editorRef.current.scrollHeight}px`;
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
const rememberSelection = () => {
|
|
58
|
-
if (!editorRef.current)
|
|
59
|
-
return;
|
|
60
|
-
const selection = window.getSelection();
|
|
61
|
-
if (!selection?.rangeCount)
|
|
62
|
-
return;
|
|
63
|
-
const range = selection.getRangeAt(0);
|
|
64
|
-
const container = range.commonAncestorContainer;
|
|
65
|
-
const parent = container.nodeType === Node.ELEMENT_NODE
|
|
66
|
-
? container
|
|
67
|
-
: container.parentElement;
|
|
68
|
-
if (!parent || !editorRef.current.contains(parent))
|
|
69
|
-
return;
|
|
70
|
-
selectionRef.current = range.cloneRange();
|
|
71
|
-
};
|
|
72
|
-
const setEditorValue = (nextValue) => {
|
|
73
|
-
if (!editorRef.current)
|
|
74
|
-
return;
|
|
75
|
-
const safeValue = sanitizeValue(nextValue);
|
|
76
|
-
if (isPlaintextMode) {
|
|
77
|
-
editorRef.current.textContent = safeValue;
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
editorRef.current.innerHTML = safeValue;
|
|
81
|
-
};
|
|
82
|
-
const getEditorValue = (sanitize = false) => {
|
|
83
|
-
const nextValue = !editorRef.current
|
|
84
|
-
? ""
|
|
85
|
-
: isPlaintextMode
|
|
86
|
-
? (editorRef.current.textContent ?? "")
|
|
87
|
-
: editorRef.current.innerHTML;
|
|
88
|
-
return sanitize ? sanitizeValue(nextValue) : nextValue;
|
|
89
|
-
};
|
|
90
|
-
const hideMemtion = () => {
|
|
91
|
-
pendingMemtionRef.current = false;
|
|
92
|
-
memtionTriggerRangeRef.current = null;
|
|
93
|
-
setMemtionVisible(false);
|
|
94
|
-
setMemtionRect(null);
|
|
95
|
-
setMemtionKeyword("");
|
|
96
|
-
setMemtionActiveIndex(0);
|
|
97
|
-
setActiveMemtionIndex(-1);
|
|
98
|
-
};
|
|
99
|
-
const syncEditorState = () => {
|
|
100
|
-
selectionRef.current = null;
|
|
101
|
-
hideMemtion();
|
|
102
|
-
};
|
|
103
|
-
const insertMemtion = (option) => {
|
|
104
|
-
const activeMemtion = memtion$1?.[activeMemtionIndex];
|
|
105
|
-
const replaceRange = memtion.getMemtionReplaceRange(memtionTriggerRangeRef.current, selectionRef.current);
|
|
106
|
-
const range = memtion.insertMemtionOption({
|
|
107
|
-
editor: editorRef.current,
|
|
108
|
-
range: replaceRange,
|
|
109
|
-
mode,
|
|
110
|
-
memtion: activeMemtion,
|
|
111
|
-
option,
|
|
112
|
-
sanitizeValue,
|
|
113
|
-
});
|
|
114
|
-
if (!range || !editorRef.current)
|
|
115
|
-
return;
|
|
116
|
-
selectionRef.current = range.cloneRange();
|
|
117
|
-
hideMemtion();
|
|
118
|
-
editorRef.current.dispatchEvent(new Event("input", { bubbles: true }));
|
|
119
|
-
};
|
|
120
|
-
const handlePaste = (e) => {
|
|
121
|
-
onPaste?.(e);
|
|
122
|
-
if (e.defaultPrevented)
|
|
123
|
-
return;
|
|
124
|
-
e.preventDefault();
|
|
125
|
-
const html = e.clipboardData.getData("text/html");
|
|
126
|
-
const text = e.clipboardData.getData("text/plain");
|
|
127
|
-
const pasteValue = isPlaintextMode
|
|
128
|
-
? text
|
|
129
|
-
: html
|
|
130
|
-
? sanitizeValue(html)
|
|
131
|
-
: text;
|
|
132
|
-
controls.exec(isPlaintextMode ? "insertText" : "insertHTML", false, pasteValue);
|
|
133
|
-
};
|
|
134
|
-
const handleKeyDown = (e) => {
|
|
135
|
-
onKeyDown?.(e);
|
|
136
|
-
if (e.defaultPrevented)
|
|
137
|
-
return;
|
|
138
|
-
if (!isPlaintextMode &&
|
|
139
|
-
(e.key === "Backspace" || e.key === "Delete") &&
|
|
140
|
-
memtion.removeAdjacentMemtionTag(editorRef.current, e.key)) {
|
|
141
|
-
e.preventDefault();
|
|
142
|
-
rememberSelection();
|
|
143
|
-
editorRef.current?.dispatchEvent(new Event("input", { bubbles: true }));
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
if (memtionVisible && e.key === " ") {
|
|
147
|
-
hideMemtion();
|
|
148
|
-
}
|
|
149
|
-
if (memtionVisible && memtionOptions.length) {
|
|
150
|
-
switch (e.key) {
|
|
151
|
-
case "ArrowDown":
|
|
152
|
-
e.preventDefault();
|
|
153
|
-
setMemtionActiveIndex((index) => index + 1 >= memtionOptions.length ? 0 : index + 1);
|
|
154
|
-
return;
|
|
155
|
-
case "ArrowUp":
|
|
156
|
-
e.preventDefault();
|
|
157
|
-
setMemtionActiveIndex((index) => index - 1 < 0 ? memtionOptions.length - 1 : index - 1);
|
|
158
|
-
return;
|
|
159
|
-
case "Enter":
|
|
160
|
-
e.preventDefault();
|
|
161
|
-
insertMemtion(memtionOptions[memtionActiveIndex]);
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
if (memtion$1?.length) {
|
|
166
|
-
const matchedIndex = memtion$1.findIndex((m) => e.key === m.key);
|
|
167
|
-
if (matchedIndex >= 0) {
|
|
168
|
-
rememberSelection();
|
|
169
|
-
memtionTriggerRangeRef.current =
|
|
170
|
-
selectionRef.current?.cloneRange() ?? null;
|
|
171
|
-
pendingMemtionRef.current = true;
|
|
172
|
-
activeMemtionIndexRef.current = matchedIndex;
|
|
173
|
-
setActiveMemtionIndex(matchedIndex);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
switch (e.key) {
|
|
177
|
-
case "Tab":
|
|
178
|
-
e.preventDefault();
|
|
179
|
-
controls.exec(isRichMode ? "insertHTML" : "insertText", false, isRichMode ? "	" : "\t");
|
|
180
|
-
break;
|
|
181
|
-
case "Enter":
|
|
182
|
-
if (e.shiftKey) {
|
|
183
|
-
break;
|
|
184
|
-
}
|
|
185
|
-
if (!onEnter)
|
|
186
|
-
break;
|
|
187
|
-
e.preventDefault();
|
|
188
|
-
onEnter(e);
|
|
189
|
-
break;
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
|
-
react.useEffect(() => {
|
|
193
|
-
if (!editorRef.current)
|
|
194
|
-
return;
|
|
195
|
-
const nextValue = sanitizeValue(value);
|
|
196
|
-
if (getEditorValue(true) === nextValue)
|
|
197
|
-
return;
|
|
198
|
-
setEditorValue(nextValue);
|
|
199
|
-
syncEditorState();
|
|
200
|
-
syncHeight();
|
|
201
|
-
}, [autosize, mode, value]);
|
|
202
|
-
react.useEffect(() => {
|
|
203
|
-
if (!memtionOptions.length) {
|
|
204
|
-
setMemtionActiveIndex(0);
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
setMemtionActiveIndex((index) => index >= memtionOptions.length ? 0 : index);
|
|
208
|
-
}, [memtionOptions]);
|
|
209
|
-
const handleInput = (e) => {
|
|
210
|
-
const rawValue = getEditorValue();
|
|
211
|
-
let nextValue = sanitizeValue(rawValue);
|
|
212
|
-
if (isPlaintextOnMemtionMode &&
|
|
213
|
-
rawValue !== nextValue &&
|
|
214
|
-
editorRef.current) {
|
|
215
|
-
setEditorValue(nextValue);
|
|
216
|
-
}
|
|
217
|
-
if (!nextValue && rawValue && editorRef.current) {
|
|
218
|
-
nextValue = "";
|
|
219
|
-
setEditorValue(nextValue);
|
|
220
|
-
}
|
|
221
|
-
rememberSelection();
|
|
222
|
-
if (activeMemtionIndexRef.current >= 0 && (pendingMemtionRef.current || memtionVisible)) {
|
|
223
|
-
const active = memtion$1?.[activeMemtionIndexRef.current];
|
|
224
|
-
if (!active) {
|
|
225
|
-
hideMemtion();
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
const memtionKey = active.key ?? "@";
|
|
229
|
-
const memtionText = memtion.getMemtionText(memtionTriggerRangeRef.current, selectionRef.current);
|
|
230
|
-
if (!memtionText.startsWith(memtionKey) || /\s/.test(memtionText)) {
|
|
231
|
-
hideMemtion();
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
const keyword = memtionText.slice(memtionKey.length);
|
|
235
|
-
pendingMemtionRef.current = false;
|
|
236
|
-
setMemtionRect(memtion.getSelectionRect(selectionRef.current));
|
|
237
|
-
setMemtionKeyword(keyword);
|
|
238
|
-
setMemtionActiveIndex(0);
|
|
239
|
-
setMemtionVisible(true);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
syncHeight();
|
|
243
|
-
onChange?.(nextValue, e);
|
|
244
|
-
};
|
|
245
|
-
const handleFocus = (e) => {
|
|
246
|
-
rememberSelection();
|
|
247
|
-
onFocus?.(e);
|
|
248
|
-
};
|
|
249
|
-
const handleBlur = (e) => {
|
|
250
|
-
hideMemtion();
|
|
251
|
-
onBlur?.(e);
|
|
252
|
-
};
|
|
253
|
-
const handleMouseUp = (e) => {
|
|
254
|
-
rememberSelection();
|
|
255
|
-
onMouseUp?.(e);
|
|
256
|
-
};
|
|
257
|
-
const handleKeyUp = (e) => {
|
|
258
|
-
rememberSelection();
|
|
259
|
-
onKeyUp?.(e);
|
|
260
|
-
};
|
|
261
|
-
const handleRef = (node) => {
|
|
262
|
-
editorRef.current = node;
|
|
263
|
-
if (typeof ref === "function") {
|
|
264
|
-
ref(node);
|
|
265
|
-
return;
|
|
266
|
-
}
|
|
267
|
-
if (ref) {
|
|
268
|
-
ref.current = node;
|
|
269
|
-
}
|
|
270
|
-
};
|
|
271
|
-
const getSelection = react.useCallback(() => selectionRef.current?.cloneRange() ?? null, []);
|
|
272
|
-
const controls$1 = react.useMemo(() => controls.default({
|
|
273
|
-
controlBtnProps,
|
|
274
|
-
addtionControls,
|
|
275
|
-
getSelection,
|
|
276
|
-
}), [addtionControls, getSelection]);
|
|
277
|
-
return (jsxRuntime.jsxs("div", { className: classNames__default("i-editor", className, {
|
|
278
|
-
"i-editor-borderless": !border,
|
|
279
|
-
}), style: {
|
|
280
|
-
...style,
|
|
281
|
-
[autosize ? "minHeight" : "height"]: height,
|
|
282
|
-
width,
|
|
283
|
-
}, children: [!hideControl && (jsxRuntime.jsx("div", { className: "i-editor-controls", children: controls$1 })), memtion$1?.length && (jsxRuntime.jsx(memtion.default, { visible: memtionVisible, rect: memtionRect, options: memtionOptions, activeIndex: memtionActiveIndex, onActiveChange: setMemtionActiveIndex, onSelect: insertMemtion })), jsxRuntime.jsx("div", { ref: handleRef, className: "i-editor-content", "data-placeholder": placeholder, contentEditable: isPlaintextMode ? "plaintext-only" : true, onFocus: handleFocus, onBlur: handleBlur, onMouseUp: handleMouseUp, onPaste: handlePaste, onInput: handleInput, onKeyUp: handleKeyUp, onKeyDown: handleKeyDown, ...restProps })] }));
|
|
284
|
-
};
|
|
285
|
-
|
|
286
|
-
exports.default = Editor;
|
|
287
|
-
//# sourceMappingURL=editor.js.map
|