ngx-tethys 18.0.8 → 18.1.0-next.1
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/CHANGELOG.md +19 -1
- package/action/action.component.d.ts +1 -2
- package/affix/affix.component.d.ts +2 -4
- package/alert/alert.component.d.ts +11 -19
- package/anchor/anchor-link.component.d.ts +2 -4
- package/anchor/anchor.component.d.ts +2 -7
- package/arrow-switcher/arrow-switcher.component.d.ts +1 -2
- package/autocomplete/autocomplete.component.d.ts +1 -2
- package/autocomplete/autocomplete.trigger.directive.d.ts +3 -5
- package/autocomplete/overlay/autocomplete-container.component.d.ts +4 -4
- package/autocomplete/overlay/autocomplete.service.d.ts +3 -5
- package/avatar/avatar.component.d.ts +1 -3
- package/avatar/avatar.pipe.d.ts +0 -2
- package/back-top/back-top.component.d.ts +2 -4
- package/badge/badge.component.d.ts +2 -2
- package/breadcrumb/breadcrumb-item.component.d.ts +1 -2
- package/breadcrumb/breadcrumb.component.d.ts +1 -2
- package/button/button.component.d.ts +1 -2
- package/calendar/calendar-header.component.d.ts +1 -2
- package/calendar/calendar.component.d.ts +1 -2
- package/carousel/carousel-item.directive.d.ts +1 -2
- package/carousel/carousel.component.d.ts +1 -4
- package/carousel/carousel.service.d.ts +1 -2
- package/cascader/cascader.component.d.ts +4 -4
- package/checkbox/checkbox.component.d.ts +0 -2
- package/collapse/collapse-item.component.d.ts +2 -4
- package/color-picker/color-picker-panel.component.d.ts +2 -3
- package/color-picker/color-picker.component.d.ts +2 -4
- package/color-picker/coordinates.directive.d.ts +1 -2
- package/color-picker/parts/alpha/alpha.component.d.ts +1 -2
- package/color-picker/parts/hue/hue.component.d.ts +1 -2
- package/color-picker/parts/saturation/saturation.component.d.ts +1 -2
- package/copy/copy.directive.d.ts +0 -2
- package/core/click-positioner.d.ts +0 -2
- package/core/scroll.d.ts +1 -2
- package/core/update-host-class.service.d.ts +1 -2
- package/date-picker/abstract-picker.component.d.ts +1 -1
- package/date-picker/abstract-picker.directive.d.ts +2 -3
- package/date-picker/base-picker.component.d.ts +2 -3
- package/date-picker/date-picker.component.d.ts +2 -2
- package/date-picker/date-picker.directive.d.ts +1 -3
- package/date-picker/date-picker.service.d.ts +2 -2
- package/date-picker/index.d.ts +26 -27
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -2
- package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -1
- package/date-picker/lib/date/date-header.component.d.ts +0 -3
- package/date-picker/lib/date/date-table-cell.component.d.ts +1 -1
- package/date-picker/lib/date/date-table.component.d.ts +1 -3
- package/date-picker/lib/date-carousel/date-carousel.component.d.ts +1 -2
- package/date-picker/lib/decade/decade-header.component.d.ts +1 -1
- package/date-picker/lib/month/month-header.component.d.ts +0 -3
- package/date-picker/lib/month/month-table.component.d.ts +1 -2
- package/date-picker/lib/popups/date-popup.component.d.ts +1 -4
- package/date-picker/lib/popups/inner-popup.component.d.ts +0 -2
- package/date-picker/lib/quarter/quarter-table.component.d.ts +1 -2
- package/date-picker/lib/year/year-header.component.d.ts +0 -1
- package/date-picker/month-picker.component.d.ts +2 -2
- package/date-picker/picker.component.d.ts +1 -3
- package/date-picker/picker.pipes.d.ts +0 -3
- package/date-picker/quarter-picker.component.d.ts +2 -2
- package/date-picker/range-picker.component.d.ts +2 -2
- package/date-picker/range-picker.directive.d.ts +2 -3
- package/date-picker/week-picker.component.d.ts +2 -2
- package/date-picker/year-picker.component.d.ts +2 -2
- package/date-range/date-range.component.d.ts +3 -11
- package/date-range/optional-dates/optional-dates.component.d.ts +0 -2
- package/dialog/body/dialog-body.component.d.ts +0 -2
- package/dialog/confirm/confirm.component.d.ts +2 -3
- package/dialog/dialog-container.component.d.ts +4 -5
- package/dialog/dialog.service.d.ts +4 -4
- package/dialog/footer/dialog-footer.component.d.ts +2 -2
- package/dialog/header/dialog-header.component.d.ts +2 -6
- package/divider/divider.component.d.ts +8 -2
- package/dot/dot.component.d.ts +1 -2
- package/drag-drop/drag-content.directive.d.ts +2 -3
- package/drag-drop/drag-handle.directive.d.ts +2 -3
- package/drag-drop/drag.directive.d.ts +4 -5
- package/drag-drop/drop-container.directive.d.ts +6 -3
- package/dropdown/dropdown-active.directive.d.ts +3 -4
- package/dropdown/dropdown-menu-item.directive.d.ts +1 -2
- package/dropdown/dropdown-submenu.component.d.ts +1 -3
- package/dropdown/dropdown.directive.d.ts +3 -5
- package/empty/empty.component.d.ts +6 -6
- package/esm2022/action/action.component.mjs +20 -21
- package/esm2022/affix/affix.component.mjs +11 -14
- package/esm2022/alert/alert.component.mjs +55 -81
- package/esm2022/anchor/anchor-link.component.mjs +23 -16
- package/esm2022/anchor/anchor.component.mjs +27 -24
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +25 -26
- package/esm2022/autocomplete/autocomplete.component.mjs +11 -11
- package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +30 -37
- package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +11 -15
- package/esm2022/autocomplete/overlay/autocomplete.service.mjs +14 -21
- package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
- package/esm2022/avatar/avatar.component.mjs +27 -28
- package/esm2022/avatar/avatar.pipe.mjs +6 -7
- package/esm2022/back-top/back-top.component.mjs +14 -18
- package/esm2022/badge/badge.component.mjs +8 -9
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
- package/esm2022/breadcrumb/breadcrumb.component.mjs +15 -17
- package/esm2022/button/button-icon.component.mjs +4 -4
- package/esm2022/button/button.component.mjs +15 -15
- package/esm2022/calendar/calendar-header.component.mjs +15 -15
- package/esm2022/calendar/calendar.component.mjs +14 -15
- package/esm2022/card/header.component.mjs +4 -4
- package/esm2022/carousel/carousel-item.directive.mjs +7 -6
- package/esm2022/carousel/carousel.component.mjs +13 -15
- package/esm2022/carousel/carousel.service.mjs +7 -9
- package/esm2022/cascader/cascader-li.component.mjs +4 -4
- package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
- package/esm2022/cascader/cascader.component.mjs +15 -22
- package/esm2022/checkbox/checkbox.component.mjs +11 -13
- package/esm2022/collapse/collapse-item.component.mjs +21 -24
- package/esm2022/color-picker/color-picker-panel.component.mjs +14 -15
- package/esm2022/color-picker/color-picker.component.mjs +10 -11
- package/esm2022/color-picker/coordinates.directive.mjs +10 -10
- package/esm2022/color-picker/parts/alpha/alpha.component.mjs +6 -6
- package/esm2022/color-picker/parts/hue/hue.component.mjs +6 -6
- package/esm2022/color-picker/parts/saturation/saturation.component.mjs +9 -9
- package/esm2022/comment/comment.component.mjs +4 -4
- package/esm2022/copy/copy.directive.mjs +8 -12
- package/esm2022/core/click-positioner.mjs +6 -7
- package/esm2022/core/scroll.mjs +7 -9
- package/esm2022/core/store/store.mjs +1 -1
- package/esm2022/core/update-host-class.service.mjs +6 -6
- package/esm2022/date-picker/abstract-picker.component.mjs +5 -5
- package/esm2022/date-picker/abstract-picker.directive.mjs +42 -44
- package/esm2022/date-picker/base-picker.component.mjs +26 -26
- package/esm2022/date-picker/date-picker.component.mjs +10 -11
- package/esm2022/date-picker/date-picker.directive.mjs +6 -8
- package/esm2022/date-picker/date-picker.service.mjs +6 -10
- package/esm2022/date-picker/index.mjs +27 -28
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +7 -8
- package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +6 -7
- package/esm2022/date-picker/lib/date/date-header.component.mjs +6 -12
- package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
- package/esm2022/date-picker/lib/date/date-table.component.mjs +10 -12
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +16 -16
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +8 -11
- package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/month/month-header.component.mjs +6 -12
- package/esm2022/date-picker/lib/month/month-table.component.mjs +9 -10
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +14 -29
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +14 -20
- package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +9 -10
- package/esm2022/date-picker/lib/year/year-header.component.mjs +6 -12
- package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
- package/esm2022/date-picker/month-picker.component.mjs +9 -11
- package/esm2022/date-picker/picker.component.mjs +24 -35
- package/esm2022/date-picker/picker.pipes.mjs +10 -11
- package/esm2022/date-picker/quarter-picker.component.mjs +9 -11
- package/esm2022/date-picker/range-picker.component.mjs +9 -11
- package/esm2022/date-picker/range-picker.directive.mjs +6 -8
- package/esm2022/date-picker/week-picker.component.mjs +9 -11
- package/esm2022/date-picker/year-picker.component.mjs +9 -11
- package/esm2022/date-range/date-range.component.mjs +17 -18
- package/esm2022/date-range/optional-dates/optional-dates.component.mjs +9 -13
- package/esm2022/dialog/body/dialog-body.component.mjs +11 -12
- package/esm2022/dialog/confirm/confirm.component.mjs +10 -14
- package/esm2022/dialog/dialog-container.component.mjs +13 -18
- package/esm2022/dialog/dialog.service.mjs +10 -17
- package/esm2022/dialog/footer/dialog-footer.component.mjs +10 -14
- package/esm2022/dialog/header/dialog-header.component.mjs +17 -22
- package/esm2022/divider/divider.component.mjs +21 -13
- package/esm2022/dot/dot.component.mjs +7 -7
- package/esm2022/drag-drop/drag-content.directive.mjs +7 -9
- package/esm2022/drag-drop/drag-handle.directive.mjs +7 -9
- package/esm2022/drag-drop/drag.directive.mjs +13 -16
- package/esm2022/drag-drop/drop-container.directive.mjs +13 -13
- package/esm2022/dropdown/dropdown-active.directive.mjs +9 -12
- package/esm2022/dropdown/dropdown-menu-item.directive.mjs +12 -12
- package/esm2022/dropdown/dropdown-menu.component.mjs +11 -7
- package/esm2022/dropdown/dropdown-submenu.component.mjs +9 -10
- package/esm2022/dropdown/dropdown.directive.mjs +12 -10
- package/esm2022/empty/empty.component.mjs +17 -20
- package/esm2022/flexible-text/flexible-text.component.mjs +16 -17
- package/esm2022/form/form-group-error/form-group-error.component.mjs +12 -15
- package/esm2022/form/form-group-label.directive.mjs +9 -10
- package/esm2022/form/form-group.component.mjs +18 -22
- package/esm2022/form/form-submit.directive.mjs +6 -7
- package/esm2022/form/form-validator-loader.mjs +1 -1
- package/esm2022/form/form-validator.service.mjs +12 -13
- package/esm2022/form/form.directive.mjs +11 -16
- package/esm2022/form/from-group-footer/form-group-footer.component.mjs +13 -19
- package/esm2022/form/validator/unique-validator.directive.mjs +7 -10
- package/esm2022/fullscreen/fullscreen.component.mjs +10 -11
- package/esm2022/fullscreen/fullscreen.service.mjs +7 -10
- package/esm2022/grid/thy-col.directive.mjs +9 -14
- package/esm2022/grid/thy-grid-item.component.mjs +8 -14
- package/esm2022/grid/thy-grid.component.mjs +7 -8
- package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
- package/esm2022/guider/guider.directive.mjs +8 -9
- package/esm2022/guider/guider.service.mjs +12 -19
- package/esm2022/icon/icon-registry.mjs +11 -16
- package/esm2022/icon/icon.component.mjs +8 -9
- package/esm2022/image/image-group.component.mjs +7 -7
- package/esm2022/image/image.directive.mjs +11 -12
- package/esm2022/image/image.service.mjs +8 -14
- package/esm2022/image/preview/image-preview.component.mjs +36 -41
- package/esm2022/input/input-count.component.mjs +7 -10
- package/esm2022/input/input-group.component.mjs +15 -16
- package/esm2022/input/input-search.component.mjs +9 -10
- package/esm2022/input/input.component.mjs +17 -17
- package/esm2022/input/input.directive.mjs +12 -17
- package/esm2022/input-number/input-number.component.mjs +6 -6
- package/esm2022/layout/header.component.mjs +4 -4
- package/esm2022/layout/sidebar-header.component.mjs +4 -4
- package/esm2022/layout/sidebar.component.mjs +125 -121
- package/esm2022/list/list-item-meta.component.mjs +4 -4
- package/esm2022/list/selection/selection-list.mjs +25 -25
- package/esm2022/loading/loading.component.mjs +10 -11
- package/esm2022/mention/mention.directive.mjs +9 -14
- package/esm2022/mention/suggestions/suggestions.component.mjs +11 -12
- package/esm2022/menu/group/menu-group.component.mjs +37 -38
- package/esm2022/menu/item/action/menu-item-action.component.mjs +15 -16
- package/esm2022/menu/item/menu-item.component.mjs +8 -9
- package/esm2022/message/abstract/abstract-message-container.component.mjs +5 -5
- package/esm2022/message/abstract/abstract-message.component.mjs +6 -6
- package/esm2022/message/message-container.component.mjs +21 -15
- package/esm2022/message/message-queue.service.mjs +6 -8
- package/esm2022/message/message.component.mjs +9 -10
- package/esm2022/message/message.service.mjs +10 -11
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -5
- package/esm2022/nav/icon-nav/icon-nav.component.mjs +6 -6
- package/esm2022/nav/nav-ink-bar.directive.mjs +9 -14
- package/esm2022/nav/nav-item.directive.mjs +8 -11
- package/esm2022/nav/nav.component.mjs +35 -38
- package/esm2022/nav/nav.pipe.mjs +6 -7
- package/esm2022/notify/notify-container.component.mjs +11 -14
- package/esm2022/notify/notify-queue.service.mjs +6 -8
- package/esm2022/notify/notify.component.mjs +10 -10
- package/esm2022/notify/notify.service.mjs +11 -12
- package/esm2022/pagination/pagination.component.mjs +41 -46
- package/esm2022/pagination/pagination.pipe.mjs +6 -7
- package/esm2022/popover/header/popover-header.component.mjs +15 -17
- package/esm2022/popover/popover-container.component.mjs +11 -13
- package/esm2022/popover/popover.directive.mjs +13 -12
- package/esm2022/popover/popover.service.mjs +14 -26
- package/esm2022/progress/progress-circle.component.mjs +4 -7
- package/esm2022/progress/progress-strip.component.mjs +10 -13
- package/esm2022/progress/progress.component.mjs +5 -8
- package/esm2022/property/property-item.component.mjs +13 -16
- package/esm2022/property-operation/property-operation.component.mjs +27 -28
- package/esm2022/radio/button/radio-button.component.mjs +9 -15
- package/esm2022/radio/group/radio-group.component.mjs +17 -17
- package/esm2022/radio/radio.component.mjs +12 -18
- package/esm2022/rate/rate.component.mjs +10 -10
- package/esm2022/resizable/resizable.directive.mjs +10 -12
- package/esm2022/resizable/resizable.service.mjs +7 -9
- package/esm2022/resizable/resize-handle.component.mjs +16 -14
- package/esm2022/resizable/resize-handles.component.mjs +12 -5
- package/esm2022/result/result.component.mjs +4 -4
- package/esm2022/segment/segment-item.component.mjs +15 -18
- package/esm2022/segment/segment.component.mjs +29 -30
- package/esm2022/select/custom-select/custom-select.component.mjs +19 -35
- package/esm2022/select/native-select/native-select.component.mjs +10 -11
- package/esm2022/shared/base-form-check.component.mjs +7 -8
- package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +7 -7
- package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -10
- package/esm2022/shared/directives/thy-contextmenu.directive.mjs +8 -8
- package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +8 -8
- package/esm2022/shared/directives/thy-enter.directive.mjs +8 -8
- package/esm2022/shared/directives/thy-scroll.directive.mjs +21 -21
- package/esm2022/shared/directives/thy-show.mjs +11 -11
- package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +7 -5
- package/esm2022/shared/directives/view-outlet.directive.mjs +7 -7
- package/esm2022/shared/ng-transclude.directive.mjs +6 -5
- package/esm2022/shared/option/group/option-group.component.mjs +10 -10
- package/esm2022/shared/option/list-option/list-option.component.mjs +14 -22
- package/esm2022/shared/option/option.component.mjs +11 -22
- package/esm2022/shared/select/select-control/select-control.component.mjs +27 -27
- package/esm2022/skeleton/skeleton-circle.component.mjs +7 -15
- package/esm2022/skeleton/skeleton-rectangle.component.mjs +7 -15
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +8 -9
- package/esm2022/skeleton/stylized/list.component.mjs +8 -9
- package/esm2022/skeleton/stylized/paragraph.component.mjs +8 -9
- package/esm2022/slide/drawer/drawer-container.directive.mjs +6 -6
- package/esm2022/slide/slide-container.component.mjs +12 -16
- package/esm2022/slide/slide-header/slide-header.component.mjs +13 -14
- package/esm2022/slide/slide-ref.service.mjs +1 -1
- package/esm2022/slide/slide.service.mjs +8 -12
- package/esm2022/slider/slider.component.mjs +8 -8
- package/esm2022/space/space.component.mjs +16 -16
- package/esm2022/statistic/statistic.component.mjs +23 -23
- package/esm2022/stepper/step.component.mjs +6 -11
- package/esm2022/stepper/stepper-button.directive.mjs +10 -11
- package/esm2022/stepper/stepper.component.mjs +5 -5
- package/esm2022/strength/strength.component.mjs +11 -12
- package/esm2022/switch/switch.component.mjs +11 -11
- package/esm2022/table/table-column.component.mjs +58 -63
- package/esm2022/table/table-skeleton.component.mjs +35 -38
- package/esm2022/table/table.component.mjs +19 -29
- package/esm2022/tabs/tab-content.component.mjs +9 -9
- package/esm2022/tabs/tabs.component.mjs +22 -25
- package/esm2022/tag/tag.component.mjs +22 -22
- package/esm2022/time-picker/inner/inner-time-picker.component.mjs +12 -12
- package/esm2022/time-picker/time-picker-panel.component.mjs +31 -34
- package/esm2022/time-picker/time-picker.component.mjs +33 -43
- package/esm2022/timeline/timeline-item.component.mjs +15 -16
- package/esm2022/timeline/timeline.component.mjs +15 -16
- package/esm2022/tooltip/tooltip.component.mjs +17 -17
- package/esm2022/tooltip/tooltip.directive.mjs +11 -10
- package/esm2022/tooltip/tooltip.service.mjs +9 -13
- package/esm2022/transfer/transfer-list.component.mjs +9 -9
- package/esm2022/transfer/transfer.component.mjs +4 -4
- package/esm2022/tree/tree-node.component.mjs +16 -20
- package/esm2022/tree/tree.component.mjs +90 -96
- package/esm2022/tree-select/tree-select.component.mjs +28 -36
- package/esm2022/typography/bg-color.directive.mjs +9 -9
- package/esm2022/typography/text/text.component.mjs +3 -4
- package/esm2022/typography/text-color.directive.mjs +9 -9
- package/esm2022/upload/file-drop.directive.mjs +1 -1
- package/esm2022/upload/file-select-base.mjs +5 -6
- package/esm2022/upload/file-select.component.mjs +4 -3
- package/esm2022/upload/upload.service.mjs +6 -7
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +4 -4
- package/esm2022/watermark/watermark.directive.mjs +12 -12
- package/fesm2022/ngx-tethys-action.mjs +20 -20
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +12 -14
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +54 -80
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +48 -35
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +25 -25
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +63 -75
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +32 -32
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +15 -18
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +8 -8
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +19 -21
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +16 -16
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +26 -26
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +3 -3
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +23 -24
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +19 -25
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +10 -11
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +20 -22
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +47 -45
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +3 -3
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +8 -12
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +14 -16
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +2872 -2924
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +24 -26
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +61 -77
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +20 -12
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +6 -6
- package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
- package/fesm2022/ngx-tethys-drag-drop.mjs +33 -37
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +49 -43
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +18 -18
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +16 -17
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +74 -89
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-fullscreen.mjs +14 -17
- package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +20 -29
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +20 -26
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +18 -22
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +60 -65
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +5 -5
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +53 -60
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +129 -124
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +27 -27
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +10 -10
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-mention.mjs +19 -24
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +56 -57
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +47 -41
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +61 -72
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +31 -34
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +46 -51
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +51 -57
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +15 -24
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +27 -27
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +14 -14
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +33 -39
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +9 -9
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +43 -34
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +3 -3
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +41 -44
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +28 -44
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +135 -150
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +33 -47
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +33 -37
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +7 -7
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +16 -16
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +22 -22
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +17 -22
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +11 -11
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +10 -10
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +107 -124
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +29 -32
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +21 -21
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +70 -80
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +26 -26
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +35 -36
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +10 -10
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +29 -37
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +102 -110
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +18 -18
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +11 -12
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +3 -3
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys-watermark.mjs +12 -12
- package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/flexible-text/flexible-text.component.d.ts +1 -3
- package/form/form-group-error/form-group-error.component.d.ts +1 -3
- package/form/form-group-label.directive.d.ts +0 -2
- package/form/form-group.component.d.ts +1 -4
- package/form/form-submit.directive.d.ts +0 -2
- package/form/form-validator.service.d.ts +0 -2
- package/form/form.directive.d.ts +4 -4
- package/form/from-group-footer/form-group-footer.component.d.ts +2 -4
- package/form/validator/unique-validator.directive.d.ts +1 -4
- package/fullscreen/fullscreen.component.d.ts +0 -2
- package/fullscreen/fullscreen.service.d.ts +0 -2
- package/grid/thy-col.directive.d.ts +1 -2
- package/grid/thy-grid-item.component.d.ts +2 -4
- package/grid/thy-grid.component.d.ts +1 -3
- package/guider/guider.directive.d.ts +1 -3
- package/guider/guider.service.d.ts +0 -7
- package/icon/icon-registry.d.ts +1 -3
- package/icon/icon.component.d.ts +1 -3
- package/image/image-group.component.d.ts +1 -2
- package/image/image.directive.d.ts +1 -3
- package/image/image.service.d.ts +2 -2
- package/image/preview/image-preview.component.d.ts +1 -4
- package/input/input-count.component.d.ts +3 -4
- package/input/input-group.component.d.ts +1 -3
- package/input/input-search.component.d.ts +2 -2
- package/input/input.component.d.ts +1 -2
- package/input/input.directive.d.ts +2 -3
- package/input-number/input-number.component.d.ts +2 -2
- package/layout/sidebar.component.d.ts +44 -13
- package/list/selection/selection-list.d.ts +1 -2
- package/loading/loading.component.d.ts +0 -2
- package/loading/styles/loading.scss +3 -1
- package/mention/mention.directive.d.ts +4 -5
- package/mention/suggestions/suggestions.component.d.ts +2 -3
- package/menu/group/menu-group.component.d.ts +30 -8
- package/menu/item/action/menu-item-action.component.d.ts +2 -3
- package/menu/item/menu-item.component.d.ts +1 -2
- package/message/abstract/abstract-message-container.component.d.ts +1 -2
- package/message/abstract/abstract-message.component.d.ts +2 -2
- package/message/message-container.component.d.ts +1 -3
- package/message/message-queue.service.d.ts +1 -2
- package/message/message.component.d.ts +1 -3
- package/message/message.service.d.ts +3 -5
- package/nav/icon-nav/icon-nav.component.d.ts +2 -2
- package/nav/nav-ink-bar.directive.d.ts +2 -4
- package/nav/nav-item.directive.d.ts +3 -4
- package/nav/nav.component.d.ts +1 -3
- package/nav/nav.pipe.d.ts +0 -2
- package/notify/notify-container.component.d.ts +1 -3
- package/notify/notify-queue.service.d.ts +1 -2
- package/notify/notify.component.d.ts +2 -3
- package/notify/notify.service.d.ts +1 -4
- package/package.json +1 -1
- package/pagination/pagination.component.d.ts +2 -4
- package/pagination/pagination.pipe.d.ts +0 -2
- package/popover/header/popover-header.component.d.ts +0 -3
- package/popover/popover-container.component.d.ts +3 -4
- package/popover/popover.directive.d.ts +2 -5
- package/popover/popover.service.d.ts +4 -6
- package/progress/progress-circle.component.d.ts +0 -1
- package/progress/progress-strip.component.d.ts +0 -1
- package/progress/progress.component.d.ts +0 -1
- package/property/property-item.component.d.ts +6 -9
- package/property-operation/property-operation.component.d.ts +1 -3
- package/radio/button/radio-button.component.d.ts +2 -5
- package/radio/group/radio-group.component.d.ts +1 -2
- package/radio/radio.component.d.ts +2 -3
- package/rate/rate.component.d.ts +2 -2
- package/resizable/resizable.directive.d.ts +2 -4
- package/resizable/resizable.service.d.ts +2 -2
- package/resizable/resize-handle.component.d.ts +2 -7
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment-item.component.d.ts +4 -5
- package/segment/segment.component.d.ts +2 -7
- package/select/custom-select/custom-select.component.d.ts +5 -5
- package/select/native-select/native-select.component.d.ts +1 -1
- package/shared/base-form-check.component.d.ts +1 -1
- package/shared/directives/string-or-template-outlet.directive.d.ts +1 -2
- package/shared/directives/thy-autofocus.directive.d.ts +0 -2
- package/shared/directives/thy-contextmenu.directive.d.ts +1 -2
- package/shared/directives/thy-ctrl-enter.directive.d.ts +1 -2
- package/shared/directives/thy-enter.directive.d.ts +1 -2
- package/shared/directives/thy-scroll.directive.d.ts +1 -2
- package/shared/directives/thy-show.d.ts +1 -2
- package/shared/directives/thy-stop-propagation.directive.d.ts +2 -2
- package/shared/directives/view-outlet.directive.d.ts +1 -2
- package/shared/ng-transclude.directive.d.ts +1 -1
- package/shared/option/group/option-group.component.d.ts +1 -2
- package/shared/option/list-option/list-option.component.d.ts +6 -7
- package/shared/option/option.component.d.ts +5 -5
- package/shared/select/select-control/select-control.component.d.ts +1 -2
- package/skeleton/skeleton-circle.component.d.ts +1 -4
- package/skeleton/skeleton-rectangle.component.d.ts +5 -5
- package/skeleton/stylized/bullet-list.component.d.ts +9 -1
- package/slide/drawer/drawer-container.directive.d.ts +1 -2
- package/slide/slide-container.component.d.ts +3 -4
- package/slide/slide-header/slide-header.component.d.ts +0 -2
- package/slide/slide.service.d.ts +3 -3
- package/slider/slider.component.d.ts +2 -2
- package/space/space.component.d.ts +1 -2
- package/statistic/statistic.component.d.ts +1 -2
- package/stepper/step.component.d.ts +1 -2
- package/stepper/stepper-button.directive.d.ts +0 -3
- package/strength/strength.component.d.ts +0 -1
- package/switch/switch.component.d.ts +1 -1
- package/table/table-column.component.d.ts +32 -8
- package/table/table-skeleton.component.d.ts +1 -3
- package/table/table.component.d.ts +3 -5
- package/tabs/tabs.component.d.ts +1 -3
- package/tag/tag.component.d.ts +7 -3
- package/time-picker/inner/inner-time-picker.component.d.ts +2 -4
- package/time-picker/time-picker-panel.component.d.ts +1 -3
- package/time-picker/time-picker.component.d.ts +1 -2
- package/timeline/timeline-item.component.d.ts +1 -3
- package/timeline/timeline.component.d.ts +1 -3
- package/tooltip/tooltip.component.d.ts +1 -2
- package/tooltip/tooltip.directive.d.ts +6 -9
- package/tooltip/tooltip.service.d.ts +2 -4
- package/transfer/transfer-list.component.d.ts +1 -2
- package/tree/tree-node.component.d.ts +5 -21
- package/tree/tree.component.d.ts +1 -2
- package/tree-select/tree-select.component.d.ts +5 -6
- package/typography/bg-color.directive.d.ts +0 -2
- package/typography/text-color.directive.d.ts +1 -2
- package/upload/file-select-base.d.ts +2 -3
- package/upload/file-select.component.d.ts +1 -0
- package/upload/upload.service.d.ts +0 -2
- package/watermark/watermark.directive.d.ts +1 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, InjectionToken,
|
|
2
|
+
import { Injectable, InjectionToken, inject, ElementRef, NgZone, Renderer2, Directive, Input, HostBinding, EventEmitter, Output, ContentChildren, NgModule } from '@angular/core';
|
|
3
3
|
import { coerceElement } from '@angular/cdk/coercion';
|
|
4
4
|
import { Subject, fromEvent, defer, merge } from 'rxjs';
|
|
5
5
|
import { auditTime, takeUntil, startWith, take, switchMap } from 'rxjs/operators';
|
|
@@ -282,17 +282,23 @@ class ThyDragDirective {
|
|
|
282
282
|
get disabled() {
|
|
283
283
|
return this._disabled;
|
|
284
284
|
}
|
|
285
|
-
constructor(
|
|
286
|
-
this.container =
|
|
287
|
-
this.elementRef =
|
|
285
|
+
constructor() {
|
|
286
|
+
this.container = inject(THY_DROP_CONTAINER_DIRECTIVE, { optional: true });
|
|
287
|
+
this.elementRef = inject(ElementRef);
|
|
288
288
|
this.isDraggable = true;
|
|
289
289
|
this._disabled = false;
|
|
290
|
+
const document = inject(DOCUMENT);
|
|
291
|
+
const container = this.container;
|
|
292
|
+
const ngZone = inject(NgZone);
|
|
293
|
+
const elementRef = this.elementRef;
|
|
294
|
+
const service = inject(ThyDragDropService);
|
|
295
|
+
const renderer = inject(Renderer2);
|
|
290
296
|
this.dragRef = new DragRef(elementRef, this, container, service, document, ngZone, renderer);
|
|
291
297
|
}
|
|
292
298
|
ngOnDestroy() {
|
|
293
299
|
this.dragRef.dispose();
|
|
294
300
|
}
|
|
295
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDragDirective, deps: [
|
|
301
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDragDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
296
302
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: ThyDragDirective, isStandalone: true, selector: "thy-drag,[thyDrag]", inputs: { dragData: ["thyDrag", "dragData"], data: ["thyDragData", "data"], disabled: ["thyDragDisabled", "disabled", coerceBooleanProperty] }, host: { properties: { "attr.draggable": "this.isDraggable" } }, ngImport: i0 }); }
|
|
297
303
|
}
|
|
298
304
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDragDirective, decorators: [{
|
|
@@ -301,15 +307,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
301
307
|
selector: 'thy-drag,[thyDrag]',
|
|
302
308
|
standalone: true
|
|
303
309
|
}]
|
|
304
|
-
}], ctorParameters: () => [
|
|
305
|
-
type: Inject,
|
|
306
|
-
args: [DOCUMENT]
|
|
307
|
-
}] }, { type: undefined, decorators: [{
|
|
308
|
-
type: Optional
|
|
309
|
-
}, {
|
|
310
|
-
type: Inject,
|
|
311
|
-
args: [THY_DROP_CONTAINER_DIRECTIVE]
|
|
312
|
-
}] }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: ThyDragDropService }, { type: i0.Renderer2 }], propDecorators: { dragData: [{
|
|
310
|
+
}], ctorParameters: () => [], propDecorators: { dragData: [{
|
|
313
311
|
type: Input,
|
|
314
312
|
args: ['thyDrag']
|
|
315
313
|
}], data: [{
|
|
@@ -339,14 +337,15 @@ class ThyDragHandleDirective {
|
|
|
339
337
|
get disabled() {
|
|
340
338
|
return this._disabled;
|
|
341
339
|
}
|
|
342
|
-
constructor(
|
|
343
|
-
this.element =
|
|
340
|
+
constructor() {
|
|
341
|
+
this.element = inject(ElementRef);
|
|
344
342
|
this._disabled = false;
|
|
343
|
+
const drag = inject(ThyDragDirective, { optional: true });
|
|
345
344
|
if (drag) {
|
|
346
345
|
drag.dragRef.withHandles(this);
|
|
347
346
|
}
|
|
348
347
|
}
|
|
349
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDragHandleDirective, deps: [
|
|
348
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
350
349
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: ThyDragHandleDirective, isStandalone: true, selector: "thy-drag-handle,[thyDragHandle]", inputs: { disabled: ["thyDisabled", "disabled", coerceBooleanProperty] }, ngImport: i0 }); }
|
|
351
350
|
}
|
|
352
351
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDragHandleDirective, decorators: [{
|
|
@@ -355,9 +354,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
355
354
|
selector: 'thy-drag-handle,[thyDragHandle]',
|
|
356
355
|
standalone: true
|
|
357
356
|
}]
|
|
358
|
-
}], ctorParameters: () => [
|
|
359
|
-
type: Optional
|
|
360
|
-
}] }], propDecorators: { disabled: [{
|
|
357
|
+
}], ctorParameters: () => [], propDecorators: { disabled: [{
|
|
361
358
|
type: Input,
|
|
362
359
|
args: [{ alias: 'thyDisabled', transform: coerceBooleanProperty }]
|
|
363
360
|
}] } });
|
|
@@ -368,14 +365,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
368
365
|
* @order 25
|
|
369
366
|
*/
|
|
370
367
|
class ThyDragContentDirective {
|
|
371
|
-
constructor(
|
|
372
|
-
this.element =
|
|
368
|
+
constructor() {
|
|
369
|
+
this.element = inject(ElementRef);
|
|
373
370
|
this.contentClass = true;
|
|
371
|
+
const drag = inject(ThyDragDirective, { optional: true });
|
|
374
372
|
if (drag) {
|
|
375
373
|
drag.dragRef.withContentElement(this.element);
|
|
376
374
|
}
|
|
377
375
|
}
|
|
378
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDragContentDirective, deps: [
|
|
376
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDragContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
379
377
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyDragContentDirective, isStandalone: true, selector: "thy-drag-content,[thyDragContent]", host: { properties: { "class.thy-drag-content": "this.contentClass" } }, ngImport: i0 }); }
|
|
380
378
|
}
|
|
381
379
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDragContentDirective, decorators: [{
|
|
@@ -384,9 +382,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
384
382
|
selector: 'thy-drag-content,[thyDragContent]',
|
|
385
383
|
standalone: true
|
|
386
384
|
}]
|
|
387
|
-
}], ctorParameters: () => [
|
|
388
|
-
type: Optional
|
|
389
|
-
}] }], propDecorators: { contentClass: [{
|
|
385
|
+
}], ctorParameters: () => [], propDecorators: { contentClass: [{
|
|
390
386
|
type: HostBinding,
|
|
391
387
|
args: ['class.thy-drag-content']
|
|
392
388
|
}] } });
|
|
@@ -396,15 +392,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
396
392
|
* @order 30
|
|
397
393
|
*/
|
|
398
394
|
class ThyDropContainerDirective {
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
* @type any[]
|
|
402
|
-
*/
|
|
403
|
-
set dragContainer(data) {
|
|
404
|
-
this.data = data;
|
|
405
|
-
}
|
|
406
|
-
constructor(ngZone) {
|
|
407
|
-
this.ngZone = ngZone;
|
|
395
|
+
constructor() {
|
|
396
|
+
this.ngZone = inject(NgZone);
|
|
408
397
|
this.ngUnsubscribe$ = new Subject();
|
|
409
398
|
/**
|
|
410
399
|
* 开始拖拽时调用
|
|
@@ -423,6 +412,13 @@ class ThyDropContainerDirective {
|
|
|
423
412
|
*/
|
|
424
413
|
this.dropped = new EventEmitter();
|
|
425
414
|
}
|
|
415
|
+
/**
|
|
416
|
+
* 元数据
|
|
417
|
+
* @type any[]
|
|
418
|
+
*/
|
|
419
|
+
set dragContainer(data) {
|
|
420
|
+
this.data = data;
|
|
421
|
+
}
|
|
426
422
|
ngOnInit() { }
|
|
427
423
|
ngAfterContentInit() {
|
|
428
424
|
this.draggables.changes.pipe(startWith(null), takeUntil(this.ngUnsubscribe$)).subscribe(() => {
|
|
@@ -455,7 +451,7 @@ class ThyDropContainerDirective {
|
|
|
455
451
|
this.ngUnsubscribe$.next();
|
|
456
452
|
this.ngUnsubscribe$.complete();
|
|
457
453
|
}
|
|
458
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropContainerDirective, deps: [
|
|
454
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
459
455
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: ThyDropContainerDirective, isStandalone: true, selector: "thy-drop-container,[thyDropContainer]", inputs: { dragContainer: ["thyDropContainer", "dragContainer"], data: ["thyDropContainerData", "data"], disabled: ["thyDropContainerDisabled", "disabled", coerceBooleanProperty], beforeStart: ["thyBeforeDragStart", "beforeStart"], beforeOver: ["thyBeforeDragOver", "beforeOver"], beforeDrop: ["thyBeforeDragDrop", "beforeDrop"] }, outputs: { started: "thyDragStarted", ended: "thyDragEnded", overed: "thyDragOvered", dropped: "thyDragDropped" }, providers: [
|
|
460
456
|
{
|
|
461
457
|
provide: THY_DROP_CONTAINER_DIRECTIVE,
|
|
@@ -475,7 +471,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
475
471
|
],
|
|
476
472
|
standalone: true
|
|
477
473
|
}]
|
|
478
|
-
}],
|
|
474
|
+
}], propDecorators: { dragContainer: [{
|
|
479
475
|
type: Input,
|
|
480
476
|
args: ['thyDropContainer']
|
|
481
477
|
}], data: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-drag-drop.mjs","sources":["../../../src/drag-drop/drag-drop.class.ts","../../../src/drag-drop/drag-ref.ts","../../../src/drag-drop/drag-drop.service.ts","../../../src/drag-drop/drop-container.class.ts","../../../src/drag-drop/drag.directive.ts","../../../src/drag-drop/drag-handle.directive.ts","../../../src/drag-drop/drag-content.directive.ts","../../../src/drag-drop/drop-container.directive.ts","../../../src/drag-drop/module.ts","../../../src/drag-drop/ngx-tethys-drag-drop.ts"],"sourcesContent":["export enum ThyDropPosition {\n in = 'in',\n before = 'before',\n after = 'after'\n}\n\nexport interface ThyDragStartEvent<T = any> {\n event?: Event;\n item?: T;\n containerItems?: T[];\n currentIndex: number;\n}\n\nexport interface ThyDragEndEvent<T = any> {\n event?: DragEvent;\n item?: T;\n containerItems?: T[];\n}\n\nexport interface ThyDragOverEvent<T = any> {\n event?: DragEvent;\n item?: T;\n containerItems?: T[];\n currentIndex: number;\n position?: ThyDropPosition;\n previousItem?: T;\n previousIndex?: number;\n previousContainerItems?: T[];\n}\n\nexport interface ThyDragDropEvent<T = any> {\n event?: DragEvent;\n item?: T;\n containerItems?: T[];\n currentIndex: number;\n position?: ThyDropPosition;\n previousItem?: T;\n previousIndex?: number;\n previousContainerItems?: T[];\n}\n","import { NgZone, ElementRef, Renderer2 } from '@angular/core';\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { ThyDragHandleDirective } from './drag-handle.directive';\nimport { ThyDragDropService } from './drag-drop.service';\nimport { ThyDragStartEvent, ThyDragEndEvent, ThyDragOverEvent, ThyDragDropEvent, ThyDropPosition } from './drag-drop.class';\nimport { ThyDragDirective } from './drag.directive';\nimport { IThyDropContainerDirective } from './drop-container.class';\nimport { coerceArray, isEmpty, isString } from 'ngx-tethys/util';\n\nconst dropPositionClass = {\n [ThyDropPosition.in]: 'thy-drop-position-in',\n [ThyDropPosition.before]: 'thy-drop-position-before',\n [ThyDropPosition.after]: 'thy-drop-position-after'\n};\n\nexport class DragRef<T = any> {\n private rootElement: HTMLElement;\n\n private contentElement: HTMLElement;\n\n private target: HTMLElement;\n\n private handles: ThyDragHandleDirective[];\n\n private ngUnsubscribe$ = new Subject();\n\n started = new Subject<ThyDragStartEvent>();\n\n ended = new Subject<ThyDragEndEvent>();\n\n overed = new Subject<ThyDragOverEvent>();\n\n dropped = new Subject<ThyDragDropEvent>();\n\n entered = new Subject<DragEvent>();\n\n leaved = new Subject<DragEvent>();\n\n private _disabled = false;\n\n get disabled(): boolean {\n return (this.container && this.container.disabled) || this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n }\n\n private addPositionClass$ = new Subject<{ element: HTMLElement; class: string }>();\n\n constructor(\n element: ElementRef<HTMLElement> | HTMLElement,\n private drag: ThyDragDirective,\n private container: IThyDropContainerDirective<T>,\n private dragDropService: ThyDragDropService<T>,\n private document: any,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {\n this.withRootElement(element);\n this.subAddPositionClass();\n }\n\n subAddPositionClass() {\n this.addPositionClass$.pipe(auditTime(30), takeUntil(this.ngUnsubscribe$)).subscribe(data => {\n this.removeExistClassByMap(this.dragDropService.classMap);\n this.dragDropService.classMap.set(data.element, data.class);\n this.renderer.addClass(data.element, data.class);\n });\n }\n\n withRootElement(rootElement: ElementRef<HTMLElement> | HTMLElement): this {\n const element = coerceElement(rootElement);\n this.rootElement = element;\n this.registerDragDropEvents();\n return this;\n }\n\n withContentElement(contentElement: ElementRef<HTMLElement> | HTMLElement): this {\n this.contentElement = coerceElement(contentElement);\n return this;\n }\n\n withHandles(handleOrHandles: ThyDragHandleDirective | ThyDragHandleDirective[]): this {\n this.handles = coerceArray(handleOrHandles);\n return this;\n }\n\n private registerDragDropEvents() {\n const events = {\n dragstart: this.dragStart,\n dragover: this.dragOver,\n dragend: this.dragEnd,\n drop: this.dragDrop,\n dragleave: this.dragLeave,\n dragenter: (event: DragEvent) => {\n this.entered.next(event);\n },\n mouseover: (event: MouseEvent) => {\n this.target = event.target as HTMLElement;\n }\n };\n this.ngZone.runOutsideAngular(() => {\n for (const name in events) {\n if (events.hasOwnProperty(name)) {\n fromEvent(this.rootElement, name).pipe(takeUntil(this.ngUnsubscribe$)).subscribe(events[name].bind(this));\n }\n }\n });\n }\n\n private dragStart(event: DragEvent) {\n event.stopPropagation();\n const dragStartEvent: ThyDragStartEvent = {\n event: event,\n item: this.drag.data,\n containerItems: this.container.data,\n currentIndex: this.container.data.indexOf(this.drag.data)\n };\n if (this.disabled || !this.isTriggerHandle() || (this.container.beforeStart && !this.container.beforeStart(dragStartEvent))) {\n event.preventDefault();\n return false;\n }\n this.dragDropService.previousDrag = this.drag;\n this.ngZone.run(() => {\n this.started.next(dragStartEvent);\n });\n }\n\n private isTriggerHandle() {\n if (this.handles && this.handles.length > 0) {\n const targetHandle = this.handles.find(handle => {\n return (\n !handle.disabled && (handle.element.nativeElement === this.target || handle.element.nativeElement.contains(this.target))\n );\n });\n return !!targetHandle;\n } else {\n return true;\n }\n }\n\n private getPreviousEventData() {\n const previousItem = this.dragDropService.previousDrag?.data;\n const previousContainerItems = this.dragDropService.previousDrag?.container?.data;\n return {\n previousItem: previousItem,\n previousContainerItems,\n previousIndex: isEmpty(previousContainerItems) ? -1 : previousContainerItems.indexOf(previousItem)\n };\n }\n\n private isContinueDragOver(event: ThyDragOverEvent, container: IThyDropContainerDirective<T>) {\n if (event.item === event.previousItem && event.position === ThyDropPosition.in) {\n return false;\n }\n if (container && container.beforeOver) {\n return container.beforeOver(event);\n }\n return true;\n }\n\n private dragOver(event: DragEvent) {\n event.stopPropagation();\n event.preventDefault();\n\n const dropPosition = this.calcDropPosition(event);\n const previousEventData = this.getPreviousEventData();\n if (previousEventData.previousIndex < 0) {\n return;\n }\n const dragOverEvent: ThyDragOverEvent<T> = {\n event: event,\n item: this.drag.data,\n containerItems: this.drag.container.data,\n currentIndex: this.container.data.indexOf(this.drag.data),\n position: dropPosition,\n ...previousEventData\n };\n\n if (this.isContinueDragOver(dragOverEvent, this.container)) {\n this.dragOverHandler(dropPosition);\n this.overed.next(dragOverEvent);\n }\n }\n\n private dragOverHandler(position: ThyDropPosition) {\n const element = this.contentElement || this.rootElement;\n this.addPositionClass$.next({ element, class: dropPositionClass[position] });\n this.dragDropService.dropPosition = position;\n }\n\n private dragDrop(event: DragEvent) {\n event.stopPropagation();\n this.clearDragPositionClass();\n const previousEventData = this.getPreviousEventData();\n if (previousEventData.previousIndex < 0) {\n return;\n }\n const dragDropEvent: ThyDragDropEvent<T> = {\n event: event,\n item: this.drag.data,\n containerItems: this.drag.container.data,\n currentIndex: this.container.data.indexOf(this.drag.data),\n position: this.calcDropPosition(event),\n ...previousEventData\n };\n if (this.dragDropService.previousDrag === this.drag || (this.container.beforeDrop && !this.container.beforeDrop(dragDropEvent))) {\n event.preventDefault();\n return;\n }\n this.ngZone.run(() => {\n this.dropped.next(dragDropEvent);\n });\n }\n\n private dragEnd(event: DragEvent) {\n this.clearDragPositionClass();\n this.ngZone.run(() => {\n this.ended.next({\n event: event,\n item: this.drag.data,\n containerItems: this.container.data\n });\n });\n this.dragDropService.previousDrag = undefined;\n }\n\n private dragLeave(event: DragEvent) {\n event.stopPropagation();\n this.clearDragPositionClass();\n this.leaved.next(event);\n }\n\n private clearDragPositionClass() {\n setTimeout(() => {\n const classMap = this.dragDropService.classMap;\n this.removeExistClassByMap(classMap);\n classMap.clear();\n }, 30);\n }\n\n private removeExistClassByMap(classMap: Map<Element, string>) {\n classMap.forEach((value, key) => {\n if (isString(value) && key) {\n this.renderer.removeClass(key, value);\n }\n });\n }\n\n private calcDropPosition(event: DragEvent): ThyDropPosition {\n const sideRange = 0.25;\n const minGap = 2;\n const { clientY } = event;\n const { top, bottom, height } = event.srcElement\n ? (event.srcElement as Element).getBoundingClientRect()\n : (event.target as Element).getBoundingClientRect();\n const des = Math.max(height * sideRange, minGap);\n if (clientY <= top + des) {\n return ThyDropPosition.before;\n } else if (clientY >= bottom - des) {\n return ThyDropPosition.after;\n }\n return ThyDropPosition.in;\n }\n\n dispose() {\n this.ngUnsubscribe$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { ThyDropPosition } from './drag-drop.class';\n\n/**\n * 自定义可放置区域内容\n * @order 40\n */\n@Injectable({ providedIn: 'root' })\nexport class ThyDragDropService<T = any> {\n /**\n * 当前拖拽项,dragEnd 后重置为 undefined\n */\n public previousDrag: ThyDragDirective<T>;\n\n /**\n * 拖拽的时候,针对 dragOver 的节点有三种情况,即拖拽到节点之上 before ,拖拽到节点上 in ,拖拽到节点之下 after\n * @type ThyDropPosition\n */\n public dropPosition: ThyDropPosition;\n\n /**\n * 用于拖动过程对 dragover 的元素设置相应的样式\n * @type Map<Element, string>\n */\n public classMap = new Map<Element, string>();\n constructor() {}\n}\n","import { EventEmitter, QueryList, InjectionToken } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { ThyDragDropEvent, ThyDragStartEvent, ThyDragEndEvent, ThyDragOverEvent } from './drag-drop.class';\n\nexport interface IThyDropContainerDirective<T = any> {\n started: EventEmitter<ThyDragStartEvent<T>>;\n\n ended: EventEmitter<ThyDragEndEvent<T>>;\n\n overed: EventEmitter<ThyDragOverEvent<T>>;\n\n dropped: EventEmitter<ThyDragDropEvent<T>>;\n\n beforeStart: (e: ThyDragStartEvent<T>) => boolean;\n\n beforeOver: (e: ThyDragOverEvent<T>) => boolean;\n\n beforeDrop: (e: ThyDragDropEvent<T>) => boolean;\n\n data: T[];\n\n disabled: boolean;\n\n draggables: QueryList<ThyDragDirective>;\n}\n\n/**\n * Injection token used to provide the container directive to drag.\n */\nexport const THY_DROP_CONTAINER_DIRECTIVE = new InjectionToken<IThyDropContainerDirective>('THY_DROP_CONTAINER_DIRECTIVE');\n","import { Directive, NgZone, ElementRef, HostBinding, Input, Inject, OnDestroy, Optional, Renderer2 } from '@angular/core';\nimport { DragRef } from './drag-ref';\nimport { DOCUMENT } from '@angular/common';\nimport { ThyDragDropService } from './drag-drop.service';\nimport { THY_DROP_CONTAINER_DIRECTIVE, IThyDropContainerDirective } from './drop-container.class';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 拖拽项\n * @name thy-drag,[thyDrag]\n * @order 10\n */\n@Directive({\n selector: 'thy-drag,[thyDrag]',\n standalone: true\n})\nexport class ThyDragDirective<T = any> implements OnDestroy {\n /**\n * 元数据\n * @type any\n */\n @Input('thyDrag')\n set dragData(data: T) {\n this.data = data;\n }\n\n /**\n * 元数据\n * @type any\n */\n @Input('thyDragData') data: T;\n\n @HostBinding('attr.draggable') isDraggable = true;\n\n private _disabled = false;\n\n /**\n * 是否禁用拖拽\n * @default false\n */\n @Input({ alias: 'thyDragDisabled', transform: coerceBooleanProperty })\n set disabled(isDisabled: boolean) {\n this._disabled = isDisabled;\n this.isDraggable = !isDisabled;\n }\n get disabled() {\n return this._disabled;\n }\n\n public dragRef: DragRef<T>;\n\n constructor(\n @Inject(DOCUMENT) document: any,\n @Optional() @Inject(THY_DROP_CONTAINER_DIRECTIVE) public container: IThyDropContainerDirective,\n ngZone: NgZone,\n private elementRef: ElementRef<HTMLElement>,\n service: ThyDragDropService<T>,\n renderer: Renderer2\n ) {\n this.dragRef = new DragRef<T>(elementRef, this, container, service, document, ngZone, renderer);\n }\n\n ngOnDestroy() {\n this.dragRef.dispose();\n }\n}\n","import { Directive, ElementRef, Input, Optional } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 自定义可拖拽区域内容\n * @name thy-drag-handle,[thyDragHandle]\n * @order 20\n */\n@Directive({\n selector: 'thy-drag-handle,[thyDragHandle]',\n standalone: true\n})\nexport class ThyDragHandleDirective {\n private _disabled = false;\n\n /**\n * 是否禁用\n * @default false\n */\n @Input({ alias: 'thyDisabled', transform: coerceBooleanProperty })\n set disabled(value: boolean) {\n this._disabled = value;\n }\n get disabled(): boolean {\n return this._disabled;\n }\n\n constructor(\n public element: ElementRef<HTMLElement>,\n @Optional() drag: ThyDragDirective\n ) {\n if (drag) {\n drag.dragRef.withHandles(this);\n }\n }\n}\n","import { Directive, ElementRef, HostBinding, Optional } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\n\n/**\n * 自定义拖拽时可经过,拖拽结束时可放置的区域内容\n * @name thy-drag-content,[thyDragContent]\n * @order 25\n */\n@Directive({\n selector: 'thy-drag-content,[thyDragContent]',\n standalone: true\n})\nexport class ThyDragContentDirective {\n @HostBinding('class.thy-drag-content') contentClass = true;\n\n constructor(\n public element: ElementRef<HTMLElement>,\n @Optional() drag: ThyDragDirective\n ) {\n if (drag) {\n drag.dragRef.withContentElement(this.element);\n }\n }\n}\n","import {\n OnInit,\n Directive,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n AfterContentInit,\n NgZone,\n Input,\n OnDestroy\n} from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { merge, Observable, defer, Subject } from 'rxjs';\nimport { takeUntil, startWith, take, switchMap } from 'rxjs/operators';\nimport { ThyDragDropEvent, ThyDragStartEvent, ThyDragEndEvent, ThyDragOverEvent } from './drag-drop.class';\nimport { THY_DROP_CONTAINER_DIRECTIVE, IThyDropContainerDirective } from './drop-container.class';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * @name thy-drop-container,[thyDropContainer]\n * @order 30\n */\n@Directive({\n selector: 'thy-drop-container,[thyDropContainer]',\n providers: [\n {\n provide: THY_DROP_CONTAINER_DIRECTIVE,\n useExisting: ThyDropContainerDirective\n }\n ],\n standalone: true\n})\nexport class ThyDropContainerDirective<T = any> implements OnInit, AfterContentInit, IThyDropContainerDirective, OnDestroy {\n private ngUnsubscribe$ = new Subject<void>();\n\n /**\n * 元数据\n * @type any[]\n */\n @Input('thyDropContainer')\n set dragContainer(data: T[]) {\n this.data = data;\n }\n\n /**\n * 元数据\n * @type any[]\n */\n @Input('thyDropContainerData') data: T[];\n\n /**\n * 是否禁用拖拽\n * @default false\n */\n @Input({ alias: 'thyDropContainerDisabled', transform: coerceBooleanProperty }) disabled: boolean;\n\n /**\n * 拖拽之前的回调,函数返回 false 则阻止拖拽\n */\n @Input('thyBeforeDragStart') beforeStart: (e: ThyDragStartEvent<T>) => boolean;\n\n /**\n * 拖拽时回调,函数返回 false 则阻止移入\n */\n @Input('thyBeforeDragOver') beforeOver: (e: ThyDragOverEvent<T>) => boolean;\n\n /**\n * 拖放到元素时回调,函数返回 false 则阻止放置\n */\n @Input('thyBeforeDragDrop') beforeDrop: (e: ThyDragDropEvent<T>) => boolean;\n\n /**\n * 开始拖拽时调用\n */\n @Output('thyDragStarted') started = new EventEmitter<ThyDragStartEvent<ThyDragDirective>>();\n\n /**\n * dragend 触发时调用\n */\n @Output('thyDragEnded') ended = new EventEmitter<ThyDragEndEvent<ThyDragDirective>>();\n\n /**\n * dragover 触发时调用\n */\n @Output('thyDragOvered') overed = new EventEmitter<ThyDragOverEvent<ThyDragDirective>>();\n\n /**\n * drop 触发时调用\n */\n @Output('thyDragDropped') dropped = new EventEmitter<ThyDragDropEvent<ThyDragDirective>>();\n\n /**\n * @internal\n */\n @ContentChildren(ThyDragDirective, {\n descendants: false\n })\n draggables: QueryList<ThyDragDirective>;\n\n constructor(private ngZone: NgZone) {}\n\n ngOnInit() {}\n\n ngAfterContentInit() {\n this.draggables.changes.pipe(startWith(null), takeUntil(this.ngUnsubscribe$)).subscribe(() => {\n this.draggableChanges();\n });\n }\n\n private draggableChanges() {\n this.resetDraggableChanges(item => item.dragRef.started).subscribe(event => {\n this.started.emit(event);\n });\n this.resetDraggableChanges(item => item.dragRef.ended).subscribe(event => {\n this.ended.emit(event);\n });\n this.resetDraggableChanges(item => item.dragRef.overed).subscribe(event => {\n this.overed.emit(event);\n });\n this.resetDraggableChanges(item => item.dragRef.dropped).subscribe(event => {\n this.dropped.emit(event);\n });\n }\n\n private resetDraggableChanges(fn: (item: ThyDragDirective) => Observable<any>) {\n return defer(() => {\n if (this.draggables) {\n return merge(...this.draggables.map(fn));\n }\n return this.ngZone.onStable.asObservable().pipe(\n take(1),\n switchMap(() => this.resetDraggableChanges.bind(this, fn))\n );\n }).pipe(takeUntil(merge(this.ngUnsubscribe$, this.draggables.changes))) as Observable<any>;\n }\n\n ngOnDestroy(): void {\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { ThyDragHandleDirective } from './drag-handle.directive';\nimport { ThyDragContentDirective } from './drag-content.directive';\nimport { ThyDropContainerDirective } from './drop-container.directive';\n\n@NgModule({\n imports: [ThyDropContainerDirective, ThyDragDirective, ThyDragHandleDirective, ThyDragContentDirective],\n exports: [ThyDropContainerDirective, ThyDragDirective, ThyDragHandleDirective, ThyDragContentDirective],\n providers: []\n})\nexport class ThyDragDropModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyDragDropService","i1.ThyDragDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-drag-drop.mjs","sources":["../../../src/drag-drop/drag-drop.class.ts","../../../src/drag-drop/drag-ref.ts","../../../src/drag-drop/drag-drop.service.ts","../../../src/drag-drop/drop-container.class.ts","../../../src/drag-drop/drag.directive.ts","../../../src/drag-drop/drag-handle.directive.ts","../../../src/drag-drop/drag-content.directive.ts","../../../src/drag-drop/drop-container.directive.ts","../../../src/drag-drop/module.ts","../../../src/drag-drop/ngx-tethys-drag-drop.ts"],"sourcesContent":["export enum ThyDropPosition {\n in = 'in',\n before = 'before',\n after = 'after'\n}\n\nexport interface ThyDragStartEvent<T = any> {\n event?: Event;\n item?: T;\n containerItems?: T[];\n currentIndex: number;\n}\n\nexport interface ThyDragEndEvent<T = any> {\n event?: DragEvent;\n item?: T;\n containerItems?: T[];\n}\n\nexport interface ThyDragOverEvent<T = any> {\n event?: DragEvent;\n item?: T;\n containerItems?: T[];\n currentIndex: number;\n position?: ThyDropPosition;\n previousItem?: T;\n previousIndex?: number;\n previousContainerItems?: T[];\n}\n\nexport interface ThyDragDropEvent<T = any> {\n event?: DragEvent;\n item?: T;\n containerItems?: T[];\n currentIndex: number;\n position?: ThyDropPosition;\n previousItem?: T;\n previousIndex?: number;\n previousContainerItems?: T[];\n}\n","import { NgZone, ElementRef, Renderer2 } from '@angular/core';\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { ThyDragHandleDirective } from './drag-handle.directive';\nimport { ThyDragDropService } from './drag-drop.service';\nimport { ThyDragStartEvent, ThyDragEndEvent, ThyDragOverEvent, ThyDragDropEvent, ThyDropPosition } from './drag-drop.class';\nimport { ThyDragDirective } from './drag.directive';\nimport { IThyDropContainerDirective } from './drop-container.class';\nimport { coerceArray, isEmpty, isString } from 'ngx-tethys/util';\n\nconst dropPositionClass = {\n [ThyDropPosition.in]: 'thy-drop-position-in',\n [ThyDropPosition.before]: 'thy-drop-position-before',\n [ThyDropPosition.after]: 'thy-drop-position-after'\n};\n\nexport class DragRef<T = any> {\n private rootElement: HTMLElement;\n\n private contentElement: HTMLElement;\n\n private target: HTMLElement;\n\n private handles: ThyDragHandleDirective[];\n\n private ngUnsubscribe$ = new Subject();\n\n started = new Subject<ThyDragStartEvent>();\n\n ended = new Subject<ThyDragEndEvent>();\n\n overed = new Subject<ThyDragOverEvent>();\n\n dropped = new Subject<ThyDragDropEvent>();\n\n entered = new Subject<DragEvent>();\n\n leaved = new Subject<DragEvent>();\n\n private _disabled = false;\n\n get disabled(): boolean {\n return (this.container && this.container.disabled) || this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n }\n\n private addPositionClass$ = new Subject<{ element: HTMLElement; class: string }>();\n\n constructor(\n element: ElementRef<HTMLElement> | HTMLElement,\n private drag: ThyDragDirective,\n private container: IThyDropContainerDirective<T>,\n private dragDropService: ThyDragDropService<T>,\n private document: any,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {\n this.withRootElement(element);\n this.subAddPositionClass();\n }\n\n subAddPositionClass() {\n this.addPositionClass$.pipe(auditTime(30), takeUntil(this.ngUnsubscribe$)).subscribe(data => {\n this.removeExistClassByMap(this.dragDropService.classMap);\n this.dragDropService.classMap.set(data.element, data.class);\n this.renderer.addClass(data.element, data.class);\n });\n }\n\n withRootElement(rootElement: ElementRef<HTMLElement> | HTMLElement): this {\n const element = coerceElement(rootElement);\n this.rootElement = element;\n this.registerDragDropEvents();\n return this;\n }\n\n withContentElement(contentElement: ElementRef<HTMLElement> | HTMLElement): this {\n this.contentElement = coerceElement(contentElement);\n return this;\n }\n\n withHandles(handleOrHandles: ThyDragHandleDirective | ThyDragHandleDirective[]): this {\n this.handles = coerceArray(handleOrHandles);\n return this;\n }\n\n private registerDragDropEvents() {\n const events = {\n dragstart: this.dragStart,\n dragover: this.dragOver,\n dragend: this.dragEnd,\n drop: this.dragDrop,\n dragleave: this.dragLeave,\n dragenter: (event: DragEvent) => {\n this.entered.next(event);\n },\n mouseover: (event: MouseEvent) => {\n this.target = event.target as HTMLElement;\n }\n };\n this.ngZone.runOutsideAngular(() => {\n for (const name in events) {\n if (events.hasOwnProperty(name)) {\n fromEvent(this.rootElement, name).pipe(takeUntil(this.ngUnsubscribe$)).subscribe(events[name].bind(this));\n }\n }\n });\n }\n\n private dragStart(event: DragEvent) {\n event.stopPropagation();\n const dragStartEvent: ThyDragStartEvent = {\n event: event,\n item: this.drag.data,\n containerItems: this.container.data,\n currentIndex: this.container.data.indexOf(this.drag.data)\n };\n if (this.disabled || !this.isTriggerHandle() || (this.container.beforeStart && !this.container.beforeStart(dragStartEvent))) {\n event.preventDefault();\n return false;\n }\n this.dragDropService.previousDrag = this.drag;\n this.ngZone.run(() => {\n this.started.next(dragStartEvent);\n });\n }\n\n private isTriggerHandle() {\n if (this.handles && this.handles.length > 0) {\n const targetHandle = this.handles.find(handle => {\n return (\n !handle.disabled && (handle.element.nativeElement === this.target || handle.element.nativeElement.contains(this.target))\n );\n });\n return !!targetHandle;\n } else {\n return true;\n }\n }\n\n private getPreviousEventData() {\n const previousItem = this.dragDropService.previousDrag?.data;\n const previousContainerItems = this.dragDropService.previousDrag?.container?.data;\n return {\n previousItem: previousItem,\n previousContainerItems,\n previousIndex: isEmpty(previousContainerItems) ? -1 : previousContainerItems.indexOf(previousItem)\n };\n }\n\n private isContinueDragOver(event: ThyDragOverEvent, container: IThyDropContainerDirective<T>) {\n if (event.item === event.previousItem && event.position === ThyDropPosition.in) {\n return false;\n }\n if (container && container.beforeOver) {\n return container.beforeOver(event);\n }\n return true;\n }\n\n private dragOver(event: DragEvent) {\n event.stopPropagation();\n event.preventDefault();\n\n const dropPosition = this.calcDropPosition(event);\n const previousEventData = this.getPreviousEventData();\n if (previousEventData.previousIndex < 0) {\n return;\n }\n const dragOverEvent: ThyDragOverEvent<T> = {\n event: event,\n item: this.drag.data,\n containerItems: this.drag.container.data,\n currentIndex: this.container.data.indexOf(this.drag.data),\n position: dropPosition,\n ...previousEventData\n };\n\n if (this.isContinueDragOver(dragOverEvent, this.container)) {\n this.dragOverHandler(dropPosition);\n this.overed.next(dragOverEvent);\n }\n }\n\n private dragOverHandler(position: ThyDropPosition) {\n const element = this.contentElement || this.rootElement;\n this.addPositionClass$.next({ element, class: dropPositionClass[position] });\n this.dragDropService.dropPosition = position;\n }\n\n private dragDrop(event: DragEvent) {\n event.stopPropagation();\n this.clearDragPositionClass();\n const previousEventData = this.getPreviousEventData();\n if (previousEventData.previousIndex < 0) {\n return;\n }\n const dragDropEvent: ThyDragDropEvent<T> = {\n event: event,\n item: this.drag.data,\n containerItems: this.drag.container.data,\n currentIndex: this.container.data.indexOf(this.drag.data),\n position: this.calcDropPosition(event),\n ...previousEventData\n };\n if (this.dragDropService.previousDrag === this.drag || (this.container.beforeDrop && !this.container.beforeDrop(dragDropEvent))) {\n event.preventDefault();\n return;\n }\n this.ngZone.run(() => {\n this.dropped.next(dragDropEvent);\n });\n }\n\n private dragEnd(event: DragEvent) {\n this.clearDragPositionClass();\n this.ngZone.run(() => {\n this.ended.next({\n event: event,\n item: this.drag.data,\n containerItems: this.container.data\n });\n });\n this.dragDropService.previousDrag = undefined;\n }\n\n private dragLeave(event: DragEvent) {\n event.stopPropagation();\n this.clearDragPositionClass();\n this.leaved.next(event);\n }\n\n private clearDragPositionClass() {\n setTimeout(() => {\n const classMap = this.dragDropService.classMap;\n this.removeExistClassByMap(classMap);\n classMap.clear();\n }, 30);\n }\n\n private removeExistClassByMap(classMap: Map<Element, string>) {\n classMap.forEach((value, key) => {\n if (isString(value) && key) {\n this.renderer.removeClass(key, value);\n }\n });\n }\n\n private calcDropPosition(event: DragEvent): ThyDropPosition {\n const sideRange = 0.25;\n const minGap = 2;\n const { clientY } = event;\n const { top, bottom, height } = event.srcElement\n ? (event.srcElement as Element).getBoundingClientRect()\n : (event.target as Element).getBoundingClientRect();\n const des = Math.max(height * sideRange, minGap);\n if (clientY <= top + des) {\n return ThyDropPosition.before;\n } else if (clientY >= bottom - des) {\n return ThyDropPosition.after;\n }\n return ThyDropPosition.in;\n }\n\n dispose() {\n this.ngUnsubscribe$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { ThyDropPosition } from './drag-drop.class';\n\n/**\n * 自定义可放置区域内容\n * @order 40\n */\n@Injectable({ providedIn: 'root' })\nexport class ThyDragDropService<T = any> {\n /**\n * 当前拖拽项,dragEnd 后重置为 undefined\n */\n public previousDrag: ThyDragDirective<T>;\n\n /**\n * 拖拽的时候,针对 dragOver 的节点有三种情况,即拖拽到节点之上 before ,拖拽到节点上 in ,拖拽到节点之下 after\n * @type ThyDropPosition\n */\n public dropPosition: ThyDropPosition;\n\n /**\n * 用于拖动过程对 dragover 的元素设置相应的样式\n * @type Map<Element, string>\n */\n public classMap = new Map<Element, string>();\n constructor() {}\n}\n","import { EventEmitter, QueryList, InjectionToken } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { ThyDragDropEvent, ThyDragStartEvent, ThyDragEndEvent, ThyDragOverEvent } from './drag-drop.class';\n\nexport interface IThyDropContainerDirective<T = any> {\n started: EventEmitter<ThyDragStartEvent<T>>;\n\n ended: EventEmitter<ThyDragEndEvent<T>>;\n\n overed: EventEmitter<ThyDragOverEvent<T>>;\n\n dropped: EventEmitter<ThyDragDropEvent<T>>;\n\n beforeStart: (e: ThyDragStartEvent<T>) => boolean;\n\n beforeOver: (e: ThyDragOverEvent<T>) => boolean;\n\n beforeDrop: (e: ThyDragDropEvent<T>) => boolean;\n\n data: T[];\n\n disabled: boolean;\n\n draggables: QueryList<ThyDragDirective>;\n}\n\n/**\n * Injection token used to provide the container directive to drag.\n */\nexport const THY_DROP_CONTAINER_DIRECTIVE = new InjectionToken<IThyDropContainerDirective>('THY_DROP_CONTAINER_DIRECTIVE');\n","import { Directive, NgZone, ElementRef, HostBinding, Input, OnDestroy, Renderer2, inject } from '@angular/core';\nimport { DragRef } from './drag-ref';\nimport { DOCUMENT } from '@angular/common';\nimport { ThyDragDropService } from './drag-drop.service';\nimport { THY_DROP_CONTAINER_DIRECTIVE, IThyDropContainerDirective } from './drop-container.class';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 拖拽项\n * @name thy-drag,[thyDrag]\n * @order 10\n */\n@Directive({\n selector: 'thy-drag,[thyDrag]',\n standalone: true\n})\nexport class ThyDragDirective<T = any> implements OnDestroy {\n container = inject(THY_DROP_CONTAINER_DIRECTIVE, { optional: true })!;\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * 元数据\n * @type any\n */\n @Input('thyDrag')\n set dragData(data: T) {\n this.data = data;\n }\n\n /**\n * 元数据\n * @type any\n */\n @Input('thyDragData') data: T;\n\n @HostBinding('attr.draggable') isDraggable = true;\n\n private _disabled = false;\n\n /**\n * 是否禁用拖拽\n * @default false\n */\n @Input({ alias: 'thyDragDisabled', transform: coerceBooleanProperty })\n set disabled(isDisabled: boolean) {\n this._disabled = isDisabled;\n this.isDraggable = !isDisabled;\n }\n get disabled() {\n return this._disabled;\n }\n\n public dragRef: DragRef<T>;\n\n constructor() {\n const document = inject(DOCUMENT);\n const container = this.container;\n const ngZone = inject(NgZone);\n const elementRef = this.elementRef;\n const service = inject<ThyDragDropService<T>>(ThyDragDropService);\n const renderer = inject(Renderer2);\n\n this.dragRef = new DragRef<T>(elementRef, this, container, service, document, ngZone, renderer);\n }\n\n ngOnDestroy() {\n this.dragRef.dispose();\n }\n}\n","import { Directive, ElementRef, Input, inject } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 自定义可拖拽区域内容\n * @name thy-drag-handle,[thyDragHandle]\n * @order 20\n */\n@Directive({\n selector: 'thy-drag-handle,[thyDragHandle]',\n standalone: true\n})\nexport class ThyDragHandleDirective {\n element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n private _disabled = false;\n\n /**\n * 是否禁用\n * @default false\n */\n @Input({ alias: 'thyDisabled', transform: coerceBooleanProperty })\n set disabled(value: boolean) {\n this._disabled = value;\n }\n get disabled(): boolean {\n return this._disabled;\n }\n\n constructor() {\n const drag = inject(ThyDragDirective, { optional: true })!;\n\n if (drag) {\n drag.dragRef.withHandles(this);\n }\n }\n}\n","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\n\n/**\n * 自定义拖拽时可经过,拖拽结束时可放置的区域内容\n * @name thy-drag-content,[thyDragContent]\n * @order 25\n */\n@Directive({\n selector: 'thy-drag-content,[thyDragContent]',\n standalone: true\n})\nexport class ThyDragContentDirective {\n element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n @HostBinding('class.thy-drag-content') contentClass = true;\n\n constructor() {\n const drag = inject(ThyDragDirective, { optional: true })!;\n\n if (drag) {\n drag.dragRef.withContentElement(this.element);\n }\n }\n}\n","import {\n OnInit,\n Directive,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n AfterContentInit,\n NgZone,\n Input,\n OnDestroy,\n inject\n} from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { merge, Observable, defer, Subject } from 'rxjs';\nimport { takeUntil, startWith, take, switchMap } from 'rxjs/operators';\nimport { ThyDragDropEvent, ThyDragStartEvent, ThyDragEndEvent, ThyDragOverEvent } from './drag-drop.class';\nimport { THY_DROP_CONTAINER_DIRECTIVE, IThyDropContainerDirective } from './drop-container.class';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * @name thy-drop-container,[thyDropContainer]\n * @order 30\n */\n@Directive({\n selector: 'thy-drop-container,[thyDropContainer]',\n providers: [\n {\n provide: THY_DROP_CONTAINER_DIRECTIVE,\n useExisting: ThyDropContainerDirective\n }\n ],\n standalone: true\n})\nexport class ThyDropContainerDirective<T = any> implements OnInit, AfterContentInit, IThyDropContainerDirective, OnDestroy {\n private ngZone = inject(NgZone);\n\n private ngUnsubscribe$ = new Subject<void>();\n\n /**\n * 元数据\n * @type any[]\n */\n @Input('thyDropContainer')\n set dragContainer(data: T[]) {\n this.data = data;\n }\n\n /**\n * 元数据\n * @type any[]\n */\n @Input('thyDropContainerData') data: T[];\n\n /**\n * 是否禁用拖拽\n * @default false\n */\n @Input({ alias: 'thyDropContainerDisabled', transform: coerceBooleanProperty }) disabled: boolean;\n\n /**\n * 拖拽之前的回调,函数返回 false 则阻止拖拽\n */\n @Input('thyBeforeDragStart') beforeStart: (e: ThyDragStartEvent<T>) => boolean;\n\n /**\n * 拖拽时回调,函数返回 false 则阻止移入\n */\n @Input('thyBeforeDragOver') beforeOver: (e: ThyDragOverEvent<T>) => boolean;\n\n /**\n * 拖放到元素时回调,函数返回 false 则阻止放置\n */\n @Input('thyBeforeDragDrop') beforeDrop: (e: ThyDragDropEvent<T>) => boolean;\n\n /**\n * 开始拖拽时调用\n */\n @Output('thyDragStarted') started = new EventEmitter<ThyDragStartEvent<ThyDragDirective>>();\n\n /**\n * dragend 触发时调用\n */\n @Output('thyDragEnded') ended = new EventEmitter<ThyDragEndEvent<ThyDragDirective>>();\n\n /**\n * dragover 触发时调用\n */\n @Output('thyDragOvered') overed = new EventEmitter<ThyDragOverEvent<ThyDragDirective>>();\n\n /**\n * drop 触发时调用\n */\n @Output('thyDragDropped') dropped = new EventEmitter<ThyDragDropEvent<ThyDragDirective>>();\n\n /**\n * @internal\n */\n @ContentChildren(ThyDragDirective, {\n descendants: false\n })\n draggables: QueryList<ThyDragDirective>;\n\n ngOnInit() {}\n\n ngAfterContentInit() {\n this.draggables.changes.pipe(startWith(null), takeUntil(this.ngUnsubscribe$)).subscribe(() => {\n this.draggableChanges();\n });\n }\n\n private draggableChanges() {\n this.resetDraggableChanges(item => item.dragRef.started).subscribe(event => {\n this.started.emit(event);\n });\n this.resetDraggableChanges(item => item.dragRef.ended).subscribe(event => {\n this.ended.emit(event);\n });\n this.resetDraggableChanges(item => item.dragRef.overed).subscribe(event => {\n this.overed.emit(event);\n });\n this.resetDraggableChanges(item => item.dragRef.dropped).subscribe(event => {\n this.dropped.emit(event);\n });\n }\n\n private resetDraggableChanges(fn: (item: ThyDragDirective) => Observable<any>) {\n return defer(() => {\n if (this.draggables) {\n return merge(...this.draggables.map(fn));\n }\n return this.ngZone.onStable.asObservable().pipe(\n take(1),\n switchMap(() => this.resetDraggableChanges.bind(this, fn))\n );\n }).pipe(takeUntil(merge(this.ngUnsubscribe$, this.draggables.changes))) as Observable<any>;\n }\n\n ngOnDestroy(): void {\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { ThyDragHandleDirective } from './drag-handle.directive';\nimport { ThyDragContentDirective } from './drag-content.directive';\nimport { ThyDropContainerDirective } from './drop-container.directive';\n\n@NgModule({\n imports: [ThyDropContainerDirective, ThyDragDirective, ThyDragHandleDirective, ThyDragContentDirective],\n exports: [ThyDropContainerDirective, ThyDragDirective, ThyDragHandleDirective, ThyDragContentDirective],\n providers: []\n})\nexport class ThyDragDropModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;IAAY,gBAIX;AAJD,CAAA,UAAY,eAAe,EAAA;AACvB,IAAA,eAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACnB,CAAC,EAJW,eAAe,KAAf,eAAe,GAI1B,EAAA,CAAA,CAAA;;ACOD,MAAM,iBAAiB,GAAG;AACtB,IAAA,CAAC,eAAe,CAAC,EAAE,GAAG,sBAAsB;AAC5C,IAAA,CAAC,eAAe,CAAC,MAAM,GAAG,0BAA0B;AACpD,IAAA,CAAC,eAAe,CAAC,KAAK,GAAG,yBAAyB;CACrD,CAAC;MAEW,OAAO,CAAA;AAyBhB,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC;KACxE;IACD,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KAC1B;AAID,IAAA,WAAA,CACI,OAA8C,EACtC,IAAsB,EACtB,SAAwC,EACxC,eAAsC,EACtC,QAAa,EACb,MAAc,EACd,QAAmB,EAAA;QALnB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;QACtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAA+B;QACxC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAuB;QACtC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;QACb,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAhCvB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC;AAEvC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAqB,CAAC;AAE3C,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,OAAO,EAAmB,CAAC;AAEvC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAAoB,CAAC;AAEzC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAoB,CAAC;AAE1C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAa,CAAC;AAEnC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAAa,CAAC;QAE1B,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AASlB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAA2C,CAAC;AAW/E,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC9B;IAED,mBAAmB,GAAA;QACf,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAG;YACxF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC1D,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5D,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC;KACN;AAED,IAAA,eAAe,CAAC,WAAkD,EAAA;AAC9D,QAAA,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,kBAAkB,CAAC,cAAqD,EAAA;AACpE,QAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;AACpD,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,WAAW,CAAC,eAAkE,EAAA;AAC1E,QAAA,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AAC5C,QAAA,OAAO,IAAI,CAAC;KACf;IAEO,sBAAsB,GAAA;AAC1B,QAAA,MAAM,MAAM,GAAG;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;AACzB,YAAA,SAAS,EAAE,CAAC,KAAgB,KAAI;AAC5B,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC5B;AACD,YAAA,SAAS,EAAE,CAAC,KAAiB,KAAI;AAC7B,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;aAC7C;SACJ,CAAC;AACF,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AAC/B,YAAA,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;AACvB,gBAAA,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAC7B,oBAAA,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC7G;aACJ;AACL,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,SAAS,CAAC,KAAgB,EAAA;QAC9B,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,MAAM,cAAc,GAAsB;AACtC,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;AACpB,YAAA,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;AACnC,YAAA,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;SAC5D,CAAC;AACF,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE;YACzH,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,YAAA,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;AAC9C,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACjB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACtC,SAAC,CAAC,CAAC;KACN;IAEO,eAAe,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAG;AAC5C,gBAAA,QACI,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAC1H;AACN,aAAC,CAAC,CAAC;YACH,OAAO,CAAC,CAAC,YAAY,CAAC;SACzB;aAAM;AACH,YAAA,OAAO,IAAI,CAAC;SACf;KACJ;IAEO,oBAAoB,GAAA;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC;QAC7D,MAAM,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC;QAClF,OAAO;AACH,YAAA,YAAY,EAAE,YAAY;YAC1B,sBAAsB;AACtB,YAAA,aAAa,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,YAAY,CAAC;SACrG,CAAC;KACL;IAEO,kBAAkB,CAAC,KAAuB,EAAE,SAAwC,EAAA;AACxF,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,QAAQ,KAAK,eAAe,CAAC,EAAE,EAAE;AAC5E,YAAA,OAAO,KAAK,CAAC;SAChB;AACD,QAAA,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE;AACnC,YAAA,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACtC;AACD,QAAA,OAAO,IAAI,CAAC;KACf;AAEO,IAAA,QAAQ,CAAC,KAAgB,EAAA;QAC7B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAClD,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;AACtD,QAAA,IAAI,iBAAiB,CAAC,aAAa,GAAG,CAAC,EAAE;YACrC,OAAO;SACV;AACD,QAAA,MAAM,aAAa,GAAwB;AACvC,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;AACpB,YAAA,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI;AACxC,YAAA,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACzD,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,GAAG,iBAAiB;SACvB,CAAC;QAEF,IAAI,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;AACxD,YAAA,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AACnC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACnC;KACJ;AAEO,IAAA,eAAe,CAAC,QAAyB,EAAA;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC;AACxD,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,QAAQ,CAAC;KAChD;AAEO,IAAA,QAAQ,CAAC,KAAgB,EAAA;QAC7B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;AACtD,QAAA,IAAI,iBAAiB,CAAC,aAAa,GAAG,CAAC,EAAE;YACrC,OAAO;SACV;AACD,QAAA,MAAM,aAAa,GAAwB;AACvC,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;AACpB,YAAA,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI;AACxC,YAAA,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACzD,YAAA,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AACtC,YAAA,GAAG,iBAAiB;SACvB,CAAC;AACF,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE;YAC7H,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;SACV;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACjB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACrC,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,OAAO,CAAC,KAAgB,EAAA;QAC5B,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACZ,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;AACpB,gBAAA,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;AACtC,aAAA,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,SAAS,CAAC;KACjD;AAEO,IAAA,SAAS,CAAC,KAAgB,EAAA;QAC9B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;IAEO,sBAAsB,GAAA;QAC1B,UAAU,CAAC,MAAK;AACZ,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;AAC/C,YAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YACrC,QAAQ,CAAC,KAAK,EAAE,CAAC;SACpB,EAAE,EAAE,CAAC,CAAC;KACV;AAEO,IAAA,qBAAqB,CAAC,QAA8B,EAAA;QACxD,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAI;AAC5B,YAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE;gBACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACzC;AACL,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,gBAAgB,CAAC,KAAgB,EAAA;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,CAAC,CAAC;AACjB,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU;AAC5C,cAAG,KAAK,CAAC,UAAsB,CAAC,qBAAqB,EAAE;AACvD,cAAG,KAAK,CAAC,MAAkB,CAAC,qBAAqB,EAAE,CAAC;AACxD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC;AACjD,QAAA,IAAI,OAAO,IAAI,GAAG,GAAG,GAAG,EAAE;YACtB,OAAO,eAAe,CAAC,MAAM,CAAC;SACjC;AAAM,aAAA,IAAI,OAAO,IAAI,MAAM,GAAG,GAAG,EAAE;YAChC,OAAO,eAAe,CAAC,KAAK,CAAC;SAChC;QACD,OAAO,eAAe,CAAC,EAAE,CAAC;KAC7B;IAED,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;KAClC;AACJ;;AC1QD;;;AAGG;MAEU,kBAAkB,CAAA;AAiB3B,IAAA,WAAA,GAAA;AALA;;;AAGG;AACI,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;KAC7B;8GAjBP,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADL,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACkBlC;;AAEG;MACU,4BAA4B,GAAG,IAAI,cAAc,CAA6B,8BAA8B;;ACtBzH;;;;AAIG;MAKU,gBAAgB,CAAA;AAIzB;;;AAGG;IACH,IACI,QAAQ,CAAC,IAAO,EAAA;AAChB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;AAYD;;;AAGG;IACH,IACI,QAAQ,CAAC,UAAmB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;AAC5B,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,UAAU,CAAC;KAClC;AACD,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAID,IAAA,WAAA,GAAA;QArCA,IAAS,CAAA,SAAA,GAAG,MAAM,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE,CAAC;AAC9D,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;QAiBlC,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;QAE1C,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAkBtB,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAClC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACjC,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9B,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,MAAM,OAAO,GAAG,MAAM,CAAwB,kBAAkB,CAAC,CAAC;AAClE,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAEnC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAI,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;KACnG;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KAC1B;8GAnDQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,4KA2BqB,qBAAqB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FA3B1D,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;wDAUO,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,SAAS,CAAA;gBASM,IAAI,EAAA,CAAA;sBAAzB,KAAK;uBAAC,aAAa,CAAA;gBAEW,WAAW,EAAA,CAAA;sBAAzC,WAAW;uBAAC,gBAAgB,CAAA;gBASzB,QAAQ,EAAA,CAAA;sBADX,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAA;;;ACvCzE;;;;AAIG;MAKU,sBAAsB,CAAA;AAK/B;;;AAGG;IACH,IACI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KAC1B;AACD,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AAED,IAAA,WAAA,GAAA;AAhBA,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;QAE9C,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAetB,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE,CAAC;QAE3D,IAAI,IAAI,EAAE;AACN,YAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAClC;KACJ;8GAvBQ,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,mHASW,qBAAqB,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FATtD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;wDAWO,QAAQ,EAAA,CAAA;sBADX,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAA;;;ACnBrE;;;;AAIG;MAKU,uBAAuB,CAAA;AAKhC,IAAA,WAAA,GAAA;AAJA,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;QAEf,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC;AAGvD,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE,CAAC;QAE3D,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjD;KACJ;8GAXQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mCAAmC;AAC7C,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;wDAI0C,YAAY,EAAA,CAAA;sBAAlD,WAAW;uBAAC,wBAAwB,CAAA;;;ACKzC;;;AAGG;MAWU,yBAAyB,CAAA;AAVtC,IAAA,WAAA,GAAA;AAWY,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAExB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAC;AAsC7C;;AAEG;AACuB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAuC,CAAC;AAE5F;;AAEG;AACqB,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAqC,CAAC;AAEtF;;AAEG;AACsB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAsC,CAAC;AAEzF;;AAEG;AACuB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAsC,CAAC;AAiD9F,KAAA;AAvGG;;;AAGG;IACH,IACI,aAAa,CAAC,IAAS,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;AAyDD,IAAA,QAAQ,MAAK;IAEb,kBAAkB,GAAA;QACd,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACzF,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;KACN;IAEO,gBAAgB,GAAA;AACpB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,IAAG;AACvE,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,IAAG;AACrE,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,IAAG;AACtE,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,IAAG;AACvE,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,qBAAqB,CAAC,EAA+C,EAAA;QACzE,OAAO,KAAK,CAAC,MAAK;AACd,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,gBAAA,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5C;AACD,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAC3C,IAAI,CAAC,CAAC,CAAC,EACP,SAAS,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAC7D,CAAC;SACL,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAoB,CAAC;KAC9F;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;KAClC;8GA3GQ,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,IAAA,EAAA,CAAA,sBAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,0BAAA,EAAA,UAAA,EAwBqB,qBAAqB,CAhCjE,EAAA,WAAA,EAAA,CAAA,oBAAA,EAAA,aAAA,CAAA,EAAA,UAAA,EAAA,CAAA,mBAAA,EAAA,YAAA,CAAA,EAAA,UAAA,EAAA,CAAA,mBAAA,EAAA,YAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,cAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,4BAA4B;AACrC,gBAAA,WAAW,EAAE,yBAAyB;AACzC,aAAA;AACJ,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAmEgB,gBAAgB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAhExB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uCAAuC;AACjD,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,4BAA4B;AACrC,4BAAA,WAAW,EAA2B,yBAAA;AACzC,yBAAA;AACJ,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;8BAWO,aAAa,EAAA,CAAA;sBADhB,KAAK;uBAAC,kBAAkB,CAAA;gBASM,IAAI,EAAA,CAAA;sBAAlC,KAAK;uBAAC,sBAAsB,CAAA;gBAMmD,QAAQ,EAAA,CAAA;sBAAvF,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,KAAK,EAAE,0BAA0B,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAA;gBAKjD,WAAW,EAAA,CAAA;sBAAvC,KAAK;uBAAC,oBAAoB,CAAA;gBAKC,UAAU,EAAA,CAAA;sBAArC,KAAK;uBAAC,mBAAmB,CAAA;gBAKE,UAAU,EAAA,CAAA;sBAArC,KAAK;uBAAC,mBAAmB,CAAA;gBAKA,OAAO,EAAA,CAAA;sBAAhC,MAAM;uBAAC,gBAAgB,CAAA;gBAKA,KAAK,EAAA,CAAA;sBAA5B,MAAM;uBAAC,cAAc,CAAA;gBAKG,MAAM,EAAA,CAAA;sBAA9B,MAAM;uBAAC,eAAe,CAAA;gBAKG,OAAO,EAAA,CAAA;sBAAhC,MAAM;uBAAC,gBAAgB,CAAA;gBAQxB,UAAU,EAAA,CAAA;sBAHT,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE;AAC/B,wBAAA,WAAW,EAAE,KAAK;AACrB,qBAAA,CAAA;;;MCzFQ,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAJhB,OAAA,EAAA,CAAA,yBAAyB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAC5F,yBAAyB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAG7F,iBAAiB,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,yBAAyB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,uBAAuB,CAAC;oBACvG,OAAO,EAAE,CAAC,yBAAyB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,uBAAuB,CAAC;AACvG,oBAAA,SAAS,EAAE,EAAE;AAChB,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, HostBinding, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, Input, EventEmitter, numberAttribute, Output, HostListener,
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import * as i2 from '@angular/cdk/platform';
|
|
2
|
+
import { Directive, HostBinding, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, Input, inject, ElementRef, NgZone, ChangeDetectorRef, ViewContainerRef, EventEmitter, numberAttribute, Output, HostListener, DestroyRef, ContentChildren, NgModule } from '@angular/core';
|
|
3
|
+
import { NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
4
|
+
import { ThyPopover, ThyPopoverModule } from 'ngx-tethys/popover';
|
|
5
|
+
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
6
|
+
import { Platform } from '@angular/cdk/platform';
|
|
8
7
|
import { InputCssPixel, ThyOverlayDirectiveBase } from 'ngx-tethys/core';
|
|
9
8
|
import { coerceBooleanProperty, coerceArray, isFunction, isTemplateRef, helpers, getElementOffset } from 'ngx-tethys/util';
|
|
10
9
|
import { __decorate, __metadata } from 'tslib';
|
|
@@ -52,8 +51,10 @@ class ThyDropdownMenuComponent {
|
|
|
52
51
|
this.thyImmediateRender = false;
|
|
53
52
|
}
|
|
54
53
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
56
|
-
|
|
54
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyDropdownMenuComponent, isStandalone: true, selector: "thy-dropdown-menu", inputs: { thyWidth: "thyWidth", thyImmediateRender: ["thyImmediateRender", "thyImmediateRender", coerceBooleanProperty] }, host: { properties: { "class.thy-dropdown-menu": "thyImmediateRender", "style.width": "thyImmediateRender ? thyWidth : ''" } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["dropdownMenu"], descendants: true, static: true }], ngImport: i0, template: `
|
|
55
|
+
@if (thyImmediateRender) {
|
|
56
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
57
|
+
}
|
|
57
58
|
<ng-template #dropdownMenu>
|
|
58
59
|
<div class="thy-dropdown-menu" [style.width]="thyWidth">
|
|
59
60
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
@@ -62,7 +63,7 @@ class ThyDropdownMenuComponent {
|
|
|
62
63
|
<ng-template #content>
|
|
63
64
|
<ng-content></ng-content>
|
|
64
65
|
</ng-template>
|
|
65
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
66
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
66
67
|
}
|
|
67
68
|
__decorate([
|
|
68
69
|
InputCssPixel(),
|
|
@@ -73,7 +74,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
73
74
|
args: [{
|
|
74
75
|
selector: 'thy-dropdown-menu',
|
|
75
76
|
template: `
|
|
76
|
-
|
|
77
|
+
@if (thyImmediateRender) {
|
|
78
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
79
|
+
}
|
|
77
80
|
<ng-template #dropdownMenu>
|
|
78
81
|
<div class="thy-dropdown-menu" [style.width]="thyWidth">
|
|
79
82
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
@@ -90,7 +93,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
90
93
|
'[style.width]': "thyImmediateRender ? thyWidth : ''"
|
|
91
94
|
},
|
|
92
95
|
standalone: true,
|
|
93
|
-
imports: [
|
|
96
|
+
imports: [NgTemplateOutlet]
|
|
94
97
|
}]
|
|
95
98
|
}], ctorParameters: () => [], propDecorators: { templateRef: [{
|
|
96
99
|
type: ViewChild,
|
|
@@ -209,10 +212,15 @@ class ThyDropdownDirective extends ThyOverlayDirectiveBase {
|
|
|
209
212
|
get thyPanelClass() {
|
|
210
213
|
return this.innerPanelClassList;
|
|
211
214
|
}
|
|
212
|
-
constructor(
|
|
215
|
+
constructor() {
|
|
216
|
+
const elementRef = inject(ElementRef);
|
|
217
|
+
const platform = inject(Platform);
|
|
218
|
+
const focusMonitor = inject(FocusMonitor);
|
|
219
|
+
const ngZone = inject(NgZone);
|
|
220
|
+
const changeDetectorRef = inject(ChangeDetectorRef);
|
|
213
221
|
super(elementRef, platform, focusMonitor, ngZone, true, changeDetectorRef);
|
|
214
|
-
this.viewContainerRef =
|
|
215
|
-
this.popover =
|
|
222
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
223
|
+
this.popover = inject(ThyPopover);
|
|
216
224
|
this.innerPanelClassList = ['thy-dropdown-pane'];
|
|
217
225
|
this.popoverOpened = false;
|
|
218
226
|
/**
|
|
@@ -296,7 +304,7 @@ class ThyDropdownDirective extends ThyOverlayDirectiveBase {
|
|
|
296
304
|
this.markForCheck();
|
|
297
305
|
}, delay);
|
|
298
306
|
}
|
|
299
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownDirective, deps: [
|
|
307
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
300
308
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: ThyDropdownDirective, isStandalone: true, selector: "[thyDropdown]", inputs: { thyDropdownMenu: "thyDropdownMenu", thyDropdown: "thyDropdown", thyTrigger: "thyTrigger", thyShowDelay: ["thyShowDelay", "thyShowDelay", numberAttribute], thyHideDelay: ["thyHideDelay", "thyHideDelay", numberAttribute], thyActiveClass: "thyActiveClass", thyPopoverOptions: "thyPopoverOptions", thyPlacement: "thyPlacement", thyMenuInsideClosable: ["thyMenuInsideClosable", "thyMenuInsideClosable", coerceBooleanProperty], thyPanelClass: "thyPanelClass" }, outputs: { thyActiveChange: "thyActiveChange" }, host: { classAttribute: "thy-dropdown" }, usesInheritance: true, ngImport: i0 }); }
|
|
301
309
|
}
|
|
302
310
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownDirective, decorators: [{
|
|
@@ -308,7 +316,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
308
316
|
},
|
|
309
317
|
standalone: true
|
|
310
318
|
}]
|
|
311
|
-
}], ctorParameters: () => [
|
|
319
|
+
}], ctorParameters: () => [], propDecorators: { thyDropdownMenu: [{
|
|
312
320
|
type: Input
|
|
313
321
|
}], thyDropdown: [{
|
|
314
322
|
type: Input
|
|
@@ -341,6 +349,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
341
349
|
* @order 30
|
|
342
350
|
*/
|
|
343
351
|
class ThyDropdownMenuItemDirective {
|
|
352
|
+
constructor() {
|
|
353
|
+
this.elementRef = inject(ElementRef);
|
|
354
|
+
this.className = true;
|
|
355
|
+
this.disabled = false;
|
|
356
|
+
this.danger = false;
|
|
357
|
+
this.success = false;
|
|
358
|
+
this.hostRenderer = useHostRenderer();
|
|
359
|
+
}
|
|
344
360
|
/**
|
|
345
361
|
* 菜单项类型
|
|
346
362
|
* @type 'default' | 'danger' | 'success' | ''
|
|
@@ -362,14 +378,6 @@ class ThyDropdownMenuItemDirective {
|
|
|
362
378
|
event.preventDefault();
|
|
363
379
|
}
|
|
364
380
|
}
|
|
365
|
-
constructor(elementRef) {
|
|
366
|
-
this.elementRef = elementRef;
|
|
367
|
-
this.className = true;
|
|
368
|
-
this.disabled = false;
|
|
369
|
-
this.danger = false;
|
|
370
|
-
this.success = false;
|
|
371
|
-
this.hostRenderer = useHostRenderer();
|
|
372
|
-
}
|
|
373
381
|
ngOnInit() { }
|
|
374
382
|
updateClass(classes) {
|
|
375
383
|
this.hostRenderer.updateClass(classes);
|
|
@@ -380,7 +388,7 @@ class ThyDropdownMenuItemDirective {
|
|
|
380
388
|
bindMouseenterEvent() {
|
|
381
389
|
return fromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(debounceTime(100), shareReplay());
|
|
382
390
|
}
|
|
383
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownMenuItemDirective, deps: [
|
|
391
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownMenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
384
392
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: ThyDropdownMenuItemDirective, isStandalone: true, selector: "[thyDropdownMenuItem]", inputs: { thyType: "thyType", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.dropdown-menu-item": "this.className", "class.dropdown-menu-item--disabled": "this.disabled", "class.dropdown-menu-item--danger": "this.danger", "class.dropdown-menu-item--success": "this.success" } }, ngImport: i0 }); }
|
|
385
393
|
}
|
|
386
394
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownMenuItemDirective, decorators: [{
|
|
@@ -389,7 +397,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
389
397
|
selector: '[thyDropdownMenuItem]',
|
|
390
398
|
standalone: true
|
|
391
399
|
}]
|
|
392
|
-
}],
|
|
400
|
+
}], propDecorators: { className: [{
|
|
393
401
|
type: HostBinding,
|
|
394
402
|
args: ['class.dropdown-menu-item']
|
|
395
403
|
}], disabled: [{
|
|
@@ -546,6 +554,12 @@ const SUBMENU_CLASS_PREFIX = 'dropdown-submenu';
|
|
|
546
554
|
* @order 40
|
|
547
555
|
*/
|
|
548
556
|
class ThyDropdownSubmenu {
|
|
557
|
+
constructor() {
|
|
558
|
+
this.dropdownMenuItem = inject(ThyDropdownMenuItemDirective);
|
|
559
|
+
this.elementRef = inject(ElementRef);
|
|
560
|
+
this.destroyRef = inject(DestroyRef);
|
|
561
|
+
this.direction = 'right';
|
|
562
|
+
}
|
|
549
563
|
/**
|
|
550
564
|
* 菜单方向
|
|
551
565
|
* @type left | right | auto
|
|
@@ -554,12 +568,6 @@ class ThyDropdownSubmenu {
|
|
|
554
568
|
set thyDirection(value) {
|
|
555
569
|
this.direction = value;
|
|
556
570
|
}
|
|
557
|
-
constructor(dropdownMenuItem, elementRef) {
|
|
558
|
-
this.dropdownMenuItem = dropdownMenuItem;
|
|
559
|
-
this.elementRef = elementRef;
|
|
560
|
-
this.destroyRef = inject(DestroyRef);
|
|
561
|
-
this.direction = 'right';
|
|
562
|
-
}
|
|
563
571
|
ngOnInit() {
|
|
564
572
|
let direction = this.direction || 'right';
|
|
565
573
|
this.updateClassByDirection(direction);
|
|
@@ -599,7 +607,7 @@ class ThyDropdownSubmenu {
|
|
|
599
607
|
}
|
|
600
608
|
}
|
|
601
609
|
}
|
|
602
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownSubmenu, deps: [
|
|
610
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownSubmenu, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
603
611
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: ThyDropdownSubmenu, isStandalone: true, selector: "[thyDropdownSubmenu],thy-dropdown-submenu", inputs: { thyDirection: "thyDirection" }, host: { classAttribute: "dropdown-submenu" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
604
612
|
}
|
|
605
613
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownSubmenu, decorators: [{
|
|
@@ -613,7 +621,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
613
621
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
614
622
|
standalone: true
|
|
615
623
|
}]
|
|
616
|
-
}],
|
|
624
|
+
}], propDecorators: { thyDirection: [{
|
|
617
625
|
type: Input
|
|
618
626
|
}] } });
|
|
619
627
|
|
|
@@ -623,6 +631,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
623
631
|
* @order 60
|
|
624
632
|
*/
|
|
625
633
|
class ThyDropdownActiveDirective {
|
|
634
|
+
constructor() {
|
|
635
|
+
this.elementRef = inject(ElementRef);
|
|
636
|
+
this.trigger = inject(ThyDropdownDirective, { optional: true });
|
|
637
|
+
this.hostRenderer = useHostRenderer();
|
|
638
|
+
}
|
|
626
639
|
/**
|
|
627
640
|
* 设置 Active 样式类,可以是一个或多个CSS类
|
|
628
641
|
* @type string[] | string
|
|
@@ -630,11 +643,6 @@ class ThyDropdownActiveDirective {
|
|
|
630
643
|
set thyDropdownActive(data) {
|
|
631
644
|
this.classes = coerceArray(data).filter(c => !!c);
|
|
632
645
|
}
|
|
633
|
-
constructor(elementRef, trigger) {
|
|
634
|
-
this.elementRef = elementRef;
|
|
635
|
-
this.trigger = trigger;
|
|
636
|
-
this.hostRenderer = useHostRenderer();
|
|
637
|
-
}
|
|
638
646
|
ngOnInit() { }
|
|
639
647
|
ngAfterContentInit() {
|
|
640
648
|
this.triggers.changes
|
|
@@ -661,7 +669,7 @@ class ThyDropdownActiveDirective {
|
|
|
661
669
|
}
|
|
662
670
|
});
|
|
663
671
|
}
|
|
664
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownActiveDirective, deps: [
|
|
672
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownActiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
665
673
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyDropdownActiveDirective, isStandalone: true, selector: "[thyDropdownActive]", inputs: { thyDropdownActive: "thyDropdownActive" }, queries: [{ propertyName: "triggers", predicate: ThyDropdownDirective, descendants: true }], ngImport: i0 }); }
|
|
666
674
|
}
|
|
667
675
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownActiveDirective, decorators: [{
|
|
@@ -670,9 +678,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
670
678
|
selector: '[thyDropdownActive]',
|
|
671
679
|
standalone: true
|
|
672
680
|
}]
|
|
673
|
-
}],
|
|
674
|
-
type: Optional
|
|
675
|
-
}] }], propDecorators: { thyDropdownActive: [{
|
|
681
|
+
}], propDecorators: { thyDropdownActive: [{
|
|
676
682
|
type: Input
|
|
677
683
|
}], triggers: [{
|
|
678
684
|
type: ContentChildren,
|