ngx-tethys 17.0.0 → 17.0.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 +26 -7
- package/action/action.component.d.ts +3 -0
- package/affix/affix.component.d.ts +2 -0
- package/alert/alert.component.d.ts +1 -0
- package/anchor/anchor.component.d.ts +3 -0
- package/arrow-switcher/arrow-switcher.component.d.ts +1 -0
- package/autocomplete/autocomplete.component.d.ts +2 -3
- package/autocomplete/autocomplete.trigger.directive.d.ts +3 -0
- package/avatar/avatar.component.d.ts +4 -0
- package/back-top/back-top.component.d.ts +1 -0
- package/badge/badge.component.d.ts +5 -0
- package/button/button-icon.component.d.ts +2 -0
- package/button/button.component.d.ts +2 -0
- package/card/card.component.d.ts +3 -0
- package/card/content.component.d.ts +2 -1
- package/carousel/carousel.component.d.ts +5 -0
- package/cascader/cascader-li.component.d.ts +9 -2
- package/cascader/cascader-search-option.component.d.ts +7 -2
- package/cascader/cascader.component.d.ts +23 -2
- package/cascader/styles/cascader.scss +1 -0
- package/cascader/types.d.ts +1 -0
- package/checkbox/checkbox.component.d.ts +1 -0
- package/collapse/collapse-item.component.d.ts +2 -0
- package/collapse/collapse.component.d.ts +1 -0
- package/color-picker/color-picker-panel.component.d.ts +1 -0
- package/color-picker/color-picker.component.d.ts +7 -1
- package/copy/copy.directive.d.ts +1 -0
- package/core/behaviors/decorators.d.ts +6 -0
- package/date-picker/abstract-picker.component.d.ts +8 -1
- package/date-picker/abstract-picker.directive.d.ts +4 -0
- package/date-picker/base-picker.component.d.ts +2 -0
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -0
- package/date-picker/lib/popups/inner-popup.component.d.ts +1 -0
- package/date-picker/picker.component.d.ts +1 -0
- package/date-range/date-range.component.d.ts +2 -0
- package/dialog/body/dialog-body.component.d.ts +2 -1
- package/dialog/footer/dialog-footer.component.d.ts +1 -0
- package/dialog/header/dialog-header.component.d.ts +1 -0
- package/divider/divider.component.d.ts +2 -0
- package/drag-drop/drag-handle.directive.d.ts +1 -0
- package/drag-drop/drag.directive.d.ts +1 -0
- package/drag-drop/drop-container.directive.d.ts +1 -0
- package/dropdown/dropdown-menu-item.directive.d.ts +3 -1
- package/dropdown/dropdown-menu.component.d.ts +1 -0
- package/dropdown/dropdown.directive.d.ts +3 -0
- package/empty/empty.component.d.ts +1 -0
- package/esm2022/action/action.component.mjs +9 -22
- package/esm2022/affix/affix.component.mjs +8 -15
- package/esm2022/alert/alert.component.mjs +5 -10
- package/esm2022/anchor/anchor.component.mjs +10 -20
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +5 -11
- package/esm2022/autocomplete/autocomplete.component.mjs +5 -23
- package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +9 -20
- package/esm2022/avatar/avatar.component.mjs +14 -30
- package/esm2022/back-top/back-top.component.mjs +6 -10
- package/esm2022/badge/badge.component.mjs +15 -37
- package/esm2022/button/button-icon.component.mjs +9 -20
- package/esm2022/button/button.component.mjs +7 -16
- package/esm2022/card/card.component.mjs +6 -20
- package/esm2022/card/content.component.mjs +5 -6
- package/esm2022/carousel/carousel.component.mjs +13 -30
- package/esm2022/cascader/cascader-li.component.mjs +16 -31
- package/esm2022/cascader/cascader-search-option.component.mjs +12 -21
- package/esm2022/cascader/cascader.component.mjs +32 -52
- package/esm2022/cascader/types.mjs +1 -1
- package/esm2022/checkbox/checkbox.component.mjs +7 -13
- package/esm2022/collapse/collapse-item.component.mjs +8 -15
- package/esm2022/collapse/collapse.component.mjs +5 -10
- package/esm2022/color-picker/color-picker-panel.component.mjs +5 -10
- package/esm2022/color-picker/color-picker.component.mjs +17 -37
- package/esm2022/copy/copy.directive.mjs +5 -10
- package/esm2022/core/behaviors/decorators.mjs +7 -44
- package/esm2022/date-picker/abstract-picker.component.mjs +21 -45
- package/esm2022/date-picker/abstract-picker.directive.mjs +11 -27
- package/esm2022/date-picker/base-picker.component.mjs +8 -15
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -10
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +4 -2
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +7 -6
- package/esm2022/date-picker/picker.component.mjs +6 -10
- package/esm2022/date-range/date-range.component.mjs +7 -15
- package/esm2022/dialog/body/dialog-body.component.mjs +6 -6
- package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -13
- package/esm2022/dialog/header/dialog-header.component.mjs +6 -10
- package/esm2022/divider/divider.component.mjs +7 -15
- package/esm2022/drag-drop/drag-handle.directive.mjs +5 -13
- package/esm2022/drag-drop/drag.directive.mjs +5 -11
- package/esm2022/drag-drop/drop-container.directive.mjs +5 -10
- package/esm2022/dropdown/dropdown-menu-item.directive.mjs +9 -19
- package/esm2022/dropdown/dropdown-menu.component.mjs +6 -9
- package/esm2022/dropdown/dropdown.directive.mjs +8 -22
- package/esm2022/empty/empty.component.mjs +7 -13
- package/esm2022/flexible-text/flexible-text.component.mjs +4 -11
- package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -10
- package/esm2022/form/form-group-label.directive.mjs +6 -6
- package/esm2022/form/form-group.component.mjs +13 -17
- package/esm2022/icon/icon.component.mjs +6 -20
- package/esm2022/image/image.directive.mjs +7 -15
- package/esm2022/input/input-search.component.mjs +6 -11
- package/esm2022/input/input.component.mjs +7 -15
- package/esm2022/input-number/input-number.component.mjs +12 -25
- package/esm2022/layout/header.component.mjs +9 -19
- package/esm2022/layout/sidebar-header.component.mjs +5 -10
- package/esm2022/layout/sidebar.component.mjs +22 -45
- package/esm2022/list/list.component.mjs +5 -11
- package/esm2022/list/selection/selection-list.mjs +13 -10
- package/esm2022/loading/loading.component.mjs +9 -20
- package/esm2022/menu/group/menu-group.component.mjs +12 -38
- package/esm2022/menu/item/action/menu-item-action.component.mjs +5 -10
- package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -10
- package/esm2022/menu/menu.component.mjs +5 -10
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +6 -6
- package/esm2022/nav/nav-ink-bar.directive.mjs +7 -15
- package/esm2022/nav/nav-item.directive.mjs +10 -20
- package/esm2022/nav/nav.component.mjs +12 -25
- package/esm2022/pagination/pagination.component.mjs +18 -68
- package/esm2022/popover/popover.directive.mjs +12 -33
- package/esm2022/progress/progress-circle.component.mjs +9 -20
- package/esm2022/progress/progress-strip.component.mjs +5 -11
- package/esm2022/progress/progress.component.mjs +11 -23
- package/esm2022/property/properties.component.mjs +5 -10
- package/esm2022/property/property-item.component.mjs +8 -15
- package/esm2022/property-operation/property-operation.component.mjs +16 -37
- package/esm2022/radio/group/radio-group.component.mjs +6 -21
- package/esm2022/rate/rate-item.component.mjs +5 -10
- package/esm2022/rate/rate.component.mjs +16 -25
- package/esm2022/resizable/resizable.directive.mjs +24 -62
- package/esm2022/resizable/resize-handle.component.mjs +6 -10
- package/esm2022/resizable/resize-handles.component.mjs +5 -10
- package/esm2022/segment/segment-item.component.mjs +5 -10
- package/esm2022/segment/segment.component.mjs +7 -16
- package/esm2022/select/custom-select/custom-select.component.mjs +30 -65
- package/esm2022/select/native-select/native-select.component.mjs +6 -10
- package/esm2022/shared/base-form-check.component.mjs +10 -20
- package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -15
- package/esm2022/shared/directives/thy-scroll.directive.mjs +6 -13
- package/esm2022/shared/directives/thy-show.mjs +5 -11
- package/esm2022/shared/option/group/option-group.component.mjs +5 -10
- package/esm2022/shared/option/list-option/list-option.component.mjs +6 -13
- package/esm2022/shared/option/option.component.mjs +5 -11
- package/esm2022/shared/select/select-control/select-control.component.mjs +17 -44
- package/esm2022/skeleton/skeleton-circle.component.mjs +6 -9
- package/esm2022/skeleton/skeleton-rectangle.component.mjs +6 -9
- package/esm2022/skeleton/skeleton.component.mjs +5 -10
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +6 -9
- package/esm2022/skeleton/stylized/list.component.mjs +6 -9
- package/esm2022/skeleton/stylized/paragraph.component.mjs +6 -9
- package/esm2022/slide/slide-body/slide-body-section.component.mjs +6 -6
- package/esm2022/slider/slider.component.mjs +18 -35
- package/esm2022/space/space.component.mjs +6 -10
- package/esm2022/stepper/step-header.component.mjs +9 -20
- package/esm2022/stepper/stepper.component.mjs +7 -16
- package/esm2022/switch/switch.component.mjs +12 -17
- package/esm2022/table/table-column.component.mjs +9 -31
- package/esm2022/table/table-skeleton.component.mjs +8 -14
- package/esm2022/table/table.component.mjs +32 -83
- package/esm2022/tabs/tab.component.mjs +5 -10
- package/esm2022/tabs/tabs.component.mjs +8 -15
- package/esm2022/tag/tag.component.mjs +6 -10
- package/esm2022/time-picker/time-picker-panel.component.mjs +8 -15
- package/esm2022/time-picker/time-picker.component.mjs +20 -46
- package/esm2022/timeline/timeline.component.mjs +5 -10
- package/esm2022/tooltip/tooltip.directive.mjs +11 -34
- package/esm2022/tree/tree-node.component.mjs +17 -40
- package/esm2022/tree/tree.component.mjs +19 -47
- package/esm2022/tree-select/tree-select.component.mjs +18 -40
- package/esm2022/upload/file-select-base.mjs +7 -6
- package/esm2022/upload/file-select.component.mjs +11 -26
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +11 -33
- package/esm2022/watermark/watermark.directive.mjs +6 -10
- package/fesm2022/ngx-tethys-action.mjs +9 -21
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +6 -14
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +4 -9
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +8 -19
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +4 -10
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +14 -39
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +14 -29
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +5 -9
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +14 -36
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +13 -30
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +8 -23
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +12 -29
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +55 -95
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +5 -12
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +10 -20
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +19 -42
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +4 -9
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +6 -43
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +48 -94
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +6 -14
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +13 -21
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +6 -14
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-drag-drop.mjs +10 -25
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +19 -42
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +5 -12
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +3 -10
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +19 -25
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +5 -19
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +7 -14
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +11 -24
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +10 -21
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +31 -64
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +16 -18
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +8 -19
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +20 -55
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +28 -55
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +17 -67
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +11 -32
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +20 -45
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +14 -36
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +10 -21
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +5 -19
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +18 -30
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +29 -73
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +10 -21
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +32 -70
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +49 -105
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +20 -38
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +6 -5
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +17 -34
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +5 -9
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +13 -31
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +11 -16
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +43 -120
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +10 -20
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +5 -9
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +24 -55
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +4 -9
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +10 -33
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +17 -39
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +33 -82
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +15 -28
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +10 -32
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys-watermark.mjs +5 -9
- package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/flexible-text/flexible-text.component.d.ts +1 -0
- package/form/form-group-error/form-group-error.component.d.ts +1 -0
- package/form/form-group-label.directive.d.ts +2 -1
- package/form/form-group.component.d.ts +5 -2
- package/icon/icon.component.d.ts +3 -0
- package/image/image.directive.d.ts +2 -0
- package/input/input-search.component.d.ts +1 -0
- package/input/input.component.d.ts +2 -0
- package/input-number/input-number.component.d.ts +4 -0
- package/layout/header.component.d.ts +5 -2
- package/layout/sidebar-header.component.d.ts +1 -0
- package/layout/sidebar.component.d.ts +14 -4
- package/list/list.component.d.ts +1 -0
- package/list/selection/selection-list.d.ts +4 -1
- package/loading/loading.component.d.ts +4 -2
- package/menu/group/menu-group.component.d.ts +6 -0
- package/menu/item/action/menu-item-action.component.d.ts +1 -0
- package/menu/item/name/menu-item-name.component.d.ts +1 -0
- package/menu/menu.component.d.ts +1 -0
- package/nav/icon-nav/icon-nav-link.directive.d.ts +2 -1
- package/nav/nav-ink-bar.directive.d.ts +2 -0
- package/nav/nav-item.directive.d.ts +3 -0
- package/nav/nav.component.d.ts +4 -0
- package/package.json +7 -7
- package/pagination/pagination.component.d.ts +11 -0
- package/popover/popover.directive.d.ts +5 -0
- package/progress/progress-circle.component.d.ts +3 -0
- package/progress/progress-strip.component.d.ts +1 -0
- package/progress/progress.component.d.ts +3 -0
- package/property/properties.component.d.ts +1 -0
- package/property/property-item.component.d.ts +2 -0
- package/property-operation/property-operation.component.d.ts +5 -0
- package/radio/group/radio-group.component.d.ts +2 -2
- package/rate/rate-item.component.d.ts +1 -0
- package/rate/rate.component.d.ts +5 -1
- package/resizable/resizable.directive.d.ts +10 -1
- package/resizable/resize-handle.component.d.ts +1 -0
- package/resizable/resize-handles.component.d.ts +1 -0
- package/resizable/styles/resizable.scss +1 -0
- package/schematics/dependencies.js +1 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment-item.component.d.ts +1 -0
- package/segment/segment.component.d.ts +2 -0
- package/select/custom-select/custom-select.component.d.ts +12 -1
- package/select/native-select/native-select.component.d.ts +1 -0
- package/shared/base-form-check.component.d.ts +2 -0
- package/shared/directives/thy-autofocus.directive.d.ts +3 -1
- package/shared/directives/thy-scroll.directive.d.ts +1 -0
- package/shared/directives/thy-show.d.ts +1 -0
- package/shared/option/group/option-group.component.d.ts +1 -0
- package/shared/option/list-option/list-option.component.d.ts +1 -0
- package/shared/option/option.component.d.ts +1 -0
- package/shared/option/styles/select-dropdown.scss +1 -0
- package/shared/select/select-control/select-control.component.d.ts +7 -0
- package/skeleton/skeleton-circle.component.d.ts +1 -0
- package/skeleton/skeleton-rectangle.component.d.ts +1 -0
- package/skeleton/skeleton.component.d.ts +1 -0
- package/skeleton/stylized/bullet-list.component.d.ts +1 -0
- package/skeleton/stylized/list.component.d.ts +1 -0
- package/skeleton/stylized/paragraph.component.d.ts +1 -0
- package/slide/slide-body/slide-body-section.component.d.ts +2 -1
- package/slider/slider.component.d.ts +6 -1
- package/space/space.component.d.ts +1 -0
- package/stepper/step-header.component.d.ts +3 -0
- package/stepper/stepper.component.d.ts +2 -0
- package/switch/switch.component.d.ts +3 -1
- package/table/table-column.component.d.ts +7 -2
- package/table/table-skeleton.component.d.ts +2 -0
- package/table/table.component.d.ts +14 -0
- package/tabs/tab.component.d.ts +1 -0
- package/tabs/tabs.component.d.ts +2 -0
- package/tag/tag.component.d.ts +1 -0
- package/time-picker/time-picker-panel.component.d.ts +2 -0
- package/time-picker/time-picker.component.d.ts +6 -2
- package/timeline/timeline.component.d.ts +1 -0
- package/tooltip/tooltip.directive.d.ts +5 -0
- package/tree/tree-node.component.d.ts +7 -0
- package/tree/tree.component.d.ts +8 -0
- package/tree-select/tree-select.component.d.ts +7 -0
- package/upload/file-select-base.d.ts +1 -0
- package/upload/file-select.component.d.ts +3 -0
- package/vote/vote.component.d.ts +4 -2
- package/watermark/watermark.directive.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-slide.mjs","sources":["../../../src/slide/slide-animations.ts","../../../src/slide/slide.config.ts","../../../src/slide/slide-container.component.ts","../../../src/slide/slide-ref.service.ts","../../../src/slide/slide.service.ts","../../../src/slide/slide-layout/slide-layout.component.ts","../../../src/slide/slide-header/slide-header.component.ts","../../../src/slide/slide-header/slide-header.component.html","../../../src/slide/slide-body/slide-body.component.ts","../../../src/slide/slide-body/slide-body-section.component.ts","../../../src/slide/slide-footer/slide-footer.component.ts","../../../src/slide/drawer/drawer-container.directive.ts","../../../src/slide/slide.module.ts","../../../src/slide/ngx-tethys-slide.ts"],"sourcesContent":["import { transition, style, animate, AnimationTriggerMetadata, trigger, state } from '@angular/animations';\n\nconst animationBody = [\n transition('void => offsetLeft', [style({ width: 0 }), animate('0.2s ease-in')]),\n transition('offsetLeft => exit', [animate('0.2s', style({ width: 0 }))]),\n transition('void => offsetRight', [style({ width: 0 }), animate('0.2s ease')]),\n transition('offsetRight => exit', [animate('0.2s', style({ width: 0 }))]),\n transition('void => offsetTop', [style({ height: 0 }), animate('0.2s ease-in')]),\n transition('offsetTop => exit', [animate('0.2s', style({ height: 0 }))]),\n transition('void => offsetBottom', [style({ height: 0 }), animate('0.2s ease-in')]),\n transition('offsetBottom => exit', [animate('0.2s', style({ height: 0 }))]),\n\n state('left right top bottom', style({ transform: '*' })),\n transition('void => left', [style({ transform: 'translateX(-100%)' }), animate('0.2s ease-in')]),\n transition('left => exit', [animate('0.2s', style({ transform: 'translateX(-100%)' }))]),\n transition('void => right', [style({ transform: 'translateX(100%)' }), animate('0.2s ease-in')]),\n transition('right => exit', [animate('0.2s', style({ transform: 'translateX(100%)' }))]),\n transition('void => top', [style({ transform: 'translateY(-100%)' }), animate('0.2s ease-in')]),\n transition('top => exit', [animate('0.2s', style({ transform: 'translateY(-100%)' }))]),\n transition('void => bottom', [style({ transform: 'translateY(100%)' }), animate('0.2s ease-in')]),\n transition('bottom => exit', [animate('0.2s', style({ transform: 'translateY(100%)' }))])\n];\n\nexport const thySlideAnimations: {\n readonly slideContainer: AnimationTriggerMetadata;\n} = {\n slideContainer: trigger('slideContainer', animationBody)\n};\n","import { ThyAbstractOverlayConfig, ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nimport { ElementRef, InjectionToken } from '@angular/core';\n\nexport type ThySlideFromTypes =\n | 'left'\n | 'right'\n | 'top'\n | 'bottom'\n | 'void'\n | 'exit'\n | 'offsetLeft'\n | 'offsetRight'\n | 'offsetTop'\n | 'offsetBottom';\n\nexport type ThySlideMode = 'over' | 'push' | 'side';\n\n/**\n * @public\n * @order 20\n */\nexport class ThySlideConfig<TData = unknown> extends ThyAbstractOverlayConfig<TData> {\n /**\n * Origin Element, for overlay flexible connected to\n * @type ElementRef<any> | HTMLElement | any\n */\n origin?: ElementRef<any> | HTMLElement | any;\n\n /**\n * slide 进场的方向,可选 left | right | top | bottom\n * @description.en-us set the direction when slide enter\n * @default right\n */\n from?: ThySlideFromTypes;\n\n /**\n * 从距离屏幕边缘 offset 出滑入滑出,单位 px\n */\n offset?: number;\n\n /**\n * set class to trigger element.\n * @type string | string[]\n */\n originActiveClass?: string | string[];\n\n /**\n * slide 弹出的容器,可传入id、HTMLElement 或 ElementRef<HTMLElement>\n * @description.en-us set the drawerContainer by id、HTMLElement or ElementRef<HTMLElement>. e.g. drawerContainer = '#offset-host'\n * @type string | HTMLElement | ElementRef<HTMLElement>\n */\n drawerContainer?: string | HTMLElement | ElementRef<HTMLElement>;\n\n /**\n * slide 进场的方向,可选 push | over | slide\n * @description.en-us set the render way. one of 'over' or 'push'. Default is 'over'\n * @default over\n */\n mode?: ThySlideMode;\n\n /**\n * 是否禁用关闭上一个已打开的 slideRef\n * @description.en-us set whether to disable close the latest item. Default is false\n * @default false\n */\n disableCloseLatest?: boolean;\n}\n\nexport class ThySlideOption extends ThySlideConfig {}\n\nexport const THY_SLIDE_DEFAULT_CONFIG = new InjectionToken<ThySlideConfig>('thy-slide-default-options');\n\nexport const slideAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'slide',\n animationEnabled: true,\n disposeWhenClose: true\n};\n\nexport const slideDefaultConfigValue = {\n hasBackdrop: true,\n backdropClass: 'thy-slide-backdrop',\n backdropClosable: true,\n closeOnNavigation: true,\n autoFocus: true,\n restoreFocus: true,\n from: 'right',\n panelClass: 'thy-slide',\n containerClass: '',\n role: 'slide',\n offset: 0,\n originActiveClass: 'thy-slide-origin-active',\n mode: 'over',\n drawerContainer: '',\n disableCloseLatest: false\n};\n\nexport const THY_SLIDE_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_SLIDE_DEFAULT_CONFIG,\n useValue: {}\n};\n","import { ThyAbstractOverlayContainer, ThyPortalOutlet } from 'ngx-tethys/core';\nimport { helpers } from 'ngx-tethys/util';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, startWith, takeUntil } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport { ChangeDetectorRef, Component, ElementRef, Inject, NgZone, OnDestroy, Renderer2, ViewChild } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nimport { thySlideAnimations } from './slide-animations';\nimport { slideAbstractOverlayOptions, ThySlideConfig, ThySlideFromTypes } from './slide.config';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-slide-container',\n template: ` <ng-template thyPortalOutlet></ng-template> `,\n animations: [thySlideAnimations.slideContainer],\n host: {\n class: 'thy-slide-container',\n '[class.thy-slide-push]': 'isPush',\n '[class.thy-slide-side]': 'isSide',\n '[class.thy-slide-over]': '!isPush && !isSide',\n tabindex: '-1',\n '[attr.role]': `'slide'`,\n '[@slideContainer]': 'animationState',\n '(@slideContainer.start)': 'onAnimationStart($event)',\n '(@slideContainer.done)': 'onAnimationDone($event)',\n '[style.width.px]': 'slideContainerStyles.width',\n '[style.height.px]': 'slideContainerStyles.height',\n '[style.max-height.px]': 'slideContainerStyles.height'\n },\n standalone: true,\n imports: [PortalModule, ThyPortalOutlet]\n})\nexport class ThySlideContainer extends ThyAbstractOverlayContainer implements OnDestroy {\n @ViewChild(ThyPortalOutlet, { static: true })\n portalOutlet: ThyPortalOutlet;\n\n animationOpeningDone: Observable<AnimationEvent>;\n\n animationClosingDone: Observable<AnimationEvent>;\n\n animationState: ThySlideFromTypes = 'void';\n\n slideContainerStyles: { width?: number; height?: number } = {};\n\n private drawerContainerElement: HTMLElement;\n\n private ngUnsubscribe$ = new Subject<void>();\n\n private hostRenderer = useHostRenderer();\n\n get isPush() {\n return this.config.mode === 'push' && !!this.drawerContainerElement;\n }\n\n get isSide() {\n return this.config.mode === 'side' && !!this.drawerContainerElement;\n }\n\n private get isLeftOrRight(): boolean {\n return this.config.from === 'left' || this.config.from === 'right';\n }\n\n private get hostOffset() {\n let offset = 0;\n if (this.isLeftOrRight) {\n offset = this.elementRef.nativeElement.clientWidth + this.config.offset || 0;\n } else {\n offset = this.elementRef.nativeElement.clientHeight + this.config.offset || 0;\n }\n return offset;\n }\n\n private get transform() {\n switch (this.config.from) {\n case 'left':\n return `translateX(${this.hostOffset}px)`;\n case 'right':\n return `translateX(-${this.hostOffset}px)`;\n case 'top':\n return `translateY(${this.hostOffset}px)`;\n case 'bottom':\n return `translateY(${this.hostOffset}px)`;\n }\n }\n\n private get drawerContainerElementClass() {\n return `thy-slide-${this.config.mode}-drawer-container`;\n }\n\n constructor(\n private elementRef: ElementRef,\n @Inject(DOCUMENT) private document: any,\n public config: ThySlideConfig,\n changeDetectorRef: ChangeDetectorRef,\n private renderer: Renderer2,\n private viewportRuler: ViewportRuler,\n private readonly ngZone: NgZone\n ) {\n super(slideAbstractOverlayOptions, changeDetectorRef);\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === this.animationState;\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n this.setDrawerContainerElement();\n this.checkContainerWithinViewport();\n this.addDrawerContainerElementClass();\n }\n\n private setDrawerContainerElement() {\n if (typeof this.config.drawerContainer === 'string') {\n this.drawerContainerElement = this.config.drawerContainer && document.querySelector(this.config.drawerContainer);\n }\n if (this.config.drawerContainer instanceof ElementRef) {\n this.drawerContainerElement = this.config.drawerContainer.nativeElement;\n }\n if (this.config.drawerContainer instanceof HTMLElement) {\n this.drawerContainerElement = this.config.drawerContainer as HTMLElement;\n }\n }\n\n private setSlideContainerStyles() {\n let width, height, top, left;\n const drawerContainerElementRect = (this.drawerContainerElement || document.body).getBoundingClientRect();\n if (this.isLeftOrRight) {\n height = drawerContainerElementRect.height;\n top = drawerContainerElementRect.top;\n this.hostRenderer.setStyle('top', `${top}px`);\n } else {\n width = drawerContainerElementRect.width;\n left = drawerContainerElementRect.left;\n this.hostRenderer.setStyle('left', `${left}px`);\n }\n this.slideContainerStyles = {\n width: width,\n height: height\n };\n }\n\n private checkContainerWithinViewport() {\n this.viewportRuler\n .change(100)\n .pipe(startWith(null), takeUntil(this.ngUnsubscribe$))\n .subscribe(() => {\n this.ngZone.run(() => this.setSlideContainerStyles());\n });\n }\n\n private addDrawerContainerElementClass() {\n if (this.drawerContainerElement) {\n this.renderer.addClass(this.drawerContainerElement, this.drawerContainerElementClass);\n }\n }\n\n private removeDrawerContainerElementClass() {\n if (this.drawerContainerElement) {\n this.renderer.removeClass(this.drawerContainerElement, this.drawerContainerElementClass);\n }\n }\n\n private setDrawerContainerElementStyle() {\n if (this.isSide) {\n this.renderer.setStyle(this.drawerContainerElement, `margin-${this.config.from}`, `${this.hostOffset}px`);\n } else if (this.isPush) {\n this.renderer.setStyle(this.drawerContainerElement, `transform`, this.transform);\n }\n }\n\n private removeDrawerContainerElementStyle() {\n if (this.isSide) {\n this.renderer.removeStyle(this.drawerContainerElement, `margin-${this.config.from}`);\n } else if (this.isPush) {\n this.renderer.removeStyle(this.drawerContainerElement, `transform`);\n }\n }\n\n beforeAttachPortal(): void {\n if (this.config.offset) {\n this.hostRenderer.setStyle(this.config.from, `${this.config.offset}px`);\n this.animationState = helpers.camelCase(['offset', this.config.from]) as ThySlideFromTypes;\n } else {\n this.animationState = this.config.from;\n }\n this.setDrawerContainerElementStyle();\n }\n\n beforeDetachPortal(): void {\n this.removeDrawerContainerElementStyle();\n }\n\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n ngOnDestroy() {\n super.destroy();\n this.removeDrawerContainerElementClass();\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","import { ThyAbstractInternalOverlayRef, ThyAbstractOverlayPosition, ThyAbstractOverlayRef } from 'ngx-tethys/core';\n\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { Injectable } from '@angular/core';\n\nimport { ThySlideContainer } from './slide-container.component';\nimport { slideAbstractOverlayOptions, ThySlideConfig } from './slide.config';\n\n/**\n * @public\n * @order 30\n */\nexport abstract class ThySlideRef<T, TResult = unknown> extends ThyAbstractOverlayRef<T, ThySlideContainer, TResult> {}\n\n/**\n * @internal\n */\n@Injectable()\nexport class ThyInternalSlideRef<T = unknown, TResult = unknown>\n extends ThyAbstractInternalOverlayRef<T, ThySlideContainer, TResult>\n implements ThySlideRef<T>\n{\n constructor(overlayRef: OverlayRef, containerInstance: ThySlideContainer, config: ThySlideConfig) {\n super(slideAbstractOverlayOptions, overlayRef, containerInstance, config);\n }\n\n updatePosition(position?: ThyAbstractOverlayPosition): this {\n return this.updateGlobalPosition(position);\n }\n}\n","import { ComponentTypeOrTemplateRef, ThyAbstractOverlayRef, ThyAbstractOverlayService } from 'ngx-tethys/core';\nimport { coerceArray } from 'ngx-tethys/util';\nimport { of } from 'rxjs';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Inject, Injectable, Injector, OnDestroy, Optional, StaticProvider } from '@angular/core';\n\nimport { ThySlideContainer } from './slide-container.component';\nimport { ThyInternalSlideRef, ThySlideRef } from './slide-ref.service';\nimport { slideAbstractOverlayOptions, slideDefaultConfigValue, THY_SLIDE_DEFAULT_CONFIG, ThySlideConfig } from './slide.config';\n\n/**\n * @public\n * @order 10\n */\n@Injectable()\nexport class ThySlideService extends ThyAbstractOverlayService<ThySlideConfig, ThySlideContainer> implements OnDestroy {\n private originElementAddActiveClass(config: ThySlideConfig) {\n if (config.origin) {\n coerceElement<HTMLElement>(config.origin).classList.add(...coerceArray(config.originActiveClass));\n }\n }\n\n private originElementRemoveActiveClass(config: ThySlideConfig) {\n if (config.origin) {\n coerceElement<HTMLElement>(config.origin).classList.remove(...coerceArray(config.originActiveClass));\n }\n }\n\n protected buildOverlayConfig(config: ThySlideConfig): OverlayConfig {\n const defaultClasses: string[] = ['thy-slide-overlay-pane', `thy-slide-${config.from}`];\n const overlayConfig = {\n ...this.buildBaseOverlayConfig(config, defaultClasses),\n width: config.width\n };\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThySlideConfig): ThySlideContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThySlideConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThySlideContainer, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThySlideContainer>(containerPortal);\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T>(\n overlayRef: OverlayRef,\n containerInstance: ThySlideContainer,\n config: ThySlideConfig\n ): ThyAbstractOverlayRef<T, ThySlideContainer, any> {\n return new ThyInternalSlideRef(overlayRef, containerInstance, config);\n }\n\n protected createInjector<T>(\n config: ThySlideConfig,\n overlayRef: ThyAbstractOverlayRef<T, ThySlideContainer, any>,\n containerInstance: ThySlideContainer\n ): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n const injectionTokens: StaticProvider[] = [\n { provide: ThySlideContainer, useValue: containerInstance },\n { provide: ThySlideRef, useValue: overlayRef }\n ];\n\n if (config.direction && (!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {\n injectionTokens.push({\n provide: Directionality,\n useValue: {\n value: config.direction,\n change: of()\n }\n });\n }\n\n return Injector.create({ parent: userInjector || this.injector, providers: injectionTokens });\n }\n\n private overlayIsOpened(config: ThySlideConfig) {\n const openedOverlay = this.getAbstractOverlayById(config.id);\n const slideConfig = Object.assign({}, this.defaultConfig, config);\n if (!slideConfig.disableCloseLatest) {\n this.close(openedOverlay);\n }\n return openedOverlay;\n }\n\n constructor(\n overlay: Overlay,\n injector: Injector,\n @Optional()\n @Inject(THY_SLIDE_DEFAULT_CONFIG)\n defaultConfig: ThySlideConfig\n ) {\n const slideDefaultConfig = Object.assign({}, slideDefaultConfigValue, defaultConfig);\n super(slideAbstractOverlayOptions, overlay, injector, slideDefaultConfig);\n }\n\n /**\n * 打开滑动弹出框\n */\n open<T, TData = unknown, TResult = unknown>(\n componentOrTemplateRef: ComponentTypeOrTemplateRef<T>,\n config: ThySlideConfig<TData>\n ): ThySlideRef<T, TResult> {\n if (this.overlayIsOpened(config)) {\n return;\n }\n const slideRef = this.openOverlay<T, TResult>(componentOrTemplateRef, config);\n this.originElementAddActiveClass(slideRef.containerInstance.config);\n slideRef.afterClosed().subscribe(() => {\n this.originElementRemoveActiveClass(slideRef.containerInstance.config);\n });\n return slideRef;\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import { Component, ViewEncapsulation, OnInit, HostBinding } from '@angular/core';\n\n/**\n * @name thy-slide-layout\n * @order 35\n */\n@Component({\n selector: 'thy-slide-layout',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class ThySlideLayout implements OnInit {\n @HostBinding('class.thy-slide-layout') slideLayout = true;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","import { Component, ContentChild, TemplateRef, Input, OnInit, HostBinding } from '@angular/core';\nimport { ThySlideService } from '../slide.service';\nimport { ThyAction } from 'ngx-tethys/action';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\n\n/**\n * 滑动弹出框的头部组件\n * @name thy-slide-header\n * @order 40\n */\n@Component({\n selector: 'thy-slide-header',\n templateUrl: './slide-header.component.html',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, ThyIcon, ThyAction]\n})\nexport class ThySlideHeader implements OnInit {\n isIconFont = false;\n\n private _iconName = '';\n\n @HostBinding('class.thy-slide-header') slideLayoutHeader = true;\n\n /**\n * 标题\n */\n @Input() thyTitle: string;\n\n /**\n * 标题的图标\n */\n @Input() set thyIcon(value: string) {\n this._iconName = value;\n if (value.includes('wtf')) {\n this.isIconFont = true;\n } else {\n this.isIconFont = false;\n }\n }\n\n get thyIcon() {\n return this._iconName;\n }\n\n /**\n * 自定义头模板\n * @type TemplateRef\n */\n @ContentChild('thyHeader') headerTemplate: TemplateRef<any>;\n\n /**\n * 头部操作区域模板\n * @type TemplateRef\n */\n @ContentChild('thyHeaderOperate') headerOperateTemplate: TemplateRef<any>;\n\n constructor(private thySlideService: ThySlideService) {}\n\n ngOnInit() {}\n\n closeModal(event: Event) {\n event.stopPropagation();\n this.thySlideService.close();\n }\n}\n","<ng-template *ngIf=\"headerTemplate; else default\" [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n<ng-template #default>\n <h3 class=\"thy-slide-header-title\">\n <thy-icon *ngIf=\"!isIconFont && thyIcon; else iconFont\" [thyIconName]=\"thyIcon\"></thy-icon>\n <ng-template #iconFont>\n <i *ngIf=\"thyIcon\" class=\"wft {{ thyIcon }}\"></i>\n </ng-template>\n {{ thyTitle }}\n </h3>\n\n <div class=\"thy-slide-header-main\">\n <ng-container>\n <ng-template *ngIf=\"headerOperateTemplate\" [ngTemplateOutlet]=\"headerOperateTemplate\"> </ng-template>\n </ng-container>\n </div>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"closeModal($event)\"></a>\n</ng-template>\n","import { Component, HostBinding } from '@angular/core';\n\n/**\n * @name thy-slide-body\n * @order 45\n */\n@Component({\n selector: 'thy-slide-body',\n template: ` <ng-content></ng-content> `,\n standalone: true\n})\nexport class ThySlideBody {\n @HostBinding('class.thy-slide-body') slideLayoutBody = true;\n}\n","import { Component, Input, OnInit, HostBinding } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * @name thy-slide-body-section\n * @order 50\n */\n@Component({\n selector: 'thy-slide-body-section',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class ThySlideBodySection implements OnInit {\n @HostBinding('class.thy-slide-body-section') thySlideBodyItem = true;\n\n @HostBinding('class.thy-slide-body-section-divider') hasDivider = false;\n\n /**\n * 是否有分割线\n * @default false\n */\n @Input()\n set thyDividerBorder(value: string | boolean) {\n this.hasDivider = coerceBooleanProperty(value);\n }\n\n ngOnInit() {}\n}\n","import { Component, OnInit, HostBinding } from '@angular/core';\n\n/**\n * @name thy-slide-footer\n * @order 55\n */\n@Component({\n selector: 'thy-slide-footer',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class ThySlideFooter implements OnInit {\n @HostBinding('class.thy-slide-footer') slideLayoutFooter = true;\n\n ngOnInit() {}\n}\n","import { Directive, ElementRef } from '@angular/core';\n\n/**\n * @name thyDrawerContainer\n * @order 60\n */\n@Directive({\n selector: '[thyDrawerContainer]',\n standalone: true\n})\nexport class ThyDrawerContainerDirective {\n constructor(public elementRef: ElementRef) {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThySlideService } from './slide.service';\nimport { ThySlideContainer } from './slide-container.component';\nimport { ThyInternalSlideRef } from './slide-ref.service';\nimport { ThySlideLayout } from './slide-layout/slide-layout.component';\nimport { ThySlideHeader } from './slide-header/slide-header.component';\nimport { ThySlideBody } from './slide-body/slide-body.component';\nimport { ThySlideBodySection } from './slide-body/slide-body-section.component';\nimport { ThySlideFooter } from './slide-footer/slide-footer.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { THY_SLIDE_DEFAULT_CONFIG_PROVIDER } from './slide.config';\nimport { ThyDrawerContainerDirective } from './drawer/drawer-container.directive';\nimport { ThyActionModule } from 'ngx-tethys/action';\n\n@NgModule({\n imports: [\n CommonModule,\n ThySharedModule,\n ThyIconModule,\n OverlayModule,\n PortalModule,\n ThyActionModule,\n ThySlideContainer,\n ThySlideLayout,\n ThySlideHeader,\n ThySlideBody,\n ThySlideBodySection,\n ThySlideFooter,\n ThyDrawerContainerDirective\n ],\n exports: [ThySlideLayout, ThySlideHeader, ThySlideBody, ThySlideBodySection, ThySlideFooter, ThyDrawerContainerDirective],\n providers: [ThyInternalSlideRef, ThySlideService, THY_SLIDE_DEFAULT_CONFIG_PROVIDER]\n})\nexport class ThySlideModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThySlideConfig","i2","i2.ThySlideContainer","i3.ThySlideConfig","i1.ThySlideService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-slide.mjs","sources":["../../../src/slide/slide-animations.ts","../../../src/slide/slide.config.ts","../../../src/slide/slide-container.component.ts","../../../src/slide/slide-ref.service.ts","../../../src/slide/slide.service.ts","../../../src/slide/slide-layout/slide-layout.component.ts","../../../src/slide/slide-header/slide-header.component.ts","../../../src/slide/slide-header/slide-header.component.html","../../../src/slide/slide-body/slide-body.component.ts","../../../src/slide/slide-body/slide-body-section.component.ts","../../../src/slide/slide-footer/slide-footer.component.ts","../../../src/slide/drawer/drawer-container.directive.ts","../../../src/slide/slide.module.ts","../../../src/slide/ngx-tethys-slide.ts"],"sourcesContent":["import { transition, style, animate, AnimationTriggerMetadata, trigger, state } from '@angular/animations';\n\nconst animationBody = [\n transition('void => offsetLeft', [style({ width: 0 }), animate('0.2s ease-in')]),\n transition('offsetLeft => exit', [animate('0.2s', style({ width: 0 }))]),\n transition('void => offsetRight', [style({ width: 0 }), animate('0.2s ease')]),\n transition('offsetRight => exit', [animate('0.2s', style({ width: 0 }))]),\n transition('void => offsetTop', [style({ height: 0 }), animate('0.2s ease-in')]),\n transition('offsetTop => exit', [animate('0.2s', style({ height: 0 }))]),\n transition('void => offsetBottom', [style({ height: 0 }), animate('0.2s ease-in')]),\n transition('offsetBottom => exit', [animate('0.2s', style({ height: 0 }))]),\n\n state('left right top bottom', style({ transform: '*' })),\n transition('void => left', [style({ transform: 'translateX(-100%)' }), animate('0.2s ease-in')]),\n transition('left => exit', [animate('0.2s', style({ transform: 'translateX(-100%)' }))]),\n transition('void => right', [style({ transform: 'translateX(100%)' }), animate('0.2s ease-in')]),\n transition('right => exit', [animate('0.2s', style({ transform: 'translateX(100%)' }))]),\n transition('void => top', [style({ transform: 'translateY(-100%)' }), animate('0.2s ease-in')]),\n transition('top => exit', [animate('0.2s', style({ transform: 'translateY(-100%)' }))]),\n transition('void => bottom', [style({ transform: 'translateY(100%)' }), animate('0.2s ease-in')]),\n transition('bottom => exit', [animate('0.2s', style({ transform: 'translateY(100%)' }))])\n];\n\nexport const thySlideAnimations: {\n readonly slideContainer: AnimationTriggerMetadata;\n} = {\n slideContainer: trigger('slideContainer', animationBody)\n};\n","import { ThyAbstractOverlayConfig, ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nimport { ElementRef, InjectionToken } from '@angular/core';\n\nexport type ThySlideFromTypes =\n | 'left'\n | 'right'\n | 'top'\n | 'bottom'\n | 'void'\n | 'exit'\n | 'offsetLeft'\n | 'offsetRight'\n | 'offsetTop'\n | 'offsetBottom';\n\nexport type ThySlideMode = 'over' | 'push' | 'side';\n\n/**\n * @public\n * @order 20\n */\nexport class ThySlideConfig<TData = unknown> extends ThyAbstractOverlayConfig<TData> {\n /**\n * Origin Element, for overlay flexible connected to\n * @type ElementRef<any> | HTMLElement | any\n */\n origin?: ElementRef<any> | HTMLElement | any;\n\n /**\n * slide 进场的方向,可选 left | right | top | bottom\n * @description.en-us set the direction when slide enter\n * @default right\n */\n from?: ThySlideFromTypes;\n\n /**\n * 从距离屏幕边缘 offset 出滑入滑出,单位 px\n */\n offset?: number;\n\n /**\n * set class to trigger element.\n * @type string | string[]\n */\n originActiveClass?: string | string[];\n\n /**\n * slide 弹出的容器,可传入id、HTMLElement 或 ElementRef<HTMLElement>\n * @description.en-us set the drawerContainer by id、HTMLElement or ElementRef<HTMLElement>. e.g. drawerContainer = '#offset-host'\n * @type string | HTMLElement | ElementRef<HTMLElement>\n */\n drawerContainer?: string | HTMLElement | ElementRef<HTMLElement>;\n\n /**\n * slide 进场的方向,可选 push | over | slide\n * @description.en-us set the render way. one of 'over' or 'push'. Default is 'over'\n * @default over\n */\n mode?: ThySlideMode;\n\n /**\n * 是否禁用关闭上一个已打开的 slideRef\n * @description.en-us set whether to disable close the latest item. Default is false\n * @default false\n */\n disableCloseLatest?: boolean;\n}\n\nexport class ThySlideOption extends ThySlideConfig {}\n\nexport const THY_SLIDE_DEFAULT_CONFIG = new InjectionToken<ThySlideConfig>('thy-slide-default-options');\n\nexport const slideAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'slide',\n animationEnabled: true,\n disposeWhenClose: true\n};\n\nexport const slideDefaultConfigValue = {\n hasBackdrop: true,\n backdropClass: 'thy-slide-backdrop',\n backdropClosable: true,\n closeOnNavigation: true,\n autoFocus: true,\n restoreFocus: true,\n from: 'right',\n panelClass: 'thy-slide',\n containerClass: '',\n role: 'slide',\n offset: 0,\n originActiveClass: 'thy-slide-origin-active',\n mode: 'over',\n drawerContainer: '',\n disableCloseLatest: false\n};\n\nexport const THY_SLIDE_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_SLIDE_DEFAULT_CONFIG,\n useValue: {}\n};\n","import { ThyAbstractOverlayContainer, ThyPortalOutlet } from 'ngx-tethys/core';\nimport { helpers } from 'ngx-tethys/util';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, startWith, takeUntil } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport { ChangeDetectorRef, Component, ElementRef, Inject, NgZone, OnDestroy, Renderer2, ViewChild } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nimport { thySlideAnimations } from './slide-animations';\nimport { slideAbstractOverlayOptions, ThySlideConfig, ThySlideFromTypes } from './slide.config';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-slide-container',\n template: ` <ng-template thyPortalOutlet></ng-template> `,\n animations: [thySlideAnimations.slideContainer],\n host: {\n class: 'thy-slide-container',\n '[class.thy-slide-push]': 'isPush',\n '[class.thy-slide-side]': 'isSide',\n '[class.thy-slide-over]': '!isPush && !isSide',\n tabindex: '-1',\n '[attr.role]': `'slide'`,\n '[@slideContainer]': 'animationState',\n '(@slideContainer.start)': 'onAnimationStart($event)',\n '(@slideContainer.done)': 'onAnimationDone($event)',\n '[style.width.px]': 'slideContainerStyles.width',\n '[style.height.px]': 'slideContainerStyles.height',\n '[style.max-height.px]': 'slideContainerStyles.height'\n },\n standalone: true,\n imports: [PortalModule, ThyPortalOutlet]\n})\nexport class ThySlideContainer extends ThyAbstractOverlayContainer implements OnDestroy {\n @ViewChild(ThyPortalOutlet, { static: true })\n portalOutlet: ThyPortalOutlet;\n\n animationOpeningDone: Observable<AnimationEvent>;\n\n animationClosingDone: Observable<AnimationEvent>;\n\n animationState: ThySlideFromTypes = 'void';\n\n slideContainerStyles: { width?: number; height?: number } = {};\n\n private drawerContainerElement: HTMLElement;\n\n private ngUnsubscribe$ = new Subject<void>();\n\n private hostRenderer = useHostRenderer();\n\n get isPush() {\n return this.config.mode === 'push' && !!this.drawerContainerElement;\n }\n\n get isSide() {\n return this.config.mode === 'side' && !!this.drawerContainerElement;\n }\n\n private get isLeftOrRight(): boolean {\n return this.config.from === 'left' || this.config.from === 'right';\n }\n\n private get hostOffset() {\n let offset = 0;\n if (this.isLeftOrRight) {\n offset = this.elementRef.nativeElement.clientWidth + this.config.offset || 0;\n } else {\n offset = this.elementRef.nativeElement.clientHeight + this.config.offset || 0;\n }\n return offset;\n }\n\n private get transform() {\n switch (this.config.from) {\n case 'left':\n return `translateX(${this.hostOffset}px)`;\n case 'right':\n return `translateX(-${this.hostOffset}px)`;\n case 'top':\n return `translateY(${this.hostOffset}px)`;\n case 'bottom':\n return `translateY(${this.hostOffset}px)`;\n }\n }\n\n private get drawerContainerElementClass() {\n return `thy-slide-${this.config.mode}-drawer-container`;\n }\n\n constructor(\n private elementRef: ElementRef,\n @Inject(DOCUMENT) private document: any,\n public config: ThySlideConfig,\n changeDetectorRef: ChangeDetectorRef,\n private renderer: Renderer2,\n private viewportRuler: ViewportRuler,\n private readonly ngZone: NgZone\n ) {\n super(slideAbstractOverlayOptions, changeDetectorRef);\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === this.animationState;\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n this.setDrawerContainerElement();\n this.checkContainerWithinViewport();\n this.addDrawerContainerElementClass();\n }\n\n private setDrawerContainerElement() {\n if (typeof this.config.drawerContainer === 'string') {\n this.drawerContainerElement = this.config.drawerContainer && document.querySelector(this.config.drawerContainer);\n }\n if (this.config.drawerContainer instanceof ElementRef) {\n this.drawerContainerElement = this.config.drawerContainer.nativeElement;\n }\n if (this.config.drawerContainer instanceof HTMLElement) {\n this.drawerContainerElement = this.config.drawerContainer as HTMLElement;\n }\n }\n\n private setSlideContainerStyles() {\n let width, height, top, left;\n const drawerContainerElementRect = (this.drawerContainerElement || document.body).getBoundingClientRect();\n if (this.isLeftOrRight) {\n height = drawerContainerElementRect.height;\n top = drawerContainerElementRect.top;\n this.hostRenderer.setStyle('top', `${top}px`);\n } else {\n width = drawerContainerElementRect.width;\n left = drawerContainerElementRect.left;\n this.hostRenderer.setStyle('left', `${left}px`);\n }\n this.slideContainerStyles = {\n width: width,\n height: height\n };\n }\n\n private checkContainerWithinViewport() {\n this.viewportRuler\n .change(100)\n .pipe(startWith(null), takeUntil(this.ngUnsubscribe$))\n .subscribe(() => {\n this.ngZone.run(() => this.setSlideContainerStyles());\n });\n }\n\n private addDrawerContainerElementClass() {\n if (this.drawerContainerElement) {\n this.renderer.addClass(this.drawerContainerElement, this.drawerContainerElementClass);\n }\n }\n\n private removeDrawerContainerElementClass() {\n if (this.drawerContainerElement) {\n this.renderer.removeClass(this.drawerContainerElement, this.drawerContainerElementClass);\n }\n }\n\n private setDrawerContainerElementStyle() {\n if (this.isSide) {\n this.renderer.setStyle(this.drawerContainerElement, `margin-${this.config.from}`, `${this.hostOffset}px`);\n } else if (this.isPush) {\n this.renderer.setStyle(this.drawerContainerElement, `transform`, this.transform);\n }\n }\n\n private removeDrawerContainerElementStyle() {\n if (this.isSide) {\n this.renderer.removeStyle(this.drawerContainerElement, `margin-${this.config.from}`);\n } else if (this.isPush) {\n this.renderer.removeStyle(this.drawerContainerElement, `transform`);\n }\n }\n\n beforeAttachPortal(): void {\n if (this.config.offset) {\n this.hostRenderer.setStyle(this.config.from, `${this.config.offset}px`);\n this.animationState = helpers.camelCase(['offset', this.config.from]) as ThySlideFromTypes;\n } else {\n this.animationState = this.config.from;\n }\n this.setDrawerContainerElementStyle();\n }\n\n beforeDetachPortal(): void {\n this.removeDrawerContainerElementStyle();\n }\n\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n ngOnDestroy() {\n super.destroy();\n this.removeDrawerContainerElementClass();\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","import { ThyAbstractInternalOverlayRef, ThyAbstractOverlayPosition, ThyAbstractOverlayRef } from 'ngx-tethys/core';\n\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { Injectable } from '@angular/core';\n\nimport { ThySlideContainer } from './slide-container.component';\nimport { slideAbstractOverlayOptions, ThySlideConfig } from './slide.config';\n\n/**\n * @public\n * @order 30\n */\nexport abstract class ThySlideRef<T, TResult = unknown> extends ThyAbstractOverlayRef<T, ThySlideContainer, TResult> {}\n\n/**\n * @internal\n */\n@Injectable()\nexport class ThyInternalSlideRef<T = unknown, TResult = unknown>\n extends ThyAbstractInternalOverlayRef<T, ThySlideContainer, TResult>\n implements ThySlideRef<T>\n{\n constructor(overlayRef: OverlayRef, containerInstance: ThySlideContainer, config: ThySlideConfig) {\n super(slideAbstractOverlayOptions, overlayRef, containerInstance, config);\n }\n\n updatePosition(position?: ThyAbstractOverlayPosition): this {\n return this.updateGlobalPosition(position);\n }\n}\n","import { ComponentTypeOrTemplateRef, ThyAbstractOverlayRef, ThyAbstractOverlayService } from 'ngx-tethys/core';\nimport { coerceArray } from 'ngx-tethys/util';\nimport { of } from 'rxjs';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Inject, Injectable, Injector, OnDestroy, Optional, StaticProvider } from '@angular/core';\n\nimport { ThySlideContainer } from './slide-container.component';\nimport { ThyInternalSlideRef, ThySlideRef } from './slide-ref.service';\nimport { slideAbstractOverlayOptions, slideDefaultConfigValue, THY_SLIDE_DEFAULT_CONFIG, ThySlideConfig } from './slide.config';\n\n/**\n * @public\n * @order 10\n */\n@Injectable()\nexport class ThySlideService extends ThyAbstractOverlayService<ThySlideConfig, ThySlideContainer> implements OnDestroy {\n private originElementAddActiveClass(config: ThySlideConfig) {\n if (config.origin) {\n coerceElement<HTMLElement>(config.origin).classList.add(...coerceArray(config.originActiveClass));\n }\n }\n\n private originElementRemoveActiveClass(config: ThySlideConfig) {\n if (config.origin) {\n coerceElement<HTMLElement>(config.origin).classList.remove(...coerceArray(config.originActiveClass));\n }\n }\n\n protected buildOverlayConfig(config: ThySlideConfig): OverlayConfig {\n const defaultClasses: string[] = ['thy-slide-overlay-pane', `thy-slide-${config.from}`];\n const overlayConfig = {\n ...this.buildBaseOverlayConfig(config, defaultClasses),\n width: config.width\n };\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThySlideConfig): ThySlideContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThySlideConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThySlideContainer, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThySlideContainer>(containerPortal);\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T>(\n overlayRef: OverlayRef,\n containerInstance: ThySlideContainer,\n config: ThySlideConfig\n ): ThyAbstractOverlayRef<T, ThySlideContainer, any> {\n return new ThyInternalSlideRef(overlayRef, containerInstance, config);\n }\n\n protected createInjector<T>(\n config: ThySlideConfig,\n overlayRef: ThyAbstractOverlayRef<T, ThySlideContainer, any>,\n containerInstance: ThySlideContainer\n ): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n const injectionTokens: StaticProvider[] = [\n { provide: ThySlideContainer, useValue: containerInstance },\n { provide: ThySlideRef, useValue: overlayRef }\n ];\n\n if (config.direction && (!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {\n injectionTokens.push({\n provide: Directionality,\n useValue: {\n value: config.direction,\n change: of()\n }\n });\n }\n\n return Injector.create({ parent: userInjector || this.injector, providers: injectionTokens });\n }\n\n private overlayIsOpened(config: ThySlideConfig) {\n const openedOverlay = this.getAbstractOverlayById(config.id);\n const slideConfig = Object.assign({}, this.defaultConfig, config);\n if (!slideConfig.disableCloseLatest) {\n this.close(openedOverlay);\n }\n return openedOverlay;\n }\n\n constructor(\n overlay: Overlay,\n injector: Injector,\n @Optional()\n @Inject(THY_SLIDE_DEFAULT_CONFIG)\n defaultConfig: ThySlideConfig\n ) {\n const slideDefaultConfig = Object.assign({}, slideDefaultConfigValue, defaultConfig);\n super(slideAbstractOverlayOptions, overlay, injector, slideDefaultConfig);\n }\n\n /**\n * 打开滑动弹出框\n */\n open<T, TData = unknown, TResult = unknown>(\n componentOrTemplateRef: ComponentTypeOrTemplateRef<T>,\n config: ThySlideConfig<TData>\n ): ThySlideRef<T, TResult> {\n if (this.overlayIsOpened(config)) {\n return;\n }\n const slideRef = this.openOverlay<T, TResult>(componentOrTemplateRef, config);\n this.originElementAddActiveClass(slideRef.containerInstance.config);\n slideRef.afterClosed().subscribe(() => {\n this.originElementRemoveActiveClass(slideRef.containerInstance.config);\n });\n return slideRef;\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import { Component, ViewEncapsulation, OnInit, HostBinding } from '@angular/core';\n\n/**\n * @name thy-slide-layout\n * @order 35\n */\n@Component({\n selector: 'thy-slide-layout',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class ThySlideLayout implements OnInit {\n @HostBinding('class.thy-slide-layout') slideLayout = true;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","import { Component, ContentChild, TemplateRef, Input, OnInit, HostBinding } from '@angular/core';\nimport { ThySlideService } from '../slide.service';\nimport { ThyAction } from 'ngx-tethys/action';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\n\n/**\n * 滑动弹出框的头部组件\n * @name thy-slide-header\n * @order 40\n */\n@Component({\n selector: 'thy-slide-header',\n templateUrl: './slide-header.component.html',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, ThyIcon, ThyAction]\n})\nexport class ThySlideHeader implements OnInit {\n isIconFont = false;\n\n private _iconName = '';\n\n @HostBinding('class.thy-slide-header') slideLayoutHeader = true;\n\n /**\n * 标题\n */\n @Input() thyTitle: string;\n\n /**\n * 标题的图标\n */\n @Input() set thyIcon(value: string) {\n this._iconName = value;\n if (value.includes('wtf')) {\n this.isIconFont = true;\n } else {\n this.isIconFont = false;\n }\n }\n\n get thyIcon() {\n return this._iconName;\n }\n\n /**\n * 自定义头模板\n * @type TemplateRef\n */\n @ContentChild('thyHeader') headerTemplate: TemplateRef<any>;\n\n /**\n * 头部操作区域模板\n * @type TemplateRef\n */\n @ContentChild('thyHeaderOperate') headerOperateTemplate: TemplateRef<any>;\n\n constructor(private thySlideService: ThySlideService) {}\n\n ngOnInit() {}\n\n closeModal(event: Event) {\n event.stopPropagation();\n this.thySlideService.close();\n }\n}\n","<ng-template *ngIf=\"headerTemplate; else default\" [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n<ng-template #default>\n <h3 class=\"thy-slide-header-title\">\n <thy-icon *ngIf=\"!isIconFont && thyIcon; else iconFont\" [thyIconName]=\"thyIcon\"></thy-icon>\n <ng-template #iconFont>\n <i *ngIf=\"thyIcon\" class=\"wft {{ thyIcon }}\"></i>\n </ng-template>\n {{ thyTitle }}\n </h3>\n\n <div class=\"thy-slide-header-main\">\n <ng-container>\n <ng-template *ngIf=\"headerOperateTemplate\" [ngTemplateOutlet]=\"headerOperateTemplate\"> </ng-template>\n </ng-container>\n </div>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"closeModal($event)\"></a>\n</ng-template>\n","import { Component, HostBinding } from '@angular/core';\n\n/**\n * @name thy-slide-body\n * @order 45\n */\n@Component({\n selector: 'thy-slide-body',\n template: ` <ng-content></ng-content> `,\n standalone: true\n})\nexport class ThySlideBody {\n @HostBinding('class.thy-slide-body') slideLayoutBody = true;\n}\n","import { Component, Input, OnInit, HostBinding, booleanAttribute } from '@angular/core';\n\n/**\n * @name thy-slide-body-section\n * @order 50\n */\n@Component({\n selector: 'thy-slide-body-section',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class ThySlideBodySection implements OnInit {\n @HostBinding('class.thy-slide-body-section') thySlideBodyItem = true;\n\n @HostBinding('class.thy-slide-body-section-divider') hasDivider = false;\n\n /**\n * 是否有分割线\n * @default false\n */\n @Input({ transform: booleanAttribute })\n set thyDividerBorder(value: boolean) {\n this.hasDivider = value;\n }\n\n ngOnInit() {}\n}\n","import { Component, OnInit, HostBinding } from '@angular/core';\n\n/**\n * @name thy-slide-footer\n * @order 55\n */\n@Component({\n selector: 'thy-slide-footer',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class ThySlideFooter implements OnInit {\n @HostBinding('class.thy-slide-footer') slideLayoutFooter = true;\n\n ngOnInit() {}\n}\n","import { Directive, ElementRef } from '@angular/core';\n\n/**\n * @name thyDrawerContainer\n * @order 60\n */\n@Directive({\n selector: '[thyDrawerContainer]',\n standalone: true\n})\nexport class ThyDrawerContainerDirective {\n constructor(public elementRef: ElementRef) {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThySlideService } from './slide.service';\nimport { ThySlideContainer } from './slide-container.component';\nimport { ThyInternalSlideRef } from './slide-ref.service';\nimport { ThySlideLayout } from './slide-layout/slide-layout.component';\nimport { ThySlideHeader } from './slide-header/slide-header.component';\nimport { ThySlideBody } from './slide-body/slide-body.component';\nimport { ThySlideBodySection } from './slide-body/slide-body-section.component';\nimport { ThySlideFooter } from './slide-footer/slide-footer.component';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { THY_SLIDE_DEFAULT_CONFIG_PROVIDER } from './slide.config';\nimport { ThyDrawerContainerDirective } from './drawer/drawer-container.directive';\nimport { ThyActionModule } from 'ngx-tethys/action';\n\n@NgModule({\n imports: [\n CommonModule,\n ThySharedModule,\n ThyIconModule,\n OverlayModule,\n PortalModule,\n ThyActionModule,\n ThySlideContainer,\n ThySlideLayout,\n ThySlideHeader,\n ThySlideBody,\n ThySlideBodySection,\n ThySlideFooter,\n ThyDrawerContainerDirective\n ],\n exports: [ThySlideLayout, ThySlideHeader, ThySlideBody, ThySlideBodySection, ThySlideFooter, ThyDrawerContainerDirective],\n providers: [ThyInternalSlideRef, ThySlideService, THY_SLIDE_DEFAULT_CONFIG_PROVIDER]\n})\nexport class ThySlideModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThySlideConfig","i2","i2.ThySlideContainer","i3.ThySlideConfig","i1.ThySlideService"],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { __decorate, __metadata } from 'tslib';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { EventEmitter, forwardRef, Component, HostBinding, Input, ViewChild, Output, NgModule } from '@angular/core';
|
|
2
|
+
import { EventEmitter, booleanAttribute, numberAttribute, forwardRef, Component, HostBinding, Input, ViewChild, Output, NgModule } from '@angular/core';
|
|
4
3
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
5
4
|
import { fromEvent } from 'rxjs';
|
|
6
|
-
import {
|
|
5
|
+
import { clamp } from 'ngx-tethys/util';
|
|
7
6
|
import { pluck, map, tap, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
8
|
-
import { TabIndexDisabledControlValueAccessorMixin
|
|
7
|
+
import { TabIndexDisabledControlValueAccessorMixin } from 'ngx-tethys/core';
|
|
9
8
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
10
9
|
import { NgStyle, CommonModule } from '@angular/common';
|
|
11
10
|
|
|
@@ -18,12 +17,12 @@ class ThySlider extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
18
17
|
/**
|
|
19
18
|
* 是否禁用
|
|
20
19
|
*/
|
|
20
|
+
set thyDisabled(value) {
|
|
21
|
+
this.disabled = value;
|
|
22
|
+
}
|
|
21
23
|
get thyDisabled() {
|
|
22
24
|
return this.disabled;
|
|
23
25
|
}
|
|
24
|
-
set thyDisabled(value) {
|
|
25
|
-
this.disabled = coerceBooleanProperty(value);
|
|
26
|
-
}
|
|
27
26
|
/**
|
|
28
27
|
* 切换主题类型
|
|
29
28
|
* @type primary | success | info | warning | danger
|
|
@@ -265,7 +264,7 @@ class ThySlider extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
265
264
|
return integerLength >= 0 ? valueString.length - integerLength : 0;
|
|
266
265
|
}
|
|
267
266
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThySlider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
268
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
267
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThySlider, isStandalone: true, selector: "thy-slider", inputs: { thyVertical: ["thyVertical", "thyVertical", booleanAttribute], thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute], thyMax: ["thyMax", "thyMax", numberAttribute], thyMin: ["thyMin", "thyMin", numberAttribute], thyStep: ["thyStep", "thyStep", numberAttribute], thyType: "thyType", thyColor: "thyColor", thySize: "thySize" }, outputs: { thyAfterChange: "thyAfterChange" }, host: { properties: { "attr.tabindex": "tabIndex", "class.slider-vertical": "this.thyVertical", "class.slider-disabled": "this.thyDisabled", "class.thy-slider": "this._thySlider", "class.cursor-pointer": "this._pointer" } }, providers: [
|
|
269
268
|
{
|
|
270
269
|
provide: NG_VALUE_ACCESSOR,
|
|
271
270
|
useExisting: forwardRef(() => ThySlider),
|
|
@@ -273,27 +272,6 @@ class ThySlider extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
273
272
|
}
|
|
274
273
|
], viewQueries: [{ propertyName: "sliderRail", first: true, predicate: ["sliderRail"], descendants: true, static: true }, { propertyName: "sliderTrack", first: true, predicate: ["sliderTrack"], descendants: true, static: true }, { propertyName: "sliderPointer", first: true, predicate: ["sliderPointer"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-slider-rail\" #sliderRail>\n <div class=\"thy-slider-track\" #sliderTrack [ngStyle]=\"{ 'background-color': thyColor }\"></div>\n <div class=\"thy-slider-pointer\" #sliderPointer [ngStyle]=\"{ 'border-color': thyColor }\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
275
274
|
}
|
|
276
|
-
__decorate([
|
|
277
|
-
InputBoolean(),
|
|
278
|
-
__metadata("design:type", Object)
|
|
279
|
-
], ThySlider.prototype, "thyVertical", void 0);
|
|
280
|
-
__decorate([
|
|
281
|
-
InputBoolean(),
|
|
282
|
-
__metadata("design:type", Boolean),
|
|
283
|
-
__metadata("design:paramtypes", [Boolean])
|
|
284
|
-
], ThySlider.prototype, "thyDisabled", null);
|
|
285
|
-
__decorate([
|
|
286
|
-
InputNumber(),
|
|
287
|
-
__metadata("design:type", Object)
|
|
288
|
-
], ThySlider.prototype, "thyMax", void 0);
|
|
289
|
-
__decorate([
|
|
290
|
-
InputNumber(),
|
|
291
|
-
__metadata("design:type", Object)
|
|
292
|
-
], ThySlider.prototype, "thyMin", void 0);
|
|
293
|
-
__decorate([
|
|
294
|
-
InputNumber(),
|
|
295
|
-
__metadata("design:type", Object)
|
|
296
|
-
], ThySlider.prototype, "thyStep", void 0);
|
|
297
275
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThySlider, decorators: [{
|
|
298
276
|
type: Component,
|
|
299
277
|
args: [{ selector: 'thy-slider', providers: [
|
|
@@ -309,12 +287,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
309
287
|
type: HostBinding,
|
|
310
288
|
args: ['class.slider-vertical']
|
|
311
289
|
}, {
|
|
312
|
-
type: Input
|
|
290
|
+
type: Input,
|
|
291
|
+
args: [{ transform: booleanAttribute }]
|
|
313
292
|
}], thyDisabled: [{
|
|
314
293
|
type: HostBinding,
|
|
315
294
|
args: ['class.slider-disabled']
|
|
316
295
|
}, {
|
|
317
|
-
type: Input
|
|
296
|
+
type: Input,
|
|
297
|
+
args: [{ transform: booleanAttribute }]
|
|
318
298
|
}], _thySlider: [{
|
|
319
299
|
type: HostBinding,
|
|
320
300
|
args: ['class.thy-slider']
|
|
@@ -331,11 +311,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
331
311
|
type: ViewChild,
|
|
332
312
|
args: ['sliderPointer', { static: true }]
|
|
333
313
|
}], thyMax: [{
|
|
334
|
-
type: Input
|
|
314
|
+
type: Input,
|
|
315
|
+
args: [{ transform: numberAttribute }]
|
|
335
316
|
}], thyMin: [{
|
|
336
|
-
type: Input
|
|
317
|
+
type: Input,
|
|
318
|
+
args: [{ transform: numberAttribute }]
|
|
337
319
|
}], thyStep: [{
|
|
338
|
-
type: Input
|
|
320
|
+
type: Input,
|
|
321
|
+
args: [{ transform: numberAttribute }]
|
|
339
322
|
}], thyType: [{
|
|
340
323
|
type: Input
|
|
341
324
|
}], thyColor: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-slider.mjs","sources":["../../../src/slider/slider.component.ts","../../../src/slider/slider.component.html","../../../src/slider/slider.module.ts","../../../src/slider/ngx-tethys-slider.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n OnChanges,\n OnDestroy,\n AfterViewInit,\n SimpleChanges,\n forwardRef,\n Input,\n EventEmitter,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n HostBinding,\n Output,\n NgZone\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Observable, Subscription, fromEvent } from 'rxjs';\nimport { clamp, coerceBooleanProperty } from 'ngx-tethys/util';\nimport { tap, pluck, map, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { InputBoolean, InputNumber, TabIndexDisabledControlValueAccessorMixin } from 'ngx-tethys/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { NgStyle } from '@angular/common';\n\nexport type ThySliderType = 'primary' | 'success' | 'info' | 'warning' | 'danger';\n\nexport type ThySliderSize = 'sm' | 'md' | 'lg';\n\n/**\n * 滑动输入条组件\n * @name thy-slider\n * @order 10\n */\n@Component({\n selector: 'thy-slider',\n templateUrl: './slider.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThySlider),\n multi: true\n }\n ],\n host: {\n '[attr.tabindex]': `tabIndex`\n },\n standalone: true,\n imports: [NgStyle]\n})\nexport class ThySlider\n extends TabIndexDisabledControlValueAccessorMixin\n implements OnInit, AfterViewInit, OnDestroy, OnChanges, ControlValueAccessor\n{\n /**\n * 是否切换为纵轴模式\n */\n @HostBinding('class.slider-vertical')\n @Input()\n @InputBoolean()\n thyVertical = false;\n\n /**\n * 是否禁用\n */\n @HostBinding('class.slider-disabled')\n @Input()\n @InputBoolean()\n override get thyDisabled(): boolean {\n return this.disabled;\n }\n\n override set thyDisabled(value: boolean) {\n this.disabled = coerceBooleanProperty(value);\n }\n\n disabled = false;\n\n @HostBinding('class.thy-slider') _thySlider = true;\n\n @HostBinding('class.cursor-pointer') _pointer = true;\n\n @ViewChild('sliderRail', { static: true }) sliderRail: ElementRef;\n\n @ViewChild('sliderTrack', { static: true }) sliderTrack: ElementRef;\n\n @ViewChild('sliderPointer', { static: true }) sliderPointer: ElementRef;\n\n /**\n * 最大值\n */\n @Input() @InputNumber() thyMax = 100;\n\n /**\n * 最小值\n */\n @Input() @InputNumber() thyMin = 0;\n\n /**\n * 步长,需要被 thyMax - thyMin 的差值整除。\n */\n @Input() @InputNumber() thyStep = 1;\n\n /**\n * 切换主题类型\n * @type primary | success | info | warning | danger\n * @default success\n */\n @Input() set thyType(type: ThySliderType) {\n if (type) {\n if (this.typeClassName) {\n this.hostRenderer.removeClass(this.typeClassName);\n }\n this.hostRenderer.addClass(type ? `thy-slider-${type}` : '');\n this.typeClassName = `thy-slider-${type}`;\n }\n }\n\n /**\n * 通过变量设置颜色\n */\n @Input() thyColor: string;\n\n /**\n * 滑动输入条大小\n * @type sm | md | lg\n * @default sm\n */\n @Input() set thySize(size: ThySliderSize) {\n if (size) {\n if (this.sizeClassName) {\n this.hostRenderer.removeClass(this.sizeClassName);\n }\n this.hostRenderer.addClass(size ? `thy-slider-${size}` : '');\n this.sizeClassName = `thy-slider-${size}`;\n }\n }\n\n /**\n * 移动结束后的回调,参数为当前值\n */\n @Output() thyAfterChange = new EventEmitter<{ value: number }>();\n\n public value: number;\n\n private typeClassName = '';\n\n private sizeClassName = '';\n\n private dragStartListener: Observable<number>;\n\n private dragMoveListener: Observable<number>;\n\n private dragEndListener: Observable<Event>;\n\n private dragStartHandler: Subscription | null;\n\n private dragMoveHandler: Subscription | null;\n\n private dragEndHandler: Subscription | null;\n\n private hostRenderer = useHostRenderer();\n\n private onChangeCallback = (v: any) => {};\n\n private onTouchedCallback = (v: any) => {};\n\n constructor(private cdr: ChangeDetectorRef, private ngZone: NgZone, private ref: ElementRef) {\n super();\n }\n\n ngOnInit() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n verifyMinAndMax(this);\n verifyStepValues(this);\n }\n\n this.toggleDisabled();\n if (this.value === null || this.value === undefined) {\n this.setValue(this.ensureValueInRange(null));\n }\n }\n\n ngAfterViewInit() {\n this.registerMouseEventsListeners();\n this.toggleDisabled();\n }\n\n writeValue(newValue: number) {\n this.setValue(this.ensureValueInRange(newValue));\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (changes.hasOwnProperty('thyMin') || changes.hasOwnProperty('thyMax') || changes.hasOwnProperty('thyStep')) {\n verifyMinAndMax(this);\n verifyStepValues(this);\n }\n }\n }\n\n ngOnDestroy() {\n this.unsubscribeMouseListeners();\n }\n\n private toggleDisabled() {\n if (this.thyDisabled) {\n this.unsubscribeMouseListeners();\n } else {\n this.subscribeMouseListeners(['start']);\n }\n }\n\n private setValue(value: number) {\n if (this.value !== value) {\n this.value = value;\n this.updateTrackAndPointer();\n }\n this.onChangeCallback(this.value);\n }\n\n private ensureValueInRange(value: number): number {\n if (!this.valueMustBeValid(value)) {\n return this.thyMin;\n }\n return clamp(value, this.thyMin, this.thyMax);\n }\n\n private valueMustBeValid(value: number): boolean {\n return !isNaN(typeof value !== 'number' ? parseFloat(value) : value);\n }\n\n private updateTrackAndPointer() {\n const offset = this.valueToOffset(this.value);\n this.updateStyle(offset / 100);\n this.cdr.markForCheck();\n }\n\n private valueToOffset(value: number): number {\n return ((value - this.thyMin) * 100) / (this.thyMax - this.thyMin);\n }\n\n private updateStyle(offsetPercentage: number) {\n const percentage = Math.min(1, Math.max(0, offsetPercentage));\n const orientFields: string[] = this.thyVertical ? ['height', 'bottom'] : ['width', 'left'];\n this.sliderTrack.nativeElement.style[orientFields[0]] = `${percentage * 100}%`;\n this.sliderPointer.nativeElement.style[orientFields[1]] = `${percentage * 100}%`;\n }\n\n private unsubscribeMouseListeners(actions: string[] = ['start', 'move', 'end']) {\n if (actions.includes('start') && this.dragStartHandler) {\n this.dragStartHandler.unsubscribe();\n this.dragStartHandler = null;\n }\n if (actions.includes('move') && this.dragMoveHandler) {\n this.dragMoveHandler.unsubscribe();\n this.dragMoveHandler = null;\n }\n if (actions.includes('end') && this.dragEndHandler) {\n this.dragEndHandler.unsubscribe();\n this.dragEndHandler = null;\n }\n }\n\n private subscribeMouseListeners(actions: string[] = ['start', 'move', 'end']) {\n if (actions.includes('start') && this.dragStartListener && !this.dragStartHandler) {\n this.dragStartHandler = this.dragStartListener.subscribe(this.mouseStartMoving.bind(this));\n }\n\n if (actions.includes('move') && this.dragMoveListener && !this.dragMoveHandler) {\n this.dragMoveHandler = this.dragMoveListener.subscribe(this.mouseMoving.bind(this));\n }\n\n if (actions.includes('end') && this.dragEndListener && !this.dragEndHandler) {\n this.dragEndHandler = this.dragEndListener.subscribe(this.mouseStopMoving.bind(this));\n }\n }\n\n private mouseStartMoving(value: number) {\n this.pointerController(true);\n this.setValue(value);\n }\n\n private mouseMoving(value: number) {\n this.setValue(this.ensureValueInRange(value));\n this.cdr.markForCheck();\n }\n\n private mouseStopMoving(): void {\n this.pointerController(false);\n this.cdr.markForCheck();\n this.thyAfterChange.emit({ value: this.value });\n }\n\n private pointerController(movable: boolean) {\n if (movable) {\n this.subscribeMouseListeners(['move', 'end']);\n } else {\n this.unsubscribeMouseListeners(['move', 'end']);\n }\n }\n private registerMouseEventsListeners() {\n const orientField = this.thyVertical ? 'pageY' : 'pageX';\n\n this.dragStartListener = this.ngZone.runOutsideAngular(() => {\n return fromEvent(this.ref.nativeElement, 'mousedown').pipe(\n pluck(orientField),\n map((position: number, index) => this.mousePositionToAdaptiveValue(position))\n );\n });\n\n this.dragEndListener = this.ngZone.runOutsideAngular(() => {\n return fromEvent(document, 'mouseup');\n });\n\n this.dragMoveListener = this.ngZone.runOutsideAngular(() => {\n return fromEvent(document, 'mousemove').pipe(\n tap((e: Event) => {\n e.stopPropagation();\n e.preventDefault();\n }),\n pluck(orientField),\n distinctUntilChanged(),\n map((position: number) => this.mousePositionToAdaptiveValue(position)),\n distinctUntilChanged(),\n takeUntil(this.dragEndListener)\n );\n });\n }\n\n private mousePositionToAdaptiveValue(position: number): number {\n const sliderStartPosition = this.getSliderPagePosition();\n const sliderLength = this.getRailLength();\n if (!sliderLength) {\n return this.value;\n }\n const ratio = this.convertPointerPositionToRatio(position, sliderStartPosition, sliderLength);\n const value = this.ratioToValue(ratio);\n return parseFloat(value.toFixed(this.getDecimals(this.thyStep)));\n }\n\n private getSliderPagePosition(): number {\n const rect = this.ref.nativeElement.getBoundingClientRect();\n const window = this.ref.nativeElement.ownerDocument.defaultView;\n const orientFields: string[] = this.thyVertical ? ['bottom', 'pageYOffset'] : ['left', 'pageXOffset'];\n return rect[orientFields[0]] + window[orientFields[1]];\n }\n\n private getRailLength() {\n const orientFiled = this.thyVertical ? 'clientHeight' : 'clientWidth';\n\n return this.sliderRail.nativeElement[orientFiled];\n }\n\n private convertPointerPositionToRatio(pointerPosition: number, startPosition: number, totalLength: number) {\n if (this.thyVertical) {\n return clamp((startPosition - pointerPosition) / totalLength, 0, 1);\n }\n return clamp((pointerPosition - startPosition) / totalLength, 0, 1);\n }\n\n private ratioToValue(ratio: number) {\n let value = (this.thyMax - this.thyMin) * ratio + this.thyMin;\n const step = this.thyStep;\n if (ratio === 0) {\n value = this.thyMin;\n } else if (ratio === 1) {\n value = this.thyMax;\n } else {\n value = Math.round(value / step) * step;\n }\n return clamp(value, this.thyMin, this.thyMax);\n }\n\n private getDecimals(value: number): number {\n const valueString = value.toString();\n const integerLength = valueString.indexOf('.') + 1;\n return integerLength >= 0 ? valueString.length - integerLength : 0;\n }\n}\n\n// Note: keep `verifyMinAndMax` and `verifyStepValues` as separate functions (not as class properties)\n// so they're tree-shakable in production mode.\n\nfunction verifyMinAndMax(ctx: ThySlider): void | never {\n if (ctx.thyMin >= ctx.thyMax) {\n throw new Error('min value must less than max value.');\n }\n}\n\nfunction verifyStepValues(ctx: ThySlider): void | never {\n if (ctx.thyStep <= 0 || !ctx.thyStep) {\n throw new Error('step value must be greater than 0.');\n } else if (Number.isInteger(ctx.thyStep) && (ctx.thyMax - ctx.thyMin) % ctx.thyStep) {\n throw new Error('(max - min) must be divisible by step.');\n }\n}\n","<div class=\"thy-slider-rail\" #sliderRail>\n <div class=\"thy-slider-track\" #sliderTrack [ngStyle]=\"{ 'background-color': thyColor }\"></div>\n <div class=\"thy-slider-pointer\" #sliderPointer [ngStyle]=\"{ 'border-color': thyColor }\"></div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { ThySlider } from './slider.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ThySlider],\n exports: [ThySlider],\n providers: []\n})\nexport class ThySliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-slider.mjs","sources":["../../../src/slider/slider.component.ts","../../../src/slider/slider.component.html","../../../src/slider/slider.module.ts","../../../src/slider/ngx-tethys-slider.ts"],"sourcesContent":["import {\n Component,\n OnInit,\n OnChanges,\n OnDestroy,\n AfterViewInit,\n SimpleChanges,\n forwardRef,\n Input,\n EventEmitter,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n HostBinding,\n Output,\n NgZone,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Observable, Subscription, fromEvent } from 'rxjs';\nimport { clamp } from 'ngx-tethys/util';\nimport { tap, pluck, map, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { TabIndexDisabledControlValueAccessorMixin } from 'ngx-tethys/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { NgStyle } from '@angular/common';\n\nexport type ThySliderType = 'primary' | 'success' | 'info' | 'warning' | 'danger';\n\nexport type ThySliderSize = 'sm' | 'md' | 'lg';\n\n/**\n * 滑动输入条组件\n * @name thy-slider\n * @order 10\n */\n@Component({\n selector: 'thy-slider',\n templateUrl: './slider.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThySlider),\n multi: true\n }\n ],\n host: {\n '[attr.tabindex]': `tabIndex`\n },\n standalone: true,\n imports: [NgStyle]\n})\nexport class ThySlider\n extends TabIndexDisabledControlValueAccessorMixin\n implements OnInit, AfterViewInit, OnDestroy, OnChanges, ControlValueAccessor\n{\n /**\n * 是否切换为纵轴模式\n */\n @HostBinding('class.slider-vertical')\n @Input({ transform: booleanAttribute })\n thyVertical = false;\n\n /**\n * 是否禁用\n */\n @HostBinding('class.slider-disabled')\n @Input({ transform: booleanAttribute })\n override set thyDisabled(value: boolean) {\n this.disabled = value;\n }\n override get thyDisabled(): boolean {\n return this.disabled;\n }\n\n disabled = false;\n\n @HostBinding('class.thy-slider') _thySlider = true;\n\n @HostBinding('class.cursor-pointer') _pointer = true;\n\n @ViewChild('sliderRail', { static: true }) sliderRail: ElementRef;\n\n @ViewChild('sliderTrack', { static: true }) sliderTrack: ElementRef;\n\n @ViewChild('sliderPointer', { static: true }) sliderPointer: ElementRef;\n\n /**\n * 最大值\n */\n @Input({ transform: numberAttribute }) thyMax = 100;\n\n /**\n * 最小值\n */\n @Input({ transform: numberAttribute }) thyMin = 0;\n\n /**\n * 步长,需要被 thyMax - thyMin 的差值整除。\n */\n @Input({ transform: numberAttribute }) thyStep = 1;\n\n /**\n * 切换主题类型\n * @type primary | success | info | warning | danger\n * @default success\n */\n @Input() set thyType(type: ThySliderType) {\n if (type) {\n if (this.typeClassName) {\n this.hostRenderer.removeClass(this.typeClassName);\n }\n this.hostRenderer.addClass(type ? `thy-slider-${type}` : '');\n this.typeClassName = `thy-slider-${type}`;\n }\n }\n\n /**\n * 通过变量设置颜色\n */\n @Input() thyColor: string;\n\n /**\n * 滑动输入条大小\n * @type sm | md | lg\n * @default sm\n */\n @Input() set thySize(size: ThySliderSize) {\n if (size) {\n if (this.sizeClassName) {\n this.hostRenderer.removeClass(this.sizeClassName);\n }\n this.hostRenderer.addClass(size ? `thy-slider-${size}` : '');\n this.sizeClassName = `thy-slider-${size}`;\n }\n }\n\n /**\n * 移动结束后的回调,参数为当前值\n */\n @Output() thyAfterChange = new EventEmitter<{ value: number }>();\n\n public value: number;\n\n private typeClassName = '';\n\n private sizeClassName = '';\n\n private dragStartListener: Observable<number>;\n\n private dragMoveListener: Observable<number>;\n\n private dragEndListener: Observable<Event>;\n\n private dragStartHandler: Subscription | null;\n\n private dragMoveHandler: Subscription | null;\n\n private dragEndHandler: Subscription | null;\n\n private hostRenderer = useHostRenderer();\n\n private onChangeCallback = (v: any) => {};\n\n private onTouchedCallback = (v: any) => {};\n\n constructor(private cdr: ChangeDetectorRef, private ngZone: NgZone, private ref: ElementRef) {\n super();\n }\n\n ngOnInit() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n verifyMinAndMax(this);\n verifyStepValues(this);\n }\n\n this.toggleDisabled();\n if (this.value === null || this.value === undefined) {\n this.setValue(this.ensureValueInRange(null));\n }\n }\n\n ngAfterViewInit() {\n this.registerMouseEventsListeners();\n this.toggleDisabled();\n }\n\n writeValue(newValue: number) {\n this.setValue(this.ensureValueInRange(newValue));\n }\n\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (changes.hasOwnProperty('thyMin') || changes.hasOwnProperty('thyMax') || changes.hasOwnProperty('thyStep')) {\n verifyMinAndMax(this);\n verifyStepValues(this);\n }\n }\n }\n\n ngOnDestroy() {\n this.unsubscribeMouseListeners();\n }\n\n private toggleDisabled() {\n if (this.thyDisabled) {\n this.unsubscribeMouseListeners();\n } else {\n this.subscribeMouseListeners(['start']);\n }\n }\n\n private setValue(value: number) {\n if (this.value !== value) {\n this.value = value;\n this.updateTrackAndPointer();\n }\n this.onChangeCallback(this.value);\n }\n\n private ensureValueInRange(value: number): number {\n if (!this.valueMustBeValid(value)) {\n return this.thyMin;\n }\n return clamp(value, this.thyMin, this.thyMax);\n }\n\n private valueMustBeValid(value: number): boolean {\n return !isNaN(typeof value !== 'number' ? parseFloat(value) : value);\n }\n\n private updateTrackAndPointer() {\n const offset = this.valueToOffset(this.value);\n this.updateStyle(offset / 100);\n this.cdr.markForCheck();\n }\n\n private valueToOffset(value: number): number {\n return ((value - this.thyMin) * 100) / (this.thyMax - this.thyMin);\n }\n\n private updateStyle(offsetPercentage: number) {\n const percentage = Math.min(1, Math.max(0, offsetPercentage));\n const orientFields: string[] = this.thyVertical ? ['height', 'bottom'] : ['width', 'left'];\n this.sliderTrack.nativeElement.style[orientFields[0]] = `${percentage * 100}%`;\n this.sliderPointer.nativeElement.style[orientFields[1]] = `${percentage * 100}%`;\n }\n\n private unsubscribeMouseListeners(actions: string[] = ['start', 'move', 'end']) {\n if (actions.includes('start') && this.dragStartHandler) {\n this.dragStartHandler.unsubscribe();\n this.dragStartHandler = null;\n }\n if (actions.includes('move') && this.dragMoveHandler) {\n this.dragMoveHandler.unsubscribe();\n this.dragMoveHandler = null;\n }\n if (actions.includes('end') && this.dragEndHandler) {\n this.dragEndHandler.unsubscribe();\n this.dragEndHandler = null;\n }\n }\n\n private subscribeMouseListeners(actions: string[] = ['start', 'move', 'end']) {\n if (actions.includes('start') && this.dragStartListener && !this.dragStartHandler) {\n this.dragStartHandler = this.dragStartListener.subscribe(this.mouseStartMoving.bind(this));\n }\n\n if (actions.includes('move') && this.dragMoveListener && !this.dragMoveHandler) {\n this.dragMoveHandler = this.dragMoveListener.subscribe(this.mouseMoving.bind(this));\n }\n\n if (actions.includes('end') && this.dragEndListener && !this.dragEndHandler) {\n this.dragEndHandler = this.dragEndListener.subscribe(this.mouseStopMoving.bind(this));\n }\n }\n\n private mouseStartMoving(value: number) {\n this.pointerController(true);\n this.setValue(value);\n }\n\n private mouseMoving(value: number) {\n this.setValue(this.ensureValueInRange(value));\n this.cdr.markForCheck();\n }\n\n private mouseStopMoving(): void {\n this.pointerController(false);\n this.cdr.markForCheck();\n this.thyAfterChange.emit({ value: this.value });\n }\n\n private pointerController(movable: boolean) {\n if (movable) {\n this.subscribeMouseListeners(['move', 'end']);\n } else {\n this.unsubscribeMouseListeners(['move', 'end']);\n }\n }\n private registerMouseEventsListeners() {\n const orientField = this.thyVertical ? 'pageY' : 'pageX';\n\n this.dragStartListener = this.ngZone.runOutsideAngular(() => {\n return fromEvent(this.ref.nativeElement, 'mousedown').pipe(\n pluck(orientField),\n map((position: number, index) => this.mousePositionToAdaptiveValue(position))\n );\n });\n\n this.dragEndListener = this.ngZone.runOutsideAngular(() => {\n return fromEvent(document, 'mouseup');\n });\n\n this.dragMoveListener = this.ngZone.runOutsideAngular(() => {\n return fromEvent(document, 'mousemove').pipe(\n tap((e: Event) => {\n e.stopPropagation();\n e.preventDefault();\n }),\n pluck(orientField),\n distinctUntilChanged(),\n map((position: number) => this.mousePositionToAdaptiveValue(position)),\n distinctUntilChanged(),\n takeUntil(this.dragEndListener)\n );\n });\n }\n\n private mousePositionToAdaptiveValue(position: number): number {\n const sliderStartPosition = this.getSliderPagePosition();\n const sliderLength = this.getRailLength();\n if (!sliderLength) {\n return this.value;\n }\n const ratio = this.convertPointerPositionToRatio(position, sliderStartPosition, sliderLength);\n const value = this.ratioToValue(ratio);\n return parseFloat(value.toFixed(this.getDecimals(this.thyStep)));\n }\n\n private getSliderPagePosition(): number {\n const rect = this.ref.nativeElement.getBoundingClientRect();\n const window = this.ref.nativeElement.ownerDocument.defaultView;\n const orientFields: string[] = this.thyVertical ? ['bottom', 'pageYOffset'] : ['left', 'pageXOffset'];\n return rect[orientFields[0]] + window[orientFields[1]];\n }\n\n private getRailLength() {\n const orientFiled = this.thyVertical ? 'clientHeight' : 'clientWidth';\n\n return this.sliderRail.nativeElement[orientFiled];\n }\n\n private convertPointerPositionToRatio(pointerPosition: number, startPosition: number, totalLength: number) {\n if (this.thyVertical) {\n return clamp((startPosition - pointerPosition) / totalLength, 0, 1);\n }\n return clamp((pointerPosition - startPosition) / totalLength, 0, 1);\n }\n\n private ratioToValue(ratio: number) {\n let value = (this.thyMax - this.thyMin) * ratio + this.thyMin;\n const step = this.thyStep;\n if (ratio === 0) {\n value = this.thyMin;\n } else if (ratio === 1) {\n value = this.thyMax;\n } else {\n value = Math.round(value / step) * step;\n }\n return clamp(value, this.thyMin, this.thyMax);\n }\n\n private getDecimals(value: number): number {\n const valueString = value.toString();\n const integerLength = valueString.indexOf('.') + 1;\n return integerLength >= 0 ? valueString.length - integerLength : 0;\n }\n}\n\n// Note: keep `verifyMinAndMax` and `verifyStepValues` as separate functions (not as class properties)\n// so they're tree-shakable in production mode.\n\nfunction verifyMinAndMax(ctx: ThySlider): void | never {\n if (ctx.thyMin >= ctx.thyMax) {\n throw new Error('min value must less than max value.');\n }\n}\n\nfunction verifyStepValues(ctx: ThySlider): void | never {\n if (ctx.thyStep <= 0 || !ctx.thyStep) {\n throw new Error('step value must be greater than 0.');\n } else if (Number.isInteger(ctx.thyStep) && (ctx.thyMax - ctx.thyMin) % ctx.thyStep) {\n throw new Error('(max - min) must be divisible by step.');\n }\n}\n","<div class=\"thy-slider-rail\" #sliderRail>\n <div class=\"thy-slider-track\" #sliderTrack [ngStyle]=\"{ 'background-color': thyColor }\"></div>\n <div class=\"thy-slider-pointer\" #sliderPointer [ngStyle]=\"{ 'border-color': thyColor }\"></div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { ThySlider } from './slider.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ThySlider],\n exports: [ThySlider],\n providers: []\n})\nexport class ThySliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { NgFor, NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Directive, TemplateRef, Component, ChangeDetectionStrategy, Input, HostBinding, ContentChildren, NgModule } from '@angular/core';
|
|
4
|
-
import {
|
|
5
|
-
import { mixinUnsubscribe, MixinBase, getNumericSize, InputBoolean } from 'ngx-tethys/core';
|
|
3
|
+
import { Directive, booleanAttribute, TemplateRef, Component, ChangeDetectionStrategy, Input, HostBinding, ContentChildren, NgModule } from '@angular/core';
|
|
4
|
+
import { mixinUnsubscribe, MixinBase, getNumericSize } from 'ngx-tethys/core';
|
|
6
5
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
7
6
|
import { takeUntil } from 'rxjs/operators';
|
|
8
7
|
|
|
@@ -66,12 +65,8 @@ class ThySpace extends _MixinBase {
|
|
|
66
65
|
});
|
|
67
66
|
}
|
|
68
67
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThySpace, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
69
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThySpace, isStandalone: true, selector: "thy-space", inputs: { thySize: "thySize", thyVertical: ["thyVertical", "thyVertical", booleanAttribute], thyAlign: "thyAlign" }, host: { properties: { "class.thy-space-vertical": "this.thyVertical" }, classAttribute: "thy-space" }, queries: [{ propertyName: "items", predicate: ThySpaceItemDirective, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-template ngFor let-item let-last=\"last\" let-index=\"index\" [ngForOf]=\"items\">\n <div class=\"thy-space-item\" [style.margin-right.px]=\"last ? null : space\">\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
70
69
|
}
|
|
71
|
-
__decorate([
|
|
72
|
-
InputBoolean(),
|
|
73
|
-
__metadata("design:type", Boolean)
|
|
74
|
-
], ThySpace.prototype, "thyVertical", void 0);
|
|
75
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThySpace, decorators: [{
|
|
76
71
|
type: Component,
|
|
77
72
|
args: [{ selector: 'thy-space', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
@@ -83,7 +78,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
83
78
|
type: HostBinding,
|
|
84
79
|
args: [`class.thy-space-vertical`]
|
|
85
80
|
}, {
|
|
86
|
-
type: Input
|
|
81
|
+
type: Input,
|
|
82
|
+
args: [{ transform: booleanAttribute }]
|
|
87
83
|
}], thyAlign: [{
|
|
88
84
|
type: Input
|
|
89
85
|
}], items: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-space.mjs","sources":["../../../src/space/space.component.ts","../../../src/space/space.component.html","../../../src/space/space.module.ts","../../../src/space/ngx-tethys-space.ts"],"sourcesContent":["import { Constructor,
|
|
1
|
+
{"version":3,"file":"ngx-tethys-space.mjs","sources":["../../../src/space/space.component.ts","../../../src/space/space.component.html","../../../src/space/space.module.ts","../../../src/space/ngx-tethys-space.ts"],"sourcesContent":["import { Constructor, MixinBase, mixinUnsubscribe, ThyUnsubscribe } from 'ngx-tethys/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { takeUntil } from 'rxjs/operators';\n\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n HostBinding,\n Input,\n OnInit,\n QueryList,\n TemplateRef\n} from '@angular/core';\nimport { ThySpacingSize, getNumericSize } from 'ngx-tethys/core';\nimport { NgFor, NgTemplateOutlet } from '@angular/common';\n\n/**\n * 间距组件项,使用结构性指令 *thySpaceItem 传入模板\n * @name thySpaceItem\n * @order 20\n */\n@Directive({\n selector: '[thySpaceItem]',\n host: {\n class: 'thy-space-item'\n },\n standalone: true\n})\nexport class ThySpaceItemDirective implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n\nconst DEFAULT_SIZE: ThySpacingSize = 'md';\n\nconst _MixinBase: Constructor<ThyUnsubscribe> & typeof MixinBase = mixinUnsubscribe(MixinBase);\n\n/**\n * 间距组件\n * @name thy-space\n * @order 10\n */\n@Component({\n selector: 'thy-space',\n templateUrl: './space.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-space'\n },\n standalone: true,\n imports: [NgFor, NgTemplateOutlet]\n})\nexport class ThySpace extends _MixinBase implements OnInit, AfterContentInit {\n public space: number = getNumericSize(DEFAULT_SIZE);\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 大小,支持 `zero` | `xxs` | `xs` | `sm` | `md` | `lg` | `xlg` 和自定义数字大小\n * @type string | number\n */\n @Input() set thySize(size: ThySpacingSize) {\n this.space = getNumericSize(size, DEFAULT_SIZE);\n }\n\n /**\n * 间距垂直方向,默认是水平方向\n */\n @HostBinding(`class.thy-space-vertical`)\n @Input({ transform: booleanAttribute })\n thyVertical: boolean = false;\n\n // @ClassBinding(`align-items-{{value}}`)\n /**\n * 对齐方式,可选择 `start` | `end` | `baseline` | `center`\n */\n @Input()\n set thyAlign(align: string) {\n this.hostRenderer.updateClass(align ? [`align-items-${align}`] : []);\n }\n\n @ContentChildren(ThySpaceItemDirective, { read: TemplateRef }) items!: QueryList<TemplateRef<HTMLElement>>;\n\n constructor(private cdr: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit(): void {}\n\n ngAfterContentInit(): void {\n this.items.changes.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(() => {\n this.cdr.markForCheck();\n });\n }\n}\n","<ng-content></ng-content>\n\n<ng-template ngFor let-item let-last=\"last\" let-index=\"index\" [ngForOf]=\"items\">\n <div class=\"thy-space-item\" [style.margin-right.px]=\"last ? null : space\">\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThySpace, ThySpaceItemDirective } from './space.component';\n\n@NgModule({\n imports: [CommonModule, ThySpace, ThySpaceItemDirective],\n exports: [ThySpace, ThySpaceItemDirective]\n})\nexport class ThySpaceModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|