ngx-tethys 18.0.0-next.0 → 18.0.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +161 -1
- package/action/action.component.d.ts +3 -3
- package/alert/alert.component.d.ts +1 -1
- package/anchor/anchor.component.d.ts +3 -1
- package/autocomplete/autocomplete.component.d.ts +1 -1
- package/autocomplete/autocomplete.trigger.directive.d.ts +1 -1
- package/avatar/avatar.component.d.ts +4 -4
- package/badge/badge.component.d.ts +3 -3
- package/breadcrumb/breadcrumb.component.d.ts +30 -2
- package/breadcrumb/module.d.ts +3 -1
- package/breadcrumb/styles/breadcrumb.scss +8 -0
- package/button/button-icon.component.d.ts +2 -2
- package/button/button.component.d.ts +2 -2
- package/button/styles/button.scss +5 -5
- package/card/card.component.d.ts +3 -3
- package/card/content.component.d.ts +1 -1
- package/carousel/carousel.component.d.ts +4 -4
- package/cascader/cascader-li.component.d.ts +5 -5
- package/cascader/cascader-search-option.component.d.ts +3 -3
- package/cascader/cascader.component.d.ts +8 -8
- package/checkbox/checkbox.component.d.ts +1 -1
- package/collapse/collapse-item.component.d.ts +2 -2
- package/collapse/collapse.component.d.ts +1 -1
- package/color-picker/color-picker-panel.component.d.ts +1 -1
- package/color-picker/color-picker.component.d.ts +3 -3
- package/copy/copy.directive.d.ts +1 -1
- package/core/behaviors/decorators.d.ts +1 -1
- package/core/overlay/abstract-overlay.config.d.ts +6 -0
- package/date-picker/abstract-picker.component.d.ts +15 -8
- package/date-picker/abstract-picker.directive.d.ts +3 -3
- package/date-picker/base-picker.component.d.ts +2 -2
- package/date-picker/date-picker.config.d.ts +1 -0
- package/date-picker/date-picker.service.d.ts +1 -0
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -1
- package/date-picker/lib/popups/date-popup.component.d.ts +2 -1
- package/date-picker/lib/popups/inner-popup.component.d.ts +1 -1
- package/date-picker/picker.component.d.ts +1 -1
- package/date-picker/picker.util.d.ts +2 -0
- package/date-range/date-range.component.d.ts +8 -2
- package/dialog/body/dialog-body.component.d.ts +1 -1
- package/dialog/footer/dialog-footer.component.d.ts +1 -1
- package/dialog/header/dialog-header.component.d.ts +1 -1
- package/divider/divider.component.d.ts +2 -2
- package/drag-drop/drag-handle.directive.d.ts +1 -1
- package/drag-drop/drag.directive.d.ts +1 -1
- package/drag-drop/drop-container.directive.d.ts +1 -1
- package/dropdown/dropdown-menu-item.directive.d.ts +2 -2
- package/dropdown/dropdown-menu.component.d.ts +1 -1
- package/dropdown/dropdown.directive.d.ts +1 -1
- package/empty/empty.component.d.ts +1 -1
- package/esm2022/action/action.component.mjs +7 -6
- package/esm2022/alert/alert.component.mjs +5 -5
- package/esm2022/anchor/anchor.component.mjs +5 -5
- package/esm2022/autocomplete/autocomplete.component.mjs +5 -4
- package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +5 -5
- package/esm2022/avatar/avatar.component.mjs +8 -8
- package/esm2022/badge/badge.component.mjs +7 -6
- package/esm2022/breadcrumb/breadcrumb.component.mjs +73 -32
- package/esm2022/breadcrumb/module.mjs +6 -4
- package/esm2022/button/button-icon.component.mjs +6 -5
- package/esm2022/button/button.component.mjs +6 -6
- package/esm2022/card/card.component.mjs +7 -6
- package/esm2022/card/content.component.mjs +5 -4
- package/esm2022/carousel/carousel.component.mjs +8 -7
- package/esm2022/cascader/cascader-li.component.mjs +9 -8
- package/esm2022/cascader/cascader-search-option.component.mjs +7 -6
- package/esm2022/cascader/cascader.component.mjs +19 -12
- package/esm2022/checkbox/checkbox.component.mjs +5 -4
- package/esm2022/collapse/collapse-item.component.mjs +6 -6
- package/esm2022/collapse/collapse.component.mjs +5 -4
- package/esm2022/color-picker/color-picker-panel.component.mjs +5 -4
- package/esm2022/color-picker/color-picker.component.mjs +7 -6
- package/esm2022/color-picker/parts/inputs/inputs.component.mjs +1 -1
- package/esm2022/copy/copy.directive.mjs +5 -4
- package/esm2022/core/behaviors/decorators.mjs +2 -2
- package/esm2022/core/overlay/abstract-overlay.config.mjs +7 -1
- package/esm2022/date-picker/abstract-picker.component.mjs +28 -17
- package/esm2022/date-picker/abstract-picker.directive.mjs +8 -7
- package/esm2022/date-picker/base-picker.component.mjs +5 -5
- package/esm2022/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/date-picker/date-picker.config.mjs +2 -1
- package/esm2022/date-picker/date-picker.service.mjs +4 -1
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
- package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +7 -4
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +5 -5
- package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
- package/esm2022/date-picker/month-picker.component.mjs +3 -3
- package/esm2022/date-picker/picker.component.mjs +5 -5
- package/esm2022/date-picker/picker.util.mjs +14 -2
- package/esm2022/date-picker/quarter-picker.component.mjs +3 -3
- package/esm2022/date-picker/range-picker.component.mjs +3 -3
- package/esm2022/date-picker/week-picker.component.mjs +3 -3
- package/esm2022/date-picker/year-picker.component.mjs +3 -3
- package/esm2022/date-range/date-range.component.mjs +6 -5
- package/esm2022/dialog/body/dialog-body.component.mjs +5 -4
- package/esm2022/dialog/footer/dialog-footer.component.mjs +5 -4
- package/esm2022/dialog/header/dialog-header.component.mjs +5 -4
- package/esm2022/divider/divider.component.mjs +6 -5
- package/esm2022/drag-drop/drag-handle.directive.mjs +5 -4
- package/esm2022/drag-drop/drag.directive.mjs +5 -4
- package/esm2022/drag-drop/drop-container.directive.mjs +5 -4
- package/esm2022/dropdown/dropdown-menu-item.directive.mjs +7 -6
- package/esm2022/dropdown/dropdown-menu.component.mjs +5 -4
- package/esm2022/dropdown/dropdown.directive.mjs +5 -5
- package/esm2022/empty/empty.component.mjs +5 -4
- package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -4
- package/esm2022/form/form-group-label.directive.mjs +5 -4
- package/esm2022/form/form-group.component.mjs +7 -6
- package/esm2022/icon/icon.component.mjs +6 -5
- package/esm2022/image/image.class.mjs +1 -1
- package/esm2022/image/image.directive.mjs +6 -5
- package/esm2022/image/index.mjs +6 -5
- package/esm2022/image/preview/image-preview.component.mjs +21 -13
- package/esm2022/input/input-search.component.mjs +5 -4
- package/esm2022/input/input.component.mjs +6 -5
- package/esm2022/input-number/input-number.component.mjs +14 -7
- package/esm2022/layout/header.component.mjs +7 -6
- package/esm2022/layout/sidebar-header.component.mjs +5 -4
- package/esm2022/layout/sidebar.component.mjs +12 -11
- package/esm2022/list/list.component.mjs +5 -4
- package/esm2022/list/selection/selection-list.mjs +7 -7
- package/esm2022/loading/loading.component.mjs +6 -5
- package/esm2022/mention/mention.directive.mjs +3 -3
- package/esm2022/menu/group/menu-group.component.mjs +10 -9
- package/esm2022/menu/item/action/menu-item-action.component.mjs +17 -7
- package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -4
- package/esm2022/menu/menu.component.mjs +5 -4
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +5 -4
- package/esm2022/nav/nav-ink-bar.directive.mjs +6 -5
- package/esm2022/nav/nav-item.directive.mjs +7 -6
- package/esm2022/nav/nav.component.mjs +18 -7
- package/esm2022/pagination/pagination.class.mjs +1 -1
- package/esm2022/pagination/pagination.component.mjs +22 -10
- package/esm2022/pagination/pagination.config.mjs +3 -2
- package/esm2022/popover/popover.directive.mjs +6 -5
- package/esm2022/popover/popover.service.mjs +2 -1
- package/esm2022/property/property-item.component.mjs +6 -5
- package/esm2022/property-operation/property-operation.component.mjs +9 -9
- package/esm2022/radio/group/radio-group.component.mjs +5 -4
- package/esm2022/rate/rate-item.component.mjs +5 -4
- package/esm2022/rate/rate.component.mjs +7 -7
- package/esm2022/resizable/resizable.directive.mjs +7 -6
- package/esm2022/resizable/resize-handle.component.mjs +5 -4
- package/esm2022/resizable/resize-handles.component.mjs +5 -4
- package/esm2022/segment/segment-item.component.mjs +5 -5
- package/esm2022/segment/segment.component.mjs +5 -4
- package/esm2022/select/custom-select/custom-select.component.mjs +14 -14
- package/esm2022/select/native-select/native-select.component.mjs +5 -5
- package/esm2022/shared/base-form-check.component.mjs +6 -5
- package/esm2022/shared/directives/thy-autofocus.directive.mjs +6 -5
- package/esm2022/shared/directives/thy-scroll.directive.mjs +5 -4
- package/esm2022/shared/directives/thy-show.mjs +5 -4
- package/esm2022/shared/option/group/option-group.component.mjs +5 -4
- package/esm2022/shared/option/list-option/list-option.component.mjs +5 -4
- package/esm2022/shared/option/option.component.mjs +5 -5
- package/esm2022/shared/select/select-control/select-control.component.mjs +10 -10
- package/esm2022/skeleton/skeleton-circle.component.mjs +5 -5
- package/esm2022/skeleton/skeleton-rectangle.component.mjs +5 -5
- package/esm2022/skeleton/skeleton.component.mjs +5 -4
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +5 -4
- package/esm2022/skeleton/stylized/list.component.mjs +5 -4
- package/esm2022/skeleton/stylized/paragraph.component.mjs +5 -4
- package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -4
- package/esm2022/slider/slider.component.mjs +6 -6
- package/esm2022/space/space.component.mjs +5 -4
- package/esm2022/stepper/step-header.component.mjs +6 -5
- package/esm2022/stepper/stepper.component.mjs +5 -4
- package/esm2022/switch/switch.component.mjs +6 -5
- package/esm2022/table/table-column.component.mjs +9 -9
- package/esm2022/table/table-skeleton.component.mjs +8 -7
- package/esm2022/table/table.component.mjs +19 -17
- package/esm2022/tabs/tab.component.mjs +5 -4
- package/esm2022/tabs/tabs.component.mjs +6 -6
- package/esm2022/tag/tag.component.mjs +5 -5
- package/esm2022/time-picker/time-picker-panel.component.mjs +6 -6
- package/esm2022/time-picker/time-picker.component.mjs +9 -9
- package/esm2022/timeline/timeline.component.mjs +5 -4
- package/esm2022/tooltip/tooltip.directive.mjs +6 -6
- package/esm2022/tree/tree-node.component.mjs +9 -8
- package/esm2022/tree/tree.component.mjs +32 -11
- package/esm2022/tree/tree.service.mjs +3 -3
- package/esm2022/tree-select/tree-select.component.mjs +20 -18
- package/esm2022/upload/file-select.component.mjs +24 -27
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +7 -6
- package/esm2022/watermark/watermark.directive.mjs +5 -4
- package/fesm2022/ngx-tethys-action.mjs +6 -5
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +4 -4
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +4 -4
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +6 -6
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +7 -7
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +6 -5
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +117 -77
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +8 -8
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +8 -7
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +7 -6
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +28 -21
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +4 -3
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +7 -7
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +9 -8
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +4 -3
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +7 -1
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +86 -57
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +5 -4
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +8 -7
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +5 -4
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-drag-drop.mjs +8 -8
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +10 -10
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +4 -3
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +10 -10
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +5 -5
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +24 -16
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +13 -6
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +7 -6
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +17 -16
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +8 -8
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +5 -4
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-mention.mjs +2 -2
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +26 -16
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +26 -16
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +23 -10
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +6 -5
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +8 -8
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +5 -4
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +7 -6
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +8 -8
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +10 -10
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +6 -6
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +15 -15
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +25 -25
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +14 -14
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +4 -4
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +5 -5
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +4 -3
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +7 -6
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +5 -4
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +29 -27
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +7 -7
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +4 -4
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +11 -11
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +4 -3
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +5 -5
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +14 -11
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +39 -18
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +23 -27
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +6 -5
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys-watermark.mjs +4 -3
- package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/form/form-group-error/form-group-error.component.d.ts +1 -1
- package/form/form-group-label.directive.d.ts +1 -1
- package/form/form-group.component.d.ts +3 -3
- package/icon/icon.component.d.ts +2 -2
- package/image/image.class.d.ts +1 -1
- package/image/image.directive.d.ts +2 -2
- package/image/index.d.ts +5 -4
- package/image/preview/image-preview.component.d.ts +5 -5
- package/input/input-search.component.d.ts +1 -1
- package/input/input.component.d.ts +2 -2
- package/input/styles/input-group.scss +3 -0
- package/input-number/input-number.component.d.ts +10 -3
- package/layout/header.component.d.ts +3 -3
- package/layout/sidebar-header.component.d.ts +1 -1
- package/layout/sidebar.component.d.ts +7 -7
- package/list/list.component.d.ts +1 -1
- package/list/selection/selection-list.d.ts +3 -3
- package/loading/loading.component.d.ts +2 -2
- package/menu/group/menu-group.component.d.ts +6 -6
- package/menu/item/action/menu-item-action.component.d.ts +8 -3
- package/menu/item/name/menu-item-name.component.d.ts +1 -1
- package/menu/menu.component.d.ts +1 -1
- package/menu/styles/menu.scss +8 -0
- package/nav/icon-nav/icon-nav-link.directive.d.ts +1 -1
- package/nav/nav-ink-bar.directive.d.ts +2 -2
- package/nav/nav-item.directive.d.ts +3 -3
- package/nav/nav.component.d.ts +7 -5
- package/package.json +2 -2
- package/pagination/pagination.class.d.ts +4 -0
- package/pagination/pagination.component.d.ts +11 -6
- package/popover/popover.directive.d.ts +2 -2
- package/property/property-item.component.d.ts +4 -1
- package/property/styles/properties.scss +2 -0
- package/property-operation/property-operation.component.d.ts +5 -5
- package/radio/group/radio-group.component.d.ts +1 -1
- package/rate/rate-item.component.d.ts +1 -1
- package/rate/rate.component.d.ts +3 -3
- package/resizable/resizable.directive.d.ts +3 -3
- package/resizable/resize-handle.component.d.ts +1 -1
- package/resizable/resize-handles.component.d.ts +1 -1
- package/schematics/ng-update/update-18/complete.js +0 -10
- package/schematics/ng-update/update-18/index.spec.js +0 -73
- package/schematics/ng-update/update-18/update-data.js +4 -860
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment-item.component.d.ts +1 -1
- package/segment/segment.component.d.ts +5 -1
- package/select/custom-select/custom-select.component.d.ts +10 -10
- package/select/native-select/native-select.component.d.ts +1 -1
- package/shared/base-form-check.component.d.ts +2 -2
- package/shared/directives/thy-autofocus.directive.d.ts +2 -2
- package/shared/directives/thy-scroll.directive.d.ts +1 -1
- package/shared/directives/thy-show.d.ts +1 -1
- package/shared/option/group/option-group.component.d.ts +1 -1
- package/shared/option/list-option/list-option.component.d.ts +1 -1
- package/shared/option/option.component.d.ts +1 -1
- package/shared/option/styles/select-dropdown.scss +1 -0
- package/shared/select/select-control/select-control.component.d.ts +6 -6
- package/skeleton/skeleton-circle.component.d.ts +1 -1
- package/skeleton/skeleton-rectangle.component.d.ts +1 -1
- package/skeleton/skeleton.component.d.ts +1 -1
- package/skeleton/stylized/bullet-list.component.d.ts +1 -1
- package/skeleton/stylized/list.component.d.ts +1 -1
- package/skeleton/stylized/paragraph.component.d.ts +1 -1
- package/slide/slide-body/slide-body-section.component.d.ts +1 -1
- package/slider/slider.component.d.ts +2 -2
- package/slider/slider.scss +12 -20
- package/space/space.component.d.ts +1 -1
- package/stepper/step-header.component.d.ts +2 -2
- package/stepper/stepper.component.d.ts +1 -1
- package/styles/modules/tables.scss +20 -0
- package/styles/variables.scss +2 -2
- package/switch/switch.component.d.ts +2 -2
- package/table/styles/skeleton.scss +5 -0
- package/table/table-column.component.d.ts +5 -5
- package/table/table-skeleton.component.d.ts +2 -2
- package/table/table.component.d.ts +13 -11
- package/tabs/tab.component.d.ts +1 -1
- package/tabs/tabs.component.d.ts +2 -2
- package/tag/tag.component.d.ts +1 -1
- package/time-picker/time-picker-panel.component.d.ts +2 -2
- package/time-picker/time-picker.component.d.ts +5 -5
- package/timeline/timeline.component.d.ts +1 -1
- package/tooltip/tooltip.directive.d.ts +10 -2
- package/tree/tree-node.component.d.ts +20 -5
- package/tree/tree.component.d.ts +17 -7
- package/tree/tree.service.d.ts +1 -1
- package/tree-select/tree-select.component.d.ts +7 -7
- package/upload/file-select.component.d.ts +7 -8
- package/vote/vote.component.d.ts +3 -3
- package/watermark/watermark.directive.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-nav.mjs","sources":["../../../src/nav/icon-nav/icon-nav-link.directive.ts","../../../src/nav/icon-nav/icon-nav.component.ts","../../../src/nav/icon-nav/icon-nav.component.html","../../../src/nav/nav-item.directive.ts","../../../src/nav/nav-ink-bar.directive.ts","../../../src/nav/nav.pipe.ts","../../../src/nav/nav.component.ts","../../../src/nav/nav.component.html","../../../src/nav/nav.module.ts","../../../src/nav/ngx-tethys-nav.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\n\n/**\n * @private\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[thyIconNavLink]',\n template: '<ng-content></ng-content><thy-icon *ngIf=\"icon\" [thyIconName]=\"icon\"></thy-icon>',\n standalone: true,\n imports: [NgIf, ThyIcon]\n})\nexport class ThyIconNavLink {\n @HostBinding('class.active') navLinkActive = false;\n\n @HostBinding('class.thy-icon-nav-link') navLinkClass = true;\n\n icon: string;\n\n @Input()\n set thyIconNavLinkIcon(icon: string) {\n this.icon = icon;\n }\n\n @Input({ transform: booleanAttribute })\n set thyIconNavLinkActive(active: boolean) {\n this.navLinkActive = active;\n }\n}\n","import { Component, OnInit, HostBinding, Input, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { warnDeprecation } from 'ngx-tethys/util';\n\ntype IconNavTypes = 'primary' | 'secondary' | 'individual' | '';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-icon-nav',\n templateUrl: './icon-nav.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyIconNav implements OnInit {\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n type: IconNavTypes;\n\n @HostBinding(`class.thy-icon-nav`) isIconNav = true;\n\n @Input() set thyType(type: IconNavTypes) {\n this.type = type;\n this.updateClasses();\n this.changeDetectorRef.markForCheck();\n }\n\n private updateClasses(bypassInitialized?: boolean) {\n if (!bypassInitialized && !this.initialized) {\n return;\n }\n this.hostRenderer.updateClass(this.type ? [`thy-icon-nav-${this.type}`] : []);\n }\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n warnDeprecation('thy-icon-nav has been deprecated, please use thyAction and thy-space components instead of it');\n }\n }\n\n ngOnInit(): void {\n this.initialized = true;\n this.updateClasses(true);\n }\n}\n","<ng-content></ng-content>\n","import { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport {\n AfterViewInit,\n booleanAttribute,\n ContentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n Input,\n NgZone,\n Optional,\n QueryList\n} from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\n\nexport type ThyNavLink = '' | 'active';\n\n/**\n * 导航项\n * @name thyNavItem\n * @order 20\n */\n@Directive({\n selector: '[thyNavLink],[thyNavItem]',\n host: {\n class: 'thy-nav-item',\n '[class.active]': 'thyNavItemActive || thyNavLinkActive',\n '[class.disabled]': 'thyNavItemDisabled'\n },\n standalone: true\n})\nexport class ThyNavItemDirective implements AfterViewInit {\n /**\n * 是否激活状态\n * @default false\n */\n @Input({ transform: booleanAttribute })\n thyNavItemActive: boolean;\n\n /**\n * 已经废弃,请使用 thyNavItemActive\n * @deprecated please use thyNavItemActive\n * @default false\n */\n @Input({ transform: booleanAttribute })\n thyNavLinkActive: boolean;\n\n /**\n * 是否禁用\n * @default false\n */\n @Input({ transform: booleanAttribute })\n thyNavItemDisabled: boolean;\n\n /**\n * @private\n */\n @ContentChildren(forwardRef(() => ThyNavItemDirective), { descendants: true })\n links: QueryList<ThyNavItemDirective>;\n\n /**\n * @private\n */\n @ContentChildren(RouterLinkActive, { descendants: true }) routers: QueryList<RouterLinkActive>;\n\n // @HostBinding('attr.href') navLinkHref = 'javascript:;';\n\n public offset: {\n width: number;\n height: number;\n left: number;\n top: number;\n } = {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n public content: HTMLElement;\n\n public isActive: boolean;\n\n private hostRenderer = useHostRenderer();\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(public elementRef: ElementRef, @Optional() private routerLinkActive: RouterLinkActive, private ngZone: NgZone) {}\n\n ngAfterViewInit() {\n this.setOffset();\n\n this.content = this.elementRef.nativeElement.outerHTML;\n\n this.ngZone.onStable.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.isActive = this.linkIsActive();\n });\n }\n\n setOffset() {\n this.offset = {\n width: this.elementRef.nativeElement.offsetWidth,\n height: this.elementRef.nativeElement.offsetHeight,\n left: this.elementRef.nativeElement.offsetLeft,\n top: this.elementRef.nativeElement.offsetTop\n };\n }\n\n linkIsActive() {\n return (\n this.thyNavItemActive ||\n this.thyNavLinkActive ||\n (this.routerLinkActive && this.routerLinkActive.isActive) ||\n this.routers.some(router => router.isActive) ||\n this.links.some(item => item.thyNavItemActive) ||\n this.links.some(item => item.thyNavLinkActive)\n );\n }\n\n setNavLinkHidden(value: boolean) {\n if (value) {\n this.hostRenderer.addClass('thy-nav-item-hidden');\n } else {\n this.hostRenderer.removeClass('thy-nav-item-hidden');\n }\n }\n}\n","import { ANIMATION_MODULE_TYPE, Directive, ElementRef, Inject, Input, NgZone, Optional, booleanAttribute } from '@angular/core';\nimport { take } from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Directive({\n selector: 'thy-nav-ink-bar, [thyNavInkBar]',\n host: {\n class: 'thy-nav-ink-bar',\n '[class.thy-nav-ink-bar-animated]': 'animated'\n },\n standalone: true\n})\nexport class ThyNavInkBarDirective {\n @Input({ transform: booleanAttribute }) isVertical: boolean;\n\n @Input({ transform: booleanAttribute }) showInkBar: boolean;\n\n get animated(): boolean {\n return this.animationMode !== 'NoopAnimations' && this.showInkBar;\n }\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public animationMode?: string\n ) {}\n\n public alignToElement(element: HTMLElement): void {\n this.show();\n this.ngZone.run(() => {\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.setStyles(element);\n });\n });\n }\n\n private setStyles(element: HTMLElement): void {\n const inkBar: HTMLElement = this.elementRef.nativeElement;\n if (!this.isVertical) {\n inkBar.style.top = '';\n inkBar.style.bottom = '0px';\n inkBar.style.height = '2px';\n inkBar.style.left = this.getLeftPosition(element);\n inkBar.style.width = this.getElementWidth(element);\n } else {\n inkBar.style.left = '';\n inkBar.style.width = '2px';\n inkBar.style.top = this.getTopPosition(element);\n inkBar.style.height = this.getElementHeight(element);\n }\n }\n\n private getLeftPosition(element: HTMLElement): string {\n return element ? `${element.offsetLeft || 0}px` : '0';\n }\n\n private getElementWidth(element: HTMLElement): string {\n return element ? `${element.offsetWidth || 0}px` : '0';\n }\n\n private getTopPosition(element: HTMLElement): string {\n return element ? `${element.offsetTop || 0}px` : '0';\n }\n\n private getElementHeight(element: HTMLElement): string {\n return element ? `${element.offsetHeight || 0}px` : '0';\n }\n\n private show() {\n this.elementRef.nativeElement.style.visibility = 'visible';\n }\n\n public hide() {\n this.elementRef.nativeElement.style.visibility = 'hidden';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @private\n */\n@Pipe({\n name: 'bypassSecurityTrustHtml',\n standalone: true\n})\nexport class BypassSecurityTrustHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(format: string): any {\n return this.sanitizer.bypassSecurityTrustHtml(format);\n }\n}\n","import { ThyPopover } from 'ngx-tethys/popover';\nimport { merge, Observable, of } from 'rxjs';\nimport { debounceTime, take, tap } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n HostBinding,\n inject,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from '@angular/core';\n\nimport { RouterLinkActive } from '@angular/router';\nimport { ThyNavInkBarDirective } from './nav-ink-bar.directive';\nimport { ThyNavItemDirective } from './nav-item.directive';\nimport { BypassSecurityTrustHtmlPipe } from './nav.pipe';\nimport { ThyDropdownMenuComponent, ThyDropdownMenuItemDirective, ThyDropdownMenuItemActiveDirective } from 'ngx-tethys/dropdown';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgClass, NgTemplateOutlet, NgIf, NgFor } from '@angular/common';\n\nexport type ThyNavType = 'pulled' | 'tabs' | 'pills' | 'lite' | 'primary' | 'secondary' | 'thirdly' | 'secondary-divider';\nexport type ThyNavSize = 'lg' | 'md' | 'sm';\nexport type ThyNavHorizontal = '' | 'start' | 'center' | 'end';\n\nconst navTypeClassesMap = {\n pulled: ['thy-nav-pulled'],\n tabs: ['thy-nav-tabs'],\n pills: ['thy-nav-pills'],\n lite: ['thy-nav-lite'],\n //如下类型已经废弃\n primary: ['thy-nav-primary'],\n secondary: ['thy-nav-secondary'],\n thirdly: ['thy-nav-thirdly'],\n 'secondary-divider': ['thy-nav-secondary-divider']\n};\n\nconst navSizeClassesMap = {\n lg: 'thy-nav-lg',\n md: 'thy-nav-md',\n sm: 'thy-nav-sm'\n};\n\nconst tabItemRight = 20;\n\n/**\n * 导航组件\n * @name thy-nav\n * @order 10\n */\n@Component({\n selector: 'thy-nav',\n templateUrl: './nav.component.html',\n host: {\n class: 'thy-nav'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgClass,\n NgTemplateOutlet,\n NgIf,\n ThyNavItemDirective,\n ThyIcon,\n ThyNavInkBarDirective,\n ThyDropdownMenuComponent,\n NgFor,\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemActiveDirective,\n BypassSecurityTrustHtmlPipe\n ]\n})\nexport class ThyNav implements OnInit, AfterViewInit, AfterContentInit, AfterContentChecked, OnChanges {\n private readonly destroyRef = inject(DestroyRef);\n\n private type: ThyNavType = 'pulled';\n private size: ThyNavSize = 'md';\n public initialized = false;\n\n public horizontal: ThyNavHorizontal;\n public wrapperOffset: { height: number; width: number; left: number; top: number } = {\n height: 0,\n width: 0,\n left: 0,\n top: 0\n };\n\n public hiddenItems: ThyNavItemDirective[] = [];\n\n public moreActive: boolean;\n\n public showMore = true;\n\n private moreBtnOffset: { height: number; width: number } = { height: 0, width: 0 };\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 导航类型\n * @type pulled | tabs | pills | lite | primary | secondary | thirdly | secondary-divider\n * @default pulled\n */\n @Input()\n set thyType(type: ThyNavType) {\n this.type = type || 'pulled';\n if (this.initialized) {\n this.updateClasses();\n }\n }\n\n /**\n * 导航大小\n * @type lg | md | sm\n * @default md\n */\n @Input()\n set thySize(size: ThyNavSize) {\n this.size = size;\n if (this.initialized) {\n this.updateClasses();\n }\n }\n\n /**\n * 水平排列\n * @type '' | 'start' | 'center' | 'end'\n * @default false\n */\n @Input()\n set thyHorizontal(horizontal: ThyNavHorizontal) {\n this.horizontal = (horizontal as string) === 'right' ? 'end' : horizontal;\n }\n\n /**\n * 是否垂直排列\n * @default false\n */\n @HostBinding('class.thy-nav--vertical')\n @Input({ transform: booleanAttribute })\n thyVertical: boolean;\n\n /**\n * 是否是填充模式\n */\n @HostBinding('class.thy-nav--fill')\n @Input({ transform: booleanAttribute })\n thyFill: boolean = false;\n\n /**\n * 是否响应式,自动计算宽度存放 thyNavItem,并添加更多弹框\n * @default false\n */\n @Input({ transform: booleanAttribute })\n thyResponsive: boolean;\n\n /**\n * 更多操作的菜单点击内部是否可关闭\n */\n @Input({ transform: booleanAttribute })\n thyInsideClosable = true;\n\n /**\n * 右侧额外区域模板\n * @type TemplateRef\n */\n @Input() thyExtra: TemplateRef<unknown>;\n\n /**\n * @private\n */\n @ContentChildren(ThyNavItemDirective, { descendants: true }) links: QueryList<ThyNavItemDirective>;\n\n /**\n * @private\n */\n @ContentChildren(RouterLinkActive, { descendants: true }) routers: QueryList<RouterLinkActive>;\n\n /**\n * 响应式模式下更多操作模板\n * @type TemplateRef\n */\n @ContentChild('more') moreOperation: TemplateRef<unknown>;\n\n /**\n * 响应式模式下更多弹框模板\n * @type TemplateRef\n */\n @ContentChild('morePopover') morePopover: TemplateRef<unknown>;\n\n /**\n * 右侧额外区域模板,支持 thyExtra 传参和 <ng-template #extra></ng-template> 模板\n * @name extra\n * @type TemplateRef\n */\n @ContentChild('extra') extra: TemplateRef<unknown>;\n\n @ViewChild('moreOperationContainer') defaultMoreOperation: ElementRef<HTMLAnchorElement>;\n\n @ViewChild(ThyNavInkBarDirective, { static: true }) inkBar!: ThyNavInkBarDirective;\n\n get showInkBar(): boolean {\n const showTypes: ThyNavType[] = ['pulled', 'tabs'];\n return showTypes.includes(this.type);\n }\n\n private updateClasses() {\n let classNames: string[] = [];\n if (navTypeClassesMap[this.type]) {\n classNames = [...navTypeClassesMap[this.type]];\n }\n if (navSizeClassesMap[this.size]) {\n classNames.push(navSizeClassesMap[this.size]);\n }\n this.hostRenderer.updateClass(classNames);\n }\n\n private curActiveIndex: number;\n\n private prevActiveIndex: number = NaN;\n\n constructor(\n private elementRef: ElementRef,\n private ngZone: NgZone,\n private changeDetectorRef: ChangeDetectorRef,\n private popover: ThyPopover\n ) {}\n\n ngOnInit() {\n if (!this.thyResponsive) {\n this.initialized = true;\n }\n\n this.updateClasses();\n }\n\n ngAfterViewInit() {\n if (this.thyResponsive) {\n this.setMoreBtnOffset();\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.links.toArray().forEach(link => link.setOffset());\n this.setHiddenItems();\n });\n }\n this.ngZone.runOutsideAngular(() => {\n merge(\n this.links.changes,\n this.createResizeObserver(this.elementRef.nativeElement).pipe(debounceTime(100)),\n ...this.links.map(item => this.createResizeObserver(item.elementRef.nativeElement).pipe(debounceTime(100))),\n ...(this.routers || []).map(router => router?.isActiveChange)\n )\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n tap(() => {\n if (this.thyResponsive) {\n this.resetSizes();\n this.setHiddenItems();\n this.calculateMoreIsActive();\n }\n })\n )\n .subscribe(() => {\n this.alignInkBarToSelectedTab();\n });\n });\n }\n\n ngAfterContentInit(): void {\n if (this.thyResponsive) {\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.resetSizes();\n });\n }\n }\n\n ngAfterContentChecked() {\n this.calculateMoreIsActive();\n\n this.curActiveIndex = this.links && this.links.length ? this.links.toArray().findIndex(item => item.linkIsActive()) : -1;\n if (this.curActiveIndex < 0) {\n this.inkBar.hide();\n } else if (this.curActiveIndex !== this.prevActiveIndex) {\n this.alignInkBarToSelectedTab();\n }\n }\n\n private setMoreBtnOffset() {\n this.moreBtnOffset = {\n height: this.defaultMoreOperation?.nativeElement?.offsetHeight,\n width: this.defaultMoreOperation?.nativeElement?.offsetWidth\n };\n }\n\n createResizeObserver(element: HTMLElement) {\n return typeof ResizeObserver === 'undefined'\n ? of(null)\n : new Observable(observer => {\n const resize = new ResizeObserver(entries => {\n observer.next(entries);\n });\n resize.observe(element);\n return () => {\n resize.disconnect();\n };\n });\n }\n\n private calculateMoreIsActive() {\n this.moreActive = this.hiddenItems.some(item => {\n return item.linkIsActive();\n });\n this.changeDetectorRef.detectChanges();\n }\n\n private setHiddenItems() {\n this.moreActive = false;\n const tabs = this.links.toArray();\n if (!tabs.length) {\n this.hiddenItems = [];\n this.showMore = this.hiddenItems.length > 0;\n return;\n }\n\n const endIndex = this.thyVertical ? this.getShowItemsEndIndexWhenVertical(tabs) : this.getShowItemsEndIndexWhenHorizontal(tabs);\n\n const showItems = tabs.slice(0, endIndex + 1);\n (showItems || []).forEach(item => {\n item.setNavLinkHidden(false);\n });\n\n this.hiddenItems = endIndex === tabs.length - 1 ? [] : tabs.slice(endIndex + 1);\n (this.hiddenItems || []).forEach(item => {\n item.setNavLinkHidden(true);\n });\n\n this.showMore = this.hiddenItems.length > 0;\n this.initialized = true;\n }\n\n private getShowItemsEndIndexWhenHorizontal(tabs: ThyNavItemDirective[]) {\n const tabsLength = tabs.length;\n let endIndex = tabsLength;\n let totalWidth = 0;\n\n for (let i = 0; i < tabsLength; i += 1) {\n const _totalWidth = i === tabsLength - 1 ? totalWidth + tabs[i].offset.width : totalWidth + tabs[i].offset.width + tabItemRight;\n if (_totalWidth > this.wrapperOffset.width) {\n let moreOperationWidth = this.moreBtnOffset.width;\n if (totalWidth + moreOperationWidth <= this.wrapperOffset.width) {\n endIndex = i - 1;\n } else {\n endIndex = i - 2;\n }\n break;\n } else {\n totalWidth = _totalWidth;\n endIndex = i;\n }\n }\n return endIndex;\n }\n\n private getShowItemsEndIndexWhenVertical(tabs: ThyNavItemDirective[]) {\n const tabsLength = tabs.length;\n let endIndex = tabsLength;\n let totalHeight = 0;\n for (let i = 0; i < tabsLength; i += 1) {\n const _totalHeight = totalHeight + tabs[i].offset.height;\n if (_totalHeight > this.wrapperOffset.height) {\n let moreOperationHeight = this.moreBtnOffset.height;\n if (totalHeight + moreOperationHeight <= this.wrapperOffset.height) {\n endIndex = i - 1;\n } else {\n endIndex = i - 2;\n }\n break;\n } else {\n totalHeight = _totalHeight;\n endIndex = i;\n }\n }\n return endIndex;\n }\n\n private resetSizes() {\n this.wrapperOffset = {\n height: this.elementRef.nativeElement.offsetHeight || 0,\n width: this.elementRef.nativeElement.offsetWidth || 0,\n left: this.elementRef.nativeElement.offsetLeft || 0,\n top: this.elementRef.nativeElement.offsetTop || 0\n };\n }\n\n openMore(event: Event, template: TemplateRef<any>) {\n this.popover.open(template, {\n origin: event.currentTarget as HTMLElement,\n hasBackdrop: true,\n backdropClosable: true,\n insideClosable: this.thyInsideClosable,\n placement: 'bottom',\n panelClass: 'thy-nav-list-popover',\n originActiveClass: 'thy-nav-origin-active'\n });\n }\n\n navItemClick(item: ThyNavItemDirective) {\n item.elementRef.nativeElement.click();\n }\n\n private alignInkBarToSelectedTab(): void {\n if (!this.showInkBar) {\n this.inkBar.hide();\n return;\n }\n const tabs = this.links?.toArray() ?? [];\n const selectedItem = tabs.find(item => item.linkIsActive());\n let selectedItemElement: HTMLElement = selectedItem && selectedItem.elementRef.nativeElement;\n\n if (selectedItem && this.moreActive) {\n selectedItemElement = this.defaultMoreOperation.nativeElement;\n }\n if (selectedItemElement) {\n this.prevActiveIndex = this.curActiveIndex;\n this.inkBar.alignToElement(selectedItemElement);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyVertical, thyType } = changes;\n\n if (thyType?.currentValue !== thyType?.previousValue || thyVertical?.currentValue !== thyVertical?.previousValue) {\n this.alignInkBarToSelectedTab();\n }\n }\n}\n","<div class=\"thy-nav-list\" [ngClass]=\"horizontal ? 'justify-content-' + horizontal : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <a\n *ngIf=\"thyResponsive\"\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavLinkActive]=\"moreActive\"\n (click)=\"openMore($event, navListPopover)\"\n >\n <ng-container *ngIf=\"moreOperation; else defaultMoreOperation\" [ngTemplateOutlet]=\"moreOperation\"></ng-container>\n <ng-template #defaultMoreOperation>\n 更多\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n </ng-template>\n </a>\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n <ng-container\n *ngIf=\"morePopover; else default\"\n [ngTemplateOutlet]=\"morePopover\"\n [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"\n ></ng-container>\n <ng-template #default>\n <thy-dropdown-menu thyImmediateRender>\n <ng-container *ngFor=\"let item of hiddenItems\">\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"\n ></span>\n </ng-container>\n </thy-dropdown-menu>\n </ng-template>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<div *ngIf=\"thyExtra || extra\" class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra || extra\"></ng-container>\n</div>\n","import { ThyDropdownModule } from 'ngx-tethys/dropdown';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { ThyIconNavLink } from './icon-nav/icon-nav-link.directive';\nimport { ThyIconNav } from './icon-nav/icon-nav.component';\nimport { ThyNavInkBarDirective } from './nav-ink-bar.directive';\nimport { ThyNavItemDirective } from './nav-item.directive';\nimport { ThyNav } from './nav.component';\nimport { BypassSecurityTrustHtmlPipe } from './nav.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n ThyIconModule,\n ThyPopoverModule,\n ThyDropdownModule,\n RouterModule,\n ThyNav,\n ThyNavItemDirective,\n ThyIconNav,\n ThyIconNavLink,\n BypassSecurityTrustHtmlPipe,\n ThyNavInkBarDirective\n ],\n exports: [ThyNav, ThyNavItemDirective, ThyIconNav, ThyIconNavLink, BypassSecurityTrustHtmlPipe]\n})\nexport class ThyNavModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-nav.mjs","sources":["../../../src/nav/icon-nav/icon-nav-link.directive.ts","../../../src/nav/icon-nav/icon-nav.component.ts","../../../src/nav/icon-nav/icon-nav.component.html","../../../src/nav/nav-item.directive.ts","../../../src/nav/nav-ink-bar.directive.ts","../../../src/nav/nav.pipe.ts","../../../src/nav/nav.component.ts","../../../src/nav/nav.component.html","../../../src/nav/nav.module.ts","../../../src/nav/ngx-tethys-nav.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { Component, HostBinding, Input } from '@angular/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * @private\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[thyIconNavLink]',\n template: '<ng-content></ng-content><thy-icon *ngIf=\"icon\" [thyIconName]=\"icon\"></thy-icon>',\n standalone: true,\n imports: [NgIf, ThyIcon]\n})\nexport class ThyIconNavLink {\n @HostBinding('class.active') navLinkActive = false;\n\n @HostBinding('class.thy-icon-nav-link') navLinkClass = true;\n\n icon: string;\n\n @Input()\n set thyIconNavLinkIcon(icon: string) {\n this.icon = icon;\n }\n\n @Input({ transform: coerceBooleanProperty })\n set thyIconNavLinkActive(active: boolean) {\n this.navLinkActive = active;\n }\n}\n","import { Component, OnInit, HostBinding, Input, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { warnDeprecation } from 'ngx-tethys/util';\n\ntype IconNavTypes = 'primary' | 'secondary' | 'individual' | '';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-icon-nav',\n templateUrl: './icon-nav.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyIconNav implements OnInit {\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n type: IconNavTypes;\n\n @HostBinding(`class.thy-icon-nav`) isIconNav = true;\n\n @Input() set thyType(type: IconNavTypes) {\n this.type = type;\n this.updateClasses();\n this.changeDetectorRef.markForCheck();\n }\n\n private updateClasses(bypassInitialized?: boolean) {\n if (!bypassInitialized && !this.initialized) {\n return;\n }\n this.hostRenderer.updateClass(this.type ? [`thy-icon-nav-${this.type}`] : []);\n }\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n warnDeprecation('thy-icon-nav has been deprecated, please use thyAction and thy-space components instead of it');\n }\n }\n\n ngOnInit(): void {\n this.initialized = true;\n this.updateClasses(true);\n }\n}\n","<ng-content></ng-content>\n","import { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport {\n AfterViewInit,\n ContentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n Input,\n NgZone,\n Optional,\n QueryList\n} from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyNavLink = '' | 'active';\n\n/**\n * 导航项\n * @name thyNavItem\n * @order 20\n */\n@Directive({\n selector: '[thyNavLink],[thyNavItem]',\n host: {\n class: 'thy-nav-item',\n '[class.active]': 'thyNavItemActive || thyNavLinkActive',\n '[class.disabled]': 'thyNavItemDisabled'\n },\n standalone: true\n})\nexport class ThyNavItemDirective implements AfterViewInit {\n /**\n * 是否激活状态\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyNavItemActive: boolean;\n\n /**\n * 已经废弃,请使用 thyNavItemActive\n * @deprecated please use thyNavItemActive\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyNavLinkActive: boolean;\n\n /**\n * 是否禁用\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyNavItemDisabled: boolean;\n\n /**\n * @private\n */\n @ContentChildren(forwardRef(() => ThyNavItemDirective), { descendants: true })\n links: QueryList<ThyNavItemDirective>;\n\n /**\n * @private\n */\n @ContentChildren(RouterLinkActive, { descendants: true }) routers: QueryList<RouterLinkActive>;\n\n // @HostBinding('attr.href') navLinkHref = 'javascript:;';\n\n public offset: {\n width: number;\n height: number;\n left: number;\n top: number;\n } = {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n public content: HTMLElement;\n\n public isActive: boolean;\n\n private hostRenderer = useHostRenderer();\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(public elementRef: ElementRef, @Optional() private routerLinkActive: RouterLinkActive, private ngZone: NgZone) {}\n\n ngAfterViewInit() {\n this.setOffset();\n\n this.content = this.elementRef.nativeElement.outerHTML;\n\n this.ngZone.onStable.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.isActive = this.linkIsActive();\n });\n }\n\n setOffset() {\n this.offset = {\n width: this.elementRef.nativeElement.offsetWidth,\n height: this.elementRef.nativeElement.offsetHeight,\n left: this.elementRef.nativeElement.offsetLeft,\n top: this.elementRef.nativeElement.offsetTop\n };\n }\n\n linkIsActive() {\n return (\n this.thyNavItemActive ||\n this.thyNavLinkActive ||\n (this.routerLinkActive && this.routerLinkActive.isActive) ||\n this.routers.some(router => router.isActive) ||\n this.links.some(item => item.thyNavItemActive) ||\n this.links.some(item => item.thyNavLinkActive)\n );\n }\n\n setNavLinkHidden(value: boolean) {\n if (value) {\n this.hostRenderer.addClass('thy-nav-item-hidden');\n } else {\n this.hostRenderer.removeClass('thy-nav-item-hidden');\n }\n }\n}\n","import { ANIMATION_MODULE_TYPE, Directive, ElementRef, Inject, Input, NgZone, Optional } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { take } from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Directive({\n selector: 'thy-nav-ink-bar, [thyNavInkBar]',\n host: {\n class: 'thy-nav-ink-bar',\n '[class.thy-nav-ink-bar-animated]': 'animated'\n },\n standalone: true\n})\nexport class ThyNavInkBarDirective {\n @Input({ transform: coerceBooleanProperty }) isVertical: boolean;\n\n @Input({ transform: coerceBooleanProperty }) showInkBar: boolean;\n\n get animated(): boolean {\n return this.animationMode !== 'NoopAnimations' && this.showInkBar;\n }\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public animationMode?: string\n ) {}\n\n public alignToElement(element: HTMLElement): void {\n this.show();\n this.ngZone.run(() => {\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.setStyles(element);\n });\n });\n }\n\n private setStyles(element: HTMLElement): void {\n const inkBar: HTMLElement = this.elementRef.nativeElement;\n if (!this.isVertical) {\n inkBar.style.top = '';\n inkBar.style.bottom = '0px';\n inkBar.style.height = '2px';\n inkBar.style.left = this.getLeftPosition(element);\n inkBar.style.width = this.getElementWidth(element);\n } else {\n inkBar.style.left = '';\n inkBar.style.width = '2px';\n inkBar.style.top = this.getTopPosition(element);\n inkBar.style.height = this.getElementHeight(element);\n }\n }\n\n private getLeftPosition(element: HTMLElement): string {\n return element ? `${element.offsetLeft || 0}px` : '0';\n }\n\n private getElementWidth(element: HTMLElement): string {\n return element ? `${element.offsetWidth || 0}px` : '0';\n }\n\n private getTopPosition(element: HTMLElement): string {\n return element ? `${element.offsetTop || 0}px` : '0';\n }\n\n private getElementHeight(element: HTMLElement): string {\n return element ? `${element.offsetHeight || 0}px` : '0';\n }\n\n private show() {\n this.elementRef.nativeElement.style.visibility = 'visible';\n }\n\n public hide() {\n this.elementRef.nativeElement.style.visibility = 'hidden';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @private\n */\n@Pipe({\n name: 'bypassSecurityTrustHtml',\n standalone: true\n})\nexport class BypassSecurityTrustHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(format: string): any {\n return this.sanitizer.bypassSecurityTrustHtml(format);\n }\n}\n","import { ThyPopover } from 'ngx-tethys/popover';\nimport { merge, Observable, of } from 'rxjs';\nimport { debounceTime, take, tap } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n HostBinding,\n inject,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from '@angular/core';\n\nimport { RouterLinkActive } from '@angular/router';\nimport { ThyNavInkBarDirective } from './nav-ink-bar.directive';\nimport { ThyNavItemDirective } from './nav-item.directive';\nimport { BypassSecurityTrustHtmlPipe } from './nav.pipe';\nimport { ThyDropdownMenuComponent, ThyDropdownMenuItemDirective, ThyDropdownMenuItemActiveDirective } from 'ngx-tethys/dropdown';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgClass, NgTemplateOutlet, NgIf, NgFor } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyNavType = 'pulled' | 'tabs' | 'pills' | 'lite' | 'primary' | 'secondary' | 'thirdly' | 'secondary-divider';\nexport type ThyNavSize = 'lg' | 'md' | 'sm';\nexport type ThyNavHorizontal = '' | 'start' | 'center' | 'end';\n\nconst navTypeClassesMap = {\n pulled: ['thy-nav-pulled'],\n tabs: ['thy-nav-tabs'],\n pills: ['thy-nav-pills'],\n lite: ['thy-nav-lite'],\n //如下类型已经废弃\n primary: ['thy-nav-primary'],\n secondary: ['thy-nav-secondary'],\n thirdly: ['thy-nav-thirdly'],\n 'secondary-divider': ['thy-nav-secondary-divider']\n};\n\nconst navSizeClassesMap = {\n lg: 'thy-nav-lg',\n md: 'thy-nav-md',\n sm: 'thy-nav-sm'\n};\n\nconst tabItemRight = 20;\n\n/**\n * 导航组件\n * @name thy-nav\n * @order 10\n */\n@Component({\n selector: 'thy-nav',\n templateUrl: './nav.component.html',\n host: {\n class: 'thy-nav'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgClass,\n NgTemplateOutlet,\n NgIf,\n ThyNavItemDirective,\n ThyIcon,\n ThyNavInkBarDirective,\n ThyDropdownMenuComponent,\n NgFor,\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemActiveDirective,\n BypassSecurityTrustHtmlPipe\n ]\n})\nexport class ThyNav implements OnInit, AfterViewInit, AfterContentInit, AfterContentChecked, OnChanges {\n private readonly destroyRef = inject(DestroyRef);\n\n private type: ThyNavType = 'pulled';\n private size: ThyNavSize = 'md';\n public initialized = false;\n\n public horizontal: ThyNavHorizontal;\n public wrapperOffset: { height: number; width: number; left: number; top: number } = {\n height: 0,\n width: 0,\n left: 0,\n top: 0\n };\n\n public hiddenItems: ThyNavItemDirective[] = [];\n\n public moreActive: boolean;\n\n public showMore = true;\n\n private moreBtnOffset: { height: number; width: number } = { height: 0, width: 0 };\n\n private hostRenderer = useHostRenderer();\n\n private innerLinks: QueryList<ThyNavItemDirective>;\n\n /**\n * 导航类型\n * @type pulled | tabs | pills | lite | primary | secondary | thirdly | secondary-divider\n * @default pulled\n */\n @Input()\n set thyType(type: ThyNavType) {\n this.type = type || 'pulled';\n if (this.initialized) {\n this.updateClasses();\n }\n }\n\n /**\n * 导航大小\n * @type lg | md | sm\n * @default md\n */\n @Input()\n set thySize(size: ThyNavSize) {\n this.size = size;\n if (this.initialized) {\n this.updateClasses();\n }\n }\n\n /**\n * 水平排列\n * @type '' | 'start' | 'center' | 'end'\n * @default false\n */\n @Input()\n set thyHorizontal(horizontal: ThyNavHorizontal) {\n this.horizontal = (horizontal as string) === 'right' ? 'end' : horizontal;\n }\n\n /**\n * 是否垂直排列\n * @default false\n */\n @HostBinding('class.thy-nav--vertical')\n @Input({ transform: coerceBooleanProperty })\n thyVertical: boolean;\n\n /**\n * 是否是填充模式\n */\n @HostBinding('class.thy-nav--fill')\n @Input({ transform: coerceBooleanProperty })\n thyFill: boolean = false;\n\n /**\n * 是否响应式,自动计算宽度存放 thyNavItem,并添加更多弹框\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyResponsive: boolean;\n\n /**\n * 更多操作的菜单点击内部是否可关闭\n */\n @Input({ transform: coerceBooleanProperty })\n thyInsideClosable = true;\n\n /**\n * 右侧额外区域模板\n * @type TemplateRef\n */\n @Input() thyExtra: TemplateRef<unknown>;\n\n /**\n * @private\n */\n @ContentChildren(ThyNavItemDirective, { descendants: true })\n set links(value) {\n this.innerLinks = value;\n this.prevActiveIndex = NaN;\n }\n get links(): QueryList<ThyNavItemDirective> {\n return this.innerLinks;\n }\n\n /**\n * @private\n */\n @ContentChildren(RouterLinkActive, { descendants: true }) routers: QueryList<RouterLinkActive>;\n\n /**\n * 响应式模式下更多操作模板\n * @type TemplateRef\n */\n @ContentChild('more') moreOperation: TemplateRef<unknown>;\n\n /**\n * 响应式模式下更多弹框模板\n * @type TemplateRef\n */\n @ContentChild('morePopover') morePopover: TemplateRef<unknown>;\n\n /**\n * 右侧额外区域模板,支持 thyExtra 传参和 <ng-template #extra></ng-template> 模板\n * @name extra\n * @type TemplateRef\n */\n @ContentChild('extra') extra: TemplateRef<unknown>;\n\n @ViewChild('moreOperationContainer') defaultMoreOperation: ElementRef<HTMLAnchorElement>;\n\n @ViewChild(ThyNavInkBarDirective, { static: true }) inkBar!: ThyNavInkBarDirective;\n\n get showInkBar(): boolean {\n const showTypes: ThyNavType[] = ['pulled', 'tabs'];\n return showTypes.includes(this.type);\n }\n\n private updateClasses() {\n let classNames: string[] = [];\n if (navTypeClassesMap[this.type]) {\n classNames = [...navTypeClassesMap[this.type]];\n }\n if (navSizeClassesMap[this.size]) {\n classNames.push(navSizeClassesMap[this.size]);\n }\n this.hostRenderer.updateClass(classNames);\n }\n\n private curActiveIndex: number;\n\n private prevActiveIndex: number = NaN;\n\n constructor(\n private elementRef: ElementRef,\n private ngZone: NgZone,\n private changeDetectorRef: ChangeDetectorRef,\n private popover: ThyPopover\n ) {}\n\n ngOnInit() {\n if (!this.thyResponsive) {\n this.initialized = true;\n }\n\n this.updateClasses();\n }\n\n ngAfterViewInit() {\n if (this.thyResponsive) {\n this.setMoreBtnOffset();\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.links.toArray().forEach(link => link.setOffset());\n this.setHiddenItems();\n });\n }\n this.ngZone.runOutsideAngular(() => {\n merge(\n this.links.changes,\n this.createResizeObserver(this.elementRef.nativeElement).pipe(debounceTime(100)),\n ...this.links.map(item => this.createResizeObserver(item.elementRef.nativeElement).pipe(debounceTime(100))),\n ...(this.routers || []).map(router => router?.isActiveChange)\n )\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n tap(() => {\n if (this.thyResponsive) {\n this.resetSizes();\n this.setHiddenItems();\n this.calculateMoreIsActive();\n }\n })\n )\n .subscribe(() => {\n this.alignInkBarToSelectedTab();\n });\n });\n }\n\n ngAfterContentInit(): void {\n if (this.thyResponsive) {\n this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.resetSizes();\n });\n }\n }\n\n ngAfterContentChecked() {\n this.calculateMoreIsActive();\n\n this.curActiveIndex = this.links && this.links.length ? this.links.toArray().findIndex(item => item.linkIsActive()) : -1;\n if (this.curActiveIndex < 0) {\n this.inkBar.hide();\n } else if (this.curActiveIndex !== this.prevActiveIndex) {\n this.alignInkBarToSelectedTab();\n }\n }\n\n private setMoreBtnOffset() {\n this.moreBtnOffset = {\n height: this.defaultMoreOperation?.nativeElement?.offsetHeight,\n width: this.defaultMoreOperation?.nativeElement?.offsetWidth\n };\n }\n\n createResizeObserver(element: HTMLElement) {\n return typeof ResizeObserver === 'undefined'\n ? of(null)\n : new Observable(observer => {\n const resize = new ResizeObserver(entries => {\n observer.next(entries);\n });\n resize.observe(element);\n return () => {\n resize.disconnect();\n };\n });\n }\n\n private calculateMoreIsActive() {\n this.moreActive = this.hiddenItems.some(item => {\n return item.linkIsActive();\n });\n this.changeDetectorRef.detectChanges();\n }\n\n private setHiddenItems() {\n this.moreActive = false;\n const tabs = this.links.toArray();\n if (!tabs.length) {\n this.hiddenItems = [];\n this.showMore = this.hiddenItems.length > 0;\n return;\n }\n\n const endIndex = this.thyVertical ? this.getShowItemsEndIndexWhenVertical(tabs) : this.getShowItemsEndIndexWhenHorizontal(tabs);\n\n const showItems = tabs.slice(0, endIndex + 1);\n (showItems || []).forEach(item => {\n item.setNavLinkHidden(false);\n });\n\n this.hiddenItems = endIndex === tabs.length - 1 ? [] : tabs.slice(endIndex + 1);\n (this.hiddenItems || []).forEach(item => {\n item.setNavLinkHidden(true);\n });\n\n this.showMore = this.hiddenItems.length > 0;\n this.initialized = true;\n }\n\n private getShowItemsEndIndexWhenHorizontal(tabs: ThyNavItemDirective[]) {\n const tabsLength = tabs.length;\n let endIndex = tabsLength;\n let totalWidth = 0;\n\n for (let i = 0; i < tabsLength; i += 1) {\n const _totalWidth = i === tabsLength - 1 ? totalWidth + tabs[i].offset.width : totalWidth + tabs[i].offset.width + tabItemRight;\n if (_totalWidth > this.wrapperOffset.width) {\n let moreOperationWidth = this.moreBtnOffset.width;\n if (totalWidth + moreOperationWidth <= this.wrapperOffset.width) {\n endIndex = i - 1;\n } else {\n endIndex = i - 2;\n }\n break;\n } else {\n totalWidth = _totalWidth;\n endIndex = i;\n }\n }\n return endIndex;\n }\n\n private getShowItemsEndIndexWhenVertical(tabs: ThyNavItemDirective[]) {\n const tabsLength = tabs.length;\n let endIndex = tabsLength;\n let totalHeight = 0;\n for (let i = 0; i < tabsLength; i += 1) {\n const _totalHeight = totalHeight + tabs[i].offset.height;\n if (_totalHeight > this.wrapperOffset.height) {\n let moreOperationHeight = this.moreBtnOffset.height;\n if (totalHeight + moreOperationHeight <= this.wrapperOffset.height) {\n endIndex = i - 1;\n } else {\n endIndex = i - 2;\n }\n break;\n } else {\n totalHeight = _totalHeight;\n endIndex = i;\n }\n }\n return endIndex;\n }\n\n private resetSizes() {\n this.wrapperOffset = {\n height: this.elementRef.nativeElement.offsetHeight || 0,\n width: this.elementRef.nativeElement.offsetWidth || 0,\n left: this.elementRef.nativeElement.offsetLeft || 0,\n top: this.elementRef.nativeElement.offsetTop || 0\n };\n }\n\n openMore(event: Event, template: TemplateRef<any>) {\n this.popover.open(template, {\n origin: event.currentTarget as HTMLElement,\n hasBackdrop: true,\n backdropClosable: true,\n insideClosable: this.thyInsideClosable,\n placement: 'bottom',\n panelClass: 'thy-nav-list-popover',\n originActiveClass: 'thy-nav-origin-active'\n });\n }\n\n navItemClick(item: ThyNavItemDirective) {\n item.elementRef.nativeElement.click();\n }\n\n private alignInkBarToSelectedTab(): void {\n if (!this.showInkBar) {\n this.inkBar.hide();\n return;\n }\n const tabs = this.links?.toArray() ?? [];\n const selectedItem = tabs.find(item => item.linkIsActive());\n let selectedItemElement: HTMLElement = selectedItem && selectedItem.elementRef.nativeElement;\n\n if (selectedItem && this.moreActive) {\n selectedItemElement = this.defaultMoreOperation.nativeElement;\n }\n if (selectedItemElement) {\n this.prevActiveIndex = this.curActiveIndex;\n this.inkBar.alignToElement(selectedItemElement);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyVertical, thyType } = changes;\n\n if (thyType?.currentValue !== thyType?.previousValue || thyVertical?.currentValue !== thyVertical?.previousValue) {\n this.alignInkBarToSelectedTab();\n }\n }\n}\n","<div class=\"thy-nav-list\" [ngClass]=\"horizontal ? 'justify-content-' + horizontal : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <a\n *ngIf=\"thyResponsive\"\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavLinkActive]=\"moreActive\"\n (click)=\"openMore($event, navListPopover)\"\n >\n <ng-container *ngIf=\"moreOperation; else defaultMoreOperation\" [ngTemplateOutlet]=\"moreOperation\"></ng-container>\n <ng-template #defaultMoreOperation>\n 更多\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n </ng-template>\n </a>\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n <ng-container\n *ngIf=\"morePopover; else default\"\n [ngTemplateOutlet]=\"morePopover\"\n [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"\n ></ng-container>\n <ng-template #default>\n <thy-dropdown-menu thyImmediateRender>\n <ng-container *ngFor=\"let item of hiddenItems\">\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"\n ></span>\n </ng-container>\n </thy-dropdown-menu>\n </ng-template>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<div *ngIf=\"thyExtra || extra\" class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra || extra\"></ng-container>\n</div>\n","import { ThyDropdownModule } from 'ngx-tethys/dropdown';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { ThyIconNavLink } from './icon-nav/icon-nav-link.directive';\nimport { ThyIconNav } from './icon-nav/icon-nav.component';\nimport { ThyNavInkBarDirective } from './nav-ink-bar.directive';\nimport { ThyNavItemDirective } from './nav-item.directive';\nimport { ThyNav } from './nav.component';\nimport { BypassSecurityTrustHtmlPipe } from './nav.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n ThyIconModule,\n ThyPopoverModule,\n ThyDropdownModule,\n RouterModule,\n ThyNav,\n ThyNavItemDirective,\n ThyIconNav,\n ThyIconNavLink,\n BypassSecurityTrustHtmlPipe,\n ThyNavInkBarDirective\n ],\n exports: [ThyNav, ThyNavItemDirective, ThyIconNav, ThyIconNavLink, BypassSecurityTrustHtmlPipe]\n})\nexport class ThyNavModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Pipe, EventEmitter, numberAttribute,
|
|
2
|
+
import { InjectionToken, Pipe, EventEmitter, numberAttribute, Component, ChangeDetectionStrategy, Optional, Inject, Input, Output, HostBinding, NgModule } from '@angular/core';
|
|
3
3
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
4
|
-
import { isTemplateRef } from 'ngx-tethys/util';
|
|
4
|
+
import { isTemplateRef, coerceBooleanProperty } from 'ngx-tethys/util';
|
|
5
5
|
import * as i1 from '@angular/platform-browser';
|
|
6
6
|
import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
|
|
7
7
|
import { ThyOption, ThyEnterDirective, ThySharedModule } from 'ngx-tethys/shared';
|
|
@@ -29,7 +29,8 @@ const PaginationDefaultConfig = {
|
|
|
29
29
|
nextIcon: 'angle-right',
|
|
30
30
|
totalPagesFormat: '共{total}页',
|
|
31
31
|
showSizeChanger: false,
|
|
32
|
-
pageSizeOptions: [10, 20, 50, 100]
|
|
32
|
+
pageSizeOptions: [10, 20, 50, 100],
|
|
33
|
+
unit: '条'
|
|
33
34
|
};
|
|
34
35
|
const THY_PAGINATION_CONFIG = new InjectionToken('THY_PAGINATION_CONFIG', {
|
|
35
36
|
providedIn: 'root',
|
|
@@ -168,6 +169,15 @@ class ThyPagination {
|
|
|
168
169
|
set pageSizeOptions(value) {
|
|
169
170
|
this.config.pageSizeOptions = value;
|
|
170
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* 分页器单位
|
|
174
|
+
* @default 条
|
|
175
|
+
*/
|
|
176
|
+
set unit(value) {
|
|
177
|
+
if (value) {
|
|
178
|
+
this.config.unit = value;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
171
181
|
constructor(paginationConfig, cdr) {
|
|
172
182
|
this.paginationConfig = paginationConfig;
|
|
173
183
|
this.cdr = cdr;
|
|
@@ -323,11 +333,11 @@ class ThyPagination {
|
|
|
323
333
|
this.pageSizeChanged.emit(event);
|
|
324
334
|
}
|
|
325
335
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyPagination, deps: [{ token: THY_PAGINATION_CONFIG, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
326
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyPagination, isStandalone: true, selector: "thy-pagination", inputs: { thyPageIndex: ["thyPageIndex", "thyPageIndex", numberAttribute], thyPageSize: ["thyPageSize", "thyPageSize", numberAttribute], thyTotal: ["thyTotal", "thyTotal", numberAttribute], thyCustomPages: "thyCustomPages", disabled: ["thyDisabled", "disabled",
|
|
336
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyPagination, isStandalone: true, selector: "thy-pagination", inputs: { thyPageIndex: ["thyPageIndex", "thyPageIndex", numberAttribute], thyPageSize: ["thyPageSize", "thyPageSize", numberAttribute], thyTotal: ["thyTotal", "thyTotal", numberAttribute], thyCustomPages: "thyCustomPages", disabled: ["thyDisabled", "disabled", coerceBooleanProperty], showQuickJumper: ["thyShowQuickJumper", "showQuickJumper", coerceBooleanProperty], showTotalPageCount: ["thyShowTotalPageCount", "showTotalPageCount", coerceBooleanProperty], size: ["thySize", "size"], maxCount: ["thyMaxCount", "maxCount", numberAttribute], marginalCount: ["thyMarginalCount", "marginalCount", numberAttribute], thyRangeCount: ["thyRangeCount", "thyRangeCount", numberAttribute], showSizeChanger: ["thyShowSizeChanger", "showSizeChanger", coerceBooleanProperty], pageSizeOptions: ["thyPageSizeOptions", "pageSizeOptions"], hideOnSinglePage: ["thyHideOnSinglePage", "hideOnSinglePage", coerceBooleanProperty], unit: ["thyUnit", "unit"], showTotal: ["thyShowTotal", "showTotal"] }, outputs: { pageIndexChange: "thyPageIndexChange", pageChanged: "thyPageChanged", pageSizeChanged: "thyPageSizeChanged" }, host: { properties: { "class.thy-pagination": "this.isPaginationClass", "class.thy-pagination-has-total": "this.showTotal" } }, ngImport: i0, template: "<ng-container *ngIf=\"(hideOnSinglePage && total > pageSize) || !hideOnSinglePage\">\n <div class=\"thy-pagination-total\" *ngIf=\"showTotal\">\n <ng-container *ngIf=\"!isTemplateRef(showTotal); else totalTemplate\">\n <ng-container *ngIf=\"total > 0\">\n <div class=\"mr-3\">\n \u7B2C<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>{{ config.unit }}\n </div>\n <div>\n \u5171<span class=\"number\"> {{ total }} </span>{{ config.unit }}\n </div>\n </ng-container>\n </ng-container>\n <ng-template #totalTemplate>\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n </ng-template>\n </div>\n <div class=\"thy-pagination-content\">\n <div class=\"thy-pagination-size\" *ngIf=\"config.showSizeChanger\">\n <thy-select [(ngModel)]=\"selectPageSize\" [thySize]=\"selectSize\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n <thy-option\n class=\"page-size-option\"\n *ngFor=\"let option of config.pageSizeOptions\"\n [thyValue]=\"option\"\n [thyLabelText]=\"option + ' ' + config.unit + '/\u9875'\"></thy-option>\n </thy-select>\n </div>\n <ul class=\"thy-pagination-pages\">\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.firstText\">{{ config.firstText }}</ng-container>\n <ng-container *ngIf=\"config.firstIcon\">\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.previousText\">{{ config.previousText }}</ng-container>\n <ng-container *ngIf=\"config.previousIcon\">\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item thy-page-number\"\n [class.active]=\"page.active\"\n [class.disabled]=\"disabled\"\n (click)=\"selectPage(page.index)\"\n *ngFor=\"let page of pages\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n <li\n class=\"thy-page-item page-item-next\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.nextText\">{{ config.nextText }}</ng-container>\n <ng-container *ngIf=\"config.nextIcon\">\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.lastText\">{{ config.lastText }}</ng-container>\n <ng-container *ngIf=\"config.lastIcon\">\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n </ul>\n <ng-container *ngIf=\"config.showTotalPageCount && config.totalPagesFormat\">\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat : config.totalPagesFormat\"></div>\n </ng-container>\n <ng-container *ngIf=\"config.showQuickJumper\">\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n \u8DF3\u81F3\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n \u9875\n </div>\n </div>\n </ng-container>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange", "visibleChange"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "pipe", type: PaginationTotalCountFormat, name: "paginationTotalPagesFormat" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
327
337
|
}
|
|
328
338
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyPagination, decorators: [{
|
|
329
339
|
type: Component,
|
|
330
|
-
args: [{ selector: 'thy-pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgTemplateOutlet, ThySelect, FormsModule, NgFor, ThyOption, ThyIcon, ThyEnterDirective, PaginationTotalCountFormat], template: "<ng-container *ngIf=\"(hideOnSinglePage && total > pageSize) || !hideOnSinglePage\">\n <div class=\"thy-pagination-total\" *ngIf=\"showTotal\">\n <ng-container *ngIf=\"!isTemplateRef(showTotal); else totalTemplate\">\n <ng-container *ngIf=\"total > 0\">\n <div class=\"mr-3\">\n \u7B2C<span class=\"number\"> {{ range.from }}-{{ range.to }} </span
|
|
340
|
+
args: [{ selector: 'thy-pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgTemplateOutlet, ThySelect, FormsModule, NgFor, ThyOption, ThyIcon, ThyEnterDirective, PaginationTotalCountFormat], template: "<ng-container *ngIf=\"(hideOnSinglePage && total > pageSize) || !hideOnSinglePage\">\n <div class=\"thy-pagination-total\" *ngIf=\"showTotal\">\n <ng-container *ngIf=\"!isTemplateRef(showTotal); else totalTemplate\">\n <ng-container *ngIf=\"total > 0\">\n <div class=\"mr-3\">\n \u7B2C<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>{{ config.unit }}\n </div>\n <div>\n \u5171<span class=\"number\"> {{ total }} </span>{{ config.unit }}\n </div>\n </ng-container>\n </ng-container>\n <ng-template #totalTemplate>\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n </ng-template>\n </div>\n <div class=\"thy-pagination-content\">\n <div class=\"thy-pagination-size\" *ngIf=\"config.showSizeChanger\">\n <thy-select [(ngModel)]=\"selectPageSize\" [thySize]=\"selectSize\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n <thy-option\n class=\"page-size-option\"\n *ngFor=\"let option of config.pageSizeOptions\"\n [thyValue]=\"option\"\n [thyLabelText]=\"option + ' ' + config.unit + '/\u9875'\"></thy-option>\n </thy-select>\n </div>\n <ul class=\"thy-pagination-pages\">\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.firstText\">{{ config.firstText }}</ng-container>\n <ng-container *ngIf=\"config.firstIcon\">\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.previousText\">{{ config.previousText }}</ng-container>\n <ng-container *ngIf=\"config.previousIcon\">\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item thy-page-number\"\n [class.active]=\"page.active\"\n [class.disabled]=\"disabled\"\n (click)=\"selectPage(page.index)\"\n *ngFor=\"let page of pages\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n <li\n class=\"thy-page-item page-item-next\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.nextText\">{{ config.nextText }}</ng-container>\n <ng-container *ngIf=\"config.nextIcon\">\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.lastText\">{{ config.lastText }}</ng-container>\n <ng-container *ngIf=\"config.lastIcon\">\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n </ul>\n <ng-container *ngIf=\"config.showTotalPageCount && config.totalPagesFormat\">\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat : config.totalPagesFormat\"></div>\n </ng-container>\n <ng-container *ngIf=\"config.showQuickJumper\">\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n \u8DF3\u81F3\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n \u9875\n </div>\n </div>\n </ng-container>\n </div>\n</ng-container>\n" }]
|
|
331
341
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
332
342
|
type: Optional
|
|
333
343
|
}, {
|
|
@@ -346,13 +356,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
346
356
|
type: Input
|
|
347
357
|
}], disabled: [{
|
|
348
358
|
type: Input,
|
|
349
|
-
args: [{ alias: 'thyDisabled', transform:
|
|
359
|
+
args: [{ alias: 'thyDisabled', transform: coerceBooleanProperty }]
|
|
350
360
|
}], showQuickJumper: [{
|
|
351
361
|
type: Input,
|
|
352
|
-
args: [{ alias: 'thyShowQuickJumper', transform:
|
|
362
|
+
args: [{ alias: 'thyShowQuickJumper', transform: coerceBooleanProperty }]
|
|
353
363
|
}], showTotalPageCount: [{
|
|
354
364
|
type: Input,
|
|
355
|
-
args: [{ alias: 'thyShowTotalPageCount', transform:
|
|
365
|
+
args: [{ alias: 'thyShowTotalPageCount', transform: coerceBooleanProperty }]
|
|
356
366
|
}], size: [{
|
|
357
367
|
type: Input,
|
|
358
368
|
args: ['thySize']
|
|
@@ -367,13 +377,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
367
377
|
args: [{ transform: numberAttribute }]
|
|
368
378
|
}], showSizeChanger: [{
|
|
369
379
|
type: Input,
|
|
370
|
-
args: [{ alias: 'thyShowSizeChanger', transform:
|
|
380
|
+
args: [{ alias: 'thyShowSizeChanger', transform: coerceBooleanProperty }]
|
|
371
381
|
}], pageSizeOptions: [{
|
|
372
382
|
type: Input,
|
|
373
383
|
args: ['thyPageSizeOptions']
|
|
374
384
|
}], hideOnSinglePage: [{
|
|
375
385
|
type: Input,
|
|
376
|
-
args: [{ alias: 'thyHideOnSinglePage', transform:
|
|
386
|
+
args: [{ alias: 'thyHideOnSinglePage', transform: coerceBooleanProperty }]
|
|
387
|
+
}], unit: [{
|
|
388
|
+
type: Input,
|
|
389
|
+
args: ['thyUnit']
|
|
377
390
|
}], pageIndexChange: [{
|
|
378
391
|
type: Output,
|
|
379
392
|
args: ['thyPageIndexChange']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-pagination.mjs","sources":["../../../src/pagination/pagination.config.ts","../../../src/pagination/pagination.pipe.ts","../../../src/pagination/pagination.component.ts","../../../src/pagination/pagination.component.html","../../../src/pagination/pagination.module.ts","../../../src/pagination/ngx-tethys-pagination.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ThyPaginationConfigModel } from './pagination.class';\n\nexport const DEFAULT_RANGE_COUNT = 5;\n\nexport const PaginationDefaultConfig: ThyPaginationConfigModel = {\n boundaryLinks: false,\n directionLinks: true,\n pageSize: 20,\n maxCount: 7,\n rangeCount: DEFAULT_RANGE_COUNT,\n showQuickJumper: true,\n showTotalPageCount: true,\n firstText: '第一页',\n lastText: '最后一页',\n previousText: '',\n nextText: '',\n firstIcon: '',\n lastIcon: '',\n previousIcon: 'angle-left',\n nextIcon: 'angle-right',\n totalPagesFormat: '共{total}页',\n showSizeChanger: false,\n pageSizeOptions: [10, 20, 50, 100]\n};\nexport interface ThyPaginationConfig {\n main?: ThyPaginationConfigModel;\n}\n\nexport const THY_PAGINATION_CONFIG = new InjectionToken<ThyPaginationConfig>('THY_PAGINATION_CONFIG', {\n providedIn: 'root',\n factory: () => {\n return {};\n }\n});\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @private\n */\n@Pipe({\n name: 'paginationTotalPagesFormat',\n standalone: true\n})\nexport class PaginationTotalCountFormat implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(count: number, format: string): any {\n if (count && format) {\n return this.sanitizer.bypassSecurityTrustHtml(format.replace(/\\{(.+?)\\}/g, `<span>${count}</span>`));\n } else {\n return '';\n }\n }\n}\n","import {\n Component,\n OnInit,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n HostBinding,\n Optional,\n Inject,\n TemplateRef,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { ThyPaginationConfigModel } from './pagination.class';\nimport { PaginationDefaultConfig, DEFAULT_RANGE_COUNT, THY_PAGINATION_CONFIG, ThyPaginationConfig } from './pagination.config';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { isTemplateRef } from 'ngx-tethys/util';\nimport { PaginationTotalCountFormat } from './pagination.pipe';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyOption, ThyEnterDirective } from 'ngx-tethys/shared';\nimport { FormsModule } from '@angular/forms';\nimport { ThySelect } from 'ngx-tethys/select';\nimport { NgIf, NgTemplateOutlet, NgFor } from '@angular/common';\n\n/**\n * 分页组件,当数据量过多时,使用分页分解数据。\n * @name thy-pagination\n * @order 10\n */\n@Component({\n selector: 'thy-pagination',\n templateUrl: './pagination.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, ThySelect, FormsModule, NgFor, ThyOption, ThyIcon, ThyEnterDirective, PaginationTotalCountFormat]\n})\nexport class ThyPagination implements OnInit {\n isTemplateRef = isTemplateRef;\n public config: ThyPaginationConfigModel = Object.assign({}, PaginationDefaultConfig, this.paginationConfig.main);\n\n /**\n * 设置当前页,支持双向绑定\n * @default 1\n */\n @Input({ transform: numberAttribute })\n set thyPageIndex(pageIndex: number) {\n this.pageIndex = pageIndex;\n if (this.initialized) {\n this.setPageIndex(pageIndex);\n }\n }\n\n /**\n * 每页条目数量\n * @default 20\n */\n @Input({ transform: numberAttribute })\n set thyPageSize(pageSize: number) {\n this.pageSize = pageSize;\n this.selectPageSize = pageSize;\n if (this.initialized) {\n this.calculatePageCount();\n this.initializePages(this.pageIndex, this.pageCount);\n this.cdr.markForCheck();\n }\n }\n\n /**\n * 总页数 与 totalPages 二选一传入\n */\n @Input({ transform: numberAttribute })\n set thyTotal(total: number) {\n this.total = total;\n if (this.initialized) {\n this.calculatePageCount();\n this.setPageIndex(this.pageIndex);\n this.cdr.markForCheck();\n }\n }\n\n /**\n * 自定义分页页码,设置自定义分页页码后将不根据 Total 和 PageSize 来自动计算页码,完全以传入的页码为准\n * @type number[]\n */\n @Input()\n set thyCustomPages(pages: number[]) {\n this.customPages = pages;\n this.config.showTotalPageCount = false;\n if (this.initialized) {\n this.calculatePageCount();\n this.initializePages(this.pageIndex, this.pageCount);\n this.cdr.markForCheck();\n }\n }\n\n /**\n * 是否禁用\n */\n @Input({ alias: 'thyDisabled', transform: booleanAttribute }) disabled = false;\n\n /**\n * 是否显示快速跳转\n * @default false\n */\n @Input({ alias: 'thyShowQuickJumper', transform: booleanAttribute })\n set showQuickJumper(value: boolean) {\n this.config.showQuickJumper = value;\n }\n\n /**\n * 设置是否显示总页数信息\n * @default true\n */\n @Input({ alias: 'thyShowTotalPageCount', transform: booleanAttribute })\n set showTotalPageCount(value: boolean) {\n this.config.showTotalPageCount = value;\n }\n\n /**\n * 设置分页组件的大小\n * @type sm | md | lg\n * @default md\n */\n @Input('thySize')\n set size(size: 'sm' | 'md' | 'lg') {\n this.selectSize = size;\n this.hostRenderer.addClass(`thy-pagination-${size}`);\n }\n\n /**\n * 设置最大显示数量,超出最大显示数后会自动进行分割显示\n * @default 9\n */\n @Input({ alias: 'thyMaxCount', transform: numberAttribute })\n set maxCount(value: number) {\n this.config.maxCount = value;\n }\n\n /**\n * 设置边缘显示数量\n * @default 2\n */\n @Input({ alias: 'thyMarginalCount', transform: numberAttribute }) marginalCount: number;\n\n /**\n * 设置中间区域显示数量\n * @default 7\n */\n @Input({ transform: numberAttribute })\n set thyRangeCount(value: number) {\n if (Number.isInteger(value)) {\n this.config.rangeCount = value;\n if (this.initialized) {\n this.setMarginalCount(value);\n }\n }\n }\n\n @Input({ alias: 'thyShowSizeChanger', transform: booleanAttribute })\n set showSizeChanger(value: boolean) {\n this.config.showSizeChanger = value;\n }\n\n /**\n * @type number[]\n */\n @Input('thyPageSizeOptions')\n set pageSizeOptions(value: number[]) {\n this.config.pageSizeOptions = value;\n }\n\n /**\n * 只有一页时是否隐藏分页器\n * @default false\n */\n @Input({ alias: 'thyHideOnSinglePage', transform: booleanAttribute }) hideOnSinglePage: boolean;\n\n /**\n * 页码改变的回调\n */\n @Output('thyPageIndexChange') pageIndexChange = new EventEmitter<number>();\n\n /**\n * 与Bootstrap pagination 兼容,后续版本会进行删除,参数保持与 bootstrap 一致\n */\n @Output('thyPageChanged') pageChanged = new EventEmitter<{ page: number }>();\n\n @Output('thyPageSizeChanged') pageSizeChanged = new EventEmitter<number>();\n\n public pages: { index?: number; text?: string; active?: boolean }[] = [];\n\n public pageIndex = 1;\n\n public pageSize: number;\n\n public pageCount: number;\n\n public customPages: number[];\n\n public total: number;\n\n public range = { from: 0, to: 0 };\n\n public firstIndex = 1;\n\n public isHideOnSinglePage = false;\n\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n public selectSize = 'md';\n\n public selectPageSize: Number = 20;\n\n @HostBinding('class.thy-pagination') isPaginationClass = true;\n\n /**\n * 是否显示范围和total\n * @default false\n */\n @HostBinding('class.thy-pagination-has-total')\n @Input('thyShowTotal')\n showTotal: boolean | TemplateRef<{ $implicit: number; range: { from: number; to: number } }> = false;\n\n constructor(\n @Optional()\n @Inject(THY_PAGINATION_CONFIG)\n private paginationConfig: ThyPaginationConfig,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this.setMarginalCount(this.config.rangeCount);\n this.calculatePageCount();\n this.setPageIndex(this.pageIndex);\n this.initialized = true;\n }\n\n private setMarginalCount(range: number) {\n if (!this.marginalCount) {\n this.marginalCount = range <= DEFAULT_RANGE_COUNT ? 1 : 2;\n }\n }\n\n private setPageIndex(pageIndex: number) {\n this.pageIndex = pageIndex > this.pageCount ? this.pageCount : pageIndex || 1;\n const toPageSize = this.pageIndex * this.pageSize;\n this.range = {\n from: (this.pageIndex - 1) * this.pageSize + 1,\n to: toPageSize > this.total ? this.total : toPageSize\n };\n this.initializePages(this.pageIndex, this.pageCount);\n this.cdr.markForCheck();\n }\n\n private calculatePageCount() {\n let pageCount = null;\n if (this.customPages && this.customPages.length > 0) {\n pageCount = this.customPages[this.customPages.length - 1];\n } else {\n pageCount = this.pageSize < 1 ? 1 : Math.ceil(this.total / this.pageSize);\n }\n this.pageCount = Math.max(pageCount || 0, 1);\n }\n\n private makePage(index: number, text: string, active: boolean): { index: number; text: string; active: boolean } {\n return { index, text, active };\n }\n\n private initializePages(pageIndex: number, pageCount: number) {\n if (this.customPages && this.customPages.length > 0) {\n this.pages = this.customPages.map(page => {\n return {\n index: page,\n text: page.toString(),\n active: page === +pageIndex\n };\n });\n return;\n }\n\n let pages = [];\n const marginalCount = this.marginalCount;\n const rangeCount = this.config.rangeCount;\n const maxCount = this.config.maxCount;\n const isMaxSized = pageCount > maxCount;\n if (isMaxSized) {\n const beforePages = [];\n const afterPages = [];\n\n // beforePages\n for (let i = 1; i <= marginalCount; i++) {\n beforePages.push(this.makePage(i, i.toString(), i === pageIndex));\n }\n if (pageIndex - Math.ceil(rangeCount / 2) > this.firstIndex) {\n beforePages.push(this.makePage(pageIndex - rangeCount, '···', null));\n }\n\n // afterPages\n if (pageIndex + Math.ceil(rangeCount / 2) < pageCount) {\n afterPages.push(this.makePage(pageIndex + rangeCount, '···', null));\n }\n for (let i = pageCount - marginalCount + 1; i <= pageCount; i++) {\n afterPages.push(this.makePage(i, i.toString(), i === pageIndex));\n }\n\n // mainPages\n let start = Math.max(marginalCount + 1, pageIndex - (rangeCount - 1) / 2);\n let end = Math.min(pageIndex + (rangeCount - 1) / 2, pageCount - marginalCount);\n if (pageIndex - 1 <= marginalCount) {\n end = rangeCount;\n }\n if (pageCount - pageIndex <= marginalCount) {\n start = pageCount - rangeCount + 1;\n }\n\n for (let i = start; i <= end; i++) {\n pages.push({\n index: i,\n text: i.toString(),\n active: i === +pageIndex\n });\n }\n pages = [...beforePages, ...pages, ...afterPages];\n } else {\n for (let i = 1; i <= pageCount; i++) {\n pages.push({\n index: i,\n text: i.toString(),\n active: i === +pageIndex\n });\n }\n }\n this.pages = pages;\n }\n\n private pageChange(pageIndex: number) {\n this.pageIndexChange.emit(pageIndex);\n this.pageChanged.emit({ page: pageIndex });\n }\n\n selectPage(pageIndex: number) {\n if (this.disabled || pageIndex === this.firstIndex - 1 || pageIndex === this.pageCount + 1) {\n return;\n }\n this.setPageIndex(pageIndex);\n this.pageChange(this.pageIndex);\n }\n\n jumpPage(input: HTMLInputElement) {\n const pageIndex = +input.value;\n if (Number.isInteger(pageIndex)) {\n this.selectPage(pageIndex);\n }\n input.value = '';\n }\n\n onPageSizeChange(event: number) {\n this.pageSize = event;\n this.calculatePageCount();\n this.setPageIndex(this.pageIndex);\n this.pageSizeChanged.emit(event);\n }\n}\n","<ng-container *ngIf=\"(hideOnSinglePage && total > pageSize) || !hideOnSinglePage\">\n <div class=\"thy-pagination-total\" *ngIf=\"showTotal\">\n <ng-container *ngIf=\"!isTemplateRef(showTotal); else totalTemplate\">\n <ng-container *ngIf=\"total > 0\">\n <div class=\"mr-3\">\n 第<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>条\n </div>\n <div>\n 共<span class=\"number\"> {{ total }} </span>条\n </div>\n </ng-container>\n </ng-container>\n <ng-template #totalTemplate>\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n </ng-template>\n </div>\n <div class=\"thy-pagination-content\">\n <div class=\"thy-pagination-size\" *ngIf=\"config.showSizeChanger\">\n <thy-select [(ngModel)]=\"selectPageSize\" [thySize]=\"selectSize\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n <thy-option\n class=\"page-size-option\"\n *ngFor=\"let option of config.pageSizeOptions\"\n [thyValue]=\"option\"\n [thyLabelText]=\"option + ' 条/页'\"></thy-option>\n </thy-select>\n </div>\n <ul class=\"thy-pagination-pages\">\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.firstText\">{{ config.firstText }}</ng-container>\n <ng-container *ngIf=\"config.firstIcon\">\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.previousText\">{{ config.previousText }}</ng-container>\n <ng-container *ngIf=\"config.previousIcon\">\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item thy-page-number\"\n [class.active]=\"page.active\"\n [class.disabled]=\"disabled\"\n (click)=\"selectPage(page.index)\"\n *ngFor=\"let page of pages\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n <li\n class=\"thy-page-item page-item-next\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.nextText\">{{ config.nextText }}</ng-container>\n <ng-container *ngIf=\"config.nextIcon\">\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.lastText\">{{ config.lastText }}</ng-container>\n <ng-container *ngIf=\"config.lastIcon\">\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n </ul>\n <ng-container *ngIf=\"config.showTotalPageCount && config.totalPagesFormat\">\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat : config.totalPagesFormat\"></div>\n </ng-container>\n <ng-container *ngIf=\"config.showQuickJumper\">\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n 跳至\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n 页\n </div>\n </div>\n </ng-container>\n </div>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { ThyPagination } from './pagination.component';\nimport { CommonModule } from '@angular/common';\nimport { PaginationTotalCountFormat } from './pagination.pipe';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { THY_PAGINATION_CONFIG } from './pagination.config';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySelectModule } from 'ngx-tethys/select';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ThySharedModule, ThyIconModule, ThySelectModule, ThyPagination, PaginationTotalCountFormat],\n exports: [ThyPagination]\n})\nexport class ThyPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-pagination.mjs","sources":["../../../src/pagination/pagination.config.ts","../../../src/pagination/pagination.pipe.ts","../../../src/pagination/pagination.component.ts","../../../src/pagination/pagination.component.html","../../../src/pagination/pagination.module.ts","../../../src/pagination/ngx-tethys-pagination.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ThyPaginationConfigModel } from './pagination.class';\n\nexport const DEFAULT_RANGE_COUNT = 5;\n\nexport const PaginationDefaultConfig: ThyPaginationConfigModel = {\n boundaryLinks: false,\n directionLinks: true,\n pageSize: 20,\n maxCount: 7,\n rangeCount: DEFAULT_RANGE_COUNT,\n showQuickJumper: true,\n showTotalPageCount: true,\n firstText: '第一页',\n lastText: '最后一页',\n previousText: '',\n nextText: '',\n firstIcon: '',\n lastIcon: '',\n previousIcon: 'angle-left',\n nextIcon: 'angle-right',\n totalPagesFormat: '共{total}页',\n showSizeChanger: false,\n pageSizeOptions: [10, 20, 50, 100],\n unit: '条'\n};\nexport interface ThyPaginationConfig {\n main?: ThyPaginationConfigModel;\n}\n\nexport const THY_PAGINATION_CONFIG = new InjectionToken<ThyPaginationConfig>('THY_PAGINATION_CONFIG', {\n providedIn: 'root',\n factory: () => {\n return {};\n }\n});\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @private\n */\n@Pipe({\n name: 'paginationTotalPagesFormat',\n standalone: true\n})\nexport class PaginationTotalCountFormat implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(count: number, format: string): any {\n if (count && format) {\n return this.sanitizer.bypassSecurityTrustHtml(format.replace(/\\{(.+?)\\}/g, `<span>${count}</span>`));\n } else {\n return '';\n }\n }\n}\n","import {\n Component,\n OnInit,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n HostBinding,\n Optional,\n Inject,\n TemplateRef,\n numberAttribute\n} from '@angular/core';\nimport { ThyPaginationConfigModel } from './pagination.class';\nimport { PaginationDefaultConfig, DEFAULT_RANGE_COUNT, THY_PAGINATION_CONFIG, ThyPaginationConfig } from './pagination.config';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { coerceBooleanProperty, isTemplateRef } from 'ngx-tethys/util';\nimport { PaginationTotalCountFormat } from './pagination.pipe';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyOption, ThyEnterDirective } from 'ngx-tethys/shared';\nimport { FormsModule } from '@angular/forms';\nimport { ThySelect } from 'ngx-tethys/select';\nimport { NgIf, NgTemplateOutlet, NgFor } from '@angular/common';\n\n/**\n * 分页组件,当数据量过多时,使用分页分解数据。\n * @name thy-pagination\n * @order 10\n */\n@Component({\n selector: 'thy-pagination',\n templateUrl: './pagination.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, ThySelect, FormsModule, NgFor, ThyOption, ThyIcon, ThyEnterDirective, PaginationTotalCountFormat]\n})\nexport class ThyPagination implements OnInit {\n isTemplateRef = isTemplateRef;\n public config: ThyPaginationConfigModel = Object.assign({}, PaginationDefaultConfig, this.paginationConfig.main);\n\n /**\n * 设置当前页,支持双向绑定\n * @default 1\n */\n @Input({ transform: numberAttribute })\n set thyPageIndex(pageIndex: number) {\n this.pageIndex = pageIndex;\n if (this.initialized) {\n this.setPageIndex(pageIndex);\n }\n }\n\n /**\n * 每页条目数量\n * @default 20\n */\n @Input({ transform: numberAttribute })\n set thyPageSize(pageSize: number) {\n this.pageSize = pageSize;\n this.selectPageSize = pageSize;\n if (this.initialized) {\n this.calculatePageCount();\n this.initializePages(this.pageIndex, this.pageCount);\n this.cdr.markForCheck();\n }\n }\n\n /**\n * 总页数 与 totalPages 二选一传入\n */\n @Input({ transform: numberAttribute })\n set thyTotal(total: number) {\n this.total = total;\n if (this.initialized) {\n this.calculatePageCount();\n this.setPageIndex(this.pageIndex);\n this.cdr.markForCheck();\n }\n }\n\n /**\n * 自定义分页页码,设置自定义分页页码后将不根据 Total 和 PageSize 来自动计算页码,完全以传入的页码为准\n * @type number[]\n */\n @Input()\n set thyCustomPages(pages: number[]) {\n this.customPages = pages;\n this.config.showTotalPageCount = false;\n if (this.initialized) {\n this.calculatePageCount();\n this.initializePages(this.pageIndex, this.pageCount);\n this.cdr.markForCheck();\n }\n }\n\n /**\n * 是否禁用\n */\n @Input({ alias: 'thyDisabled', transform: coerceBooleanProperty }) disabled = false;\n\n /**\n * 是否显示快速跳转\n * @default false\n */\n @Input({ alias: 'thyShowQuickJumper', transform: coerceBooleanProperty })\n set showQuickJumper(value: boolean) {\n this.config.showQuickJumper = value;\n }\n\n /**\n * 设置是否显示总页数信息\n * @default true\n */\n @Input({ alias: 'thyShowTotalPageCount', transform: coerceBooleanProperty })\n set showTotalPageCount(value: boolean) {\n this.config.showTotalPageCount = value;\n }\n\n /**\n * 设置分页组件的大小\n * @type sm | md | lg\n * @default md\n */\n @Input('thySize')\n set size(size: 'sm' | 'md' | 'lg') {\n this.selectSize = size;\n this.hostRenderer.addClass(`thy-pagination-${size}`);\n }\n\n /**\n * 设置最大显示数量,超出最大显示数后会自动进行分割显示\n * @default 9\n */\n @Input({ alias: 'thyMaxCount', transform: numberAttribute })\n set maxCount(value: number) {\n this.config.maxCount = value;\n }\n\n /**\n * 设置边缘显示数量\n * @default 2\n */\n @Input({ alias: 'thyMarginalCount', transform: numberAttribute }) marginalCount: number;\n\n /**\n * 设置中间区域显示数量\n * @default 7\n */\n @Input({ transform: numberAttribute })\n set thyRangeCount(value: number) {\n if (Number.isInteger(value)) {\n this.config.rangeCount = value;\n if (this.initialized) {\n this.setMarginalCount(value);\n }\n }\n }\n\n @Input({ alias: 'thyShowSizeChanger', transform: coerceBooleanProperty })\n set showSizeChanger(value: boolean) {\n this.config.showSizeChanger = value;\n }\n\n /**\n * @type number[]\n */\n @Input('thyPageSizeOptions')\n set pageSizeOptions(value: number[]) {\n this.config.pageSizeOptions = value;\n }\n\n /**\n * 只有一页时是否隐藏分页器\n * @default false\n */\n @Input({ alias: 'thyHideOnSinglePage', transform: coerceBooleanProperty }) hideOnSinglePage: boolean;\n\n /**\n * 分页器单位\n * @default 条\n */\n @Input('thyUnit')\n set unit(value: string) {\n if (value) {\n this.config.unit = value;\n }\n }\n\n /**\n * 页码改变的回调\n */\n @Output('thyPageIndexChange') pageIndexChange = new EventEmitter<number>();\n\n /**\n * 与Bootstrap pagination 兼容,后续版本会进行删除,参数保持与 bootstrap 一致\n */\n @Output('thyPageChanged') pageChanged = new EventEmitter<{ page: number }>();\n\n @Output('thyPageSizeChanged') pageSizeChanged = new EventEmitter<number>();\n\n public pages: { index?: number; text?: string; active?: boolean }[] = [];\n\n public pageIndex = 1;\n\n public pageSize: number;\n\n public pageCount: number;\n\n public customPages: number[];\n\n public total: number;\n\n public range = { from: 0, to: 0 };\n\n public firstIndex = 1;\n\n public isHideOnSinglePage = false;\n\n private initialized = false;\n\n private hostRenderer = useHostRenderer();\n\n public selectSize = 'md';\n\n public selectPageSize: Number = 20;\n\n @HostBinding('class.thy-pagination') isPaginationClass = true;\n\n /**\n * 是否显示范围和total\n * @default false\n */\n @HostBinding('class.thy-pagination-has-total')\n @Input('thyShowTotal')\n showTotal: boolean | TemplateRef<{ $implicit: number; range: { from: number; to: number } }> = false;\n\n constructor(\n @Optional()\n @Inject(THY_PAGINATION_CONFIG)\n private paginationConfig: ThyPaginationConfig,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this.setMarginalCount(this.config.rangeCount);\n this.calculatePageCount();\n this.setPageIndex(this.pageIndex);\n this.initialized = true;\n }\n\n private setMarginalCount(range: number) {\n if (!this.marginalCount) {\n this.marginalCount = range <= DEFAULT_RANGE_COUNT ? 1 : 2;\n }\n }\n\n private setPageIndex(pageIndex: number) {\n this.pageIndex = pageIndex > this.pageCount ? this.pageCount : pageIndex || 1;\n const toPageSize = this.pageIndex * this.pageSize;\n this.range = {\n from: (this.pageIndex - 1) * this.pageSize + 1,\n to: toPageSize > this.total ? this.total : toPageSize\n };\n this.initializePages(this.pageIndex, this.pageCount);\n this.cdr.markForCheck();\n }\n\n private calculatePageCount() {\n let pageCount = null;\n if (this.customPages && this.customPages.length > 0) {\n pageCount = this.customPages[this.customPages.length - 1];\n } else {\n pageCount = this.pageSize < 1 ? 1 : Math.ceil(this.total / this.pageSize);\n }\n this.pageCount = Math.max(pageCount || 0, 1);\n }\n\n private makePage(index: number, text: string, active: boolean): { index: number; text: string; active: boolean } {\n return { index, text, active };\n }\n\n private initializePages(pageIndex: number, pageCount: number) {\n if (this.customPages && this.customPages.length > 0) {\n this.pages = this.customPages.map(page => {\n return {\n index: page,\n text: page.toString(),\n active: page === +pageIndex\n };\n });\n return;\n }\n\n let pages = [];\n const marginalCount = this.marginalCount;\n const rangeCount = this.config.rangeCount;\n const maxCount = this.config.maxCount;\n const isMaxSized = pageCount > maxCount;\n if (isMaxSized) {\n const beforePages = [];\n const afterPages = [];\n\n // beforePages\n for (let i = 1; i <= marginalCount; i++) {\n beforePages.push(this.makePage(i, i.toString(), i === pageIndex));\n }\n if (pageIndex - Math.ceil(rangeCount / 2) > this.firstIndex) {\n beforePages.push(this.makePage(pageIndex - rangeCount, '···', null));\n }\n\n // afterPages\n if (pageIndex + Math.ceil(rangeCount / 2) < pageCount) {\n afterPages.push(this.makePage(pageIndex + rangeCount, '···', null));\n }\n for (let i = pageCount - marginalCount + 1; i <= pageCount; i++) {\n afterPages.push(this.makePage(i, i.toString(), i === pageIndex));\n }\n\n // mainPages\n let start = Math.max(marginalCount + 1, pageIndex - (rangeCount - 1) / 2);\n let end = Math.min(pageIndex + (rangeCount - 1) / 2, pageCount - marginalCount);\n if (pageIndex - 1 <= marginalCount) {\n end = rangeCount;\n }\n if (pageCount - pageIndex <= marginalCount) {\n start = pageCount - rangeCount + 1;\n }\n\n for (let i = start; i <= end; i++) {\n pages.push({\n index: i,\n text: i.toString(),\n active: i === +pageIndex\n });\n }\n pages = [...beforePages, ...pages, ...afterPages];\n } else {\n for (let i = 1; i <= pageCount; i++) {\n pages.push({\n index: i,\n text: i.toString(),\n active: i === +pageIndex\n });\n }\n }\n this.pages = pages;\n }\n\n private pageChange(pageIndex: number) {\n this.pageIndexChange.emit(pageIndex);\n this.pageChanged.emit({ page: pageIndex });\n }\n\n selectPage(pageIndex: number) {\n if (this.disabled || pageIndex === this.firstIndex - 1 || pageIndex === this.pageCount + 1) {\n return;\n }\n this.setPageIndex(pageIndex);\n this.pageChange(this.pageIndex);\n }\n\n jumpPage(input: HTMLInputElement) {\n const pageIndex = +input.value;\n if (Number.isInteger(pageIndex)) {\n this.selectPage(pageIndex);\n }\n input.value = '';\n }\n\n onPageSizeChange(event: number) {\n this.pageSize = event;\n this.calculatePageCount();\n this.setPageIndex(this.pageIndex);\n this.pageSizeChanged.emit(event);\n }\n}\n","<ng-container *ngIf=\"(hideOnSinglePage && total > pageSize) || !hideOnSinglePage\">\n <div class=\"thy-pagination-total\" *ngIf=\"showTotal\">\n <ng-container *ngIf=\"!isTemplateRef(showTotal); else totalTemplate\">\n <ng-container *ngIf=\"total > 0\">\n <div class=\"mr-3\">\n 第<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>{{ config.unit }}\n </div>\n <div>\n 共<span class=\"number\"> {{ total }} </span>{{ config.unit }}\n </div>\n </ng-container>\n </ng-container>\n <ng-template #totalTemplate>\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n </ng-template>\n </div>\n <div class=\"thy-pagination-content\">\n <div class=\"thy-pagination-size\" *ngIf=\"config.showSizeChanger\">\n <thy-select [(ngModel)]=\"selectPageSize\" [thySize]=\"selectSize\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n <thy-option\n class=\"page-size-option\"\n *ngFor=\"let option of config.pageSizeOptions\"\n [thyValue]=\"option\"\n [thyLabelText]=\"option + ' ' + config.unit + '/页'\"></thy-option>\n </thy-select>\n </div>\n <ul class=\"thy-pagination-pages\">\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.firstText\">{{ config.firstText }}</ng-container>\n <ng-container *ngIf=\"config.firstIcon\">\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.previousText\">{{ config.previousText }}</ng-container>\n <ng-container *ngIf=\"config.previousIcon\">\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item thy-page-number\"\n [class.active]=\"page.active\"\n [class.disabled]=\"disabled\"\n (click)=\"selectPage(page.index)\"\n *ngFor=\"let page of pages\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n <li\n class=\"thy-page-item page-item-next\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.nextText\">{{ config.nextText }}</ng-container>\n <ng-container *ngIf=\"config.nextIcon\">\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.lastText\">{{ config.lastText }}</ng-container>\n <ng-container *ngIf=\"config.lastIcon\">\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n </ul>\n <ng-container *ngIf=\"config.showTotalPageCount && config.totalPagesFormat\">\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat : config.totalPagesFormat\"></div>\n </ng-container>\n <ng-container *ngIf=\"config.showQuickJumper\">\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n 跳至\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n 页\n </div>\n </div>\n </ng-container>\n </div>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { ThyPagination } from './pagination.component';\nimport { CommonModule } from '@angular/common';\nimport { PaginationTotalCountFormat } from './pagination.pipe';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { THY_PAGINATION_CONFIG } from './pagination.config';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySelectModule } from 'ngx-tethys/select';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ThySharedModule, ThyIconModule, ThySelectModule, ThyPagination, PaginationTotalCountFormat],\n exports: [ThyPagination]\n})\nexport class ThyPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|