@type-dom/ui 0.1.1 → 0.1.3
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/README.md +134 -44
- package/package.json +12 -2
- package/src/components/base/style/css.d.ts +1 -1
- package/src/components/base/style/css.js +1 -1
- package/src/components/basic/index.d.ts +0 -1
- package/src/components/basic/index.js +1 -3
- package/src/components/basic/td-button/style/index.d.ts +1 -1
- package/src/components/basic/td-button/style/index.js +1 -1
- package/src/components/basic/td-button/td-button.abstract.js +8 -9
- package/src/components/basic/td-button/td-button.interface.d.ts +2 -1
- package/src/components/basic/td-button/td-button.stories.d.ts +4 -0
- package/src/components/basic/td-button/td-button.stories.js +15 -0
- package/src/components/basic/td-button/use-button.d.ts +2 -2
- package/src/components/basic/td-button/use-button.js +2 -2
- package/src/components/basic/td-button-group/td-button-group.class.d.ts +3 -3
- package/src/components/basic/td-button-group/td-button-group.class.js +2 -2
- package/src/components/basic/td-button-group/td-button-group.interface.d.ts +2 -2
- package/src/components/basic/td-container/style/css.d.ts +1 -1
- package/src/components/basic/td-container/style/css.js +1 -1
- package/src/components/basic/td-container/td-aside/style/css.d.ts +1 -1
- package/src/components/basic/td-container/td-aside/style/css.js +1 -1
- package/src/components/basic/td-container/td-aside/style/index.d.ts +1 -1
- package/src/components/basic/td-container/td-aside/style/index.js +1 -1
- package/src/components/basic/td-container/td-aside/td-aside.class.js +7 -6
- package/src/components/basic/td-container/td-container.class.d.ts +1 -5
- package/src/components/basic/td-container/td-container.class.js +5 -7
- package/src/components/basic/td-container/td-container.js +2 -2
- package/src/components/basic/td-container/td-footer/style/css.d.ts +1 -1
- package/src/components/basic/td-container/td-footer/style/css.js +1 -1
- package/src/components/basic/td-container/td-footer/style/index.d.ts +1 -1
- package/src/components/basic/td-container/td-footer/style/index.js +1 -1
- package/src/components/basic/td-container/td-header/style/css.d.ts +1 -1
- package/src/components/basic/td-container/td-header/style/css.js +1 -1
- package/src/components/basic/td-container/td-header/style/index.d.ts +1 -1
- package/src/components/basic/td-container/td-header/style/index.js +1 -1
- package/src/components/basic/td-container/td-header/td-header.class.js +1 -1
- package/src/components/basic/td-container/td-main/style/css.d.ts +1 -1
- package/src/components/basic/td-container/td-main/style/css.js +1 -1
- package/src/components/basic/td-container/td-main/style/index.d.ts +1 -1
- package/src/components/basic/td-container/td-main/style/index.js +1 -1
- package/src/components/basic/td-icon/td-icon.class.js +1 -1
- package/src/components/basic/td-layout/td-col/style/css.d.ts +1 -1
- package/src/components/basic/td-layout/td-col/style/css.js +1 -1
- package/src/components/basic/td-layout/td-col/td-col.class.js +1 -1
- package/src/components/basic/td-layout/td-row/style/css.d.ts +1 -1
- package/src/components/basic/td-layout/td-row/style/css.js +1 -1
- package/src/components/basic/td-scrollbar/bar/bar.class.d.ts +9 -16
- package/src/components/basic/td-scrollbar/bar/bar.class.js +51 -48
- package/src/components/basic/td-scrollbar/bar/bar.const.d.ts +2 -2
- package/src/components/basic/td-scrollbar/bar/bar.const.js +1 -1
- package/src/components/basic/td-scrollbar/bar/bar.interface.d.ts +3 -3
- package/src/components/basic/td-scrollbar/style/css.d.ts +1 -1
- package/src/components/basic/td-scrollbar/style/css.js +1 -1
- package/src/components/basic/td-scrollbar/td-scrollbar.class.d.ts +8 -10
- package/src/components/basic/td-scrollbar/td-scrollbar.class.js +145 -110
- package/src/components/basic/td-scrollbar/td-scrollbar.const.d.ts +2 -2
- package/src/components/basic/td-scrollbar/td-scrollbar.interface.d.ts +14 -6
- package/src/components/basic/td-scrollbar/thumb/thumb.class.d.ts +5 -7
- package/src/components/basic/td-scrollbar/thumb/thumb.class.js +85 -95
- package/src/components/basic/td-scrollbar/thumb/thumb.interface.d.ts +7 -6
- package/src/components/basic/td-scrollbar/util.d.ts +2 -2
- package/src/components/basic/td-scrollbar/util.js +11 -4
- package/src/components/basic/td-space/style/css.d.ts +1 -1
- package/src/components/basic/td-space/style/css.js +1 -1
- package/src/components/basic/td-space/td-space.class.js +6 -5
- package/src/components/basic/td-space/td-space.interface.d.ts +1 -2
- package/src/components/basic/td-space/use-space.d.ts +2 -2
- package/src/components/basic/td-space/use-space.js +7 -3
- package/src/components/basic/td-text/td-text.class.js +1 -1
- package/src/components/configuration/td-config-provider/hooks/use-global-config.d.ts +1 -1
- package/src/components/configuration/td-config-provider/hooks/use-global-config.js +8 -5
- package/src/components/configuration/td-config-provider/style/css.d.ts +1 -1
- package/src/components/configuration/td-config-provider/style/css.js +1 -1
- package/src/components/data/index.d.ts +4 -0
- package/src/components/data/index.js +5 -1
- package/src/components/data/td-avatar/td-avatar.class.js +3 -2
- package/src/components/data/td-badge/td-badge.class.js +1 -1
- package/src/components/data/td-card/style/css.d.ts +1 -1
- package/src/components/data/td-card/style/css.js +1 -1
- package/src/components/data/td-carousel/style/css.d.ts +1 -1
- package/src/components/data/td-carousel/style/css.js +1 -1
- package/src/components/data/td-carousel/td-carousel-item.class.js +1 -1
- package/src/components/data/td-carousel/use-carousel-item.d.ts +1 -1
- package/src/components/data/td-carousel/use-carousel.d.ts +2 -2
- package/src/components/data/td-check-tag/style/css.d.ts +1 -1
- package/src/components/data/td-check-tag/style/css.js +1 -1
- package/src/components/data/td-collapse/style/css.d.ts +1 -1
- package/src/components/data/td-collapse/style/css.js +1 -1
- package/src/components/data/td-collapse/td-collapse.class.js +1 -1
- package/src/components/data/td-collapse/td-collapse.interface.d.ts +2 -0
- package/src/components/data/td-collapse/use-collapse-item.js +2 -2
- package/src/components/data/td-collapse/use-collapse.d.ts +2 -2
- package/src/components/data/td-collapse/use-collapse.js +1 -1
- package/src/components/data/td-collapse-item/style/css.d.ts +1 -1
- package/src/components/data/td-collapse-item/style/css.js +1 -1
- package/src/components/data/td-collapse-item/td-collapse-item.class.js +2 -2
- package/src/components/data/td-collapse-transition/style/css.d.ts +1 -1
- package/src/components/data/td-collapse-transition/style/css.js +1 -1
- package/src/components/data/td-count-down/style/css.d.ts +1 -1
- package/src/components/data/td-count-down/style/css.js +1 -1
- package/src/components/data/td-count-down/td-count-down.class.d.ts +1 -1
- package/src/components/data/td-count-down/td-count-down.class.js +5 -4
- package/src/components/data/td-descriptions/style/css.d.ts +2 -2
- package/src/components/data/td-descriptions/style/css.js +2 -2
- package/src/components/data/td-descriptions-item/style/css.d.ts +1 -1
- package/src/components/data/td-descriptions-item/style/css.js +1 -1
- package/src/components/data/td-empty/img-empty.class.js +0 -15
- package/src/components/data/td-empty/style/css.d.ts +1 -1
- package/src/components/data/td-empty/style/css.js +1 -1
- package/src/components/data/td-empty/td-empty.class.js +5 -5
- package/src/components/data/td-image/style/css.d.ts +2 -2
- package/src/components/data/td-image/style/css.js +2 -2
- package/src/components/data/td-image/td-image.class.js +93 -143
- package/src/components/data/td-image/td-image.const.js +4 -2
- package/src/components/data/td-image/td-image.interface.d.ts +5 -0
- package/src/components/data/td-image-viewer/style/css.d.ts +1 -1
- package/src/components/data/td-image-viewer/style/css.js +1 -1
- package/src/components/data/td-image-viewer/td-image-viewer.class.js +80 -28
- package/src/components/data/td-image-viewer/td-image-viewer.const.js +2 -0
- package/src/components/data/td-image-viewer/td-image-viewer.interface.d.ts +10 -1
- package/src/components/data/td-pagination/style/css.d.ts +1 -1
- package/src/components/data/td-pagination/style/css.js +1 -1
- package/src/components/data/td-pagination/td-pagination.class.js +29 -35
- package/src/components/data/td-progress/style/css.d.ts +1 -1
- package/src/components/data/td-progress/style/css.js +1 -1
- package/src/components/data/td-progress/td-progress.class.d.ts +1 -0
- package/src/components/data/td-progress/td-progress.class.js +38 -31
- package/src/components/data/td-progress/td-progress.interface.d.ts +1 -1
- package/src/components/data/td-result/style/css.d.ts +1 -1
- package/src/components/data/td-result/style/css.js +1 -1
- package/src/components/data/td-segmented/style/css.d.ts +1 -1
- package/src/components/data/td-segmented/style/css.js +1 -1
- package/src/components/data/td-segmented/td-segmented.class.js +51 -54
- package/src/components/data/td-segmented/td-segmented.const.d.ts +2 -1
- package/src/components/data/td-segmented/td-segmented.const.js +6 -1
- package/src/components/data/td-segmented/td-segmented.interface.d.ts +17 -3
- package/src/components/data/td-statistic/style/css.d.ts +1 -1
- package/src/components/data/td-statistic/style/css.js +1 -1
- package/src/components/data/td-statistic/td-statistic.class.d.ts +2 -1
- package/src/components/data/td-statistic/td-statistic.class.js +2 -2
- package/src/components/data/td-statistic/td-statistic.interface.d.ts +1 -1
- package/src/components/data/td-tag/style/css.d.ts +1 -1
- package/src/components/data/td-tag/style/css.js +1 -1
- package/src/components/data/td-tag/td-tag.style.js +3 -3
- package/src/components/feedback/index.d.ts +2 -0
- package/src/components/feedback/index.js +3 -1
- package/src/components/feedback/td-alert/td-alert.class.js +3 -3
- package/src/components/feedback/td-alert/td-alert.style.js +0 -2
- package/src/components/feedback/td-dialog/style/css.d.ts +1 -1
- package/src/components/feedback/td-dialog/style/css.js +1 -1
- package/src/components/feedback/td-dialog/td-dialog.class.js +3 -3
- package/src/components/feedback/td-dialog/use-dialog.js +1 -1
- package/src/components/feedback/td-dialog-content/td-dialog-content.class.js +4 -4
- package/src/components/feedback/td-dialog-content/td-dialog-content.interface.d.ts +2 -1
- package/src/components/feedback/td-focus-trap/td-focus-trap.class.js +5 -3
- package/src/components/feedback/td-focus-trap/td-focus-trap.interface.d.ts +1 -2
- package/src/components/feedback/td-focus-trap/utils.d.ts +1 -1
- package/src/components/feedback/td-loading/style/css.d.ts +1 -1
- package/src/components/feedback/td-loading/style/css.js +1 -1
- package/src/components/feedback/td-message/instance.js +3 -3
- package/src/components/feedback/td-message/method.js +4 -4
- package/src/components/feedback/td-message/style/css.d.ts +1 -1
- package/src/components/feedback/td-message/style/css.js +1 -1
- package/src/components/feedback/td-message/td-message.class.js +1 -1
- package/src/components/feedback/td-message-box/message-box.js +30 -5
- package/src/components/feedback/td-message-box/style/css.d.ts +1 -1
- package/src/components/feedback/td-message-box/style/css.js +1 -1
- package/src/components/feedback/td-message-box/td-message-box.class.js +3 -3
- package/src/components/feedback/td-message-box/td-message-box.interface.d.ts +2 -0
- package/src/components/feedback/td-notification/style/css.d.ts +1 -1
- package/src/components/feedback/td-notification/style/css.js +1 -1
- package/src/components/feedback/td-notification/td-notification.class.js +3 -3
- package/src/components/feedback/td-only-child/td-only-child.class.js +2 -2
- package/src/components/feedback/td-overlay/style/css.d.ts +1 -1
- package/src/components/feedback/td-overlay/style/css.js +1 -1
- package/src/components/feedback/td-overlay/td-overlay.interface.d.ts +2 -2
- package/src/components/feedback/td-popconfirm/style/css.d.ts +4 -0
- package/src/components/feedback/td-popconfirm/style/css.js +6 -0
- package/src/components/feedback/td-popconfirm/style/index.d.ts +4 -0
- package/src/components/feedback/td-popconfirm/style/index.js +6 -0
- package/src/components/feedback/td-popconfirm/td-popconfirm.class.d.ts +9 -0
- package/src/components/feedback/td-popconfirm/td-popconfirm.class.js +109 -0
- package/src/components/feedback/td-popconfirm/td-popconfirm.const.d.ts +12 -0
- package/src/components/feedback/td-popconfirm/td-popconfirm.const.js +24 -0
- package/src/components/feedback/td-popconfirm/td-popconfirm.interface.d.ts +68 -0
- package/src/components/feedback/td-popconfirm/td-popconfirm.interface.js +1 -0
- package/src/components/feedback/td-popover/style/css.d.ts +1 -1
- package/src/components/feedback/td-popover/style/css.js +1 -1
- package/src/components/feedback/td-popover/td-popover.class.d.ts +1 -2
- package/src/components/feedback/td-popover/td-popover.class.js +7 -5
- package/src/components/feedback/td-popover/td-popover.interface.d.ts +4 -0
- package/src/components/feedback/td-popper/arrow/arrow.class.js +2 -2
- package/src/components/feedback/td-popper/composable/use-content-dom.d.ts +14 -13
- package/src/components/feedback/td-popper/composable/use-content-dom.js +8 -1
- package/src/components/feedback/td-popper/composable/use-content.d.ts +8 -3
- package/src/components/feedback/td-popper/composable/use-content.js +21 -13
- package/src/components/feedback/td-popper/composable/use-focus-trap.d.ts +1 -1
- package/src/components/feedback/td-popper/composable/use-focus-trap.js +1 -1
- package/src/components/feedback/td-popper/content/content.class.d.ts +2 -2
- package/src/components/feedback/td-popper/content/content.class.js +13 -46
- package/src/components/feedback/td-popper/content/content.interface.d.ts +5 -6
- package/src/components/feedback/td-popper/style/css.d.ts +1 -1
- package/src/components/feedback/td-popper/style/css.js +1 -1
- package/src/components/feedback/td-popper/td-popper.interface.d.ts +2 -1
- package/src/components/feedback/td-popper/trigger/trigger.class.js +11 -6
- package/src/components/feedback/td-popper/utils.d.ts +2 -10
- package/src/components/feedback/td-popper/utils.js +6 -5
- package/src/components/feedback/td-tooltip/content/content.class.js +15 -9
- package/src/components/feedback/td-tooltip/content/content.interface.d.ts +2 -2
- package/src/components/feedback/td-tooltip/style/css.d.ts +1 -1
- package/src/components/feedback/td-tooltip/style/css.js +1 -1
- package/src/components/feedback/td-tooltip/td-tooltip.class.js +28 -31
- package/src/components/feedback/td-tooltip/td-tooltip.const.d.ts +26 -27
- package/src/components/feedback/td-tooltip/td-tooltip.const.js +1 -1
- package/src/components/feedback/td-tooltip/trigger/trigger.class.js +11 -8
- package/src/components/feedback/td-tooltip/trigger/trigger.interface.d.ts +1 -1
- package/src/components/feedback/td-tooltip/utils.d.ts +2 -1
- package/src/components/feedback/td-tooltip/utils.js +6 -5
- package/src/components/form/checkbox-group/checkbox-option/checkbox-option.class.js +7 -7
- package/src/components/form/index.d.ts +5 -2
- package/src/components/form/index.js +6 -3
- package/src/components/form/td-autocomplete/style/css.d.ts +1 -1
- package/src/components/form/td-autocomplete/style/css.js +1 -1
- package/src/components/form/td-checkbox/composables/use-checkbox-event.js +8 -7
- package/src/components/form/td-checkbox/composables/use-checkbox-model.d.ts +1 -1
- package/src/components/form/td-checkbox/composables/use-checkbox-model.js +24 -27
- package/src/components/form/td-checkbox/composables/use-checkbox-status.js +3 -2
- package/src/components/form/td-checkbox/composables/use-checkbox.d.ts +1 -1
- package/src/components/form/td-checkbox/composables/use-checkbox.js +6 -1
- package/src/components/form/td-checkbox/td-checkbox.class.js +23 -8
- package/src/components/form/td-checkbox-button/td-checkbox-button.class.js +10 -3
- package/src/components/form/td-checkbox-group/td-checkbox-group.class.js +10 -13
- package/src/components/form/td-date-picker/composables/use-range-picker.d.ts +2 -2
- package/src/components/form/td-date-picker/style/css.d.ts +1 -1
- package/src/components/form/td-date-picker/style/css.js +1 -1
- package/src/components/form/td-form/form-label-wrap/form-label-wrap.class.js +1 -1
- package/src/components/form/td-form/hooks/use-form-common-props.d.ts +2 -2
- package/src/components/form/td-form/hooks/use-form-common-props.js +2 -1
- package/src/components/form/td-form/hooks/use-form-item.d.ts +3 -3
- package/src/components/form/td-form/hooks/use-form-item.js +1 -1
- package/src/components/form/td-form/style/css.d.ts +1 -1
- package/src/components/form/td-form/style/css.js +1 -1
- package/src/components/form/td-form/td-form.interface.d.ts +1 -1
- package/src/components/form/td-form-item/style/css.d.ts +1 -1
- package/src/components/form/td-form-item/style/css.js +1 -1
- package/src/components/form/td-form-item/td-form-item.class.js +2 -2
- package/src/components/form/td-input/style/css.d.ts +1 -1
- package/src/components/form/td-input/style/css.js +1 -1
- package/src/components/form/td-input/td-input-field.class.js +1 -1
- package/src/components/form/td-input/td-input.class.js +60 -51
- package/src/components/form/td-input/td-input.interface.d.ts +3 -3
- package/src/components/form/td-input/{widget/utils.js → utils.js} +16 -11
- package/src/components/form/td-input-number/style/css.d.ts +1 -1
- package/src/components/form/td-input-number/style/css.js +1 -1
- package/src/components/form/td-input-number/td-input-number.class.d.ts +12 -0
- package/src/components/form/td-input-number/td-input-number.class.js +390 -0
- package/src/components/form/td-input-number/td-input-number.const.d.ts +9 -0
- package/src/components/form/td-input-number/td-input-number.const.js +22 -0
- package/src/components/form/td-input-number/td-input-number.interface.d.ts +73 -0
- package/src/components/form/td-input-number/td-input-number.interface.js +1 -0
- package/src/components/form/td-option/style/css.d.ts +1 -1
- package/src/components/form/td-option/style/css.js +1 -1
- package/src/components/form/td-option/td-option.class.d.ts +12 -3
- package/src/components/form/td-option/td-option.class.js +35 -31
- package/src/components/form/td-option/td-option.const.d.ts +1 -0
- package/src/components/form/td-option/td-option.const.js +3 -0
- package/src/components/form/td-option/td-option.interface.d.ts +13 -0
- package/src/components/form/td-option/useOption.d.ts +6 -5
- package/src/components/form/td-option/useOption.js +25 -20
- package/src/components/form/td-option-group/style/css.d.ts +1 -1
- package/src/components/form/td-option-group/style/css.js +1 -1
- package/src/components/form/td-option-group/td-option-group.class.js +2 -2
- package/src/components/form/td-radio/style/css.d.ts +1 -1
- package/src/components/form/td-radio/style/css.js +1 -1
- package/src/components/form/td-radio/td-radio.class.js +4 -3
- package/src/components/form/td-radio/use-radio.d.ts +3 -3
- package/src/components/form/td-radio/use-radio.js +13 -16
- package/src/components/form/td-radio-button/style/css.d.ts +1 -1
- package/src/components/form/td-radio-button/style/css.js +1 -1
- package/src/components/form/td-radio-button/td-radio-button.class.js +1 -1
- package/src/components/form/td-radio-group/style/css.d.ts +1 -1
- package/src/components/form/td-radio-group/style/css.js +1 -1
- package/src/components/form/td-radio-group/td-radio-group.class.js +5 -5
- package/src/components/form/td-rate/style/css.d.ts +1 -1
- package/src/components/form/td-rate/style/css.js +1 -1
- package/src/components/form/td-rate/td-rate.class.js +9 -10
- package/src/components/form/td-rate/td-rate.interface.d.ts +2 -1
- package/src/components/form/td-select/style/css.d.ts +7 -7
- package/src/components/form/td-select/style/css.js +7 -7
- package/src/components/form/td-select/td-options/td-options.class.d.ts +6 -0
- package/src/components/form/td-select/td-options/td-options.class.js +49 -0
- package/src/components/form/td-select/td-select-dropdown/td-select-dropdown.class.js +4 -4
- package/src/components/form/td-select/td-select.class.d.ts +1 -0
- package/src/components/form/td-select/td-select.class.js +178 -144
- package/src/components/form/td-select/td-select.const.d.ts +13 -0
- package/src/components/form/td-select/td-select.const.js +18 -1
- package/src/components/form/td-select/td-select.interface.d.ts +33 -12
- package/src/components/form/td-select/token.js +1 -1
- package/src/components/form/td-select/useSelect.d.ts +111 -64
- package/src/components/form/td-select/useSelect.js +225 -196
- package/src/components/form/td-slider/button/button.class.d.ts +10 -2
- package/src/components/form/td-slider/button/button.class.js +56 -14
- package/src/components/form/td-slider/button/button.interface.d.ts +7 -3
- package/src/components/form/td-slider/composables/index.d.ts +6 -0
- package/src/components/form/td-slider/composables/index.js +9 -0
- package/src/components/form/td-slider/composables/use-lifecycle.d.ts +4 -0
- package/src/components/form/td-slider/composables/use-lifecycle.js +43 -0
- package/src/components/form/td-slider/composables/use-marks.d.ts +7 -0
- package/src/components/form/td-slider/composables/use-marks.js +27 -0
- package/src/components/form/td-slider/composables/use-slide.d.ts +24 -3
- package/src/components/form/td-slider/composables/use-slide.js +163 -200
- package/src/components/form/td-slider/composables/use-slider-button.d.ts +20 -0
- package/src/components/form/td-slider/composables/use-slider-button.js +266 -0
- package/src/components/form/td-slider/composables/use-stops.d.ts +9 -0
- package/src/components/form/td-slider/composables/use-stops.js +45 -0
- package/src/components/form/td-slider/composables/use-watch.d.ts +4 -0
- package/src/components/form/td-slider/composables/use-watch.js +97 -0
- package/src/components/form/td-slider/constants.d.ts +11 -0
- package/src/components/form/td-slider/constants.js +4 -0
- package/src/components/form/td-slider/mark/mark.class.d.ts +8 -0
- package/src/components/form/td-slider/mark/mark.class.js +27 -0
- package/src/components/form/td-slider/mark/mark.interface.d.ts +8 -0
- package/src/components/form/td-slider/style/css.d.ts +1 -1
- package/src/components/form/td-slider/style/css.js +1 -1
- package/src/components/form/td-slider/td-slider.class.d.ts +4 -2
- package/src/components/form/td-slider/td-slider.class.js +242 -33
- package/src/components/form/td-slider/td-slider.interface.d.ts +20 -11
- package/src/components/form/td-switch/style/css.d.ts +1 -1
- package/src/components/form/td-switch/style/css.js +1 -1
- package/src/components/form/td-switch/td-switch.class.js +14 -5
- package/src/components/form/td-switch/td-switch.const.js +1 -1
- package/src/components/form/td-switch/widget/td-switch-core.js +4 -4
- package/src/components/form/td-time-picker/common/props.d.ts +2 -1
- package/src/components/form/td-time-picker/style/css.d.ts +1 -1
- package/src/components/form/td-time-picker/style/css.js +1 -1
- package/src/components/form/td-time-picker/time-picker-com/basic-time-spinner.class.js +6 -5
- package/src/components/form/td-upload/ajax.d.ts +9 -0
- package/src/components/form/td-upload/ajax.js +100 -0
- package/src/components/form/td-upload/constants.d.ts +6 -0
- package/src/components/form/td-upload/constants.js +5 -0
- package/src/components/form/td-upload/style/css.d.ts +1 -1
- package/src/components/form/td-upload/style/css.js +1 -1
- package/src/components/form/td-upload/style/index.d.ts +1 -1
- package/src/components/form/td-upload/style/index.js +1 -1
- package/src/components/form/td-upload/td-upload.class.d.ts +15 -0
- package/src/components/form/td-upload/td-upload.class.js +107 -0
- package/src/components/form/td-upload/td-upload.const.d.ts +5 -0
- package/src/components/form/td-upload/td-upload.const.js +22 -0
- package/src/components/form/td-upload/td-upload.interface.d.ts +160 -0
- package/src/components/form/td-upload/td-upload.interface.js +1 -0
- package/src/components/form/td-upload/upload-content/upload-content.class.d.ts +11 -0
- package/src/components/form/td-upload/upload-content/upload-content.class.js +218 -0
- package/src/components/form/td-upload/upload-content/upload-content.const.d.ts +2 -0
- package/src/components/form/td-upload/upload-content/upload-content.const.js +6 -0
- package/src/components/form/td-upload/upload-content/upload-content.interface.d.ts +15 -0
- package/src/components/form/td-upload/upload-content/upload-content.interface.js +2 -0
- package/src/components/form/td-upload/upload-dragger/upload-dragger.class.d.ts +8 -0
- package/src/components/form/td-upload/upload-dragger/upload-dragger.class.js +73 -0
- package/src/components/form/td-upload/upload-dragger/upload-dragger.const.d.ts +5 -0
- package/src/components/form/td-upload/upload-dragger/upload-dragger.const.js +10 -0
- package/src/components/form/td-upload/upload-dragger/upload-dragger.interface.d.ts +7 -0
- package/src/components/form/td-upload/upload-dragger/upload-dragger.interface.js +2 -0
- package/src/components/form/td-upload/upload-list/upload-list.class.d.ts +8 -0
- package/src/components/form/td-upload/upload-list/upload-list.class.js +196 -0
- package/src/components/form/td-upload/upload-list/upload-list.const.d.ts +3 -0
- package/src/components/form/td-upload/upload-list/upload-list.const.js +13 -0
- package/src/components/form/td-upload/upload-list/upload-list.interface.d.ts +19 -0
- package/src/components/form/td-upload/upload-list/upload-list.interface.js +2 -0
- package/src/components/form/td-upload/use-handlers.d.ts +16 -0
- package/src/components/form/td-upload/use-handlers.js +175 -0
- package/src/components/navigation/index.d.ts +1 -0
- package/src/components/navigation/index.js +3 -0
- package/src/components/navigation/td-affix/style/css.d.ts +1 -1
- package/src/components/navigation/td-affix/style/css.js +1 -1
- package/src/components/navigation/td-affix/td-affix.class.d.ts +1 -0
- package/src/components/navigation/td-affix/td-affix.class.js +78 -36
- package/src/components/navigation/td-anchor/style/css.d.ts +1 -1
- package/src/components/navigation/td-anchor/style/css.js +1 -1
- package/src/components/navigation/td-anchor-link/style/css.d.ts +1 -1
- package/src/components/navigation/td-anchor-link/style/css.js +1 -1
- package/src/components/navigation/td-backtop/style/css.d.ts +1 -1
- package/src/components/navigation/td-backtop/style/css.js +1 -1
- package/src/components/navigation/td-backtop/td-backtop.class.d.ts +1 -0
- package/src/components/navigation/td-backtop/td-backtop.class.js +3 -2
- package/src/components/navigation/td-backtop/td-backtop.const.js +1 -0
- package/src/components/navigation/td-backtop/use-backtop.js +2 -1
- package/src/components/navigation/td-breadcrumb/style/css.d.ts +1 -1
- package/src/components/navigation/td-breadcrumb/style/css.js +1 -1
- package/src/components/navigation/td-breadcrumb/td-breadcrumb.class.js +1 -1
- package/src/components/navigation/td-breadcrumb-item/style/css.d.ts +1 -1
- package/src/components/navigation/td-breadcrumb-item/style/css.js +1 -1
- package/src/components/navigation/td-breadcrumb-item/td-breadcrumb-item.interface.d.ts +2 -1
- package/src/components/navigation/td-dropdown/style/css.d.ts +1 -1
- package/src/components/navigation/td-dropdown/style/css.js +1 -1
- package/src/components/navigation/td-dropdown-item/style/css.d.ts +1 -1
- package/src/components/navigation/td-dropdown-item/style/css.js +1 -1
- package/src/components/navigation/td-menu/index.d.ts +9 -0
- package/src/components/navigation/td-menu/index.js +13 -0
- package/src/components/navigation/td-menu/style/css.d.ts +2 -2
- package/src/components/navigation/td-menu/style/css.js +2 -2
- package/src/components/navigation/td-menu/td-menu-collapse-transition/td-menu-collapse-transition.class.d.ts +6 -0
- package/src/components/navigation/td-menu/td-menu-collapse-transition/td-menu-collapse-transition.class.js +56 -0
- package/src/components/navigation/td-menu/td-menu-item/style/css.d.ts +2 -0
- package/src/components/navigation/td-menu/td-menu-item/style/css.js +4 -0
- package/src/components/navigation/td-menu/td-menu-item/style/index.d.ts +2 -0
- package/src/components/navigation/td-menu/td-menu-item/style/index.js +4 -0
- package/src/components/navigation/td-menu/td-menu-item/td-menu-item.class.d.ts +11 -0
- package/src/components/navigation/td-menu/td-menu-item/td-menu-item.class.js +107 -0
- package/src/components/navigation/td-menu/td-menu-item/td-menu-item.const.d.ts +4 -0
- package/src/components/navigation/td-menu/td-menu-item/td-menu-item.const.js +10 -0
- package/src/components/navigation/td-menu/td-menu-item/td-menu-item.interface.d.ts +20 -0
- package/src/components/navigation/td-menu/td-menu-item/td-menu-item.interface.js +2 -0
- package/src/components/navigation/td-menu/td-menu-item-group/style/css.d.ts +2 -0
- package/src/components/navigation/td-menu/td-menu-item-group/style/css.js +4 -0
- package/src/components/navigation/td-menu/td-menu-item-group/style/index.d.ts +2 -0
- package/src/components/navigation/td-menu/td-menu-item-group/style/index.js +4 -0
- package/src/components/navigation/td-menu/td-menu-item-group/td-menu-item-group.class.d.ts +9 -0
- package/src/components/navigation/td-menu/td-menu-item-group/td-menu-item-group.class.js +28 -0
- package/src/components/navigation/td-menu/td-menu-item-group/td-menu-item-group.interface.d.ts +10 -0
- package/src/components/navigation/td-menu/td-menu-item-group/td-menu-item-group.interface.js +2 -0
- package/src/components/navigation/td-menu/td-menu.class.d.ts +3 -2
- package/src/components/navigation/td-menu/td-menu.class.js +297 -27
- package/src/components/navigation/td-menu/td-menu.const.d.ts +8 -0
- package/src/components/navigation/td-menu/td-menu.const.js +29 -0
- package/src/components/navigation/td-menu/td-menu.interface.d.ts +86 -7
- package/src/components/navigation/td-menu/td-sub-menu/td-sub-menu.class.d.ts +10 -0
- package/src/components/navigation/td-menu/td-sub-menu/td-sub-menu.class.js +301 -0
- package/src/components/navigation/td-menu/td-sub-menu/td-sub-menu.interface.d.ts +53 -0
- package/src/components/navigation/td-menu/td-sub-menu/td-sub-menu.interface.js +2 -0
- package/src/components/navigation/td-menu/types.d.ts +36 -0
- package/src/components/navigation/td-menu/types.js +2 -0
- package/src/components/navigation/td-menu/use-menu-color.d.ts +2 -0
- package/src/components/navigation/td-menu/use-menu-color.js +14 -0
- package/src/components/navigation/td-menu/use-menu-css-var.d.ts +2 -0
- package/src/components/navigation/td-menu/use-menu-css-var.js +20 -0
- package/src/components/navigation/td-menu/use-menu.d.ts +8 -0
- package/src/components/navigation/td-menu/use-menu.js +31 -0
- package/src/components/navigation/td-menu/utils/menu-bar.d.ts +7 -0
- package/src/components/navigation/td-menu/utils/menu-bar.js +21 -0
- package/src/components/navigation/td-menu/utils/menu-item.d.ts +9 -0
- package/src/components/navigation/td-menu/utils/menu-item.js +58 -0
- package/src/components/navigation/td-menu/utils/submenu.d.ts +12 -0
- package/src/components/navigation/td-menu/utils/submenu.js +66 -0
- package/src/components/navigation/td-menu-item/style/css.d.ts +1 -1
- package/src/components/navigation/td-menu-item/style/css.js +1 -1
- package/src/components/navigation/td-menu-item-group/style/css.d.ts +1 -1
- package/src/components/navigation/td-menu-item-group/style/css.js +1 -1
- package/src/components/navigation/td-page-header/style/css.d.ts +2 -2
- package/src/components/navigation/td-page-header/style/css.js +2 -2
- package/src/components/navigation/td-step/style/css.d.ts +1 -1
- package/src/components/navigation/td-step/style/css.js +1 -1
- package/src/components/navigation/td-steps/style/css.d.ts +1 -1
- package/src/components/navigation/td-steps/style/css.js +1 -1
- package/src/components/navigation/td-tab-pane/style/css.d.ts +1 -1
- package/src/components/navigation/td-tab-pane/style/css.js +1 -1
- package/src/components/navigation/td-tabs/style/css.d.ts +1 -1
- package/src/components/navigation/td-tabs/style/css.js +1 -1
- package/src/components/others/collapsible-box/heading/expand-heading.js +1 -1
- package/src/components/others/example/op-btns.js +1 -1
- package/src/components/others/menus/menu.d.ts +6 -5
- package/src/components/others/menus/menu.js +24 -10
- package/src/components/others/menus/menus.d.ts +5 -5
- package/src/components/others/menus/menus.js +15 -23
- package/src/components/others/td-divider/style/css.d.ts +1 -1
- package/src/components/others/td-divider/style/css.js +1 -1
- package/src/hooks/use-attrs/index.d.ts +1 -1
- package/src/hooks/use-calc-input-width/index.d.ts +1 -1
- package/src/hooks/use-delayed-toggle/index.js +1 -1
- package/src/hooks/use-deprecated/index.d.ts +1 -1
- package/src/hooks/use-deprecated/index.js +2 -2
- package/src/hooks/use-empty-values/index.d.ts +4 -2
- package/src/hooks/use-empty-values/index.js +8 -8
- package/src/hooks/use-focus-controller/index.d.ts +1 -1
- package/src/hooks/use-focus-controller/index.js +1 -1
- package/src/hooks/use-id/index.js +4 -4
- package/src/hooks/use-lockscreen/index.js +1 -1
- package/src/hooks/use-model-toggle/index.js +11 -6
- package/src/hooks/use-namespace/index.d.ts +1 -1
- package/src/hooks/use-popper/index.d.ts +9 -4
- package/src/hooks/use-popper/index.js +42 -34
- package/src/hooks/use-popper-container/index.js +2 -2
- package/src/hooks/use-z-index/index.js +1 -1
- package/src/index.d.ts +1 -1
- package/src/index.js +1 -1
- package/src/locale/index.d.ts +11 -0
- package/src/locale/index.js +24 -2
- package/src/locale/lang/hi.d.ts +180 -0
- package/src/locale/lang/hi.js +181 -0
- package/src/locale/lang/ku.js +1 -1
- package/src/locale/lang/lo.d.ts +180 -0
- package/src/locale/lang/lo.js +181 -0
- package/src/locale/lang/ms.d.ts +1 -1
- package/src/locale/lang/ms.js +11 -11
- package/src/locale/lang/no.d.ts +179 -0
- package/src/locale/lang/no.js +180 -0
- package/src/locale/lang/ru.js +4 -4
- package/src/locale/lang/te.d.ts +180 -0
- package/src/locale/lang/te.js +181 -0
- package/src/locale/lang/zh-hk.d.ts +179 -0
- package/src/locale/lang/zh-hk.js +181 -0
- package/src/locale/lang/zh-mo.d.ts +179 -0
- package/src/locale/lang/zh-mo.js +181 -0
- package/src/styles/var.js +5 -5
- package/src/theme-chalk/affix.scss +7 -0
- package/src/theme-chalk/alert.scss +115 -0
- package/src/theme-chalk/anchor-link.scss +41 -0
- package/src/theme-chalk/anchor.scss +88 -0
- package/src/theme-chalk/aside.scss +8 -0
- package/src/theme-chalk/autocomplete.scss +89 -0
- package/src/theme-chalk/avatar.scss +55 -0
- package/src/theme-chalk/backtop.scss +29 -0
- package/src/theme-chalk/badge.scss +58 -0
- package/src/theme-chalk/base.scss +3 -0
- package/src/theme-chalk/breadcrumb-item.scss +0 -0
- package/src/theme-chalk/breadcrumb.scss +62 -0
- package/src/theme-chalk/button-group.scss +80 -0
- package/src/theme-chalk/button.scss +304 -0
- package/src/theme-chalk/calendar.scss +80 -0
- package/src/theme-chalk/card.scss +45 -0
- package/src/theme-chalk/carousel-item.scss +58 -0
- package/src/theme-chalk/carousel.scss +188 -0
- package/src/theme-chalk/cascader-panel.scss +138 -0
- package/src/theme-chalk/cascader.scss +247 -0
- package/src/theme-chalk/check-tag.scss +60 -0
- package/src/theme-chalk/checkbox-button.scss +140 -0
- package/src/theme-chalk/checkbox-group.scss +7 -0
- package/src/theme-chalk/checkbox.scss +298 -0
- package/src/theme-chalk/col.scss +48 -0
- package/src/theme-chalk/collapse-item.scss +0 -0
- package/src/theme-chalk/collapse-transition.scss +0 -0
- package/src/theme-chalk/collapse.scss +70 -0
- package/src/theme-chalk/color/index.scss +20 -0
- package/src/theme-chalk/color-picker.scss +393 -0
- package/src/theme-chalk/common/popup.scss +47 -0
- package/src/theme-chalk/common/transition.scss +122 -0
- package/src/theme-chalk/common/var.scss +1655 -0
- package/src/theme-chalk/config-provider.scss +0 -0
- package/src/theme-chalk/container.scss +14 -0
- package/src/theme-chalk/dark/css-vars.scss +39 -0
- package/src/theme-chalk/dark/var.scss +222 -0
- package/src/theme-chalk/date-picker/date-picker.scss +110 -0
- package/src/theme-chalk/date-picker/date-range-picker.scss +113 -0
- package/src/theme-chalk/date-picker/date-table.scss +158 -0
- package/src/theme-chalk/date-picker/month-table.scss +112 -0
- package/src/theme-chalk/date-picker/picker-panel.scss +131 -0
- package/src/theme-chalk/date-picker/picker.scss +212 -0
- package/src/theme-chalk/date-picker/time-picker.scss +90 -0
- package/src/theme-chalk/date-picker/time-range-picker.scss +33 -0
- package/src/theme-chalk/date-picker/time-spinner.scss +111 -0
- package/src/theme-chalk/date-picker/year-table.scss +108 -0
- package/src/theme-chalk/date-picker.scss +9 -0
- package/src/theme-chalk/descriptions-item.scss +73 -0
- package/src/theme-chalk/descriptions.scss +152 -0
- package/src/theme-chalk/dialog.scss +192 -0
- package/src/theme-chalk/display.scss +12 -0
- package/src/theme-chalk/divider.scss +48 -0
- package/src/theme-chalk/drawer.scss +155 -0
- package/src/theme-chalk/dropdown-item.scss +0 -0
- package/src/theme-chalk/dropdown-menu.scss +0 -0
- package/src/theme-chalk/dropdown.scss +208 -0
- package/src/theme-chalk/empty.scss +49 -0
- package/src/theme-chalk/footer.scss +12 -0
- package/src/theme-chalk/form-item.scss +0 -0
- package/src/theme-chalk/form.scss +244 -0
- package/src/theme-chalk/header.scss +12 -0
- package/src/theme-chalk/icon.scss +45 -0
- package/src/theme-chalk/image-viewer.scss +155 -0
- package/src/theme-chalk/image.scss +49 -0
- package/src/theme-chalk/index.scss +111 -0
- package/src/theme-chalk/infinite-scroll.scss +0 -0
- package/src/theme-chalk/input-number.scss +186 -0
- package/src/theme-chalk/input-tag.scss +220 -0
- package/src/theme-chalk/input.scss +474 -0
- package/src/theme-chalk/link.scss +90 -0
- package/src/theme-chalk/loading.scss +104 -0
- package/src/theme-chalk/main.scss +14 -0
- package/src/theme-chalk/mention.scss +92 -0
- package/src/theme-chalk/menu-item-group.scss +0 -0
- package/src/theme-chalk/menu-item.scss +0 -0
- package/src/theme-chalk/menu.scss +339 -0
- package/src/theme-chalk/message-box.scss +213 -0
- package/src/theme-chalk/message.scss +98 -0
- package/src/theme-chalk/mixins/_button.scss +165 -0
- package/src/theme-chalk/mixins/_col.scss +33 -0
- package/src/theme-chalk/mixins/_var.scss +67 -0
- package/src/theme-chalk/mixins/config.scss +5 -0
- package/src/theme-chalk/mixins/function.scss +88 -0
- package/src/theme-chalk/mixins/mixins.scss +240 -0
- package/src/theme-chalk/mixins/utils.scss +39 -0
- package/src/theme-chalk/notification.scss +107 -0
- package/src/theme-chalk/option-group.scss +33 -0
- package/src/theme-chalk/option.scss +71 -0
- package/src/theme-chalk/overlay.scss +17 -0
- package/src/theme-chalk/page-header.scss +60 -0
- package/src/theme-chalk/pagination.scss +238 -0
- package/src/theme-chalk/popconfirm.scss +16 -0
- package/src/theme-chalk/popover.scss +61 -0
- package/src/theme-chalk/popper.scss +106 -0
- package/src/theme-chalk/progress.scss +179 -0
- package/src/theme-chalk/radio-button.scss +169 -0
- package/src/theme-chalk/radio-group.scss +9 -0
- package/src/theme-chalk/radio.scss +215 -0
- package/src/theme-chalk/rate.scss +108 -0
- package/src/theme-chalk/reset.scss +98 -0
- package/src/theme-chalk/result.scss +57 -0
- package/src/theme-chalk/row.scss +35 -0
- package/src/theme-chalk/scrollbar.scss +97 -0
- package/src/theme-chalk/segmented.scss +183 -0
- package/src/theme-chalk/select-dropdown-v2.scss +1 -0
- package/src/theme-chalk/select-dropdown.scss +57 -0
- package/src/theme-chalk/select-v2.scss +4 -0
- package/src/theme-chalk/select.scss +264 -0
- package/src/theme-chalk/skeleton-item.scss +83 -0
- package/src/theme-chalk/skeleton.scss +44 -0
- package/src/theme-chalk/slider.scss +212 -0
- package/src/theme-chalk/space.scss +20 -0
- package/src/theme-chalk/spinner.scss +43 -0
- package/src/theme-chalk/statistic.scss +35 -0
- package/src/theme-chalk/step.scss +316 -0
- package/src/theme-chalk/steps.scss +21 -0
- package/src/theme-chalk/sub-menu.scss +0 -0
- package/src/theme-chalk/switch.scss +300 -0
- package/src/theme-chalk/tab-pane.scss +0 -0
- package/src/theme-chalk/table-column.scss +98 -0
- package/src/theme-chalk/table-v2.scss +236 -0
- package/src/theme-chalk/table.scss +694 -0
- package/src/theme-chalk/tabs.scss +660 -0
- package/src/theme-chalk/tag.scss +181 -0
- package/src/theme-chalk/text.scss +51 -0
- package/src/theme-chalk/time-picker.scss +5 -0
- package/src/theme-chalk/time-select.scss +37 -0
- package/src/theme-chalk/timeline-item.scss +84 -0
- package/src/theme-chalk/timeline.scss +46 -0
- package/src/theme-chalk/tooltip-v2.scss +95 -0
- package/src/theme-chalk/tooltip.scss +0 -0
- package/src/theme-chalk/tour.scss +187 -0
- package/src/theme-chalk/transfer.scss +203 -0
- package/src/theme-chalk/tree-select.scss +41 -0
- package/src/theme-chalk/tree.scss +134 -0
- package/src/theme-chalk/upload.scss +654 -0
- package/src/theme-chalk/var.scss +87 -0
- package/src/theme-chalk/virtual-list.scss +40 -0
- package/src/components/basic/td-container/td-container.old.d.ts +0 -11
- package/src/components/basic/td-container/td-container.old.js +0 -31
- package/src/components/form/td-input/widget/prefix.d.ts +0 -10
- package/src/components/form/td-input/widget/prefix.js +0 -63
- package/src/components/form/td-input/widget/suffix.d.ts +0 -14
- package/src/components/form/td-input/widget/suffix.js +0 -125
- package/src/components/form/td-input/widget/td-input-wrapper.class.d.ts +0 -33
- package/src/components/form/td-input/widget/td-input-wrapper.class.js +0 -287
- package/src/components/form/td-input/widget/td-input-wrapper.interface.d.ts +0 -4
- package/src/components/form/td-input/widget/td-textarea-wrapper.d.ts +0 -13
- package/src/components/form/td-input/widget/td-textarea-wrapper.js +0 -120
- package/src/components/form/td-option/td-option.old.d.ts +0 -8
- package/src/components/form/td-option/td-option.old.js +0 -24
- package/src/components/form/td-slider/td-slider-marker.d.ts +0 -13
- package/src/components/form/td-slider/td-slider-marker.js +0 -19
- /package/src/components/form/td-input/{widget/utils.d.ts → utils.d.ts} +0 -0
- /package/src/components/form/{td-input/widget/td-input-wrapper.interface.js → td-slider/mark/mark.interface.js} +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MenuProps } from './td-menu.interface';
|
|
2
|
+
import { MenuItemClicked } from './types';
|
|
3
|
+
export declare const menuProps: MenuProps;
|
|
4
|
+
export declare const menuEmits: {
|
|
5
|
+
close: (index: string, indexPath: string[]) => boolean;
|
|
6
|
+
open: (index: string, indexPath: string[]) => boolean;
|
|
7
|
+
select: (index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void>) => boolean;
|
|
8
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.menuEmits = exports.menuProps = void 0;
|
|
4
|
+
const svgs_1 = require("@type-dom/svgs");
|
|
5
|
+
const utils_1 = require("@type-dom/utils");
|
|
6
|
+
exports.menuProps = {
|
|
7
|
+
mode: 'vertical',
|
|
8
|
+
defaultActive: '',
|
|
9
|
+
defaultOpeneds: [],
|
|
10
|
+
menuTrigger: 'hover',
|
|
11
|
+
collapseTransition: true,
|
|
12
|
+
ellipsis: true,
|
|
13
|
+
popperOffset: 6,
|
|
14
|
+
ellipsisIcon: svgs_1.ElMoreSvg,
|
|
15
|
+
popperEffect: 'dark',
|
|
16
|
+
showTimeout: 300,
|
|
17
|
+
hideTimeout: 300,
|
|
18
|
+
persistent: true,
|
|
19
|
+
};
|
|
20
|
+
const checkIndexPath = (indexPath) => (0, utils_1.isArray)(indexPath) && indexPath.every((path) => (0, utils_1.isString)(path));
|
|
21
|
+
exports.menuEmits = {
|
|
22
|
+
close: (index, indexPath) => (0, utils_1.isString)(index) && checkIndexPath(indexPath),
|
|
23
|
+
open: (index, indexPath) => (0, utils_1.isString)(index) && checkIndexPath(indexPath),
|
|
24
|
+
select: (index, indexPath, item, routerResult // | NavigationFailure>
|
|
25
|
+
) => (0, utils_1.isString)(index) &&
|
|
26
|
+
checkIndexPath(indexPath) &&
|
|
27
|
+
(0, utils_1.isObject)(item) &&
|
|
28
|
+
(routerResult === undefined || routerResult instanceof Promise),
|
|
29
|
+
};
|
|
@@ -1,23 +1,102 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { TypeSvgSvg, ITypeFragment, TypeFragmentProps } from '@type-dom/framework';
|
|
2
|
+
import { PopperEffect } from '../../feedback/td-popper/td-popper.const';
|
|
3
|
+
import { MaybeRef } from '@type-dom/signals';
|
|
4
|
+
export interface ITdMenu extends ITypeFragment {
|
|
3
5
|
className: 'TdMenu';
|
|
4
6
|
}
|
|
5
|
-
export interface MenuProps extends
|
|
7
|
+
export interface MenuProps extends TypeFragmentProps {
|
|
8
|
+
/**
|
|
9
|
+
* @description menu display mode
|
|
10
|
+
*/
|
|
6
11
|
mode?: 'horizontal' | 'vertical';
|
|
7
|
-
|
|
12
|
+
/**
|
|
13
|
+
* @description index of active menu on page load
|
|
14
|
+
* default: '',
|
|
15
|
+
*/
|
|
16
|
+
defaultActive?: MaybeRef<string>;
|
|
17
|
+
/**
|
|
18
|
+
* @description array that contains indexes of currently active sub-menus
|
|
19
|
+
*/
|
|
20
|
+
defaultOpeneds?: string[];
|
|
21
|
+
/**
|
|
22
|
+
* @description whether only one sub-menu can be active
|
|
23
|
+
*/
|
|
8
24
|
uniqueOpened?: boolean;
|
|
9
|
-
|
|
25
|
+
/**
|
|
26
|
+
* @description whether `vue-router` mode is activated. If true, index will be used as 'path' to activate the route action. Use with `default-active` to set the active item on load.
|
|
27
|
+
*/
|
|
28
|
+
router?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* @description how sub-menus are triggered, only works when `mode` is 'horizontal'
|
|
31
|
+
*/
|
|
10
32
|
menuTrigger?: 'hover' | 'click';
|
|
11
|
-
|
|
33
|
+
/**
|
|
34
|
+
* @description whether the menu is collapsed (available only in vertical mode)
|
|
35
|
+
*/
|
|
36
|
+
collapse?: MaybeRef<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* @description background color of Menu (hex format) (deprecated, use `--bg-color` instead)
|
|
39
|
+
* @deprecated use `--bg-color` instead
|
|
40
|
+
*/
|
|
12
41
|
backgroundColor?: string;
|
|
42
|
+
/**
|
|
43
|
+
* @description text color of Menu (hex format) (deprecated, use `--text-color` instead)
|
|
44
|
+
* @deprecated use `--text-color` instead
|
|
45
|
+
*/
|
|
13
46
|
textColor?: string;
|
|
47
|
+
/**
|
|
48
|
+
* @description text color of currently active menu item (hex format) (deprecated, use `--active-color` instead)
|
|
49
|
+
* @deprecated use `--active-color` instead
|
|
50
|
+
*/
|
|
14
51
|
activeTextColor?: string;
|
|
52
|
+
/**
|
|
53
|
+
* @description optional, whether menu is collapsed when clicking outside
|
|
54
|
+
*/
|
|
15
55
|
closeOnClickOutside?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* @description whether to enable the collapse transition
|
|
58
|
+
* default: true,
|
|
59
|
+
*/
|
|
16
60
|
collapseTransition?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* @description whether the menu is ellipsis (available only in horizontal mode)
|
|
63
|
+
* default: true,
|
|
64
|
+
*/
|
|
17
65
|
ellipsis?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* @description offset of the popper (effective for all submenus)
|
|
68
|
+
* default: 6,
|
|
69
|
+
*/
|
|
18
70
|
popperOffset?: number;
|
|
19
|
-
|
|
71
|
+
/**
|
|
72
|
+
* @description custom ellipsis icon (available only in horizontal mode and ellipsis is true)
|
|
73
|
+
* type: iconPropType,
|
|
74
|
+
* default: () => ElMoreSvg,
|
|
75
|
+
* },
|
|
76
|
+
*/
|
|
77
|
+
ellipsisIcon?: typeof TypeSvgSvg;
|
|
78
|
+
/**
|
|
79
|
+
* @description Tooltip theme, built-in theme: `dark` / `light` when menu is collapsed
|
|
80
|
+
* default: 'dark',
|
|
81
|
+
*/
|
|
82
|
+
popperEffect?: PopperEffect;
|
|
83
|
+
/**
|
|
84
|
+
* @description custom class name for all popup menus
|
|
85
|
+
*/
|
|
20
86
|
popperClass?: string;
|
|
87
|
+
/**
|
|
88
|
+
* @description control timeout for all menus before showing
|
|
89
|
+
* default: 300,
|
|
90
|
+
*/
|
|
21
91
|
showTimeout?: number;
|
|
92
|
+
/**
|
|
93
|
+
* @description control timeout for all menus before hiding
|
|
94
|
+
* default: 300,
|
|
95
|
+
*/
|
|
22
96
|
hideTimeout?: number;
|
|
97
|
+
/**
|
|
98
|
+
* @description when menu inactive and `persistent` is `false` , dropdown menu will be destroyed
|
|
99
|
+
* default: true,
|
|
100
|
+
*/
|
|
101
|
+
persistent?: boolean;
|
|
23
102
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TypeFragment } from '@type-dom/framework';
|
|
2
|
+
import { Computed } from '@type-dom/signals';
|
|
3
|
+
import { ITdSubMenu, TdSubMenuProps } from './td-sub-menu.interface';
|
|
4
|
+
export declare class TdSubMenu extends TypeFragment implements ITdSubMenu {
|
|
5
|
+
className: 'TdSubMenu';
|
|
6
|
+
props: TdSubMenuProps;
|
|
7
|
+
opened?: Computed<boolean>;
|
|
8
|
+
constructor(params?: TdSubMenuProps);
|
|
9
|
+
setup(): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TdSubMenu = void 0;
|
|
4
|
+
const framework_1 = require("@type-dom/framework");
|
|
5
|
+
const utils_1 = require("@type-dom/utils");
|
|
6
|
+
const signals_1 = require("@type-dom/signals");
|
|
7
|
+
const svgs_1 = require("@type-dom/svgs");
|
|
8
|
+
const use_namespace_1 = require("../../../../hooks/use-namespace");
|
|
9
|
+
const td_tooltip_class_1 = require("../../../feedback/td-tooltip/td-tooltip.class");
|
|
10
|
+
const td_collapse_transition_class_1 = require("../../../data/td-collapse-transition/td-collapse-transition.class");
|
|
11
|
+
const td_icon_class_1 = require("../../../basic/td-icon/td-icon.class");
|
|
12
|
+
const use_menu_1 = require("../use-menu");
|
|
13
|
+
const use_menu_css_var_1 = require("../use-menu-css-var");
|
|
14
|
+
const COMPONENT_NAME = 'TdSubMenu';
|
|
15
|
+
class TdSubMenu extends framework_1.TypeFragment {
|
|
16
|
+
constructor(params = {}) {
|
|
17
|
+
super();
|
|
18
|
+
this.className = 'TdSubMenu';
|
|
19
|
+
this.props = this.useParams(params);
|
|
20
|
+
}
|
|
21
|
+
setup() {
|
|
22
|
+
var _a, _b, _c, _d, _e;
|
|
23
|
+
const props = this.props;
|
|
24
|
+
const instance = (0, framework_1.getCurrentInstance)();
|
|
25
|
+
const { indexPath, parentMenu } = (0, use_menu_1.default)(instance, (0, signals_1.computed)(() => props.sIndex));
|
|
26
|
+
const nsMenu = (0, use_namespace_1.useNamespace)('menu');
|
|
27
|
+
const nsSubMenu = (0, use_namespace_1.useNamespace)('sub-menu');
|
|
28
|
+
// inject
|
|
29
|
+
const rootMenu = (0, framework_1.inject)('rootMenu');
|
|
30
|
+
if (!rootMenu)
|
|
31
|
+
(0, utils_1.throwError)(COMPONENT_NAME, 'can not inject root menu');
|
|
32
|
+
const subMenu = (0, framework_1.inject)(`subMenu:${parentMenu.get().uid}`);
|
|
33
|
+
if (!subMenu)
|
|
34
|
+
(0, utils_1.throwError)(COMPONENT_NAME, 'can not inject sub menu');
|
|
35
|
+
const items = (0, signals_1.signal)({});
|
|
36
|
+
const subMenus = (0, signals_1.signal)({});
|
|
37
|
+
let timeout;
|
|
38
|
+
const mouseInChild = (0, signals_1.signal)(false);
|
|
39
|
+
const verticalTitleRef = (0, signals_1.signal)();
|
|
40
|
+
const vPopper = (0, signals_1.signal)();
|
|
41
|
+
// computed
|
|
42
|
+
const currentPlacement = (0, signals_1.computed)(() => mode.get() === 'horizontal' && isFirstLevel.get()
|
|
43
|
+
? 'bottom-start'
|
|
44
|
+
: 'right-start');
|
|
45
|
+
const subMenuTitleIcon = (0, signals_1.computed)(() => {
|
|
46
|
+
return (mode.get() === 'horizontal' && isFirstLevel.get()) ||
|
|
47
|
+
(mode.get() === 'vertical' && !rootMenu.props.collapse)
|
|
48
|
+
? props.expandCloseIcon && props.expandOpenIcon
|
|
49
|
+
? opened.get()
|
|
50
|
+
? props.expandOpenIcon
|
|
51
|
+
: props.expandCloseIcon
|
|
52
|
+
: svgs_1.ElArrowDownSvg
|
|
53
|
+
: props.collapseCloseIcon && props.collapseOpenIcon
|
|
54
|
+
? opened.get()
|
|
55
|
+
? props.collapseOpenIcon
|
|
56
|
+
: props.collapseCloseIcon
|
|
57
|
+
: svgs_1.ElArrowRightSvg;
|
|
58
|
+
});
|
|
59
|
+
const isFirstLevel = (0, signals_1.computed)(() => subMenu.level === 0);
|
|
60
|
+
const appendToBody = (0, signals_1.computed)(() => {
|
|
61
|
+
const value = props.teleported;
|
|
62
|
+
return value === undefined ? isFirstLevel.get() : value;
|
|
63
|
+
});
|
|
64
|
+
const menuTransitionName = (0, signals_1.computed)(() => (0, signals_1.unref)(rootMenu.props.collapse)
|
|
65
|
+
? `${nsMenu.namespace.get()}-zoom-in-left`
|
|
66
|
+
: `${nsMenu.namespace.get()}-zoom-in-top`);
|
|
67
|
+
const fallbackPlacements = (0, signals_1.computed)(() => mode.get() === 'horizontal' && isFirstLevel.get()
|
|
68
|
+
? [
|
|
69
|
+
'bottom-start',
|
|
70
|
+
'bottom-end',
|
|
71
|
+
'top-start',
|
|
72
|
+
'top-end',
|
|
73
|
+
'right-start',
|
|
74
|
+
'left-start',
|
|
75
|
+
]
|
|
76
|
+
: [
|
|
77
|
+
'right-start',
|
|
78
|
+
'right',
|
|
79
|
+
'right-end',
|
|
80
|
+
'left-start',
|
|
81
|
+
'bottom-start',
|
|
82
|
+
'bottom-end',
|
|
83
|
+
'top-start',
|
|
84
|
+
'top-end',
|
|
85
|
+
]);
|
|
86
|
+
const opened = (0, signals_1.computed)(() => rootMenu.openedMenus.get().includes(props.sIndex));
|
|
87
|
+
const active = (0, signals_1.computed)(() => [...Object.values(items.get()), ...Object.values(subMenus.get())].some(({ active }) => active));
|
|
88
|
+
const mode = (0, signals_1.computed)(() => rootMenu.props.mode);
|
|
89
|
+
const persistent = (0, signals_1.computed)(() => rootMenu.props.persistent);
|
|
90
|
+
const item = (0, signals_1.signal)({
|
|
91
|
+
index: props.sIndex,
|
|
92
|
+
indexPath: indexPath.get(),
|
|
93
|
+
active: active.get(),
|
|
94
|
+
});
|
|
95
|
+
const ulStyle = (0, use_menu_css_var_1.useMenuCssVar)(rootMenu.props, subMenu.level + 1);
|
|
96
|
+
const subMenuPopperOffset = (0, signals_1.computed)(() => { var _a; return (_a = props.popperOffset) !== null && _a !== void 0 ? _a : rootMenu.props.popperOffset; });
|
|
97
|
+
const subMenuPopperClass = (0, signals_1.computed)(() => { var _a; return (_a = props.popperClass) !== null && _a !== void 0 ? _a : rootMenu.props.popperClass; });
|
|
98
|
+
const subMenuShowTimeout = (0, signals_1.computed)(() => { var _a; return (_a = props.showTimeout) !== null && _a !== void 0 ? _a : rootMenu.props.showTimeout; });
|
|
99
|
+
const subMenuHideTimeout = (0, signals_1.computed)(() => { var _a; return (_a = props.hideTimeout) !== null && _a !== void 0 ? _a : rootMenu.props.hideTimeout; });
|
|
100
|
+
// methods
|
|
101
|
+
const doDestroy = () => { var _a, _b, _c, _d, _e; return (_e = (_d = (_c = (_b = (_a = vPopper.get()) === null || _a === void 0 ? void 0 : _a.popperRef) === null || _b === void 0 ? void 0 : _b.get()) === null || _c === void 0 ? void 0 : _c.popperInstanceRef) === null || _d === void 0 ? void 0 : _d.get()) === null || _e === void 0 ? void 0 : _e.destroy(); };
|
|
102
|
+
const handleCollapseToggle = (value) => {
|
|
103
|
+
if (!value) {
|
|
104
|
+
doDestroy();
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
const handleClick = () => {
|
|
108
|
+
if ((rootMenu.props.menuTrigger === 'hover' &&
|
|
109
|
+
rootMenu.props.mode === 'horizontal') ||
|
|
110
|
+
(rootMenu.props.collapse && rootMenu.props.mode === 'vertical') ||
|
|
111
|
+
props.disabled)
|
|
112
|
+
return;
|
|
113
|
+
rootMenu.handleSubMenuClick({
|
|
114
|
+
index: props.sIndex,
|
|
115
|
+
indexPath: indexPath.get(),
|
|
116
|
+
active: active.get(),
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
const handleMouseenter = (event, showTimeout = subMenuShowTimeout.get()) => {
|
|
120
|
+
var _a;
|
|
121
|
+
console.log('handleMouseenter');
|
|
122
|
+
if ((event === null || event === void 0 ? void 0 : event.type) === 'focus')
|
|
123
|
+
return;
|
|
124
|
+
if ((rootMenu.props.menuTrigger === 'click' &&
|
|
125
|
+
rootMenu.props.mode === 'horizontal') ||
|
|
126
|
+
(!rootMenu.props.collapse && rootMenu.props.mode === 'vertical') ||
|
|
127
|
+
props.disabled) {
|
|
128
|
+
subMenu.mouseInChild.set(true);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
subMenu.mouseInChild.set(true);
|
|
132
|
+
timeout === null || timeout === void 0 ? void 0 : timeout();
|
|
133
|
+
({ stop: timeout } = (0, framework_1.useTimeoutFn)(() => {
|
|
134
|
+
rootMenu.openMenu(props.sIndex, indexPath.get());
|
|
135
|
+
}, showTimeout));
|
|
136
|
+
if (appendToBody.get()) {
|
|
137
|
+
(_a = parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.get().dom) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new MouseEvent('mouseenter'));
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
const handleMouseleave = (deepDispatch = false) => {
|
|
141
|
+
var _a;
|
|
142
|
+
if ((rootMenu.props.menuTrigger === 'click' &&
|
|
143
|
+
rootMenu.props.mode === 'horizontal') ||
|
|
144
|
+
(!(0, signals_1.unref)(rootMenu.props.collapse) && rootMenu.props.mode === 'vertical')) {
|
|
145
|
+
subMenu.mouseInChild.set(false);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
timeout === null || timeout === void 0 ? void 0 : timeout();
|
|
149
|
+
subMenu.mouseInChild.set(false);
|
|
150
|
+
({ stop: timeout } = (0, framework_1.useTimeoutFn)(() => !mouseInChild.get() &&
|
|
151
|
+
rootMenu.closeMenu(props.sIndex, indexPath.get()), subMenuHideTimeout.get()));
|
|
152
|
+
if (appendToBody.get() && deepDispatch) {
|
|
153
|
+
(_a = subMenu.handleMouseleave) === null || _a === void 0 ? void 0 : _a.call(subMenu, true);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
(0, signals_1.watch)(() => (0, signals_1.unref)(rootMenu.props.collapse), (value) => handleCollapseToggle(Boolean(value)));
|
|
157
|
+
// provide
|
|
158
|
+
// {
|
|
159
|
+
const addSubMenu = (item) => {
|
|
160
|
+
const menus = subMenus.get();
|
|
161
|
+
console.warn('menus is ', menus);
|
|
162
|
+
menus[(0, signals_1.unref)(item).index] = item;
|
|
163
|
+
};
|
|
164
|
+
const removeSubMenu = (item) => {
|
|
165
|
+
delete subMenus.get()[(0, signals_1.unref)(item).index];
|
|
166
|
+
};
|
|
167
|
+
(0, framework_1.provide)(`subMenu:${instance.uid}`, {
|
|
168
|
+
addSubMenu,
|
|
169
|
+
removeSubMenu,
|
|
170
|
+
handleMouseleave,
|
|
171
|
+
mouseInChild,
|
|
172
|
+
level: subMenu.level + 1,
|
|
173
|
+
});
|
|
174
|
+
// }
|
|
175
|
+
// expose
|
|
176
|
+
(0, framework_1.defineExpose)({
|
|
177
|
+
opened,
|
|
178
|
+
});
|
|
179
|
+
// lifecycle
|
|
180
|
+
(0, framework_1.onMounted)(() => {
|
|
181
|
+
rootMenu.addSubMenu(item);
|
|
182
|
+
subMenu.addSubMenu(item);
|
|
183
|
+
});
|
|
184
|
+
(0, framework_1.onBeforeUnmount)(() => {
|
|
185
|
+
subMenu.removeSubMenu(item);
|
|
186
|
+
rootMenu.removeSubMenu(item);
|
|
187
|
+
});
|
|
188
|
+
const titleTag = [
|
|
189
|
+
new framework_1.Fragment({
|
|
190
|
+
slot: (_a = props.slots) === null || _a === void 0 ? void 0 : _a.title,
|
|
191
|
+
}),
|
|
192
|
+
new td_icon_class_1.TdIcon({
|
|
193
|
+
class: nsSubMenu.e('icon-arrow'),
|
|
194
|
+
styleObj: {
|
|
195
|
+
transform: (0, signals_1.computed)(() => opened.get()
|
|
196
|
+
? (props.expandCloseIcon && props.expandOpenIcon) ||
|
|
197
|
+
(props.collapseCloseIcon &&
|
|
198
|
+
props.collapseOpenIcon &&
|
|
199
|
+
(0, signals_1.unref)(rootMenu.props.collapse))
|
|
200
|
+
? 'none'
|
|
201
|
+
: 'rotateZ(180deg)'
|
|
202
|
+
: 'none'),
|
|
203
|
+
},
|
|
204
|
+
// slot: isString(subMenuTitleIcon.get())
|
|
205
|
+
// ? h(instance.appContext.components[subMenuTitleIcon.get()])
|
|
206
|
+
// : h(subMenuTitleIcon.get()),
|
|
207
|
+
slot: new (subMenuTitleIcon.get())(),
|
|
208
|
+
}),
|
|
209
|
+
];
|
|
210
|
+
// this render function is only used for bypass `Vue`'s compiler caused patching issue.
|
|
211
|
+
const child = rootMenu.isMenuPopup
|
|
212
|
+
? new td_tooltip_class_1.TdTooltip({
|
|
213
|
+
refEl: vPopper,
|
|
214
|
+
visible: opened.get(),
|
|
215
|
+
effect: 'light',
|
|
216
|
+
pure: true,
|
|
217
|
+
offset: subMenuPopperOffset.get(),
|
|
218
|
+
showArrow: false,
|
|
219
|
+
persistent: persistent.get(),
|
|
220
|
+
popperClass: subMenuPopperClass.get(),
|
|
221
|
+
placement: currentPlacement.get(),
|
|
222
|
+
teleported: appendToBody.get(),
|
|
223
|
+
fallbackPlacements: fallbackPlacements.get(),
|
|
224
|
+
transition: menuTransitionName.get(),
|
|
225
|
+
gpuAcceleration: false,
|
|
226
|
+
slots: {
|
|
227
|
+
content: new framework_1.Div({
|
|
228
|
+
class: [
|
|
229
|
+
nsMenu.m(mode.get()),
|
|
230
|
+
nsMenu.m('popup-container'),
|
|
231
|
+
subMenuPopperClass.get(),
|
|
232
|
+
],
|
|
233
|
+
events: {
|
|
234
|
+
mouseenter: (evt) => handleMouseenter(evt, 100),
|
|
235
|
+
mouseleave: () => handleMouseleave(true),
|
|
236
|
+
focus: (evt) => handleMouseenter(evt, 100),
|
|
237
|
+
},
|
|
238
|
+
slot: new framework_1.UL({
|
|
239
|
+
class: [
|
|
240
|
+
nsMenu.b(),
|
|
241
|
+
nsMenu.m('popup'),
|
|
242
|
+
nsMenu.m(`popup-${currentPlacement.get()}`),
|
|
243
|
+
],
|
|
244
|
+
styleObj: ulStyle.get(),
|
|
245
|
+
slot: (_b = this.props.slot) !== null && _b !== void 0 ? _b : (_c = props.slots) === null || _c === void 0 ? void 0 : _c.default
|
|
246
|
+
})
|
|
247
|
+
}),
|
|
248
|
+
},
|
|
249
|
+
slot: new framework_1.Div({
|
|
250
|
+
class: nsSubMenu.e('title'),
|
|
251
|
+
events: {
|
|
252
|
+
click: handleClick,
|
|
253
|
+
},
|
|
254
|
+
slot: titleTag
|
|
255
|
+
})
|
|
256
|
+
})
|
|
257
|
+
: new framework_1.Fragment({
|
|
258
|
+
slot: [
|
|
259
|
+
new framework_1.Div({
|
|
260
|
+
class: nsSubMenu.e('title'),
|
|
261
|
+
refDom: verticalTitleRef,
|
|
262
|
+
events: {
|
|
263
|
+
click: handleClick,
|
|
264
|
+
},
|
|
265
|
+
slot: titleTag,
|
|
266
|
+
}),
|
|
267
|
+
new td_collapse_transition_class_1.TdCollapseTransition({
|
|
268
|
+
slot: new framework_1.UL({
|
|
269
|
+
vShow: opened.get(),
|
|
270
|
+
class: [nsMenu.b(), nsMenu.m('inline')],
|
|
271
|
+
attrObj: {
|
|
272
|
+
role: 'menu',
|
|
273
|
+
},
|
|
274
|
+
styleObj: ulStyle.get(),
|
|
275
|
+
slot: (_d = props.slot) !== null && _d !== void 0 ? _d : (_e = props.slots) === null || _e === void 0 ? void 0 : _e.default
|
|
276
|
+
})
|
|
277
|
+
}),
|
|
278
|
+
]
|
|
279
|
+
});
|
|
280
|
+
this.addChild(new framework_1.LI({
|
|
281
|
+
class: [
|
|
282
|
+
nsSubMenu.b(),
|
|
283
|
+
nsSubMenu.is('active', active.get()),
|
|
284
|
+
nsSubMenu.is('opened', opened.get()),
|
|
285
|
+
nsSubMenu.is('disabled', props.disabled),
|
|
286
|
+
],
|
|
287
|
+
attrObj: {
|
|
288
|
+
role: 'menuitem',
|
|
289
|
+
ariaHaspopup: true,
|
|
290
|
+
ariaExpanded: opened.get()
|
|
291
|
+
},
|
|
292
|
+
events: {
|
|
293
|
+
mouseenter: (evt) => handleMouseenter(evt),
|
|
294
|
+
mouseleave: () => handleMouseleave(),
|
|
295
|
+
focus: (evt) => handleMouseenter(evt),
|
|
296
|
+
},
|
|
297
|
+
slot: child,
|
|
298
|
+
}));
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
exports.TdSubMenu = TdSubMenu;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ITypeFragment, TypeFragmentProps, TypeSvgSvg } from '@type-dom/framework';
|
|
2
|
+
export interface ITdSubMenu extends ITypeFragment {
|
|
3
|
+
className: 'TdSubMenu';
|
|
4
|
+
}
|
|
5
|
+
export interface TdSubMenuProps extends TypeFragmentProps {
|
|
6
|
+
/**
|
|
7
|
+
* @description unique identification
|
|
8
|
+
* required: true,
|
|
9
|
+
*/
|
|
10
|
+
sIndex?: string;
|
|
11
|
+
/**
|
|
12
|
+
* @description timeout before showing a sub-menu(inherit `show-timeout` of the menu by default.)
|
|
13
|
+
*/
|
|
14
|
+
showTimeout?: number;
|
|
15
|
+
/**
|
|
16
|
+
* @description timeout before hiding a sub-menu(inherit `hide-timeout` of the menu by default.)
|
|
17
|
+
*/
|
|
18
|
+
hideTimeout?: number;
|
|
19
|
+
/**
|
|
20
|
+
* @description custom class name for the popup menu
|
|
21
|
+
*/
|
|
22
|
+
popperClass?: string;
|
|
23
|
+
/**
|
|
24
|
+
* @description whether the sub-menu is disabled
|
|
25
|
+
*/
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* @description whether popup menu is teleported to the body
|
|
29
|
+
* default: undefined,
|
|
30
|
+
*/
|
|
31
|
+
teleported?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* @description offset of the popper (overrides the `popper` of menu)
|
|
34
|
+
*/
|
|
35
|
+
popperOffset?: number;
|
|
36
|
+
/**
|
|
37
|
+
* @description Icon when menu are expanded and submenu are closed, `expand-close-icon` and `expand-open-icon` need to be passed together to take effect
|
|
38
|
+
* type: iconPropType,
|
|
39
|
+
*/
|
|
40
|
+
expandCloseIcon?: typeof TypeSvgSvg;
|
|
41
|
+
/**
|
|
42
|
+
* @description Icon when menu are expanded and submenu are opened, `expand-open-icon` and `expand-close-icon` need to be passed together to take effect
|
|
43
|
+
*/
|
|
44
|
+
expandOpenIcon?: typeof TypeSvgSvg;
|
|
45
|
+
/**
|
|
46
|
+
* @description Icon when menu are collapsed and submenu are closed, `collapse-close-icon` and `collapse-open-icon` need to be passed together to take effect
|
|
47
|
+
*/
|
|
48
|
+
collapseCloseIcon?: typeof TypeSvgSvg;
|
|
49
|
+
/**
|
|
50
|
+
* @description Icon when menu are collapsed and submenu are opened, `collapse-open-icon` and `collapse-close-icon` need to be passed together to take effect
|
|
51
|
+
*/
|
|
52
|
+
collapseOpenIcon?: typeof TypeSvgSvg;
|
|
53
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Ref, Signal } from '@type-dom/signals';
|
|
2
|
+
import { RouteRecordRaw } from '@type-dom/router';
|
|
3
|
+
import { MenuProps } from './td-menu.interface';
|
|
4
|
+
export interface MenuItemRegistered {
|
|
5
|
+
index: string;
|
|
6
|
+
indexPath: string[];
|
|
7
|
+
active: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface MenuItemClicked {
|
|
10
|
+
index: string;
|
|
11
|
+
indexPath: string[];
|
|
12
|
+
route?: RouteRecordRaw;
|
|
13
|
+
}
|
|
14
|
+
export interface MenuProvider {
|
|
15
|
+
openedMenus: Signal<string[]>;
|
|
16
|
+
items: Record<string, MenuItemRegistered>;
|
|
17
|
+
subMenus: Record<string, MenuItemRegistered>;
|
|
18
|
+
activeIndex?: string;
|
|
19
|
+
isMenuPopup?: boolean;
|
|
20
|
+
props: MenuProps;
|
|
21
|
+
addMenuItem: (item: Signal<MenuItemRegistered>) => void;
|
|
22
|
+
removeMenuItem: (item: Signal<MenuItemRegistered>) => void;
|
|
23
|
+
addSubMenu: (item: Signal<MenuItemRegistered>) => void;
|
|
24
|
+
removeSubMenu: (item: Signal<MenuItemRegistered>) => void;
|
|
25
|
+
openMenu: (index: string, indexPath: string[]) => void;
|
|
26
|
+
closeMenu: (index: string, indexPath: string[]) => void;
|
|
27
|
+
handleMenuItemClick: (item: MenuItemClicked) => void;
|
|
28
|
+
handleSubMenuClick: (subMenu: MenuItemRegistered) => void;
|
|
29
|
+
}
|
|
30
|
+
export interface SubMenuProvider {
|
|
31
|
+
addSubMenu: (item: Signal<MenuItemRegistered>) => void;
|
|
32
|
+
removeSubMenu: (item: Signal<MenuItemRegistered>) => void;
|
|
33
|
+
handleMouseleave?: (deepDispatch: boolean) => void;
|
|
34
|
+
mouseInChild: Ref<boolean>;
|
|
35
|
+
level: number;
|
|
36
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { computed } from 'vue'
|
|
3
|
+
// import { TinyColor } from '@ctrl/tinycolor'
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.default = useMenuColor;
|
|
6
|
+
const signals_1 = require("@type-dom/signals");
|
|
7
|
+
const color_1 = require("@type-dom/color");
|
|
8
|
+
function useMenuColor(props) {
|
|
9
|
+
const menuBarColor = (0, signals_1.computed)(() => {
|
|
10
|
+
const color = props.backgroundColor;
|
|
11
|
+
return color ? new color_1.TinyColor(color).shade(20).toString() : '';
|
|
12
|
+
});
|
|
13
|
+
return menuBarColor;
|
|
14
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useMenuCssVar = void 0;
|
|
4
|
+
// import { computed } from 'vue'
|
|
5
|
+
const signals_1 = require("@type-dom/signals");
|
|
6
|
+
// import { useNamespace } from '@element-plus/hooks'
|
|
7
|
+
const use_namespace_1 = require("../../../hooks/use-namespace");
|
|
8
|
+
const use_menu_color_1 = require("./use-menu-color");
|
|
9
|
+
const useMenuCssVar = (props, level) => {
|
|
10
|
+
const ns = (0, use_namespace_1.useNamespace)('menu');
|
|
11
|
+
return (0, signals_1.computed)(() => ns.cssVarBlock({
|
|
12
|
+
'text-color': props.textColor || '',
|
|
13
|
+
'hover-text-color': props.textColor || '',
|
|
14
|
+
'bg-color': props.backgroundColor || '',
|
|
15
|
+
'hover-bg-color': (0, use_menu_color_1.default)(props).get() || '',
|
|
16
|
+
'active-color': props.activeTextColor || '',
|
|
17
|
+
level: `${level}`,
|
|
18
|
+
}));
|
|
19
|
+
};
|
|
20
|
+
exports.useMenuCssVar = useMenuCssVar;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TypeElement } from '@type-dom/framework';
|
|
2
|
+
import { Ref } from '@type-dom/signals';
|
|
3
|
+
import { TdSubMenu } from './td-sub-menu/td-sub-menu.class';
|
|
4
|
+
import { TdMenu } from './td-menu.class';
|
|
5
|
+
export default function useMenu(instance: TypeElement, currentIndex: Ref<string | undefined>): {
|
|
6
|
+
parentMenu: import("@type-dom/signals").Computed<TdMenu | TdSubMenu>;
|
|
7
|
+
indexPath: import("@type-dom/signals").Computed<string[]>;
|
|
8
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { computed } from 'vue'
|
|
3
|
+
// import type { ComponentInternalInstance, Ref } from 'vue'
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.default = useMenu;
|
|
6
|
+
const signals_1 = require("@type-dom/signals");
|
|
7
|
+
const utils_1 = require("@type-dom/utils");
|
|
8
|
+
function useMenu(instance, currentIndex) {
|
|
9
|
+
const indexPath = (0, signals_1.computed)(() => {
|
|
10
|
+
let parent = instance.parent;
|
|
11
|
+
const path = (0, utils_1.ensureArray)(currentIndex.get());
|
|
12
|
+
while (parent.className !== 'TdMenu') {
|
|
13
|
+
if (parent.props.sIndex) { // todo
|
|
14
|
+
path.unshift(parent.props.sIndex);
|
|
15
|
+
}
|
|
16
|
+
parent = parent.parent;
|
|
17
|
+
}
|
|
18
|
+
return path;
|
|
19
|
+
});
|
|
20
|
+
const parentMenu = (0, signals_1.computed)(() => {
|
|
21
|
+
let parent = instance.parent;
|
|
22
|
+
while (parent && !['TdMenu', 'TdSubMenu'].includes(parent.className)) {
|
|
23
|
+
parent = parent.parent;
|
|
24
|
+
}
|
|
25
|
+
return parent;
|
|
26
|
+
});
|
|
27
|
+
return {
|
|
28
|
+
parentMenu,
|
|
29
|
+
indexPath,
|
|
30
|
+
};
|
|
31
|
+
}
|