ngx-tethys 17.0.0-next.1 → 17.0.0-next.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/action/action.component.d.ts +3 -3
- package/action/action.module.d.ts +1 -1
- package/action/actions.component.d.ts +5 -5
- package/affix/affix.component.d.ts +3 -3
- package/affix/affix.module.d.ts +1 -1
- package/alert/alert.component.d.ts +3 -3
- package/alert/alert.module.d.ts +1 -1
- package/anchor/anchor-link.component.d.ts +5 -5
- package/anchor/anchor.component.d.ts +9 -9
- package/anchor/anchor.module.d.ts +1 -1
- package/arrow-switcher/arrow-switcher.component.d.ts +3 -3
- package/arrow-switcher/module.d.ts +1 -1
- package/autocomplete/autocomplete.component.d.ts +9 -9
- package/autocomplete/autocomplete.trigger.directive.d.ts +6 -6
- package/autocomplete/module.d.ts +1 -1
- package/autocomplete/overlay/autocomplete-container.component.d.ts +3 -3
- package/autocomplete/overlay/autocomplete-ref.d.ts +4 -4
- package/autocomplete/overlay/autocomplete.service.d.ts +5 -5
- package/avatar/avatar-list/avatar-list.component.d.ts +6 -6
- package/avatar/avatar.component.d.ts +3 -3
- package/avatar/avatar.module.d.ts +1 -1
- package/back-top/back-top.component.d.ts +3 -3
- package/back-top/back-top.module.d.ts +1 -1
- package/badge/badge.component.d.ts +3 -3
- package/badge/badge.module.d.ts +1 -1
- package/breadcrumb/breadcrumb-item.component.d.ts +3 -3
- package/breadcrumb/breadcrumb.component.d.ts +3 -3
- package/breadcrumb/module.d.ts +1 -1
- package/button/button-group.component.d.ts +3 -3
- package/button/button-icon.component.d.ts +3 -3
- package/button/button.component.d.ts +3 -3
- package/button/button.module.d.ts +1 -1
- package/calendar/calendar-header.component.d.ts +3 -3
- package/calendar/calendar.component.d.ts +3 -3
- package/calendar/module.d.ts +1 -1
- package/card/card.component.d.ts +3 -3
- package/card/card.module.d.ts +1 -1
- package/card/content.component.d.ts +3 -3
- package/card/header.component.d.ts +3 -3
- package/carousel/carousel.component.d.ts +3 -3
- package/carousel/engine/carousel-base.d.ts +3 -3
- package/carousel/engine/carousel-fade.d.ts +2 -2
- package/carousel/engine/carousel-noop.d.ts +2 -2
- package/carousel/engine/carousel-slide.d.ts +2 -2
- package/carousel/module.d.ts +1 -1
- package/cascader/cascader.component.d.ts +3 -3
- package/cascader/module.d.ts +1 -1
- package/checkbox/checkbox.component.d.ts +3 -3
- package/checkbox/module.d.ts +1 -1
- package/collapse/collapse-item.component.d.ts +5 -5
- package/collapse/collapse.component.d.ts +7 -7
- package/collapse/module.d.ts +1 -1
- package/color-picker/color-picker-custom-panel.component.d.ts +3 -3
- package/color-picker/color-picker-panel.component.d.ts +6 -6
- package/color-picker/color-picker.component.d.ts +3 -3
- package/color-picker/module.d.ts +1 -1
- package/color-picker/parts/alpha/alpha.component.d.ts +3 -3
- package/color-picker/parts/hue/hue.component.d.ts +3 -3
- package/color-picker/parts/indicator/indicator.component.d.ts +3 -3
- package/color-picker/parts/inputs/inputs.component.d.ts +3 -3
- package/color-picker/parts/saturation/saturation.component.d.ts +3 -3
- package/comment/comment.component.d.ts +3 -3
- package/comment/comment.module.d.ts +1 -1
- package/date-picker/abstract-picker.component.d.ts +2 -2
- package/date-picker/base-picker.component.d.ts +5 -5
- package/date-picker/date-picker.component.d.ts +4 -4
- package/date-picker/date-picker.module.d.ts +1 -1
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +3 -3
- package/date-picker/lib/date/date-header.component.d.ts +3 -3
- package/date-picker/lib/date/date-table-cell.component.d.ts +3 -3
- package/date-picker/lib/date/date-table.component.d.ts +3 -3
- package/date-picker/lib/date-carousel/date-carousel.component.d.ts +3 -3
- package/date-picker/lib/decade/decade-header.component.d.ts +3 -3
- package/date-picker/lib/decade/decade-table.component.d.ts +3 -3
- package/date-picker/lib/lib-packer.module.d.ts +1 -1
- package/date-picker/lib/month/month-header.component.d.ts +3 -3
- package/date-picker/lib/month/month-table.component.d.ts +3 -3
- package/date-picker/lib/popups/date-popup.component.d.ts +4 -4
- package/date-picker/lib/popups/inner-popup.component.d.ts +3 -3
- package/date-picker/lib/quarter/quarter-table.component.d.ts +3 -3
- package/date-picker/lib/year/year-header.component.d.ts +3 -3
- package/date-picker/lib/year/year-table.component.d.ts +3 -3
- package/date-picker/month-picker.component.d.ts +4 -4
- package/date-picker/picker.component.d.ts +3 -3
- package/date-picker/quarter-picker.component.d.ts +4 -4
- package/date-picker/range-picker.component.d.ts +4 -4
- package/date-picker/week-picker.component.d.ts +4 -4
- package/date-picker/year-picker.component.d.ts +4 -4
- package/date-range/date-range.component.d.ts +3 -3
- package/date-range/module.d.ts +1 -1
- package/date-range/optional-dates/optional-dates.component.d.ts +3 -3
- package/dialog/body/dialog-body.component.d.ts +3 -3
- package/dialog/confirm/confirm.component.d.ts +4 -4
- package/dialog/dialog-container.component.d.ts +3 -3
- package/dialog/dialog-ref.d.ts +4 -4
- package/dialog/dialog.module.d.ts +1 -1
- package/dialog/dialog.service.d.ts +5 -5
- package/dialog/footer/dialog-footer.component.d.ts +3 -3
- package/dialog/header/dialog-header.component.d.ts +5 -5
- package/dialog/index.d.ts +1 -1
- package/divider/divider.component.d.ts +3 -3
- package/divider/divider.module.d.ts +1 -1
- package/dot/dot.component.d.ts +3 -3
- package/dot/dot.module.d.ts +1 -1
- package/dropdown/dropdown-menu.component.d.ts +6 -6
- package/dropdown/dropdown-submenu.component.d.ts +3 -3
- package/dropdown/module.d.ts +1 -1
- package/empty/empty.component.d.ts +3 -3
- package/empty/empty.module.d.ts +1 -1
- package/esm2022/action/action.component.mjs +10 -10
- package/esm2022/action/action.module.mjs +7 -7
- package/esm2022/action/actions.component.mjs +7 -7
- package/esm2022/affix/affix.component.mjs +7 -7
- package/esm2022/affix/affix.module.mjs +5 -5
- package/esm2022/alert/alert.component.mjs +8 -8
- package/esm2022/alert/alert.module.mjs +6 -6
- package/esm2022/anchor/anchor-link.component.mjs +7 -7
- package/esm2022/anchor/anchor.component.mjs +11 -11
- package/esm2022/anchor/anchor.module.mjs +7 -7
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +13 -13
- package/esm2022/arrow-switcher/module.mjs +6 -6
- package/esm2022/autocomplete/autocomplete.component.mjs +13 -13
- package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +2 -2
- package/esm2022/autocomplete/module.mjs +10 -10
- package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +5 -5
- package/esm2022/autocomplete/overlay/autocomplete-ref.mjs +1 -1
- package/esm2022/autocomplete/overlay/autocomplete.service.mjs +4 -4
- package/esm2022/avatar/avatar-list/avatar-list.component.mjs +8 -8
- package/esm2022/avatar/avatar.component.mjs +11 -11
- package/esm2022/avatar/avatar.module.mjs +7 -7
- package/esm2022/back-top/back-top.component.mjs +8 -8
- package/esm2022/back-top/back-top.module.mjs +6 -6
- package/esm2022/badge/badge.component.mjs +10 -10
- package/esm2022/badge/badge.module.mjs +5 -5
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
- package/esm2022/breadcrumb/breadcrumb.component.mjs +8 -8
- package/esm2022/breadcrumb/module.mjs +7 -7
- package/esm2022/button/button-group.component.mjs +5 -5
- package/esm2022/button/button-icon.component.mjs +9 -9
- package/esm2022/button/button.component.mjs +9 -9
- package/esm2022/button/button.module.mjs +8 -8
- package/esm2022/calendar/calendar-header.component.mjs +8 -8
- package/esm2022/calendar/calendar.component.mjs +8 -8
- package/esm2022/calendar/module.mjs +11 -11
- package/esm2022/card/card.component.mjs +8 -8
- package/esm2022/card/card.module.mjs +7 -7
- package/esm2022/card/content.component.mjs +5 -5
- package/esm2022/card/header.component.mjs +5 -5
- package/esm2022/carousel/carousel.component.mjs +13 -13
- package/esm2022/carousel/engine/carousel-base.mjs +1 -1
- package/esm2022/carousel/engine/carousel-fade.mjs +1 -1
- package/esm2022/carousel/engine/carousel-noop.mjs +1 -1
- package/esm2022/carousel/engine/carousel-slide.mjs +1 -1
- package/esm2022/carousel/module.mjs +5 -5
- package/esm2022/cascader/cascader-li.component.mjs +6 -6
- package/esm2022/cascader/cascader-search-option.component.mjs +7 -16
- package/esm2022/cascader/cascader.component.mjs +22 -22
- package/esm2022/cascader/module.mjs +7 -7
- package/esm2022/checkbox/checkbox.component.mjs +8 -8
- package/esm2022/checkbox/module.mjs +5 -5
- package/esm2022/collapse/collapse-item.component.mjs +11 -11
- package/esm2022/collapse/collapse.component.mjs +6 -6
- package/esm2022/collapse/module.mjs +7 -7
- package/esm2022/color-picker/color-picker-custom-panel.component.mjs +11 -11
- package/esm2022/color-picker/color-picker-panel.component.mjs +10 -10
- package/esm2022/color-picker/color-picker.component.mjs +3 -3
- package/esm2022/color-picker/module.mjs +25 -25
- package/esm2022/color-picker/parts/alpha/alpha.component.mjs +5 -5
- package/esm2022/color-picker/parts/hue/hue.component.mjs +5 -5
- package/esm2022/color-picker/parts/indicator/indicator.component.mjs +5 -5
- package/esm2022/color-picker/parts/inputs/inputs.component.mjs +7 -7
- package/esm2022/color-picker/parts/saturation/saturation.component.mjs +5 -5
- package/esm2022/comment/comment.component.mjs +7 -7
- package/esm2022/comment/comment.module.mjs +7 -7
- package/esm2022/date-picker/abstract-picker.component.mjs +4 -4
- package/esm2022/date-picker/abstract-picker.directive.mjs +3 -3
- package/esm2022/date-picker/base-picker.component.mjs +8 -8
- package/esm2022/date-picker/date-picker.component.mjs +12 -12
- package/esm2022/date-picker/date-picker.module.mjs +44 -44
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +10 -10
- package/esm2022/date-picker/lib/date/date-header.component.mjs +7 -7
- package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +5 -5
- package/esm2022/date-picker/lib/date/date-table.component.mjs +7 -7
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +11 -11
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +7 -7
- package/esm2022/date-picker/lib/decade/decade-table.component.mjs +5 -5
- package/esm2022/date-picker/lib/lib-packer.module.mjs +79 -79
- package/esm2022/date-picker/lib/month/month-header.component.mjs +7 -7
- package/esm2022/date-picker/lib/month/month-table.component.mjs +5 -5
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +15 -15
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +23 -23
- package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +5 -5
- package/esm2022/date-picker/lib/year/year-header.component.mjs +7 -7
- package/esm2022/date-picker/lib/year/year-table.component.mjs +5 -5
- package/esm2022/date-picker/month-picker.component.mjs +12 -12
- package/esm2022/date-picker/picker.component.mjs +8 -8
- package/esm2022/date-picker/quarter-picker.component.mjs +12 -12
- package/esm2022/date-picker/range-picker.component.mjs +12 -12
- package/esm2022/date-picker/week-picker.component.mjs +12 -12
- package/esm2022/date-picker/year-picker.component.mjs +12 -12
- package/esm2022/date-range/date-range.component.mjs +13 -13
- package/esm2022/date-range/module.mjs +10 -10
- package/esm2022/date-range/optional-dates/optional-dates.component.mjs +7 -7
- package/esm2022/dialog/body/dialog-body.component.mjs +5 -5
- package/esm2022/dialog/confirm/confirm.component.mjs +10 -18
- package/esm2022/dialog/dialog-container.component.mjs +5 -5
- package/esm2022/dialog/dialog-ref.mjs +1 -1
- package/esm2022/dialog/dialog.module.mjs +22 -22
- package/esm2022/dialog/dialog.service.mjs +4 -4
- package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -6
- package/esm2022/dialog/header/dialog-header.component.mjs +11 -11
- package/esm2022/dialog/index.mjs +2 -2
- package/esm2022/divider/divider.component.mjs +7 -7
- package/esm2022/divider/divider.module.mjs +5 -5
- package/esm2022/dot/dot.component.mjs +5 -5
- package/esm2022/dot/dot.module.mjs +5 -5
- package/esm2022/dropdown/dropdown-menu.component.mjs +9 -9
- package/esm2022/dropdown/dropdown-submenu.component.mjs +5 -5
- package/esm2022/dropdown/module.mjs +15 -15
- package/esm2022/empty/empty.component.mjs +8 -8
- package/esm2022/empty/empty.module.mjs +6 -6
- package/esm2022/flexible-text/flexible-text.component.mjs +7 -7
- package/esm2022/flexible-text/flexible-text.module.mjs +5 -5
- package/esm2022/form/form-group-error/form-group-error.component.mjs +8 -8
- package/esm2022/form/form-group.component.mjs +8 -8
- package/esm2022/form/from-group-footer/form-group-footer.component.mjs +5 -5
- package/esm2022/form/module.mjs +18 -18
- package/esm2022/grid/module.mjs +6 -6
- package/esm2022/grid/thy-grid-item.component.mjs +5 -5
- package/esm2022/grid/thy-grid.component.mjs +4 -4
- package/esm2022/guider/guider-hint/guider-hint.component.mjs +6 -6
- package/esm2022/guider/guider.module.mjs +6 -24
- package/esm2022/icon/icon.component.mjs +8 -8
- package/esm2022/icon/icon.module.mjs +5 -5
- package/esm2022/icon/index.mjs +2 -2
- package/esm2022/image/image-group.component.mjs +5 -5
- package/esm2022/image/image.directive.mjs +3 -3
- package/esm2022/image/image.service.mjs +3 -3
- package/esm2022/image/module.mjs +9 -9
- package/esm2022/image/preview/image-preview-ref.mjs +1 -1
- package/esm2022/image/preview/image-preview.component.mjs +10 -21
- package/esm2022/input/input-count.component.mjs +7 -7
- package/esm2022/input/input-group.component.mjs +5 -5
- package/esm2022/input/input-search.component.mjs +9 -9
- package/esm2022/input/input.component.mjs +10 -10
- package/esm2022/input/module.mjs +16 -16
- package/esm2022/input-number/input-number.component.mjs +14 -14
- package/esm2022/input-number/module.mjs +6 -6
- package/esm2022/layout/content-main.component.mjs +5 -5
- package/esm2022/layout/content-section.component.mjs +5 -5
- package/esm2022/layout/content.component.mjs +5 -5
- package/esm2022/layout/header.component.mjs +7 -7
- package/esm2022/layout/layout.component.mjs +5 -5
- package/esm2022/layout/layout.module.mjs +48 -48
- package/esm2022/layout/sidebar-content.component.mjs +5 -5
- package/esm2022/layout/sidebar-footer.component.mjs +5 -5
- package/esm2022/layout/sidebar-header.component.mjs +5 -5
- package/esm2022/layout/sidebar.component.mjs +15 -24
- package/esm2022/list/list-item-meta.component.mjs +7 -7
- package/esm2022/list/list-item.component.mjs +5 -5
- package/esm2022/list/list.component.mjs +6 -6
- package/esm2022/list/list.module.mjs +9 -26
- package/esm2022/list/selection/selection-list.mjs +12 -12
- package/esm2022/list/selection/selection.interface.mjs +1 -1
- package/esm2022/loading/loading.component.mjs +7 -7
- package/esm2022/loading/loading.module.mjs +5 -5
- package/esm2022/mention/mention.directive.mjs +3 -3
- package/esm2022/mention/mention.module.mjs +5 -24
- package/esm2022/mention/suggestions/suggestions.component.mjs +9 -9
- package/esm2022/menu/divider/menu-divider.component.mjs +5 -5
- package/esm2022/menu/group/menu-group.component.mjs +13 -13
- package/esm2022/menu/item/action/menu-item-action.component.mjs +6 -6
- package/esm2022/menu/item/icon/menu-item-icon.component.mjs +5 -5
- package/esm2022/menu/item/menu-item.component.mjs +7 -7
- package/esm2022/menu/item/name/menu-item-name.component.mjs +6 -6
- package/esm2022/menu/menu.component.mjs +6 -6
- package/esm2022/menu/menu.module.mjs +25 -39
- package/esm2022/message/message-container.component.mjs +7 -7
- package/esm2022/message/message.component.mjs +7 -7
- package/esm2022/message/message.service.mjs +3 -3
- package/esm2022/message/module.mjs +7 -7
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +7 -7
- package/esm2022/nav/icon-nav/icon-nav.component.mjs +5 -5
- package/esm2022/nav/nav.component.mjs +11 -11
- package/esm2022/nav/nav.module.mjs +14 -14
- package/esm2022/notify/module.mjs +7 -7
- package/esm2022/notify/notify-container.component.mjs +7 -7
- package/esm2022/notify/notify.component.mjs +7 -7
- package/esm2022/notify/notify.service.mjs +3 -3
- package/esm2022/pagination/pagination.component.mjs +20 -30
- package/esm2022/pagination/pagination.module.mjs +6 -25
- package/esm2022/popover/body/popover-body.component.mjs +5 -5
- package/esm2022/popover/header/popover-header.component.mjs +7 -7
- package/esm2022/popover/module.mjs +13 -13
- package/esm2022/popover/popover-container.component.mjs +5 -5
- package/esm2022/popover/popover-ref.mjs +1 -1
- package/esm2022/popover/popover.service.mjs +4 -4
- package/esm2022/progress/progress-circle.component.mjs +8 -8
- package/esm2022/progress/progress-strip.component.mjs +6 -6
- package/esm2022/progress/progress.component.mjs +15 -15
- package/esm2022/progress/progress.module.mjs +7 -7
- package/esm2022/property/module.mjs +7 -7
- package/esm2022/property/properties.component.mjs +6 -6
- package/esm2022/property/property-item.component.mjs +11 -11
- package/esm2022/property-operation/group/property-operation-group.component.mjs +5 -5
- package/esm2022/property-operation/module.mjs +7 -23
- package/esm2022/property-operation/property-operation.component.mjs +14 -14
- package/esm2022/radio/button/radio-button.component.mjs +8 -8
- package/esm2022/radio/group/radio-group.component.mjs +8 -8
- package/esm2022/radio/module.mjs +7 -7
- package/esm2022/radio/radio.component.mjs +9 -9
- package/esm2022/rate/module.mjs +7 -7
- package/esm2022/rate/rate-item.component.mjs +9 -9
- package/esm2022/rate/rate.component.mjs +13 -13
- package/esm2022/resizable/module.mjs +6 -6
- package/esm2022/resizable/resize-handle.component.mjs +6 -6
- package/esm2022/resizable/resize-handles.component.mjs +8 -8
- package/esm2022/result/result.component.mjs +5 -5
- package/esm2022/result/result.module.mjs +5 -5
- package/esm2022/segment/segment-item.component.mjs +8 -8
- package/esm2022/segment/segment.component.mjs +12 -12
- package/esm2022/segment/segment.module.mjs +7 -7
- package/esm2022/segment/segment.token.mjs +1 -1
- package/esm2022/select/custom-select/custom-select.component.mjs +37 -37
- package/esm2022/select/index.mjs +3 -3
- package/esm2022/select/module.mjs +10 -10
- package/esm2022/select/native-select/native-select.component.mjs +103 -0
- package/esm2022/shared/option/group/option-group.component.mjs +11 -11
- package/esm2022/shared/option/list-option/list-option.component.mjs +8 -8
- package/esm2022/shared/option/module.mjs +10 -37
- package/esm2022/shared/option/option-group.component.mjs +5 -5
- package/esm2022/shared/option/option.component.mjs +8 -8
- package/esm2022/shared/option/option.token.mjs +1 -1
- package/esm2022/shared/option/options-container.component.mjs +5 -5
- package/esm2022/shared/select/module.mjs +6 -6
- package/esm2022/shared/select/select-control/select-control.component.mjs +15 -15
- package/esm2022/skeleton/module.mjs +9 -26
- package/esm2022/skeleton/skeleton-circle.component.mjs +9 -9
- package/esm2022/skeleton/skeleton-rectangle.component.mjs +11 -11
- package/esm2022/skeleton/skeleton.component.mjs +6 -6
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +14 -14
- package/esm2022/skeleton/stylized/list.component.mjs +12 -12
- package/esm2022/skeleton/stylized/paragraph.component.mjs +14 -14
- package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -5
- package/esm2022/slide/slide-body/slide-body.component.mjs +5 -5
- package/esm2022/slide/slide-container.component.mjs +5 -5
- package/esm2022/slide/slide-footer/slide-footer.component.mjs +5 -5
- package/esm2022/slide/slide-header/slide-header.component.mjs +8 -8
- package/esm2022/slide/slide-layout/slide-layout.component.mjs +5 -5
- package/esm2022/slide/slide-ref.service.mjs +4 -4
- package/esm2022/slide/slide.module.mjs +23 -35
- package/esm2022/slide/slide.service.mjs +4 -4
- package/esm2022/slider/slider.component.mjs +12 -12
- package/esm2022/slider/slider.module.mjs +5 -5
- package/esm2022/space/space.component.mjs +6 -6
- package/esm2022/space/space.module.mjs +5 -5
- package/esm2022/statistic/statistic.component.mjs +5 -5
- package/esm2022/statistic/statistic.module.mjs +5 -5
- package/esm2022/stepper/step-header.component.mjs +8 -8
- package/esm2022/stepper/step.component.mjs +5 -5
- package/esm2022/stepper/stepper-button.directive.mjs +6 -6
- package/esm2022/stepper/stepper.component.mjs +15 -15
- package/esm2022/stepper/stepper.module.mjs +7 -19
- package/esm2022/strength/strength.component.mjs +7 -7
- package/esm2022/strength/strength.module.mjs +5 -5
- package/esm2022/switch/switch.component.mjs +8 -8
- package/esm2022/switch/switch.module.mjs +5 -5
- package/esm2022/table/table-skeleton.component.mjs +12 -12
- package/esm2022/table/table.component.mjs +34 -34
- package/esm2022/table/table.module.mjs +10 -10
- package/esm2022/tabs/tab-content.component.mjs +5 -5
- package/esm2022/tabs/tab.component.mjs +6 -6
- package/esm2022/tabs/tabs.component.mjs +12 -12
- package/esm2022/tabs/tabs.module.mjs +8 -8
- package/esm2022/tag/tag.component.mjs +6 -6
- package/esm2022/tag/tag.module.mjs +6 -6
- package/esm2022/tag/tags.component.mjs +5 -5
- package/esm2022/time-picker/inner/inner-time-picker.component.mjs +6 -6
- package/esm2022/time-picker/time-picker-panel.component.mjs +12 -12
- package/esm2022/time-picker/time-picker.component.mjs +17 -17
- package/esm2022/time-picker/time-picker.module.mjs +7 -7
- package/esm2022/timeline/timeline-item.component.mjs +5 -5
- package/esm2022/timeline/timeline.component.mjs +8 -8
- package/esm2022/timeline/timeline.module.mjs +6 -6
- package/esm2022/tooltip/tooltip-ref.mjs +3 -3
- package/esm2022/tooltip/tooltip.component.mjs +5 -5
- package/esm2022/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/transfer/transfer-list.component.mjs +7 -18
- package/esm2022/transfer/transfer.component.mjs +9 -9
- package/esm2022/transfer/transfer.module.mjs +10 -10
- package/esm2022/tree/tree-node.component.mjs +5 -5
- package/esm2022/tree/tree.component.mjs +17 -17
- package/esm2022/tree/tree.module.mjs +7 -7
- package/esm2022/tree-select/module.mjs +9 -9
- package/esm2022/tree-select/tree-select.component.mjs +29 -29
- package/esm2022/typography/module.mjs +6 -6
- package/esm2022/typography/text/text.component.mjs +7 -7
- package/esm2022/upload/file-select.component.mjs +8 -8
- package/esm2022/upload/module.mjs +5 -5
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +10 -10
- package/esm2022/vote/vote.module.mjs +6 -6
- package/fesm2022/ngx-tethys-action.mjs +19 -19
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +10 -10
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +12 -12
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +20 -20
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +17 -17
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +26 -26
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +21 -21
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +12 -12
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +13 -13
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +17 -17
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +24 -24
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +22 -22
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +19 -19
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +16 -16
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +35 -44
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +11 -11
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +19 -19
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +54 -54
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +12 -12
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +248 -248
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +24 -24
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +48 -56
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +10 -10
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +8 -8
- package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +25 -25
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +12 -12
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +10 -10
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +33 -33
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +11 -11
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +10 -28
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +11 -11
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +22 -33
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +18 -18
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +37 -37
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +86 -95
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +31 -48
- 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 +13 -32
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +58 -72
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +17 -17
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +30 -30
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +17 -17
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +24 -53
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +26 -26
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +28 -28
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +22 -38
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +19 -19
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +23 -23
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +24 -24
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +15 -15
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +8 -8
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +22 -22
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +58 -58
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +52 -79
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +57 -74
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +48 -60
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +15 -15
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +9 -9
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +8 -8
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +31 -43
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +10 -10
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +11 -11
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +51 -51
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +23 -23
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +13 -13
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +35 -35
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +14 -14
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +8 -8
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +21 -32
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +36 -36
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +26 -26
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +11 -11
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +11 -11
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +14 -14
- package/fesm2022/ngx-tethys-vote.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 +3 -3
- package/flexible-text/flexible-text.module.d.ts +1 -1
- package/form/form-group-error/form-group-error.component.d.ts +3 -3
- package/form/form-group.component.d.ts +3 -3
- package/form/from-group-footer/form-group-footer.component.d.ts +3 -3
- package/form/module.d.ts +1 -1
- package/grid/module.d.ts +1 -1
- package/grid/thy-grid-item.component.d.ts +4 -4
- package/grid/thy-grid.component.d.ts +2 -2
- package/guider/guider-hint/guider-hint.component.d.ts +3 -3
- package/guider/guider.module.d.ts +1 -1
- package/icon/icon.component.d.ts +3 -3
- package/icon/icon.module.d.ts +1 -1
- package/icon/index.d.ts +1 -1
- package/image/image-group.component.d.ts +3 -3
- package/image/module.d.ts +1 -1
- package/image/preview/image-preview-ref.d.ts +4 -4
- package/image/preview/image-preview.component.d.ts +4 -4
- package/input/input-count.component.d.ts +5 -5
- package/input/input-group.component.d.ts +4 -4
- package/input/input-search.component.d.ts +3 -3
- package/input/input.component.d.ts +3 -3
- package/input/module.d.ts +1 -1
- package/input-number/input-number.component.d.ts +3 -3
- package/input-number/module.d.ts +1 -1
- package/layout/content-main.component.d.ts +3 -3
- package/layout/content-section.component.d.ts +3 -3
- package/layout/content.component.d.ts +3 -3
- package/layout/header.component.d.ts +3 -3
- package/layout/layout.component.d.ts +3 -3
- package/layout/layout.module.d.ts +1 -1
- package/layout/sidebar-content.component.d.ts +3 -3
- package/layout/sidebar-footer.component.d.ts +3 -3
- package/layout/sidebar-header.component.d.ts +3 -3
- package/layout/sidebar.component.d.ts +3 -3
- package/list/list-item-meta.component.d.ts +3 -3
- package/list/list-item.component.d.ts +3 -3
- package/list/list.component.d.ts +3 -3
- package/list/list.module.d.ts +1 -1
- package/list/selection/selection-list.d.ts +9 -9
- package/list/selection/selection.interface.d.ts +4 -4
- package/loading/loading.component.d.ts +3 -3
- package/loading/loading.module.d.ts +1 -1
- package/mention/mention.directive.d.ts +2 -2
- package/mention/mention.module.d.ts +1 -1
- package/mention/suggestions/suggestions.component.d.ts +3 -3
- package/menu/divider/menu-divider.component.d.ts +3 -3
- package/menu/group/menu-group.component.d.ts +3 -3
- package/menu/item/action/menu-item-action.component.d.ts +3 -3
- package/menu/item/icon/menu-item-icon.component.d.ts +3 -3
- package/menu/item/menu-item.component.d.ts +3 -3
- package/menu/item/name/menu-item-name.component.d.ts +3 -3
- package/menu/menu.component.d.ts +3 -3
- package/menu/menu.module.d.ts +1 -1
- package/message/message-container.component.d.ts +3 -3
- package/message/message.component.d.ts +3 -3
- package/message/message.service.d.ts +2 -2
- package/message/module.d.ts +1 -1
- package/nav/icon-nav/icon-nav-link.directive.d.ts +3 -3
- package/nav/icon-nav/icon-nav.component.d.ts +3 -3
- package/nav/nav.component.d.ts +3 -3
- package/nav/nav.module.d.ts +1 -1
- package/notify/module.d.ts +1 -1
- package/notify/notify-container.component.d.ts +3 -3
- package/notify/notify.component.d.ts +3 -3
- package/notify/notify.service.d.ts +2 -2
- package/package.json +134 -134
- package/pagination/pagination.component.d.ts +3 -3
- package/pagination/pagination.module.d.ts +1 -1
- package/popover/body/popover-body.component.d.ts +3 -3
- package/popover/header/popover-header.component.d.ts +3 -3
- package/popover/module.d.ts +1 -1
- package/popover/popover-container.component.d.ts +3 -3
- package/popover/popover-ref.d.ts +4 -4
- package/popover/popover.service.d.ts +5 -5
- package/progress/progress-circle.component.d.ts +3 -3
- package/progress/progress-strip.component.d.ts +4 -4
- package/progress/progress.component.d.ts +6 -6
- package/progress/progress.module.d.ts +1 -1
- package/property/module.d.ts +1 -1
- package/property/properties.component.d.ts +3 -3
- package/property/property-item.component.d.ts +5 -5
- package/property-operation/group/property-operation-group.component.d.ts +3 -3
- package/property-operation/module.d.ts +1 -1
- package/property-operation/property-operation.component.d.ts +3 -3
- package/radio/button/radio-button.component.d.ts +6 -6
- package/radio/group/radio-group.component.d.ts +7 -7
- package/radio/module.d.ts +1 -1
- package/radio/radio.component.d.ts +6 -6
- package/rate/module.d.ts +1 -1
- package/rate/rate-item.component.d.ts +3 -3
- package/rate/rate.component.d.ts +3 -3
- package/resizable/module.d.ts +1 -1
- package/resizable/resize-handle.component.d.ts +3 -3
- package/resizable/resize-handles.component.d.ts +3 -3
- package/result/result.component.d.ts +3 -3
- package/result/result.module.d.ts +1 -1
- package/schematics/dependencies.js +1 -1
- package/schematics/ng-update/data/class-names.js +740 -4
- package/schematics/ng-update/update-17/index.spec.js +1 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment-item.component.d.ts +3 -3
- package/segment/segment.component.d.ts +7 -7
- package/segment/segment.module.d.ts +1 -1
- package/segment/segment.token.d.ts +3 -3
- package/select/custom-select/custom-select.component.d.ts +17 -17
- package/select/index.d.ts +2 -2
- package/select/module.d.ts +2 -2
- package/select/{select.component.d.ts → native-select/native-select.component.d.ts} +4 -4
- package/select/{custom-select/styles → styles}/custom-select.scss +1 -1
- package/select/{custom-select/styles → styles}/mixin.scss +2 -2
- package/select/styles/select.scss +4 -4
- package/shared/option/group/option-group.component.d.ts +5 -5
- package/shared/option/list-option/list-option.component.d.ts +3 -3
- package/shared/option/module.d.ts +1 -1
- package/shared/option/option-group.component.d.ts +3 -3
- package/shared/option/option.component.d.ts +6 -6
- package/shared/option/option.token.d.ts +7 -7
- package/shared/option/options-container.component.d.ts +3 -3
- package/shared/select/module.d.ts +1 -1
- package/shared/select/select-control/select-control.component.d.ts +3 -3
- package/shared/select/select-control/select-control.scss +1 -1
- package/skeleton/module.d.ts +1 -1
- package/skeleton/skeleton-circle.component.d.ts +5 -5
- package/skeleton/skeleton-rectangle.component.d.ts +5 -5
- package/skeleton/skeleton.component.d.ts +3 -3
- package/skeleton/stylized/bullet-list.component.d.ts +3 -3
- package/skeleton/stylized/list.component.d.ts +3 -3
- package/skeleton/stylized/paragraph.component.d.ts +3 -3
- package/slide/slide-body/slide-body-section.component.d.ts +3 -3
- package/slide/slide-body/slide-body.component.d.ts +3 -3
- package/slide/slide-container.component.d.ts +3 -3
- package/slide/slide-footer/slide-footer.component.d.ts +3 -3
- package/slide/slide-header/slide-header.component.d.ts +3 -3
- package/slide/slide-layout/slide-layout.component.d.ts +3 -3
- package/slide/slide-ref.service.d.ts +4 -4
- package/slide/slide.module.d.ts +1 -1
- package/slide/slide.service.d.ts +5 -5
- package/slider/slider.component.d.ts +3 -3
- package/slider/slider.module.d.ts +1 -1
- package/space/space.component.d.ts +3 -3
- package/space/space.module.d.ts +1 -1
- package/statistic/statistic.component.d.ts +3 -3
- package/statistic/statistic.module.d.ts +1 -1
- package/stepper/step-header.component.d.ts +3 -3
- package/stepper/step.component.d.ts +4 -4
- package/stepper/stepper-button.directive.d.ts +3 -3
- package/stepper/stepper.component.d.ts +10 -10
- package/stepper/stepper.module.d.ts +1 -1
- package/strength/strength.component.d.ts +3 -3
- package/strength/strength.module.d.ts +1 -1
- package/styles/index.scss +1 -1
- package/styles/mixins/index.scss +1 -1
- package/switch/switch.component.d.ts +3 -3
- package/switch/switch.module.d.ts +1 -1
- package/table/table-skeleton.component.d.ts +3 -3
- package/table/table.component.d.ts +3 -3
- package/table/table.module.d.ts +1 -1
- package/tabs/tab-content.component.d.ts +3 -3
- package/tabs/tab.component.d.ts +3 -3
- package/tabs/tabs.component.d.ts +7 -7
- package/tabs/tabs.module.d.ts +1 -1
- package/tag/tag.component.d.ts +3 -3
- package/tag/tag.module.d.ts +1 -1
- package/tag/tags.component.d.ts +3 -3
- package/time-picker/inner/inner-time-picker.component.d.ts +3 -3
- package/time-picker/time-picker-panel.component.d.ts +3 -3
- package/time-picker/time-picker.component.d.ts +3 -3
- package/time-picker/time-picker.module.d.ts +1 -1
- package/timeline/timeline-item.component.d.ts +3 -3
- package/timeline/timeline.component.d.ts +6 -6
- package/timeline/timeline.module.d.ts +1 -1
- package/tooltip/tooltip.component.d.ts +3 -3
- package/tooltip/tooltip.module.d.ts +1 -1
- package/transfer/transfer-list.component.d.ts +3 -3
- package/transfer/transfer.component.d.ts +3 -3
- package/transfer/transfer.module.d.ts +1 -1
- package/tree/tree.component.d.ts +3 -3
- package/tree/tree.module.d.ts +1 -1
- package/tree-select/module.d.ts +1 -1
- package/tree-select/tree-select.component.d.ts +8 -8
- package/typography/module.d.ts +1 -1
- package/typography/text/text.component.d.ts +3 -3
- package/upload/file-select.component.d.ts +3 -3
- package/upload/module.d.ts +1 -1
- package/vote/vote.component.d.ts +3 -3
- package/vote/vote.module.d.ts +1 -1
- package/divider/examples/color/color.component.scss +0 -5
- package/divider/examples/deeper/deeper.component.scss +0 -5
- package/divider/examples/with-text/with-text.component.scss +0 -5
- package/esm2022/select/select.component.mjs +0 -103
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-affix.mjs","sources":["../../../src/affix/respond-events.ts","../../../src/affix/affix.component.ts","../../../src/affix/affix.module.ts","../../../src/affix/ngx-tethys-affix.ts"],"sourcesContent":["export enum AffixRespondEvents {\n resize = 'resize',\n scroll = 'scroll',\n touchstart = 'touchstart',\n touchmove = 'touchmove',\n touchend = 'touchend',\n pageshow = 'pageshow',\n load = 'LOAD'\n}\n","import { InputNumber, ThyScrollService } from 'ngx-tethys/core';\nimport { dom, shallowEqual, SimpleRect } from 'ngx-tethys/util';\nimport { fromEvent, merge, ReplaySubject, Subject, Subscription } from 'rxjs';\nimport { auditTime, map, takeUntil } from 'rxjs/operators';\n\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { AffixRespondEvents } from './respond-events';\n\nconst THY_AFFIX_CLS_PREFIX = 'thy-affix';\nconst THY_AFFIX_DEFAULT_SCROLL_TIME = 20;\n\n/**\n * 固钉组件\n * @name thy-affix\n * @order 10\n */\n@Component({\n selector: 'thy-affix',\n exportAs: 'thyAffix',\n template: `\n <div #fixedElement>\n <ng-content></ng-content>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class ThyAffixComponent implements AfterViewInit, OnChanges, OnDestroy {\n @ViewChild('fixedElement', { static: true }) private fixedElement!: ElementRef<HTMLDivElement>;\n\n /**\n * 设置 thy-affix 需要监听其滚动事件的元素,值为一个返回对应 DOM 元素的函数\n * @default window\n * @type string | Element | Window\n */\n @Input() thyContainer?: string | Element | Window;\n\n /**\n * 距离窗口顶部缓冲的偏移量阈值\n * @default 0\n */\n @Input()\n @InputNumber()\n thyOffsetTop?: null | number;\n\n /**\n * 距离窗口底部缓冲的偏移量阈值\n */\n @Input()\n @InputNumber()\n thyOffsetBottom?: null | number;\n\n /**\n * 固定状态改变时触发的回调函数\n */\n @Output() readonly thyChange = new EventEmitter<boolean>();\n\n private readonly placeholderNode: HTMLElement;\n\n private affixStyle?: any;\n private placeholderStyle?: any;\n private positionChangeSubscription: Subscription = Subscription.EMPTY;\n private offsetChanged$ = new ReplaySubject(1);\n private destroy$ = new Subject<void>();\n private timeout?: number;\n private document: any;\n\n private get container(): Element | Window {\n const el = this.thyContainer;\n return (typeof el === 'string' ? this.document.querySelector(el) : el) || window;\n }\n\n constructor(\n el: ElementRef,\n @Inject(DOCUMENT) document: any,\n private scrollService: ThyScrollService,\n private ngZone: NgZone,\n private platform: Platform,\n private renderer: Renderer2\n ) {\n // The wrapper would stay at the original position as a placeholder.\n this.placeholderNode = el.nativeElement;\n this.document = document;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyOffsetBottom, thyOffsetTop, thyContainer } = changes;\n\n if (thyOffsetBottom || thyOffsetTop) {\n this.offsetChanged$.next(undefined);\n }\n if (thyContainer) {\n this.registerListeners();\n }\n }\n\n ngAfterViewInit(): void {\n this.registerListeners();\n }\n\n ngOnDestroy(): void {\n this.removeListeners();\n }\n\n private registerListeners(): void {\n this.removeListeners();\n this.positionChangeSubscription = this.ngZone.runOutsideAngular(() => {\n return merge(\n ...Object.keys(AffixRespondEvents).map(evName => fromEvent(this.container, evName)),\n this.offsetChanged$.pipe(\n takeUntil(this.destroy$),\n map(() => ({}))\n )\n )\n .pipe(auditTime(THY_AFFIX_DEFAULT_SCROLL_TIME))\n .subscribe(e => this.updatePosition(e as Event));\n });\n this.timeout = setTimeout(() => this.updatePosition({} as Event));\n }\n\n private removeListeners(): void {\n clearTimeout(this.timeout);\n this.positionChangeSubscription.unsubscribe();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n getOffset(element: Element, target: Element | Window | undefined): SimpleRect {\n const elemRect = element.getBoundingClientRect();\n const containerRect = dom.getContainerRect(target);\n\n const scrollTop = this.scrollService.getScroll(target, true);\n const scrollLeft = this.scrollService.getScroll(target, false);\n\n const docElem = this.document.body;\n const clientTop = docElem.clientTop || 0;\n const clientLeft = docElem.clientLeft || 0;\n\n return {\n top: elemRect.top - containerRect.top + scrollTop - clientTop,\n left: elemRect.left - containerRect.left + scrollLeft - clientLeft,\n width: elemRect.width,\n height: elemRect.height\n };\n }\n\n private setAffixStyle(e: Event, affixStyle?: any): void {\n const originalAffixStyle = this.affixStyle;\n const isWindow = this.container === window;\n if (e.type === 'scroll' && originalAffixStyle && affixStyle && isWindow) {\n return;\n }\n if (shallowEqual(originalAffixStyle, affixStyle)) {\n return;\n }\n\n const fixed = !!affixStyle;\n const wrapElement = this.fixedElement.nativeElement;\n this.renderer.setStyle(wrapElement, 'cssText', dom.getStyleAsText(affixStyle));\n this.affixStyle = affixStyle;\n if (fixed) {\n wrapElement.classList.add(THY_AFFIX_CLS_PREFIX);\n } else {\n wrapElement.classList.remove(THY_AFFIX_CLS_PREFIX);\n }\n\n if ((affixStyle && !originalAffixStyle) || (!affixStyle && originalAffixStyle)) {\n this.thyChange.emit(fixed);\n }\n }\n\n private setPlaceholderStyle(placeholderStyle?: any): void {\n const originalPlaceholderStyle = this.placeholderStyle;\n if (shallowEqual(placeholderStyle, originalPlaceholderStyle)) {\n return;\n }\n this.renderer.setStyle(this.placeholderNode, 'cssText', dom.getStyleAsText(placeholderStyle));\n this.placeholderStyle = placeholderStyle;\n }\n\n private syncPlaceholderStyle(e: Event): void {\n if (!this.affixStyle) {\n return;\n }\n this.renderer.setStyle(this.placeholderNode, 'cssText', '');\n this.placeholderStyle = undefined;\n const styleObj = {\n width: this.placeholderNode.offsetWidth,\n height: this.fixedElement.nativeElement.offsetHeight\n };\n this.setAffixStyle(e, {\n ...this.affixStyle,\n ...styleObj\n });\n this.setPlaceholderStyle(styleObj);\n }\n\n updatePosition(e: Event): void {\n if (!this.platform.isBrowser) {\n return;\n }\n\n const containerNode = this.container;\n let offsetTop = this.thyOffsetTop;\n const scrollTop = this.scrollService.getScroll(containerNode, true);\n const elementOffset = this.getOffset(this.placeholderNode, containerNode);\n const fixedNode = this.fixedElement.nativeElement;\n const elemSize = {\n width: fixedNode.offsetWidth,\n height: fixedNode.offsetHeight\n };\n const offsetMode = {\n top: false,\n bottom: false\n };\n // Default to `offsetTop=0`.\n if (typeof offsetTop !== 'number' && typeof this.thyOffsetBottom !== 'number') {\n offsetMode.top = true;\n offsetTop = 0;\n } else {\n offsetMode.top = typeof offsetTop === 'number';\n offsetMode.bottom = typeof this.thyOffsetBottom === 'number';\n }\n const containerRect = dom.getContainerRect(containerNode as Window);\n const targetInnerHeight = (containerNode as Window).innerHeight || (containerNode as HTMLElement).clientHeight;\n if (scrollTop >= elementOffset.top - (offsetTop as number) && offsetMode.top) {\n const width = elementOffset.width;\n const top = containerRect.top + (offsetTop as number);\n this.setAffixStyle(e, {\n position: 'fixed',\n top,\n left: containerRect.left + elementOffset.left,\n width\n });\n this.setPlaceholderStyle({\n width,\n height: elemSize.height\n });\n } else if (\n scrollTop <= elementOffset.top + elemSize.height + (this.thyOffsetBottom as number) - targetInnerHeight &&\n offsetMode.bottom\n ) {\n const targetBottomOffset = containerNode === window ? 0 : window.innerHeight - containerRect.bottom;\n const width = elementOffset.width;\n this.setAffixStyle(e, {\n position: 'fixed',\n bottom: targetBottomOffset + (this.thyOffsetBottom as number),\n left: containerRect.left + elementOffset.left,\n width\n });\n this.setPlaceholderStyle({\n width,\n height: elementOffset.height\n });\n } else {\n if (\n e.type === AffixRespondEvents.resize &&\n this.affixStyle &&\n this.affixStyle.position === 'fixed' &&\n this.placeholderNode.offsetWidth\n ) {\n this.setAffixStyle(e, {\n ...this.affixStyle,\n width: this.placeholderNode.offsetWidth\n });\n } else {\n this.setAffixStyle(e);\n }\n this.setPlaceholderStyle();\n }\n\n if (e.type === 'resize') {\n this.syncPlaceholderStyle(e);\n }\n }\n}\n","import { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyAffixComponent } from './affix.component';\n\n@NgModule({\n exports: [ThyAffixComponent],\n imports: [CommonModule, PlatformModule, ThyAffixComponent]\n})\nexport class ThyAffixModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-affix.mjs","sources":["../../../src/affix/respond-events.ts","../../../src/affix/affix.component.ts","../../../src/affix/affix.module.ts","../../../src/affix/ngx-tethys-affix.ts"],"sourcesContent":["export enum AffixRespondEvents {\n resize = 'resize',\n scroll = 'scroll',\n touchstart = 'touchstart',\n touchmove = 'touchmove',\n touchend = 'touchend',\n pageshow = 'pageshow',\n load = 'LOAD'\n}\n","import { InputNumber, ThyScrollService } from 'ngx-tethys/core';\nimport { dom, shallowEqual, SimpleRect } from 'ngx-tethys/util';\nimport { fromEvent, merge, ReplaySubject, Subject, Subscription } from 'rxjs';\nimport { auditTime, map, takeUntil } from 'rxjs/operators';\n\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { AffixRespondEvents } from './respond-events';\n\nconst THY_AFFIX_CLS_PREFIX = 'thy-affix';\nconst THY_AFFIX_DEFAULT_SCROLL_TIME = 20;\n\n/**\n * 固钉组件\n * @name thy-affix\n * @order 10\n */\n@Component({\n selector: 'thy-affix',\n exportAs: 'thyAffix',\n template: `\n <div #fixedElement>\n <ng-content></ng-content>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class ThyAffix implements AfterViewInit, OnChanges, OnDestroy {\n @ViewChild('fixedElement', { static: true }) private fixedElement!: ElementRef<HTMLDivElement>;\n\n /**\n * 设置 thy-affix 需要监听其滚动事件的元素,值为一个返回对应 DOM 元素的函数\n * @default window\n * @type string | Element | Window\n */\n @Input() thyContainer?: string | Element | Window;\n\n /**\n * 距离窗口顶部缓冲的偏移量阈值\n * @default 0\n */\n @Input()\n @InputNumber()\n thyOffsetTop?: null | number;\n\n /**\n * 距离窗口底部缓冲的偏移量阈值\n */\n @Input()\n @InputNumber()\n thyOffsetBottom?: null | number;\n\n /**\n * 固定状态改变时触发的回调函数\n */\n @Output() readonly thyChange = new EventEmitter<boolean>();\n\n private readonly placeholderNode: HTMLElement;\n\n private affixStyle?: any;\n private placeholderStyle?: any;\n private positionChangeSubscription: Subscription = Subscription.EMPTY;\n private offsetChanged$ = new ReplaySubject(1);\n private destroy$ = new Subject<void>();\n private timeout?: number;\n private document: any;\n\n private get container(): Element | Window {\n const el = this.thyContainer;\n return (typeof el === 'string' ? this.document.querySelector(el) : el) || window;\n }\n\n constructor(\n el: ElementRef,\n @Inject(DOCUMENT) document: any,\n private scrollService: ThyScrollService,\n private ngZone: NgZone,\n private platform: Platform,\n private renderer: Renderer2\n ) {\n // The wrapper would stay at the original position as a placeholder.\n this.placeholderNode = el.nativeElement;\n this.document = document;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyOffsetBottom, thyOffsetTop, thyContainer } = changes;\n\n if (thyOffsetBottom || thyOffsetTop) {\n this.offsetChanged$.next(undefined);\n }\n if (thyContainer) {\n this.registerListeners();\n }\n }\n\n ngAfterViewInit(): void {\n this.registerListeners();\n }\n\n ngOnDestroy(): void {\n this.removeListeners();\n }\n\n private registerListeners(): void {\n this.removeListeners();\n this.positionChangeSubscription = this.ngZone.runOutsideAngular(() => {\n return merge(\n ...Object.keys(AffixRespondEvents).map(evName => fromEvent(this.container, evName)),\n this.offsetChanged$.pipe(\n takeUntil(this.destroy$),\n map(() => ({}))\n )\n )\n .pipe(auditTime(THY_AFFIX_DEFAULT_SCROLL_TIME))\n .subscribe(e => this.updatePosition(e as Event));\n });\n this.timeout = setTimeout(() => this.updatePosition({} as Event));\n }\n\n private removeListeners(): void {\n clearTimeout(this.timeout);\n this.positionChangeSubscription.unsubscribe();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n getOffset(element: Element, target: Element | Window | undefined): SimpleRect {\n const elemRect = element.getBoundingClientRect();\n const containerRect = dom.getContainerRect(target);\n\n const scrollTop = this.scrollService.getScroll(target, true);\n const scrollLeft = this.scrollService.getScroll(target, false);\n\n const docElem = this.document.body;\n const clientTop = docElem.clientTop || 0;\n const clientLeft = docElem.clientLeft || 0;\n\n return {\n top: elemRect.top - containerRect.top + scrollTop - clientTop,\n left: elemRect.left - containerRect.left + scrollLeft - clientLeft,\n width: elemRect.width,\n height: elemRect.height\n };\n }\n\n private setAffixStyle(e: Event, affixStyle?: any): void {\n const originalAffixStyle = this.affixStyle;\n const isWindow = this.container === window;\n if (e.type === 'scroll' && originalAffixStyle && affixStyle && isWindow) {\n return;\n }\n if (shallowEqual(originalAffixStyle, affixStyle)) {\n return;\n }\n\n const fixed = !!affixStyle;\n const wrapElement = this.fixedElement.nativeElement;\n this.renderer.setStyle(wrapElement, 'cssText', dom.getStyleAsText(affixStyle));\n this.affixStyle = affixStyle;\n if (fixed) {\n wrapElement.classList.add(THY_AFFIX_CLS_PREFIX);\n } else {\n wrapElement.classList.remove(THY_AFFIX_CLS_PREFIX);\n }\n\n if ((affixStyle && !originalAffixStyle) || (!affixStyle && originalAffixStyle)) {\n this.thyChange.emit(fixed);\n }\n }\n\n private setPlaceholderStyle(placeholderStyle?: any): void {\n const originalPlaceholderStyle = this.placeholderStyle;\n if (shallowEqual(placeholderStyle, originalPlaceholderStyle)) {\n return;\n }\n this.renderer.setStyle(this.placeholderNode, 'cssText', dom.getStyleAsText(placeholderStyle));\n this.placeholderStyle = placeholderStyle;\n }\n\n private syncPlaceholderStyle(e: Event): void {\n if (!this.affixStyle) {\n return;\n }\n this.renderer.setStyle(this.placeholderNode, 'cssText', '');\n this.placeholderStyle = undefined;\n const styleObj = {\n width: this.placeholderNode.offsetWidth,\n height: this.fixedElement.nativeElement.offsetHeight\n };\n this.setAffixStyle(e, {\n ...this.affixStyle,\n ...styleObj\n });\n this.setPlaceholderStyle(styleObj);\n }\n\n updatePosition(e: Event): void {\n if (!this.platform.isBrowser) {\n return;\n }\n\n const containerNode = this.container;\n let offsetTop = this.thyOffsetTop;\n const scrollTop = this.scrollService.getScroll(containerNode, true);\n const elementOffset = this.getOffset(this.placeholderNode, containerNode);\n const fixedNode = this.fixedElement.nativeElement;\n const elemSize = {\n width: fixedNode.offsetWidth,\n height: fixedNode.offsetHeight\n };\n const offsetMode = {\n top: false,\n bottom: false\n };\n // Default to `offsetTop=0`.\n if (typeof offsetTop !== 'number' && typeof this.thyOffsetBottom !== 'number') {\n offsetMode.top = true;\n offsetTop = 0;\n } else {\n offsetMode.top = typeof offsetTop === 'number';\n offsetMode.bottom = typeof this.thyOffsetBottom === 'number';\n }\n const containerRect = dom.getContainerRect(containerNode as Window);\n const targetInnerHeight = (containerNode as Window).innerHeight || (containerNode as HTMLElement).clientHeight;\n if (scrollTop >= elementOffset.top - (offsetTop as number) && offsetMode.top) {\n const width = elementOffset.width;\n const top = containerRect.top + (offsetTop as number);\n this.setAffixStyle(e, {\n position: 'fixed',\n top,\n left: containerRect.left + elementOffset.left,\n width\n });\n this.setPlaceholderStyle({\n width,\n height: elemSize.height\n });\n } else if (\n scrollTop <= elementOffset.top + elemSize.height + (this.thyOffsetBottom as number) - targetInnerHeight &&\n offsetMode.bottom\n ) {\n const targetBottomOffset = containerNode === window ? 0 : window.innerHeight - containerRect.bottom;\n const width = elementOffset.width;\n this.setAffixStyle(e, {\n position: 'fixed',\n bottom: targetBottomOffset + (this.thyOffsetBottom as number),\n left: containerRect.left + elementOffset.left,\n width\n });\n this.setPlaceholderStyle({\n width,\n height: elementOffset.height\n });\n } else {\n if (\n e.type === AffixRespondEvents.resize &&\n this.affixStyle &&\n this.affixStyle.position === 'fixed' &&\n this.placeholderNode.offsetWidth\n ) {\n this.setAffixStyle(e, {\n ...this.affixStyle,\n width: this.placeholderNode.offsetWidth\n });\n } else {\n this.setAffixStyle(e);\n }\n this.setPlaceholderStyle();\n }\n\n if (e.type === 'resize') {\n this.syncPlaceholderStyle(e);\n }\n }\n}\n","import { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyAffix } from './affix.component';\n\n@NgModule({\n exports: [ThyAffix],\n imports: [CommonModule, PlatformModule, ThyAffix]\n})\nexport class ThyAffixModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { NgIf, NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
|
4
4
|
import { __decorate, __metadata } from 'tslib';
|
|
5
5
|
import { isString } from 'ngx-tethys/util';
|
|
6
6
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
7
|
-
import {
|
|
7
|
+
import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
|
|
8
8
|
import { InputBoolean } from 'ngx-tethys/core';
|
|
9
9
|
|
|
10
10
|
const weakTypes = ['primary-weak', 'success-weak', 'warning-weak', 'danger-weak'];
|
|
@@ -24,7 +24,7 @@ const typeIconsMap = {
|
|
|
24
24
|
* @name thy-alert
|
|
25
25
|
* @order 10
|
|
26
26
|
*/
|
|
27
|
-
class
|
|
27
|
+
class ThyAlert {
|
|
28
28
|
/**
|
|
29
29
|
* 指定警告提示的类型
|
|
30
30
|
* @type success | warning | danger | info | primary | primary-weak | success-weak | warning-weak | danger-weak
|
|
@@ -100,19 +100,19 @@ class ThyAlertComponent {
|
|
|
100
100
|
}
|
|
101
101
|
this.hostRenderer.updateClass([`thy-alert-${theme}`, `thy-alert-${theme}-${type}`]);
|
|
102
102
|
}
|
|
103
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
104
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type:
|
|
103
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyAlert, isStandalone: true, selector: "thy-alert", inputs: { thyType: "thyType", thyTheme: "thyTheme", thyMessage: "thyMessage", thyIcon: "thyIcon", thyCloseable: "thyCloseable" }, host: { properties: { "class.thy-alert-hidden": "hidden" }, classAttribute: "thy-alert" }, queries: [{ propertyName: "alertOperation", first: true, predicate: ["operation"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-alert-content\">\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-alert-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <span *ngIf=\"theme === 'naked'\" class=\"thy-alert-tips\">Tips\uFF1A </span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"messageText\">{{ messageText }}</span>\n <div class=\"thy-alert-operation\" *ngIf=\"alertOperation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation\"></ng-container>\n </div>\n</div>\n<a href=\"javascript:;\" class=\"thy-alert-close\" *ngIf=\"thyCloseable\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
105
105
|
}
|
|
106
106
|
__decorate([
|
|
107
107
|
InputBoolean(),
|
|
108
108
|
__metadata("design:type", Boolean)
|
|
109
|
-
],
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
109
|
+
], ThyAlert.prototype, "thyCloseable", void 0);
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAlert, decorators: [{
|
|
111
111
|
type: Component,
|
|
112
112
|
args: [{ selector: 'thy-alert', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
113
113
|
class: 'thy-alert',
|
|
114
114
|
'[class.thy-alert-hidden]': 'hidden'
|
|
115
|
-
}, standalone: true, imports: [NgIf,
|
|
115
|
+
}, standalone: true, imports: [NgIf, ThyIcon, NgTemplateOutlet], template: "<div class=\"thy-alert-content\">\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-alert-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <span *ngIf=\"theme === 'naked'\" class=\"thy-alert-tips\">Tips\uFF1A </span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"messageText\">{{ messageText }}</span>\n <div class=\"thy-alert-operation\" *ngIf=\"alertOperation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation\"></ng-container>\n </div>\n</div>\n<a href=\"javascript:;\" class=\"thy-alert-close\" *ngIf=\"thyCloseable\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n" }]
|
|
116
116
|
}], ctorParameters: () => [], propDecorators: { thyType: [{
|
|
117
117
|
type: Input
|
|
118
118
|
}], thyTheme: [{
|
|
@@ -153,14 +153,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
153
153
|
|
|
154
154
|
class ThyAlertModule {
|
|
155
155
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
156
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ThyAlertModule, imports: [CommonModule, ThyIconModule,
|
|
157
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAlertModule, imports: [CommonModule, ThyIconModule,
|
|
156
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ThyAlertModule, imports: [CommonModule, ThyIconModule, ThyAlert, ThyAlertActionItemDirective], exports: [ThyAlert, ThyAlertActionItemDirective] }); }
|
|
157
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAlertModule, imports: [CommonModule, ThyIconModule, ThyAlert] }); }
|
|
158
158
|
}
|
|
159
159
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAlertModule, decorators: [{
|
|
160
160
|
type: NgModule,
|
|
161
161
|
args: [{
|
|
162
|
-
imports: [CommonModule, ThyIconModule,
|
|
163
|
-
exports: [
|
|
162
|
+
imports: [CommonModule, ThyIconModule, ThyAlert, ThyAlertActionItemDirective],
|
|
163
|
+
exports: [ThyAlert, ThyAlertActionItemDirective]
|
|
164
164
|
}]
|
|
165
165
|
}] });
|
|
166
166
|
|
|
@@ -168,5 +168,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
168
168
|
* Generated bundle index. Do not edit.
|
|
169
169
|
*/
|
|
170
170
|
|
|
171
|
-
export {
|
|
171
|
+
export { ThyAlert, ThyAlertActionItemDirective, ThyAlertModule };
|
|
172
172
|
//# sourceMappingURL=ngx-tethys-alert.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-alert.mjs","sources":["../../../src/alert/alert.component.ts","../../../src/alert/alert.component.html","../../../src/alert/alert.directive.ts","../../../src/alert/alert.module.ts","../../../src/alert/ngx-tethys-alert.ts"],"sourcesContent":["import { Component, Input, OnInit, ContentChild, TemplateRef, OnChanges, ChangeDetectionStrategy, SimpleChanges } from '@angular/core';\nimport { isString } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIconComponent } from 'ngx-tethys/icon';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { InputBoolean } from 'ngx-tethys/core';\n\nconst weakTypes = ['primary-weak', 'success-weak', 'warning-weak', 'danger-weak'];\n\ntype ThyAlertType =\n | 'success'\n | 'warning'\n | 'danger'\n | 'info'\n | 'primary'\n | 'primary-weak'\n | 'success-weak'\n | 'warning-weak'\n | 'danger-weak';\n\nexport type ThyAlertTheme = 'fill' | 'bordered' | 'naked';\n\nconst typeIconsMap: Record<string, string> = {\n success: 'check-circle-fill',\n warning: 'waring-fill',\n danger: 'close-circle-fill',\n info: 'minus-circle-fill',\n primary: 'info-circle-fill',\n 'primary-weak': 'info-circle-fill',\n 'success-weak': 'check-circle-fill',\n 'warning-weak': 'waring-fill',\n 'danger-weak': 'close-circle-fill'\n};\n\n/**\n * 警告提示,展现需要关注的信息\n * @name thy-alert\n * @order 10\n */\n@Component({\n selector: 'thy-alert',\n templateUrl: './alert.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-alert',\n '[class.thy-alert-hidden]': 'hidden'\n },\n standalone: true,\n imports: [NgIf, ThyIconComponent, NgTemplateOutlet]\n})\nexport class ThyAlertComponent implements OnInit, OnChanges {\n private hidden = false;\n\n private showIcon = true;\n\n private icon: string;\n\n private type: ThyAlertType = 'info';\n\n private hostRenderer = useHostRenderer();\n\n public theme: ThyAlertTheme = 'fill';\n\n messageTemplate: TemplateRef<HTMLElement>;\n\n messageText: string;\n\n /**\n * 指定警告提示的类型\n * @type success | warning | danger | info | primary | primary-weak | success-weak | warning-weak | danger-weak\n * @default info\n */\n @Input() set thyType(value: ThyAlertType) {\n this.type = value;\n }\n\n /**\n * 指定警告提示的主题\n * @type fill | bordered | naked\n * @default fill\n */\n @Input() set thyTheme(value: ThyAlertTheme) {\n this.theme = value;\n }\n\n /**\n * 显示警告提示的内容\n */\n @Input() set thyMessage(value: string | TemplateRef<HTMLElement>) {\n if (value instanceof TemplateRef) {\n this.messageTemplate = value;\n } else {\n this.messageText = value;\n }\n }\n\n /**\n * 显示自定义图标,可传 true/false 控制是否显示图标,或者传字符串去指定图标名称\n */\n @Input()\n set thyIcon(value: boolean | string) {\n if (value) {\n this.showIcon = true;\n this.icon = isString(value) ? value.toString() : null;\n } else {\n this.showIcon = false;\n }\n }\n\n get thyIcon() {\n if (this.showIcon) {\n return this.icon || typeIconsMap[this.type];\n } else {\n return null;\n }\n }\n\n /**\n * 是否显示关闭警告框按钮,默认不显示\n * @default false\n */\n @Input() @InputBoolean() thyCloseable: boolean;\n\n /**\n * 警告框自定义操作\n * @type TemplateRef\n */\n @ContentChild('operation') alertOperation: TemplateRef<any>;\n\n constructor() {}\n\n ngOnInit() {\n this.updateClass();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.thyTheme && !changes.thyTheme.firstChange) || (changes.thyType && !changes.thyType.firstChange)) {\n this.updateClass();\n }\n }\n\n closeAlert() {\n this.hidden = true;\n }\n\n private updateClass() {\n // 兼容 'primary-weak', 'success-weak', 'warning-weak', 'danger-weak' types\n let theme = this.theme;\n let type = this.type;\n if (weakTypes.includes(this.type)) {\n theme = 'bordered';\n type = this.type.split('-')[0] as ThyAlertType;\n }\n this.hostRenderer.updateClass([`thy-alert-${theme}`, `thy-alert-${theme}-${type}`]);\n }\n}\n","<div class=\"thy-alert-content\">\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-alert-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <span *ngIf=\"theme === 'naked'\" class=\"thy-alert-tips\">Tips: </span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"messageText\">{{ messageText }}</span>\n <div class=\"thy-alert-operation\" *ngIf=\"alertOperation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation\"></ng-container>\n </div>\n</div>\n<a href=\"javascript:;\" class=\"thy-alert-close\" *ngIf=\"thyCloseable\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n","import { Directive, HostBinding } from '@angular/core';\n\n/**\n * 操作按钮的样式指令,可为警告内容添加自定义操作按钮样式\n * @name thyAlertActionItem\n * @order 20\n */\n@Directive({\n selector: '[thyAlertActionItem]',\n standalone: true\n})\nexport class ThyAlertActionItemDirective {\n @HostBinding('class.thy-alert-action') class = true;\n\n constructor() {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyAlertComponent } from './alert.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyAlertActionItemDirective } from './alert.directive';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyAlertComponent, ThyAlertActionItemDirective],\n exports: [ThyAlertComponent, ThyAlertActionItemDirective]\n})\nexport class ThyAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-alert.mjs","sources":["../../../src/alert/alert.component.ts","../../../src/alert/alert.component.html","../../../src/alert/alert.directive.ts","../../../src/alert/alert.module.ts","../../../src/alert/ngx-tethys-alert.ts"],"sourcesContent":["import { Component, Input, OnInit, ContentChild, TemplateRef, OnChanges, ChangeDetectionStrategy, SimpleChanges } from '@angular/core';\nimport { isString } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { InputBoolean } from 'ngx-tethys/core';\n\nconst weakTypes = ['primary-weak', 'success-weak', 'warning-weak', 'danger-weak'];\n\ntype ThyAlertType =\n | 'success'\n | 'warning'\n | 'danger'\n | 'info'\n | 'primary'\n | 'primary-weak'\n | 'success-weak'\n | 'warning-weak'\n | 'danger-weak';\n\nexport type ThyAlertTheme = 'fill' | 'bordered' | 'naked';\n\nconst typeIconsMap: Record<string, string> = {\n success: 'check-circle-fill',\n warning: 'waring-fill',\n danger: 'close-circle-fill',\n info: 'minus-circle-fill',\n primary: 'info-circle-fill',\n 'primary-weak': 'info-circle-fill',\n 'success-weak': 'check-circle-fill',\n 'warning-weak': 'waring-fill',\n 'danger-weak': 'close-circle-fill'\n};\n\n/**\n * 警告提示,展现需要关注的信息\n * @name thy-alert\n * @order 10\n */\n@Component({\n selector: 'thy-alert',\n templateUrl: './alert.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-alert',\n '[class.thy-alert-hidden]': 'hidden'\n },\n standalone: true,\n imports: [NgIf, ThyIcon, NgTemplateOutlet]\n})\nexport class ThyAlert implements OnInit, OnChanges {\n private hidden = false;\n\n private showIcon = true;\n\n private icon: string;\n\n private type: ThyAlertType = 'info';\n\n private hostRenderer = useHostRenderer();\n\n public theme: ThyAlertTheme = 'fill';\n\n messageTemplate: TemplateRef<HTMLElement>;\n\n messageText: string;\n\n /**\n * 指定警告提示的类型\n * @type success | warning | danger | info | primary | primary-weak | success-weak | warning-weak | danger-weak\n * @default info\n */\n @Input() set thyType(value: ThyAlertType) {\n this.type = value;\n }\n\n /**\n * 指定警告提示的主题\n * @type fill | bordered | naked\n * @default fill\n */\n @Input() set thyTheme(value: ThyAlertTheme) {\n this.theme = value;\n }\n\n /**\n * 显示警告提示的内容\n */\n @Input() set thyMessage(value: string | TemplateRef<HTMLElement>) {\n if (value instanceof TemplateRef) {\n this.messageTemplate = value;\n } else {\n this.messageText = value;\n }\n }\n\n /**\n * 显示自定义图标,可传 true/false 控制是否显示图标,或者传字符串去指定图标名称\n */\n @Input()\n set thyIcon(value: boolean | string) {\n if (value) {\n this.showIcon = true;\n this.icon = isString(value) ? value.toString() : null;\n } else {\n this.showIcon = false;\n }\n }\n\n get thyIcon() {\n if (this.showIcon) {\n return this.icon || typeIconsMap[this.type];\n } else {\n return null;\n }\n }\n\n /**\n * 是否显示关闭警告框按钮,默认不显示\n * @default false\n */\n @Input() @InputBoolean() thyCloseable: boolean;\n\n /**\n * 警告框自定义操作\n * @type TemplateRef\n */\n @ContentChild('operation') alertOperation: TemplateRef<any>;\n\n constructor() {}\n\n ngOnInit() {\n this.updateClass();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.thyTheme && !changes.thyTheme.firstChange) || (changes.thyType && !changes.thyType.firstChange)) {\n this.updateClass();\n }\n }\n\n closeAlert() {\n this.hidden = true;\n }\n\n private updateClass() {\n // 兼容 'primary-weak', 'success-weak', 'warning-weak', 'danger-weak' types\n let theme = this.theme;\n let type = this.type;\n if (weakTypes.includes(this.type)) {\n theme = 'bordered';\n type = this.type.split('-')[0] as ThyAlertType;\n }\n this.hostRenderer.updateClass([`thy-alert-${theme}`, `thy-alert-${theme}-${type}`]);\n }\n}\n","<div class=\"thy-alert-content\">\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-alert-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <span *ngIf=\"theme === 'naked'\" class=\"thy-alert-tips\">Tips: </span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"messageText\">{{ messageText }}</span>\n <div class=\"thy-alert-operation\" *ngIf=\"alertOperation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation\"></ng-container>\n </div>\n</div>\n<a href=\"javascript:;\" class=\"thy-alert-close\" *ngIf=\"thyCloseable\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n","import { Directive, HostBinding } from '@angular/core';\n\n/**\n * 操作按钮的样式指令,可为警告内容添加自定义操作按钮样式\n * @name thyAlertActionItem\n * @order 20\n */\n@Directive({\n selector: '[thyAlertActionItem]',\n standalone: true\n})\nexport class ThyAlertActionItemDirective {\n @HostBinding('class.thy-alert-action') class = true;\n\n constructor() {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyAlert } from './alert.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyAlertActionItemDirective } from './alert.directive';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyAlert, ThyAlertActionItemDirective],\n exports: [ThyAlert, ThyAlertActionItemDirective]\n})\nexport class ThyAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { PlatformModule } from '@angular/cdk/platform';
|
|
|
6
6
|
import { __decorate, __metadata } from 'tslib';
|
|
7
7
|
import { Subject, fromEvent } from 'rxjs';
|
|
8
8
|
import { throttleTime, takeUntil } from 'rxjs/operators';
|
|
9
|
-
import {
|
|
9
|
+
import { ThyAffix, ThyAffixModule } from 'ngx-tethys/affix';
|
|
10
10
|
import * as i2 from 'ngx-tethys/core';
|
|
11
11
|
import { InputBoolean, InputNumber } from 'ngx-tethys/core';
|
|
12
12
|
import { getOffset } from 'ngx-tethys/util';
|
|
@@ -17,7 +17,7 @@ const sharpMatcherRegx = /#([^#]+)$/;
|
|
|
17
17
|
* 锚点组件
|
|
18
18
|
* @name thy-anchor
|
|
19
19
|
*/
|
|
20
|
-
class
|
|
20
|
+
class ThyAnchor {
|
|
21
21
|
constructor(document, cdr, platform, zone, renderer, scrollService, elementRef) {
|
|
22
22
|
this.document = document;
|
|
23
23
|
this.cdr = cdr;
|
|
@@ -191,8 +191,8 @@ class ThyAnchorComponent {
|
|
|
191
191
|
this.registerScrollEvent();
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
195
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type:
|
|
194
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAnchor, deps: [{ token: DOCUMENT }, { token: i0.ChangeDetectorRef }, { token: i1.Platform }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i2.ThyScrollService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
195
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyAnchor, isStandalone: true, selector: "thy-anchor", inputs: { thyAffix: "thyAffix", thyBounds: "thyBounds", thyOffsetTop: "thyOffsetTop", thyContainer: "thyContainer", thyDirection: "thyDirection" }, outputs: { thyClick: "thyClick", thyScroll: "thyScroll" }, viewQueries: [{ propertyName: "ink", first: true, predicate: ["ink"], descendants: true }], exportAs: ["thyAnchor"], usesOnChanges: true, ngImport: i0, template: `
|
|
196
196
|
<thy-affix *ngIf="thyAffix; else content" [thyOffsetTop]="thyOffsetTop" [thyContainer]="container">
|
|
197
197
|
<ng-template [ngTemplateOutlet]="content"></ng-template>
|
|
198
198
|
</thy-affix>
|
|
@@ -209,21 +209,21 @@ class ThyAnchorComponent {
|
|
|
209
209
|
</div>
|
|
210
210
|
</div>
|
|
211
211
|
</ng-template>
|
|
212
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type:
|
|
212
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyAffix, selector: "thy-affix", inputs: ["thyContainer", "thyOffsetTop", "thyOffsetBottom"], outputs: ["thyChange"], exportAs: ["thyAffix"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
213
213
|
}
|
|
214
214
|
__decorate([
|
|
215
215
|
InputBoolean(),
|
|
216
216
|
__metadata("design:type", Object)
|
|
217
|
-
],
|
|
217
|
+
], ThyAnchor.prototype, "thyAffix", void 0);
|
|
218
218
|
__decorate([
|
|
219
219
|
InputNumber(),
|
|
220
220
|
__metadata("design:type", Object)
|
|
221
|
-
],
|
|
221
|
+
], ThyAnchor.prototype, "thyBounds", void 0);
|
|
222
222
|
__decorate([
|
|
223
223
|
InputNumber(),
|
|
224
224
|
__metadata("design:type", Number)
|
|
225
|
-
],
|
|
226
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
225
|
+
], ThyAnchor.prototype, "thyOffsetTop", void 0);
|
|
226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAnchor, decorators: [{
|
|
227
227
|
type: Component,
|
|
228
228
|
args: [{
|
|
229
229
|
selector: 'thy-anchor',
|
|
@@ -250,7 +250,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
250
250
|
encapsulation: ViewEncapsulation.None,
|
|
251
251
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
252
252
|
standalone: true,
|
|
253
|
-
imports: [NgIf,
|
|
253
|
+
imports: [NgIf, ThyAffix, NgTemplateOutlet, NgStyle, NgClass]
|
|
254
254
|
}]
|
|
255
255
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
256
256
|
type: Inject,
|
|
@@ -278,7 +278,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
278
278
|
* 锚点链接组件,可供锚点跳转
|
|
279
279
|
* @name thy-anchor-link,thyAnchorLink
|
|
280
280
|
*/
|
|
281
|
-
class
|
|
281
|
+
class ThyAnchorLink {
|
|
282
282
|
/**
|
|
283
283
|
* 文字内容
|
|
284
284
|
*/
|
|
@@ -328,15 +328,15 @@ class ThyAnchorLinkComponent {
|
|
|
328
328
|
ngOnDestroy() {
|
|
329
329
|
this.anchorComponent.unregisterLink(this);
|
|
330
330
|
}
|
|
331
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
332
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type:
|
|
331
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAnchorLink, deps: [{ token: i0.ElementRef }, { token: ThyAnchor }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
332
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyAnchorLink, isStandalone: true, selector: "thy-link,thy-anchor-link", inputs: { thyHref: "thyHref", thyTitle: "thyTitle" }, queries: [{ propertyName: "thyTemplate", first: true, predicate: ["thyTemplate"], descendants: true }], viewQueries: [{ propertyName: "linkTitle", first: true, predicate: ["linkTitle"], descendants: true, static: true }], exportAs: ["thyLink", "thyAnchorLink"], ngImport: i0, template: `
|
|
333
333
|
<a #linkTitle (click)="goToClick($event)" href="{{ thyHref }}" class="thy-anchor-link-title" title="{{ title }}">
|
|
334
334
|
<span *ngIf="title; else titleTemplate || thyTemplate">{{ title }}</span>
|
|
335
335
|
</a>
|
|
336
336
|
<ng-content></ng-content>
|
|
337
337
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
338
338
|
}
|
|
339
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type:
|
|
339
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAnchorLink, decorators: [{
|
|
340
340
|
type: Component,
|
|
341
341
|
args: [{
|
|
342
342
|
selector: 'thy-link,thy-anchor-link',
|
|
@@ -353,7 +353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
353
353
|
standalone: true,
|
|
354
354
|
imports: [NgIf]
|
|
355
355
|
}]
|
|
356
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type:
|
|
356
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: ThyAnchor }, { type: i1.Platform }], propDecorators: { thyHref: [{
|
|
357
357
|
type: Input
|
|
358
358
|
}], thyTitle: [{
|
|
359
359
|
type: Input
|
|
@@ -367,14 +367,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
367
367
|
|
|
368
368
|
class ThyAnchorModule {
|
|
369
369
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAnchorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
370
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ThyAnchorModule, imports: [CommonModule, PlatformModule, ThyAffixModule,
|
|
371
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAnchorModule, imports: [CommonModule, PlatformModule, ThyAffixModule,
|
|
370
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ThyAnchorModule, imports: [CommonModule, PlatformModule, ThyAffixModule, ThyAnchor, ThyAnchorLink], exports: [ThyAnchor, ThyAnchorLink] }); }
|
|
371
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAnchorModule, imports: [CommonModule, PlatformModule, ThyAffixModule, ThyAnchor] }); }
|
|
372
372
|
}
|
|
373
373
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyAnchorModule, decorators: [{
|
|
374
374
|
type: NgModule,
|
|
375
375
|
args: [{
|
|
376
|
-
exports: [
|
|
377
|
-
imports: [CommonModule, PlatformModule, ThyAffixModule,
|
|
376
|
+
exports: [ThyAnchor, ThyAnchorLink],
|
|
377
|
+
imports: [CommonModule, PlatformModule, ThyAffixModule, ThyAnchor, ThyAnchorLink]
|
|
378
378
|
}]
|
|
379
379
|
}] });
|
|
380
380
|
|
|
@@ -382,5 +382,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
382
382
|
* Generated bundle index. Do not edit.
|
|
383
383
|
*/
|
|
384
384
|
|
|
385
|
-
export {
|
|
385
|
+
export { ThyAnchor, ThyAnchorLink, ThyAnchorModule };
|
|
386
386
|
//# sourceMappingURL=ngx-tethys-anchor.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-anchor.mjs","sources":["../../../src/anchor/anchor.component.ts","../../../src/anchor/anchor-link.component.ts","../../../src/anchor/anchor.module.ts","../../../src/anchor/ngx-tethys-anchor.ts"],"sourcesContent":["import { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil, throttleTime } from 'rxjs/operators';\n\nimport { DOCUMENT, NgClass, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport { ThyAffixComponent } from 'ngx-tethys/affix';\nimport { InputBoolean, InputNumber, ThyScrollService } from 'ngx-tethys/core';\nimport { getOffset } from 'ngx-tethys/util';\nimport { ThyAnchorLinkComponent } from './anchor-link.component';\n\ninterface Section {\n linkComponent: ThyAnchorLinkComponent;\n top: number;\n}\n\nconst sharpMatcherRegx = /#([^#]+)$/;\n\n/**\n * 锚点组件\n * @name thy-anchor\n */\n@Component({\n selector: 'thy-anchor',\n exportAs: 'thyAnchor',\n preserveWhitespaces: false,\n template: `\n <thy-affix *ngIf=\"thyAffix; else content\" [thyOffsetTop]=\"thyOffsetTop\" [thyContainer]=\"container\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </thy-affix>\n <ng-template #content>\n <div\n class=\"thy-anchor-wrapper\"\n [ngClass]=\"{ 'thy-anchor-wrapper-horizontal': thyDirection === 'horizontal' }\"\n [ngStyle]=\"wrapperStyle\">\n <div class=\"thy-anchor\">\n <div class=\"thy-anchor-ink\">\n <div class=\"thy-anchor-ink-full\" #ink></div>\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, ThyAffixComponent, NgTemplateOutlet, NgStyle, NgClass]\n})\nexport class ThyAnchorComponent implements OnDestroy, AfterViewInit, OnChanges {\n @ViewChild('ink') private ink!: ElementRef;\n\n /**\n * 固定模式\n */\n @Input() @InputBoolean() thyAffix = true;\n\n /**\n * 锚点区域边界,单位:px\n */\n @Input()\n @InputNumber()\n thyBounds = 5;\n\n /**\n * 缓冲的偏移量阈值\n */\n @Input()\n @InputNumber()\n thyOffsetTop?: number = undefined;\n\n /**\n * 指定滚动的容器\n * @type string | HTMLElement\n */\n @Input() thyContainer?: string | HTMLElement;\n\n /**\n * 设置导航方向\n * @type 'vertical' | 'horizontal'\n */\n @Input() thyDirection: 'vertical' | 'horizontal' = 'vertical';\n\n /**\n * 点击项触发\n */\n @Output() readonly thyClick = new EventEmitter<ThyAnchorLinkComponent>();\n\n /**\n * 滚动到某锚点时触发\n */\n @Output() readonly thyScroll = new EventEmitter<ThyAnchorLinkComponent>();\n\n visible = false;\n\n wrapperStyle = { 'max-height': '100vh' };\n\n container?: HTMLElement | Window;\n\n private links: ThyAnchorLinkComponent[] = [];\n\n private animating = false;\n\n private destroy$ = new Subject<void>();\n\n private handleScrollTimeoutID = -1;\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n private cdr: ChangeDetectorRef,\n private platform: Platform,\n private zone: NgZone,\n private renderer: Renderer2,\n private scrollService: ThyScrollService,\n private elementRef: ElementRef\n ) {}\n\n registerLink(link: ThyAnchorLinkComponent): void {\n this.links.push(link);\n }\n\n unregisterLink(link: ThyAnchorLinkComponent): void {\n this.links.splice(this.links.indexOf(link), 1);\n }\n\n private getContainer(): HTMLElement | Window {\n return this.container || window;\n }\n\n ngAfterViewInit(): void {\n this.warningPrompt();\n this.registerScrollEvent();\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.handleScrollTimeoutID);\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private warningPrompt() {\n if (this.thyDirection === 'horizontal') {\n const hasChildren = this.links.some(link =>\n Array.from(link?.elementRef?.nativeElement?.childNodes)?.some((item: HTMLElement) =>\n item?.className.includes('thy-anchor-link')\n )\n );\n if (hasChildren) {\n console.warn(\"Anchor link nesting is not supported when 'Anchor' direction is horizontal.\");\n }\n }\n }\n\n private registerScrollEvent(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.destroy$.next();\n this.zone.runOutsideAngular(() => {\n fromEvent(this.getContainer(), 'scroll', { passive: true })\n .pipe(throttleTime(50), takeUntil(this.destroy$))\n .subscribe(() => this.handleScroll());\n });\n // Browser would maintain the scrolling position when refreshing.\n // So we have to delay calculation in avoid of getting a incorrect result.\n this.handleScrollTimeoutID = setTimeout(() => this.handleScroll());\n }\n\n handleScroll(): void {\n if (typeof document === 'undefined' || this.animating) {\n return;\n }\n const container: HTMLElement = this.container instanceof HTMLElement ? this.container : this.document;\n\n const sections: Section[] = [];\n const scope = (this.thyOffsetTop || 0) + this.thyBounds;\n this.links.forEach(linkComponent => {\n const sharpLinkMatch = sharpMatcherRegx.exec(linkComponent.thyHref.toString());\n if (!sharpLinkMatch) {\n return;\n }\n const target = container.querySelector(`#${sharpLinkMatch[1]}`) as HTMLElement;\n if (target) {\n const top = getOffset(target, this.getContainer()).top;\n if (top < scope) {\n sections.push({\n top,\n linkComponent\n });\n }\n }\n });\n\n this.visible = !!sections.length;\n if (!this.visible) {\n this.clearActive();\n this.cdr.detectChanges();\n } else {\n const maxSection = sections.reduce((prev, curr) => (curr.top > prev.top ? curr : prev));\n this.handleActive(maxSection.linkComponent);\n }\n this.setVisible();\n }\n\n private clearActive(): void {\n this.links.forEach(i => {\n i.unsetActive();\n });\n }\n\n private handleActive(linkComponent: ThyAnchorLinkComponent): void {\n this.clearActive();\n linkComponent.setActive();\n const linkNode = linkComponent.getLinkTitleElement();\n const horizontalAnchor = this.thyDirection === 'horizontal';\n\n this.ink.nativeElement.style.top = horizontalAnchor ? '' : `${linkNode.offsetTop}px`;\n this.ink.nativeElement.style.height = horizontalAnchor ? '' : `${linkNode.clientHeight}px`;\n this.ink.nativeElement.style.left = horizontalAnchor ? `${linkNode.offsetLeft}px` : '';\n this.ink.nativeElement.style.width = horizontalAnchor ? `${linkNode.clientWidth}px` : '';\n this.visible = true;\n this.setVisible();\n this.thyScroll.emit(linkComponent);\n }\n\n private setVisible(): void {\n const visible = this.visible;\n const visibleClassname = 'visible';\n if (this.ink) {\n if (visible) {\n this.renderer.addClass(this.ink.nativeElement, visibleClassname);\n } else {\n this.renderer.removeClass(this.ink.nativeElement, visibleClassname);\n }\n }\n }\n\n handleScrollTo(linkComponent: ThyAnchorLinkComponent): void {\n const container: HTMLElement = this.container instanceof HTMLElement ? this.container : this.document;\n const linkElement: HTMLElement = container.querySelector(linkComponent.thyHref);\n if (!linkElement) {\n return;\n }\n\n this.animating = true;\n const containerScrollTop = this.scrollService.getScroll(this.getContainer());\n const elementOffsetTop = getOffset(linkElement, this.getContainer()).top;\n const targetScrollTop = containerScrollTop + elementOffsetTop - (this.thyOffsetTop || 0);\n this.scrollService.scrollTo(this.getContainer(), targetScrollTop, undefined, () => {\n this.animating = false;\n });\n this.handleActive(linkComponent);\n this.thyClick.emit(linkComponent);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyOffsetTop, thyContainer } = changes;\n if (thyOffsetTop) {\n this.wrapperStyle = {\n 'max-height': `calc(100vh - ${this.thyOffsetTop}px)`\n };\n }\n if (thyContainer && this.thyContainer) {\n const container = this.thyContainer;\n this.container = typeof container === 'string' ? this.document.querySelector(container) : container;\n this.registerScrollEvent();\n }\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nimport { ThyAnchorComponent } from './anchor.component';\nimport { NgIf } from '@angular/common';\n\n/**\n * 锚点链接组件,可供锚点跳转\n * @name thy-anchor-link,thyAnchorLink\n */\n@Component({\n selector: 'thy-link,thy-anchor-link',\n exportAs: 'thyLink,thyAnchorLink',\n preserveWhitespaces: false,\n template: `\n <a #linkTitle (click)=\"goToClick($event)\" href=\"{{ thyHref }}\" class=\"thy-anchor-link-title\" title=\"{{ title }}\">\n <span *ngIf=\"title; else titleTemplate || thyTemplate\">{{ title }}</span>\n </a>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf]\n})\nexport class ThyAnchorLinkComponent implements OnInit, OnDestroy {\n title: string | null = '';\n\n titleTemplate?: TemplateRef<any>;\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 锚点链接\n */\n @Input() thyHref = '#';\n\n /**\n * 文字内容\n */\n @Input()\n set thyTitle(value: string | TemplateRef<void>) {\n if (value instanceof TemplateRef) {\n this.title = null;\n this.titleTemplate = value;\n } else {\n this.title = value;\n }\n }\n\n @ContentChild('thyTemplate') thyTemplate!: TemplateRef<void>;\n\n @ViewChild('linkTitle', { static: true }) linkTitle!: ElementRef<HTMLAnchorElement>;\n\n constructor(public elementRef: ElementRef, private anchorComponent: ThyAnchorComponent, private platform: Platform) {\n this.hostRenderer.addClass('thy-anchor-link');\n if (elementRef.nativeElement.tagName.toLowerCase() === 'thy-link') {\n console.warn(`'thy-link' and 'thyLink' are deprecated, please use 'thy-anchor-link' and 'thyAnchorLink' instead.`);\n }\n }\n\n ngOnInit(): void {\n this.anchorComponent.registerLink(this);\n }\n\n getLinkTitleElement(): HTMLAnchorElement {\n return this.linkTitle.nativeElement;\n }\n\n setActive(): void {\n this.hostRenderer.addClass('thy-anchor-link-active');\n }\n\n unsetActive(): void {\n this.hostRenderer.removeClass('thy-anchor-link-active');\n }\n\n goToClick(e: Event): void {\n e.preventDefault();\n e.stopPropagation();\n if (this.platform.isBrowser) {\n this.anchorComponent.handleScrollTo(this);\n }\n }\n\n ngOnDestroy(): void {\n this.anchorComponent.unregisterLink(this);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { ThyAnchorComponent } from './anchor.component';\nimport { ThyAnchorLinkComponent } from './anchor-link.component';\nimport { ThyAffixModule } from 'ngx-tethys/affix';\n\n@NgModule({\n exports: [ThyAnchorComponent, ThyAnchorLinkComponent],\n imports: [CommonModule, PlatformModule, ThyAffixModule, ThyAnchorComponent, ThyAnchorLinkComponent]\n})\nexport class ThyAnchorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyAnchorComponent","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-anchor.mjs","sources":["../../../src/anchor/anchor.component.ts","../../../src/anchor/anchor-link.component.ts","../../../src/anchor/anchor.module.ts","../../../src/anchor/ngx-tethys-anchor.ts"],"sourcesContent":["import { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil, throttleTime } from 'rxjs/operators';\n\nimport { DOCUMENT, NgClass, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport { ThyAffix } from 'ngx-tethys/affix';\nimport { InputBoolean, InputNumber, ThyScrollService } from 'ngx-tethys/core';\nimport { getOffset } from 'ngx-tethys/util';\nimport { ThyAnchorLink } from './anchor-link.component';\n\ninterface Section {\n linkComponent: ThyAnchorLink;\n top: number;\n}\n\nconst sharpMatcherRegx = /#([^#]+)$/;\n\n/**\n * 锚点组件\n * @name thy-anchor\n */\n@Component({\n selector: 'thy-anchor',\n exportAs: 'thyAnchor',\n preserveWhitespaces: false,\n template: `\n <thy-affix *ngIf=\"thyAffix; else content\" [thyOffsetTop]=\"thyOffsetTop\" [thyContainer]=\"container\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </thy-affix>\n <ng-template #content>\n <div\n class=\"thy-anchor-wrapper\"\n [ngClass]=\"{ 'thy-anchor-wrapper-horizontal': thyDirection === 'horizontal' }\"\n [ngStyle]=\"wrapperStyle\">\n <div class=\"thy-anchor\">\n <div class=\"thy-anchor-ink\">\n <div class=\"thy-anchor-ink-full\" #ink></div>\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, ThyAffix, NgTemplateOutlet, NgStyle, NgClass]\n})\nexport class ThyAnchor implements OnDestroy, AfterViewInit, OnChanges {\n @ViewChild('ink') private ink!: ElementRef;\n\n /**\n * 固定模式\n */\n @Input() @InputBoolean() thyAffix = true;\n\n /**\n * 锚点区域边界,单位:px\n */\n @Input()\n @InputNumber()\n thyBounds = 5;\n\n /**\n * 缓冲的偏移量阈值\n */\n @Input()\n @InputNumber()\n thyOffsetTop?: number = undefined;\n\n /**\n * 指定滚动的容器\n * @type string | HTMLElement\n */\n @Input() thyContainer?: string | HTMLElement;\n\n /**\n * 设置导航方向\n * @type 'vertical' | 'horizontal'\n */\n @Input() thyDirection: 'vertical' | 'horizontal' = 'vertical';\n\n /**\n * 点击项触发\n */\n @Output() readonly thyClick = new EventEmitter<ThyAnchorLink>();\n\n /**\n * 滚动到某锚点时触发\n */\n @Output() readonly thyScroll = new EventEmitter<ThyAnchorLink>();\n\n visible = false;\n\n wrapperStyle = { 'max-height': '100vh' };\n\n container?: HTMLElement | Window;\n\n private links: ThyAnchorLink[] = [];\n\n private animating = false;\n\n private destroy$ = new Subject<void>();\n\n private handleScrollTimeoutID = -1;\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n private cdr: ChangeDetectorRef,\n private platform: Platform,\n private zone: NgZone,\n private renderer: Renderer2,\n private scrollService: ThyScrollService,\n private elementRef: ElementRef\n ) {}\n\n registerLink(link: ThyAnchorLink): void {\n this.links.push(link);\n }\n\n unregisterLink(link: ThyAnchorLink): void {\n this.links.splice(this.links.indexOf(link), 1);\n }\n\n private getContainer(): HTMLElement | Window {\n return this.container || window;\n }\n\n ngAfterViewInit(): void {\n this.warningPrompt();\n this.registerScrollEvent();\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.handleScrollTimeoutID);\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private warningPrompt() {\n if (this.thyDirection === 'horizontal') {\n const hasChildren = this.links.some(link =>\n Array.from(link?.elementRef?.nativeElement?.childNodes)?.some((item: HTMLElement) =>\n item?.className.includes('thy-anchor-link')\n )\n );\n if (hasChildren) {\n console.warn(\"Anchor link nesting is not supported when 'Anchor' direction is horizontal.\");\n }\n }\n }\n\n private registerScrollEvent(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.destroy$.next();\n this.zone.runOutsideAngular(() => {\n fromEvent(this.getContainer(), 'scroll', { passive: true })\n .pipe(throttleTime(50), takeUntil(this.destroy$))\n .subscribe(() => this.handleScroll());\n });\n // Browser would maintain the scrolling position when refreshing.\n // So we have to delay calculation in avoid of getting a incorrect result.\n this.handleScrollTimeoutID = setTimeout(() => this.handleScroll());\n }\n\n handleScroll(): void {\n if (typeof document === 'undefined' || this.animating) {\n return;\n }\n const container: HTMLElement = this.container instanceof HTMLElement ? this.container : this.document;\n\n const sections: Section[] = [];\n const scope = (this.thyOffsetTop || 0) + this.thyBounds;\n this.links.forEach(linkComponent => {\n const sharpLinkMatch = sharpMatcherRegx.exec(linkComponent.thyHref.toString());\n if (!sharpLinkMatch) {\n return;\n }\n const target = container.querySelector(`#${sharpLinkMatch[1]}`) as HTMLElement;\n if (target) {\n const top = getOffset(target, this.getContainer()).top;\n if (top < scope) {\n sections.push({\n top,\n linkComponent\n });\n }\n }\n });\n\n this.visible = !!sections.length;\n if (!this.visible) {\n this.clearActive();\n this.cdr.detectChanges();\n } else {\n const maxSection = sections.reduce((prev, curr) => (curr.top > prev.top ? curr : prev));\n this.handleActive(maxSection.linkComponent);\n }\n this.setVisible();\n }\n\n private clearActive(): void {\n this.links.forEach(i => {\n i.unsetActive();\n });\n }\n\n private handleActive(linkComponent: ThyAnchorLink): void {\n this.clearActive();\n linkComponent.setActive();\n const linkNode = linkComponent.getLinkTitleElement();\n const horizontalAnchor = this.thyDirection === 'horizontal';\n\n this.ink.nativeElement.style.top = horizontalAnchor ? '' : `${linkNode.offsetTop}px`;\n this.ink.nativeElement.style.height = horizontalAnchor ? '' : `${linkNode.clientHeight}px`;\n this.ink.nativeElement.style.left = horizontalAnchor ? `${linkNode.offsetLeft}px` : '';\n this.ink.nativeElement.style.width = horizontalAnchor ? `${linkNode.clientWidth}px` : '';\n this.visible = true;\n this.setVisible();\n this.thyScroll.emit(linkComponent);\n }\n\n private setVisible(): void {\n const visible = this.visible;\n const visibleClassname = 'visible';\n if (this.ink) {\n if (visible) {\n this.renderer.addClass(this.ink.nativeElement, visibleClassname);\n } else {\n this.renderer.removeClass(this.ink.nativeElement, visibleClassname);\n }\n }\n }\n\n handleScrollTo(linkComponent: ThyAnchorLink): void {\n const container: HTMLElement = this.container instanceof HTMLElement ? this.container : this.document;\n const linkElement: HTMLElement = container.querySelector(linkComponent.thyHref);\n if (!linkElement) {\n return;\n }\n\n this.animating = true;\n const containerScrollTop = this.scrollService.getScroll(this.getContainer());\n const elementOffsetTop = getOffset(linkElement, this.getContainer()).top;\n const targetScrollTop = containerScrollTop + elementOffsetTop - (this.thyOffsetTop || 0);\n this.scrollService.scrollTo(this.getContainer(), targetScrollTop, undefined, () => {\n this.animating = false;\n });\n this.handleActive(linkComponent);\n this.thyClick.emit(linkComponent);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyOffsetTop, thyContainer } = changes;\n if (thyOffsetTop) {\n this.wrapperStyle = {\n 'max-height': `calc(100vh - ${this.thyOffsetTop}px)`\n };\n }\n if (thyContainer && this.thyContainer) {\n const container = this.thyContainer;\n this.container = typeof container === 'string' ? this.document.querySelector(container) : container;\n this.registerScrollEvent();\n }\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nimport { ThyAnchor } from './anchor.component';\nimport { NgIf } from '@angular/common';\n\n/**\n * 锚点链接组件,可供锚点跳转\n * @name thy-anchor-link,thyAnchorLink\n */\n@Component({\n selector: 'thy-link,thy-anchor-link',\n exportAs: 'thyLink,thyAnchorLink',\n preserveWhitespaces: false,\n template: `\n <a #linkTitle (click)=\"goToClick($event)\" href=\"{{ thyHref }}\" class=\"thy-anchor-link-title\" title=\"{{ title }}\">\n <span *ngIf=\"title; else titleTemplate || thyTemplate\">{{ title }}</span>\n </a>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf]\n})\nexport class ThyAnchorLink implements OnInit, OnDestroy {\n title: string | null = '';\n\n titleTemplate?: TemplateRef<any>;\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 锚点链接\n */\n @Input() thyHref = '#';\n\n /**\n * 文字内容\n */\n @Input()\n set thyTitle(value: string | TemplateRef<void>) {\n if (value instanceof TemplateRef) {\n this.title = null;\n this.titleTemplate = value;\n } else {\n this.title = value;\n }\n }\n\n @ContentChild('thyTemplate') thyTemplate!: TemplateRef<void>;\n\n @ViewChild('linkTitle', { static: true }) linkTitle!: ElementRef<HTMLAnchorElement>;\n\n constructor(public elementRef: ElementRef, private anchorComponent: ThyAnchor, private platform: Platform) {\n this.hostRenderer.addClass('thy-anchor-link');\n if (elementRef.nativeElement.tagName.toLowerCase() === 'thy-link') {\n console.warn(`'thy-link' and 'thyLink' are deprecated, please use 'thy-anchor-link' and 'thyAnchorLink' instead.`);\n }\n }\n\n ngOnInit(): void {\n this.anchorComponent.registerLink(this);\n }\n\n getLinkTitleElement(): HTMLAnchorElement {\n return this.linkTitle.nativeElement;\n }\n\n setActive(): void {\n this.hostRenderer.addClass('thy-anchor-link-active');\n }\n\n unsetActive(): void {\n this.hostRenderer.removeClass('thy-anchor-link-active');\n }\n\n goToClick(e: Event): void {\n e.preventDefault();\n e.stopPropagation();\n if (this.platform.isBrowser) {\n this.anchorComponent.handleScrollTo(this);\n }\n }\n\n ngOnDestroy(): void {\n this.anchorComponent.unregisterLink(this);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { ThyAnchor } from './anchor.component';\nimport { ThyAnchorLink } from './anchor-link.component';\nimport { ThyAffixModule } from 'ngx-tethys/affix';\n\n@NgModule({\n exports: [ThyAnchor, ThyAnchorLink],\n imports: [CommonModule, PlatformModule, ThyAffixModule, ThyAnchor, ThyAnchorLink]\n})\nexport class ThyAnchorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyAnchor","i2"],"mappings":"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"}
|