@type-dom/ui 0.1.1 → 0.1.2
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 +101 -11
- package/package.json +10 -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 +33 -26
- 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-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-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/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,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TdMenuCollapseTransition = void 0;
|
|
4
|
+
const framework_1 = require("@type-dom/framework");
|
|
5
|
+
const utils_1 = require("@type-dom/utils");
|
|
6
|
+
const use_namespace_1 = require("../../../../hooks/use-namespace");
|
|
7
|
+
class TdMenuCollapseTransition extends framework_1.TypeFragment {
|
|
8
|
+
constructor(params = {}) {
|
|
9
|
+
super();
|
|
10
|
+
this.className = 'TdMenuCollapseTransition';
|
|
11
|
+
this.props = this.useParams(params);
|
|
12
|
+
}
|
|
13
|
+
setup() {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
const props = this.props;
|
|
16
|
+
const ns = (0, use_namespace_1.useNamespace)('menu');
|
|
17
|
+
const listeners = {
|
|
18
|
+
onBeforeEnter: (el) => (el.style.opacity = '0.2'),
|
|
19
|
+
onEnter(el, done) {
|
|
20
|
+
(0, utils_1.addClass)(el, `${ns.namespace.get()}-opacity-transition`);
|
|
21
|
+
el.style.opacity = '1';
|
|
22
|
+
done === null || done === void 0 ? void 0 : done();
|
|
23
|
+
},
|
|
24
|
+
onAfterEnter(el) {
|
|
25
|
+
(0, utils_1.removeClass)(el, `${ns.namespace.get()}-opacity-transition`);
|
|
26
|
+
el.style.opacity = '';
|
|
27
|
+
},
|
|
28
|
+
onBeforeLeave(el) {
|
|
29
|
+
if (!el)
|
|
30
|
+
return;
|
|
31
|
+
if (!el.dataset)
|
|
32
|
+
el.dataset = {};
|
|
33
|
+
if ((0, utils_1.hasClass)(el, ns.m('collapse'))) {
|
|
34
|
+
(0, utils_1.removeClass)(el, ns.m('collapse'));
|
|
35
|
+
el.dataset.oldOverflow = el.style.overflow;
|
|
36
|
+
el.dataset.scrollWidth = el.clientWidth.toString();
|
|
37
|
+
(0, utils_1.addClass)(el, ns.m('collapse'));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
(0, utils_1.addClass)(el, ns.m('collapse'));
|
|
41
|
+
el.dataset.oldOverflow = el.style.overflow;
|
|
42
|
+
el.dataset.scrollWidth = el.clientWidth.toString();
|
|
43
|
+
(0, utils_1.removeClass)(el, ns.m('collapse'));
|
|
44
|
+
}
|
|
45
|
+
el.style.width = `${el.scrollWidth}px`;
|
|
46
|
+
el.style.overflow = 'hidden';
|
|
47
|
+
},
|
|
48
|
+
onLeave(el) {
|
|
49
|
+
(0, utils_1.addClass)(el, 'horizontal-collapse-transition');
|
|
50
|
+
el.style.width = `${el.dataset.scrollWidth}px`;
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
this.addChild(new framework_1.Transition(Object.assign(Object.assign({ mode: 'out-in' }, listeners), { slot: (_a = props.slot) !== null && _a !== void 0 ? _a : (_b = props.slots) === null || _b === void 0 ? void 0 : _b.default })));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.TdMenuCollapseTransition = TdMenuCollapseTransition;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TypeFragment } from '@type-dom/framework';
|
|
2
|
+
import { ITdMenuItem, TdMenuItemProps } from './td-menu-item.interface';
|
|
3
|
+
import './style/index';
|
|
4
|
+
declare const COMPONENT_NAME = "TdMenuItem";
|
|
5
|
+
export declare class TdMenuItem extends TypeFragment implements ITdMenuItem {
|
|
6
|
+
className: typeof COMPONENT_NAME;
|
|
7
|
+
props: TdMenuItemProps;
|
|
8
|
+
constructor(params?: TdMenuItemProps);
|
|
9
|
+
setup(): void;
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TdMenuItem = 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 use_namespace_1 = require("../../../../hooks/use-namespace");
|
|
8
|
+
const td_tooltip_class_1 = require("../../../feedback/td-tooltip/td-tooltip.class");
|
|
9
|
+
const use_menu_1 = require("../use-menu");
|
|
10
|
+
const td_menu_item_const_1 = require("./td-menu-item.const");
|
|
11
|
+
require("./style/index");
|
|
12
|
+
const COMPONENT_NAME = 'TdMenuItem';
|
|
13
|
+
class TdMenuItem extends framework_1.TypeFragment {
|
|
14
|
+
constructor(params = {}) {
|
|
15
|
+
super();
|
|
16
|
+
this.className = COMPONENT_NAME;
|
|
17
|
+
this.addEmits(td_menu_item_const_1.menuItemEmits);
|
|
18
|
+
this.props = this.useParams(params);
|
|
19
|
+
}
|
|
20
|
+
setup() {
|
|
21
|
+
var _a, _b, _c, _d, _e, _f;
|
|
22
|
+
const props = this.props;
|
|
23
|
+
const emit = this.emit;
|
|
24
|
+
const instance = (0, framework_1.getCurrentInstance)();
|
|
25
|
+
const rootMenu = (0, framework_1.inject)('rootMenu');
|
|
26
|
+
const nsMenu = (0, use_namespace_1.useNamespace)('menu');
|
|
27
|
+
const nsMenuItem = (0, use_namespace_1.useNamespace)('menu-item');
|
|
28
|
+
if (!rootMenu)
|
|
29
|
+
(0, utils_1.throwError)(COMPONENT_NAME, 'can not inject root menu');
|
|
30
|
+
const { parentMenu, indexPath } = (0, use_menu_1.default)(instance, (0, signals_1.toRef)(props.mIndex));
|
|
31
|
+
const subMenu = (0, framework_1.inject)(`subMenu:${parentMenu.get().uid}`);
|
|
32
|
+
if (!subMenu)
|
|
33
|
+
(0, utils_1.throwError)(COMPONENT_NAME, 'can not inject sub menu');
|
|
34
|
+
console.warn('TdMenuItem props.mIndex is ', props.mIndex, 'rootMenu.activeIndex is ', rootMenu.activeIndex);
|
|
35
|
+
const active = (0, signals_1.computed)(() => props.mIndex === rootMenu.activeIndex);
|
|
36
|
+
const item = (0, signals_1.signal)({
|
|
37
|
+
index: props.mIndex,
|
|
38
|
+
indexPath: indexPath.get(),
|
|
39
|
+
active: active.get(),
|
|
40
|
+
});
|
|
41
|
+
const handleClick = () => {
|
|
42
|
+
if (!props.disabled) {
|
|
43
|
+
rootMenu.handleMenuItemClick({
|
|
44
|
+
index: props.mIndex,
|
|
45
|
+
indexPath: indexPath.get(),
|
|
46
|
+
route: props.route,
|
|
47
|
+
});
|
|
48
|
+
emit('click', item.get());
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
(0, framework_1.onMounted)(() => {
|
|
52
|
+
subMenu.addSubMenu(item);
|
|
53
|
+
rootMenu.addMenuItem(item);
|
|
54
|
+
});
|
|
55
|
+
(0, framework_1.onBeforeUnmount)(() => {
|
|
56
|
+
subMenu.removeSubMenu(item);
|
|
57
|
+
rootMenu.removeMenuItem(item);
|
|
58
|
+
});
|
|
59
|
+
(0, framework_1.defineExpose)({
|
|
60
|
+
parentMenu,
|
|
61
|
+
rootMenu,
|
|
62
|
+
active,
|
|
63
|
+
nsMenu,
|
|
64
|
+
nsMenuItem,
|
|
65
|
+
handleClick,
|
|
66
|
+
});
|
|
67
|
+
this.addChild(new framework_1.LI({
|
|
68
|
+
class: (0, signals_1.computed)(() => [
|
|
69
|
+
nsMenuItem.b(),
|
|
70
|
+
nsMenuItem.is('active', active.get()), // todo computed
|
|
71
|
+
nsMenuItem.is('disabled', props.disabled),
|
|
72
|
+
]),
|
|
73
|
+
attrObj: {
|
|
74
|
+
role: 'menuitem',
|
|
75
|
+
tabindex: '-1',
|
|
76
|
+
},
|
|
77
|
+
events: {
|
|
78
|
+
click: handleClick,
|
|
79
|
+
},
|
|
80
|
+
slot: ((_a = parentMenu.get()) === null || _a === void 0 ? void 0 : _a.className) === 'TdMenu' &&
|
|
81
|
+
(0, signals_1.unref)(rootMenu.props.collapse) &&
|
|
82
|
+
((_b = props.slots) === null || _b === void 0 ? void 0 : _b.title)
|
|
83
|
+
? new td_tooltip_class_1.TdTooltip({
|
|
84
|
+
effect: rootMenu.props.popperEffect,
|
|
85
|
+
placement: 'right',
|
|
86
|
+
fallbackPlacements: ['left'],
|
|
87
|
+
persistent: rootMenu.props.persistent,
|
|
88
|
+
slot: new framework_1.Div({
|
|
89
|
+
class: nsMenu.be('tooltip', 'trigger'),
|
|
90
|
+
slot: props.slot,
|
|
91
|
+
}),
|
|
92
|
+
slots: {
|
|
93
|
+
content: (_c = props.slots) === null || _c === void 0 ? void 0 : _c.title,
|
|
94
|
+
}
|
|
95
|
+
})
|
|
96
|
+
: [
|
|
97
|
+
new framework_1.Fragment({
|
|
98
|
+
slot: (_d = props.slot) !== null && _d !== void 0 ? _d : (_e = props.slots) === null || _e === void 0 ? void 0 : _e.default,
|
|
99
|
+
}),
|
|
100
|
+
new framework_1.Fragment({
|
|
101
|
+
slot: (_f = props.slots) === null || _f === void 0 ? void 0 : _f.title,
|
|
102
|
+
})
|
|
103
|
+
]
|
|
104
|
+
}));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.TdMenuItem = TdMenuItem;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.menuItemEmits = void 0;
|
|
4
|
+
const utils_1 = require("@type-dom/utils");
|
|
5
|
+
// export const menuItemProps: TdMenuItemProps = {
|
|
6
|
+
// index: null,
|
|
7
|
+
// }
|
|
8
|
+
exports.menuItemEmits = {
|
|
9
|
+
click: (item) => (0, utils_1.isString)(item.index) && (0, utils_1.isArray)(item.indexPath),
|
|
10
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ITypeFragment, TypeFragmentProps } from '@type-dom/framework';
|
|
2
|
+
import { RouteRecordRaw } from '@type-dom/router';
|
|
3
|
+
export interface ITdMenuItem extends ITypeFragment {
|
|
4
|
+
className: 'TdMenuItem';
|
|
5
|
+
}
|
|
6
|
+
export interface TdMenuItemProps extends TypeFragmentProps {
|
|
7
|
+
/**
|
|
8
|
+
* @description unique identification
|
|
9
|
+
* default: null,
|
|
10
|
+
*/
|
|
11
|
+
mIndex?: string;
|
|
12
|
+
/**
|
|
13
|
+
* @description Vue Router object
|
|
14
|
+
*/
|
|
15
|
+
route?: RouteRecordRaw;
|
|
16
|
+
/**
|
|
17
|
+
* @description whether disabled
|
|
18
|
+
*/
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TypeLI } from '@type-dom/framework';
|
|
2
|
+
import { ITdMenuItemGroup, MenuItemGroupProps } from './td-menu-item-group.interface';
|
|
3
|
+
import './style/index';
|
|
4
|
+
export declare class TdMenuItemGroup extends TypeLI implements ITdMenuItemGroup {
|
|
5
|
+
className: 'TdMenuItemGroup';
|
|
6
|
+
props: MenuItemGroupProps;
|
|
7
|
+
constructor(props?: MenuItemGroupProps);
|
|
8
|
+
setup(): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TdMenuItemGroup = void 0;
|
|
4
|
+
const framework_1 = require("@type-dom/framework");
|
|
5
|
+
const use_namespace_1 = require("../../../../hooks/use-namespace");
|
|
6
|
+
require("./style/index");
|
|
7
|
+
class TdMenuItemGroup extends framework_1.TypeLI {
|
|
8
|
+
constructor(props = {}) {
|
|
9
|
+
super();
|
|
10
|
+
this.className = 'TdMenuItemGroup';
|
|
11
|
+
this.props = this.useParams(props);
|
|
12
|
+
}
|
|
13
|
+
setup() {
|
|
14
|
+
var _a, _b, _c;
|
|
15
|
+
const props = this.props;
|
|
16
|
+
const ns = (0, use_namespace_1.useNamespace)('menu-item-group');
|
|
17
|
+
this.attr.addClass(ns.b());
|
|
18
|
+
this.addChildren(new framework_1.Div({
|
|
19
|
+
class: ns.e('title'),
|
|
20
|
+
slot: !((_a = props.slots) === null || _a === void 0 ? void 0 : _a.title)
|
|
21
|
+
? props.title
|
|
22
|
+
: props.title,
|
|
23
|
+
}), new framework_1.UL({
|
|
24
|
+
slot: (_b = props.slot) !== null && _b !== void 0 ? _b : (_c = props.slots) === null || _c === void 0 ? void 0 : _c.default,
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.TdMenuItemGroup = TdMenuItemGroup;
|
package/src/components/navigation/td-menu/td-menu-item-group/td-menu-item-group.interface.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ITypeLI, TypeLIProps } from '@type-dom/framework';
|
|
2
|
+
export interface ITdMenuItemGroup extends ITypeLI {
|
|
3
|
+
className: 'TdMenuItemGroup';
|
|
4
|
+
}
|
|
5
|
+
export interface MenuItemGroupProps extends TypeLIProps {
|
|
6
|
+
/**
|
|
7
|
+
* @description group title
|
|
8
|
+
*/
|
|
9
|
+
title?: string;
|
|
10
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TypeFragment } from '@type-dom/framework';
|
|
2
2
|
import { ITdMenu, MenuProps } from './td-menu.interface';
|
|
3
|
-
|
|
3
|
+
import './style/index';
|
|
4
|
+
export declare class TdMenu extends TypeFragment implements ITdMenu {
|
|
4
5
|
className: 'TdMenu';
|
|
5
6
|
props: MenuProps;
|
|
6
7
|
constructor(params?: MenuProps);
|
|
@@ -2,42 +2,312 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TdMenu = void 0;
|
|
4
4
|
const framework_1 = require("@type-dom/framework");
|
|
5
|
-
const
|
|
6
|
-
|
|
5
|
+
const signals_1 = require("@type-dom/signals");
|
|
6
|
+
const utils_1 = require("@type-dom/utils");
|
|
7
|
+
const index_1 = require("../../../hooks/use-namespace/index");
|
|
8
|
+
const td_icon_class_1 = require("../../basic/td-icon/td-icon.class");
|
|
9
|
+
const menu_bar_1 = require("./utils/menu-bar");
|
|
10
|
+
const td_sub_menu_class_1 = require("./td-sub-menu/td-sub-menu.class");
|
|
11
|
+
const td_menu_collapse_transition_class_1 = require("./td-menu-collapse-transition/td-menu-collapse-transition.class");
|
|
12
|
+
const td_menu_const_1 = require("./td-menu.const");
|
|
13
|
+
const use_menu_css_var_1 = require("./use-menu-css-var");
|
|
14
|
+
require("./style/index");
|
|
15
|
+
class TdMenu extends framework_1.TypeFragment {
|
|
7
16
|
constructor(params = {}) {
|
|
8
17
|
super();
|
|
9
|
-
// this.useTag('ul');
|
|
10
18
|
this.className = 'TdMenu';
|
|
11
|
-
this.
|
|
12
|
-
|
|
13
|
-
role: 'menubar',
|
|
14
|
-
});
|
|
15
|
-
this.style.addObj({
|
|
16
|
-
// border-right: solid 1px var(--el-menu-border-color),
|
|
17
|
-
borderRight: 'solid 1px ' + var_1.$borderColor.base,
|
|
18
|
-
listStyle: 'none',
|
|
19
|
-
position: 'relative',
|
|
20
|
-
margin: '0',
|
|
21
|
-
paddingLeft: '0',
|
|
22
|
-
// background-color: var(--el-menu-bg-color),
|
|
23
|
-
backgroundColor: var_1.$borderColor.base,
|
|
24
|
-
boxSizing: 'border-box',
|
|
25
|
-
});
|
|
19
|
+
this.addEmits(td_menu_const_1.menuEmits);
|
|
20
|
+
this.assignProps(td_menu_const_1.menuProps);
|
|
26
21
|
this.props = this.useParams(params);
|
|
27
22
|
}
|
|
28
23
|
setup() {
|
|
29
24
|
const props = this.props;
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
const emit = this.emit;
|
|
26
|
+
const instance = (0, framework_1.getCurrentInstance)();
|
|
27
|
+
// const router = instance?.root?.props.globalProperties.$router as Router
|
|
28
|
+
const menu = (0, signals_1.signal)();
|
|
29
|
+
const nsMenu = (0, index_1.useNamespace)('menu');
|
|
30
|
+
const nsSubMenu = (0, index_1.useNamespace)('sub-menu');
|
|
31
|
+
// data
|
|
32
|
+
const sliceIndex = (0, signals_1.signal)(-1);
|
|
33
|
+
const openedMenus = (0, signals_1.signal)(props.defaultOpeneds && !(0, signals_1.unref)(props.collapse)
|
|
34
|
+
? props.defaultOpeneds.slice(0)
|
|
35
|
+
: []);
|
|
36
|
+
const activeIndex = (0, signals_1.signal)((0, signals_1.unref)(props.defaultActive));
|
|
37
|
+
const items = (0, signals_1.signal)({});
|
|
38
|
+
const subMenus = (0, signals_1.signal)({});
|
|
39
|
+
// computed
|
|
40
|
+
const isMenuPopup = (0, signals_1.computed)(() => props.mode === 'horizontal' ||
|
|
41
|
+
(props.mode === 'vertical' && (0, signals_1.unref)(props.collapse)));
|
|
42
|
+
// methods
|
|
43
|
+
const initMenu = () => {
|
|
44
|
+
const activeItem = activeIndex.get() && items.get()[activeIndex.get()];
|
|
45
|
+
if (!activeItem || props.mode === 'horizontal' || props.collapse)
|
|
46
|
+
return;
|
|
47
|
+
const indexPath = (0, signals_1.unref)(activeItem.indexPath);
|
|
48
|
+
// 展开该菜单项的路径上所有子菜单
|
|
49
|
+
// expand all subMenus of the menu item
|
|
50
|
+
indexPath.forEach((index) => {
|
|
51
|
+
const subMenu = subMenus.get()[index];
|
|
52
|
+
subMenu && openMenu(index, (0, signals_1.unref)(subMenu.indexPath));
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
const openMenu = (index, indexPath) => {
|
|
56
|
+
if (openedMenus.get().includes(index))
|
|
57
|
+
return;
|
|
58
|
+
// 将不在该菜单路径下的其余菜单收起
|
|
59
|
+
// collapse all menu that are not under current menu item
|
|
60
|
+
if (props.uniqueOpened) {
|
|
61
|
+
openedMenus.set(openedMenus.get().filter((index) => indexPath.includes(index)));
|
|
62
|
+
}
|
|
63
|
+
openedMenus.get().push(index);
|
|
64
|
+
emit('open', index, indexPath);
|
|
65
|
+
};
|
|
66
|
+
const close = (index) => {
|
|
67
|
+
const i = openedMenus.get().indexOf(index);
|
|
68
|
+
if (i !== -1) {
|
|
69
|
+
openedMenus.get().splice(i, 1);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const closeMenu = (index, indexPath) => {
|
|
73
|
+
close(index);
|
|
74
|
+
emit('close', index, indexPath);
|
|
75
|
+
};
|
|
76
|
+
const handleSubMenuClick = ({ index, indexPath }) => {
|
|
77
|
+
console.warn('handleSubMenuClick . ');
|
|
78
|
+
const isOpened = openedMenus.get().includes(index);
|
|
79
|
+
isOpened ? closeMenu(index, (0, signals_1.unref)(indexPath)) : openMenu(index, (0, signals_1.unref)(indexPath));
|
|
80
|
+
};
|
|
81
|
+
const handleMenuItemClick = (menuItem) => {
|
|
82
|
+
console.warn('handleMenuItemClick . ');
|
|
83
|
+
if (props.mode === 'horizontal' || (0, signals_1.unref)(props.collapse)) {
|
|
84
|
+
openedMenus.set([]);
|
|
85
|
+
}
|
|
86
|
+
const { index, indexPath } = menuItem;
|
|
87
|
+
if ((0, utils_1.isNil)(index) || (0, utils_1.isNil)(indexPath))
|
|
88
|
+
return;
|
|
89
|
+
// if (props.router && router) {
|
|
90
|
+
// const route = menuItem.route || index
|
|
91
|
+
// const routerResult = router.push(route).then((res: any) => {
|
|
92
|
+
// if (!res) activeIndex.set(index)
|
|
93
|
+
// return res
|
|
94
|
+
// })
|
|
95
|
+
// emit(
|
|
96
|
+
// 'select',
|
|
97
|
+
// index,
|
|
98
|
+
// indexPath,
|
|
99
|
+
// { index, indexPath, route },
|
|
100
|
+
// routerResult
|
|
101
|
+
// )
|
|
102
|
+
// } else {
|
|
103
|
+
console.warn('index is ', index);
|
|
104
|
+
activeIndex.set(index);
|
|
105
|
+
emit('select', index, indexPath, { index, indexPath });
|
|
106
|
+
// }
|
|
107
|
+
};
|
|
108
|
+
const updateActiveIndex = (val) => {
|
|
109
|
+
var _a;
|
|
110
|
+
const itemsInData = items.get();
|
|
111
|
+
const item = itemsInData[val] ||
|
|
112
|
+
(activeIndex.get() && itemsInData[activeIndex.get()]) ||
|
|
113
|
+
itemsInData[(0, signals_1.unref)(props.defaultActive)];
|
|
114
|
+
activeIndex.set((_a = item === null || item === void 0 ? void 0 : item.index) !== null && _a !== void 0 ? _a : val);
|
|
115
|
+
};
|
|
116
|
+
const calcMenuItemWidth = (menuItem) => {
|
|
117
|
+
const computedStyle = getComputedStyle(menuItem);
|
|
118
|
+
const marginLeft = Number.parseInt(computedStyle.marginLeft, 10);
|
|
119
|
+
const marginRight = Number.parseInt(computedStyle.marginRight, 10);
|
|
120
|
+
return menuItem.offsetWidth + marginLeft + marginRight || 0;
|
|
121
|
+
};
|
|
122
|
+
const calcSliceIndex = () => {
|
|
123
|
+
var _a, _b;
|
|
124
|
+
if (!menu.get())
|
|
125
|
+
return -1;
|
|
126
|
+
const items = Array.from((_b = (_a = menu.get()) === null || _a === void 0 ? void 0 : _a.childNodes) !== null && _b !== void 0 ? _b : []).filter((item) => item.nodeName !== '#text' || item.nodeValue);
|
|
127
|
+
const moreItemWidth = 64;
|
|
128
|
+
const computedMenuStyle = getComputedStyle(menu.get());
|
|
129
|
+
const paddingLeft = Number.parseInt(computedMenuStyle.paddingLeft, 10);
|
|
130
|
+
const paddingRight = Number.parseInt(computedMenuStyle.paddingRight, 10);
|
|
131
|
+
const menuWidth = menu.get().clientWidth - paddingLeft - paddingRight;
|
|
132
|
+
let calcWidth = 0;
|
|
133
|
+
let sliceIndex = 0;
|
|
134
|
+
items.forEach((item, index) => {
|
|
135
|
+
if (item.nodeName === '#comment')
|
|
136
|
+
return;
|
|
137
|
+
calcWidth += calcMenuItemWidth(item);
|
|
138
|
+
if (calcWidth <= menuWidth - moreItemWidth) {
|
|
139
|
+
sliceIndex = index + 1;
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
return sliceIndex === items.length ? -1 : sliceIndex;
|
|
143
|
+
};
|
|
144
|
+
const getIndexPath = (index) => subMenus.get()[index].indexPath;
|
|
145
|
+
// Common computer monitor FPS is 60Hz, which means 60 redraws per second. Calculation formula: 1000ms/60 ≈ 16.67ms, In order to avoid a certain chance of repeated triggering when `resize`, set wait to 16.67 * 2 = 33.34
|
|
146
|
+
const debounce = (fn, wait = 33.34) => {
|
|
147
|
+
let timmer;
|
|
148
|
+
return () => {
|
|
149
|
+
timmer && clearTimeout(timmer);
|
|
150
|
+
timmer = setTimeout(() => {
|
|
151
|
+
fn();
|
|
152
|
+
}, wait);
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
let isFirstTimeRender = true;
|
|
156
|
+
const handleResize = () => {
|
|
157
|
+
if (sliceIndex.get() === calcSliceIndex())
|
|
158
|
+
return;
|
|
159
|
+
const callback = () => {
|
|
160
|
+
sliceIndex.set(-1);
|
|
161
|
+
(0, framework_1.nextTick)(() => {
|
|
162
|
+
sliceIndex.set(calcSliceIndex());
|
|
163
|
+
});
|
|
164
|
+
};
|
|
165
|
+
// execute callback directly when first time resize to avoid shaking
|
|
166
|
+
isFirstTimeRender ? callback() : debounce(callback)();
|
|
167
|
+
isFirstTimeRender = false;
|
|
168
|
+
};
|
|
169
|
+
(0, signals_1.watch)(() => (0, signals_1.unref)(props.defaultActive), (currentActive) => {
|
|
170
|
+
if (!items.get()[currentActive]) {
|
|
171
|
+
activeIndex.set('');
|
|
172
|
+
}
|
|
173
|
+
updateActiveIndex(currentActive);
|
|
174
|
+
});
|
|
175
|
+
(0, signals_1.watch)(() => (0, signals_1.unref)(props.collapse), (value) => {
|
|
176
|
+
if (value)
|
|
177
|
+
openedMenus.set([]);
|
|
178
|
+
});
|
|
179
|
+
(0, signals_1.watch)(items, initMenu);
|
|
180
|
+
let resizeStopper;
|
|
181
|
+
(0, signals_1.effect)(() => {
|
|
182
|
+
if (props.mode === 'horizontal' && props.ellipsis)
|
|
183
|
+
resizeStopper = (0, framework_1.useResizeObserver)(menu, handleResize).stop;
|
|
184
|
+
else
|
|
185
|
+
resizeStopper === null || resizeStopper === void 0 ? void 0 : resizeStopper();
|
|
186
|
+
});
|
|
187
|
+
const mouseInChild = (0, signals_1.signal)(false);
|
|
188
|
+
// provide
|
|
189
|
+
// {
|
|
190
|
+
const addSubMenu = (item) => {
|
|
191
|
+
subMenus.get()[item.get().index] = item;
|
|
192
|
+
};
|
|
193
|
+
const removeSubMenu = (item) => {
|
|
194
|
+
delete subMenus.get()[item.get().index];
|
|
195
|
+
};
|
|
196
|
+
const addMenuItem = (item) => {
|
|
197
|
+
items.get()[item.get().index] = item;
|
|
198
|
+
};
|
|
199
|
+
const removeMenuItem = (item) => {
|
|
200
|
+
delete items.get()[item.get().index];
|
|
201
|
+
};
|
|
202
|
+
(0, framework_1.provide)('rootMenu', {
|
|
203
|
+
props,
|
|
204
|
+
openedMenus: openedMenus,
|
|
205
|
+
items: items.get(),
|
|
206
|
+
subMenus: subMenus.get(),
|
|
207
|
+
activeIndex: activeIndex.get(),
|
|
208
|
+
isMenuPopup: isMenuPopup.get(),
|
|
209
|
+
addMenuItem,
|
|
210
|
+
removeMenuItem,
|
|
211
|
+
addSubMenu,
|
|
212
|
+
removeSubMenu,
|
|
213
|
+
openMenu,
|
|
214
|
+
closeMenu,
|
|
215
|
+
handleMenuItemClick,
|
|
216
|
+
handleSubMenuClick,
|
|
217
|
+
});
|
|
218
|
+
(0, framework_1.provide)(`subMenu:${instance.uid}`, {
|
|
219
|
+
addSubMenu,
|
|
220
|
+
removeSubMenu,
|
|
221
|
+
mouseInChild,
|
|
222
|
+
level: 0,
|
|
223
|
+
});
|
|
224
|
+
// }
|
|
225
|
+
// lifecycle
|
|
226
|
+
(0, framework_1.onMounted)(() => {
|
|
227
|
+
if (props.mode === 'horizontal') {
|
|
228
|
+
new menu_bar_1.Menu(instance.dom, nsMenu.namespace.get());
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
// {
|
|
232
|
+
const open = (index) => {
|
|
233
|
+
const { indexPath } = subMenus.get()[index];
|
|
234
|
+
(0, signals_1.unref)(indexPath).forEach((i) => openMenu(i, (0, signals_1.unref)(indexPath)));
|
|
235
|
+
};
|
|
236
|
+
(0, framework_1.defineExpose)({
|
|
237
|
+
open,
|
|
238
|
+
close,
|
|
239
|
+
handleResize,
|
|
240
|
+
});
|
|
241
|
+
// }
|
|
242
|
+
const ulStyle = (0, use_menu_css_var_1.useMenuCssVar)(props, 0);
|
|
243
|
+
// this.slotChildren(props.slot);
|
|
244
|
+
let slot = (0, utils_1.ensureArray)(props.slot);
|
|
245
|
+
const vShowMore = [];
|
|
246
|
+
if (props.mode === 'horizontal' && menu.get()) {
|
|
247
|
+
const originalSlot = (0, framework_1.flattedChildren)(slot);
|
|
248
|
+
const slotDefault = sliceIndex.get() === -1
|
|
249
|
+
? originalSlot
|
|
250
|
+
: originalSlot.slice(0, sliceIndex.get());
|
|
251
|
+
const slotMore = sliceIndex.get() === -1 ? [] : originalSlot.slice(sliceIndex.get());
|
|
252
|
+
if ((slotMore === null || slotMore === void 0 ? void 0 : slotMore.length) && props.ellipsis) {
|
|
253
|
+
slot = slotDefault;
|
|
254
|
+
vShowMore.push(new td_sub_menu_class_1.TdSubMenu({
|
|
255
|
+
sIndex: 'sub-menu-more',
|
|
256
|
+
class: nsSubMenu.e('hide-arrow'),
|
|
257
|
+
popperOffset: props.popperOffset,
|
|
258
|
+
slots: {
|
|
259
|
+
title: () => new td_icon_class_1.TdIcon({
|
|
260
|
+
class: nsSubMenu.e('icon-more'),
|
|
261
|
+
slot: new props.ellipsisIcon(),
|
|
262
|
+
}),
|
|
263
|
+
default: slotMore,
|
|
264
|
+
}
|
|
265
|
+
}));
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
// todo clickoutside
|
|
269
|
+
// const directives: DirectiveArguments = props.closeOnClickOutside
|
|
270
|
+
// ? [
|
|
271
|
+
// [
|
|
272
|
+
// vClickoutside,
|
|
273
|
+
// () => {
|
|
274
|
+
// if (!openedMenus.value.length) return
|
|
275
|
+
//
|
|
276
|
+
// if (!mouseInChild.value) {
|
|
277
|
+
// openedMenus.value.forEach((openedMenu) =>
|
|
278
|
+
// emit('close', openedMenu, getIndexPath(openedMenu))
|
|
279
|
+
// )
|
|
280
|
+
//
|
|
281
|
+
// openedMenus.value = []
|
|
282
|
+
// }
|
|
283
|
+
// },
|
|
284
|
+
// ],
|
|
285
|
+
// ]
|
|
286
|
+
// : []
|
|
287
|
+
const vMenu = new framework_1.UL({
|
|
288
|
+
// key: String(props.collapse),
|
|
289
|
+
refDom: menu,
|
|
290
|
+
attrObj: {
|
|
291
|
+
role: 'menubar',
|
|
292
|
+
class: props.class,
|
|
293
|
+
},
|
|
294
|
+
styleObj: ulStyle.get(),
|
|
295
|
+
class: {
|
|
296
|
+
[nsMenu.b()]: true,
|
|
297
|
+
[nsMenu.m(props.mode)]: true,
|
|
298
|
+
[nsMenu.m('collapse')]: props.collapse,
|
|
299
|
+
},
|
|
300
|
+
slot: [...slot, ...vShowMore],
|
|
301
|
+
// directives
|
|
302
|
+
});
|
|
303
|
+
console.log('vMenu is ', vMenu);
|
|
304
|
+
if (props.collapseTransition && props.mode === 'vertical') {
|
|
305
|
+
this.addChild(new td_menu_collapse_transition_class_1.TdMenuCollapseTransition({
|
|
306
|
+
slot: vMenu
|
|
307
|
+
}));
|
|
33
308
|
}
|
|
34
309
|
else {
|
|
35
|
-
this.
|
|
36
|
-
display: 'flex',
|
|
37
|
-
flexWrap: 'nowrap',
|
|
38
|
-
borderRight: 'none',
|
|
39
|
-
// height: var(--el-menu-horizontal-height),
|
|
40
|
-
});
|
|
310
|
+
this.addChild(vMenu);
|
|
41
311
|
}
|
|
42
312
|
}
|
|
43
313
|
}
|