ngx-tethys 19.1.13 → 20.0.0-next.0
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 +18 -0
- package/action/index.d.ts +107 -3
- package/affix/index.d.ts +65 -2
- package/alert/index.d.ts +74 -3
- package/anchor/index.d.ts +118 -3
- package/arrow-switcher/index.d.ts +79 -2
- package/autocomplete/index.d.ts +280 -7
- package/avatar/index.d.ts +195 -5
- package/back-top/index.d.ts +68 -2
- package/badge/index.d.ts +87 -2
- package/breadcrumb/index.d.ts +71 -3
- package/button/index.d.ts +156 -4
- package/calendar/index.d.ts +161 -4
- package/card/index.d.ts +100 -4
- package/carousel/index.d.ts +210 -4
- package/cascader/index.d.ts +471 -5
- package/checkbox/index.d.ts +27 -2
- package/collapse/index.d.ts +108 -3
- package/color-picker/index.d.ts +494 -13
- package/comment/index.d.ts +53 -4
- package/copy/index.d.ts +59 -2
- package/core/index.d.ts +680 -15
- package/date-picker/index.d.ts +1148 -36
- package/date-range/index.d.ts +158 -4
- package/dialog/index.d.ts +393 -11
- package/divider/index.d.ts +60 -2
- package/dot/index.d.ts +56 -2
- package/drag-drop/index.d.ts +281 -9
- package/dropdown/index.d.ts +282 -6
- package/empty/index.d.ts +116 -3
- package/fesm2022/ngx-tethys-action.mjs +26 -26
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +14 -14
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +19 -19
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +25 -25
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +20 -20
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +41 -36
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +45 -45
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +15 -15
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +27 -27
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +20 -20
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +57 -51
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +29 -29
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +28 -28
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +29 -29
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +93 -87
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +9 -9
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +24 -24
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +75 -73
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +17 -17
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +15 -15
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +38 -38
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +323 -305
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +23 -23
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +56 -54
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +16 -16
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +20 -20
- package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
- package/fesm2022/ngx-tethys-drag-drop.mjs +20 -21
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +85 -83
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +28 -28
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +13 -13
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +99 -95
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-fullscreen.mjs +22 -21
- package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +60 -60
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +20 -20
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-i18n.mjs +4 -4
- package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +20 -20
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +26 -26
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +28 -24
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +72 -71
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +128 -118
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +37 -37
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +11 -11
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-mention.mjs +18 -18
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +57 -57
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +43 -40
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +58 -58
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +35 -32
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +38 -38
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +46 -38
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +64 -57
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +11 -11
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +29 -29
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +23 -23
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +28 -28
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +38 -38
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +16 -16
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +23 -23
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +76 -64
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +163 -155
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +84 -84
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +50 -46
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +21 -21
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +16 -16
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +29 -29
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +37 -37
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +22 -22
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +19 -19
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +22 -22
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +31 -31
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +18 -18
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-testing.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +75 -74
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +28 -28
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +28 -28
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +36 -36
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +58 -58
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +77 -72
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +19 -19
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +68 -68
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-util.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +25 -25
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys-watermark.mjs +12 -12
- package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/flexible-text/index.d.ts +64 -2
- package/form/index.d.ts +405 -11
- package/fullscreen/index.d.ts +117 -6
- package/grid/index.d.ts +262 -7
- package/guider/index.d.ts +304 -8
- package/i18n/index.d.ts +1053 -6
- package/icon/index.d.ts +145 -4
- package/image/index.d.ts +263 -8
- package/index.d.ts +5 -5
- package/input/index.d.ts +281 -6
- package/input-number/index.d.ts +133 -2
- package/layout/index.d.ts +362 -10
- package/list/index.d.ts +182 -6
- package/loading/index.d.ts +34 -2
- package/mention/index.d.ts +147 -4
- package/menu/index.d.ts +191 -8
- package/message/index.d.ts +203 -8
- package/nav/index.d.ts +269 -6
- package/notify/index.d.ts +158 -7
- package/package.json +13 -13
- package/pagination/index.d.ts +248 -5
- package/popover/index.d.ts +339 -9
- package/progress/index.d.ts +154 -5
- package/property/index.d.ts +118 -3
- package/property-operation/index.d.ts +114 -3
- package/radio/index.d.ts +102 -4
- package/rate/index.d.ts +99 -3
- package/resizable/index.d.ts +197 -7
- package/result/index.d.ts +63 -2
- package/schematics/ng-update/migration-collection.json +4 -4
- package/schematics/ng-update/{update-19 → update-20}/index.js +1 -1
- package/schematics/ng-update/{update-19 → update-20}/index.spec.js +5 -5
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/index.d.ts +119 -4
- package/select/index.d.ts +332 -4
- package/shared/index.d.ts +516 -16
- package/skeleton/index.d.ts +301 -8
- package/slide/index.d.ts +270 -12
- package/slider/index.d.ts +117 -2
- package/space/index.d.ts +48 -2
- package/statistic/index.d.ts +124 -2
- package/stepper/index.d.ts +112 -5
- package/strength/index.d.ts +77 -2
- package/switch/index.d.ts +69 -2
- package/table/index.d.ts +670 -9
- package/tabs/index.d.ts +114 -4
- package/tag/index.d.ts +71 -3
- package/testing/index.d.ts +178 -7
- package/time-picker/index.d.ts +468 -7
- package/timeline/index.d.ts +109 -5
- package/tooltip/index.d.ts +198 -8
- package/transfer/index.d.ts +212 -4
- package/tree/index.d.ts +469 -5
- package/tree-select/index.d.ts +231 -3
- package/types/index.d.ts +22 -3
- package/typography/index.d.ts +69 -4
- package/upload/index.d.ts +253 -6
- package/util/index.d.ts +595 -14
- package/vote/index.d.ts +66 -2
- package/watermark/index.d.ts +75 -2
- package/action/action.component.d.ts +0 -76
- package/action/action.module.d.ts +0 -10
- package/action/actions.component.d.ts +0 -21
- package/affix/affix.component.d.ts +0 -54
- package/affix/affix.module.d.ts +0 -9
- package/affix/respond-events.d.ts +0 -9
- package/alert/alert.component.d.ts +0 -51
- package/alert/alert.directive.d.ts +0 -12
- package/alert/alert.module.d.ts +0 -10
- package/anchor/anchor-link.component.d.ts +0 -34
- package/anchor/anchor.component.d.ts +0 -68
- package/anchor/anchor.module.d.ts +0 -11
- package/anchor/anchor.token.d.ts +0 -9
- package/arrow-switcher/arrow-switcher.component.d.ts +0 -64
- package/arrow-switcher/module.d.ts +0 -12
- package/autocomplete/autocomplete.component.d.ts +0 -79
- package/autocomplete/autocomplete.trigger.directive.d.ts +0 -77
- package/autocomplete/module.d.ts +0 -18
- package/autocomplete/overlay/autocomplete-animations.d.ts +0 -8
- package/autocomplete/overlay/autocomplete-container.component.d.ts +0 -33
- package/autocomplete/overlay/autocomplete-ref.d.ts +0 -14
- package/autocomplete/overlay/autocomplete.config.d.ts +0 -36
- package/autocomplete/overlay/autocomplete.options.d.ts +0 -2
- package/autocomplete/overlay/autocomplete.service.d.ts +0 -32
- package/avatar/avatar-list/avatar-list.component.d.ts +0 -41
- package/avatar/avatar.component.d.ts +0 -95
- package/avatar/avatar.module.d.ts +0 -11
- package/avatar/avatar.pipe.d.ts +0 -30
- package/avatar/avatar.service.d.ts +0 -21
- package/back-top/back-top.component.d.ts +0 -57
- package/back-top/back-top.module.d.ts +0 -9
- package/badge/badge.component.d.ts +0 -75
- package/badge/badge.module.d.ts +0 -9
- package/breadcrumb/breadcrumb-item.component.d.ts +0 -15
- package/breadcrumb/breadcrumb.component.d.ts +0 -44
- package/breadcrumb/module.d.ts +0 -12
- package/button/button-group.component.d.ts +0 -32
- package/button/button-icon.component.d.ts +0 -51
- package/button/button.component.d.ts +0 -61
- package/button/button.module.d.ts +0 -11
- package/calendar/calendar-cells.d.ts +0 -17
- package/calendar/calendar-header.component.d.ts +0 -51
- package/calendar/calendar.component.d.ts +0 -78
- package/calendar/module.d.ts +0 -18
- package/card/card.component.d.ts +0 -28
- package/card/card.module.d.ts +0 -10
- package/card/content.component.d.ts +0 -21
- package/card/header.component.d.ts +0 -42
- package/carousel/carousel-item.directive.d.ts +0 -14
- package/carousel/carousel.component.d.ts +0 -112
- package/carousel/carousel.service.d.ts +0 -19
- package/carousel/carousel.token.d.ts +0 -7
- package/carousel/engine/carousel-base.d.ts +0 -27
- package/carousel/engine/carousel-fade.d.ts +0 -15
- package/carousel/engine/carousel-noop.d.ts +0 -14
- package/carousel/engine/carousel-slide.d.ts +0 -16
- package/carousel/engine/index.d.ts +0 -4
- package/carousel/module.d.ts +0 -11
- package/carousel/typings.d.ts +0 -20
- package/cascader/cascader-li.component.d.ts +0 -24
- package/cascader/cascader-search-option.component.d.ts +0 -21
- package/cascader/cascader.component.d.ts +0 -284
- package/cascader/cascader.pipe.d.ts +0 -11
- package/cascader/cascader.service.d.ts +0 -97
- package/cascader/module.d.ts +0 -19
- package/cascader/types.d.ts +0 -23
- package/checkbox/checkbox.component.d.ts +0 -16
- package/checkbox/module.d.ts +0 -9
- package/collapse/collapse-item.component.d.ts +0 -52
- package/collapse/collapse.component.d.ts +0 -29
- package/collapse/collapse.token.d.ts +0 -15
- package/collapse/module.d.ts +0 -13
- package/color-picker/color-picker-custom-panel.component.d.ts +0 -17
- package/color-picker/color-picker-panel.component.d.ts +0 -28
- package/color-picker/color-picker.component.d.ts +0 -100
- package/color-picker/constant.d.ts +0 -1
- package/color-picker/coordinates.directive.d.ts +0 -28
- package/color-picker/helpers/color.class.d.ts +0 -32
- package/color-picker/helpers/colors-table.class.d.ts +0 -154
- package/color-picker/helpers/rgba.class.d.ts +0 -20
- package/color-picker/module.d.ts +0 -22
- package/color-picker/parts/alpha/alpha.component.d.ts +0 -28
- package/color-picker/parts/hue/hue.component.d.ts +0 -26
- package/color-picker/parts/indicator/indicator.component.d.ts +0 -13
- package/color-picker/parts/inputs/inputs.component.d.ts +0 -18
- package/color-picker/parts/saturation/saturation.component.d.ts +0 -28
- package/comment/comment-actions.directive.d.ts +0 -8
- package/comment/comment-content.directive.d.ts +0 -8
- package/comment/comment.component.d.ts +0 -24
- package/comment/comment.module.d.ts +0 -13
- package/copy/copy.directive.d.ts +0 -47
- package/copy/module.d.ts +0 -9
- package/core/animation/animation-consts.d.ts +0 -22
- package/core/animation/collapse.d.ts +0 -2
- package/core/animation/fade.d.ts +0 -2
- package/core/animation/index.d.ts +0 -1
- package/core/animation/public-api.d.ts +0 -5
- package/core/animation/thumb.d.ts +0 -6
- package/core/animation/zoom.d.ts +0 -4
- package/core/behaviors/constructor.d.ts +0 -5
- package/core/behaviors/control-value-accessor.d.ts +0 -7
- package/core/behaviors/decorators.d.ts +0 -9
- package/core/behaviors/disabled.d.ts +0 -7
- package/core/behaviors/focus-control.d.ts +0 -14
- package/core/behaviors/index.d.ts +0 -10
- package/core/behaviors/initialized.d.ts +0 -6
- package/core/behaviors/loading-done.d.ts +0 -5
- package/core/behaviors/mixin.d.ts +0 -5
- package/core/behaviors/tabindex.d.ts +0 -11
- package/core/behaviors/unsubscribe.d.ts +0 -11
- package/core/click-positioner.d.ts +0 -15
- package/core/color/color.d.ts +0 -9
- package/core/color/index.d.ts +0 -1
- package/core/debounce-time.d.ts +0 -8
- package/core/event-dispatchers/index.d.ts +0 -1
- package/core/overlay/abstract-overlay-container.d.ts +0 -43
- package/core/overlay/abstract-overlay-ref.d.ts +0 -101
- package/core/overlay/abstract-overlay.config.d.ts +0 -131
- package/core/overlay/abstract-overlay.service.d.ts +0 -56
- package/core/overlay/index.d.ts +0 -9
- package/core/overlay/interface.d.ts +0 -5
- package/core/overlay/overlay-position-map.d.ts +0 -5
- package/core/overlay/overlay.directive.d.ts +0 -51
- package/core/overlay/portal-directives.d.ts +0 -14
- package/core/overlay/utils.d.ts +0 -14
- package/core/request-animation.d.ts +0 -2
- package/core/scroll-to.service.d.ts +0 -4
- package/core/scroll.d.ts +0 -22
- package/core/spacing/index.d.ts +0 -1
- package/core/spacing/spacing.d.ts +0 -2
- package/core/store/action-state.d.ts +0 -5
- package/core/store/action.d.ts +0 -4
- package/core/store/actions-stream.d.ts +0 -14
- package/core/store/index.d.ts +0 -3
- package/core/store/store.d.ts +0 -43
- package/core/store/types.d.ts +0 -12
- package/core/store/utils.d.ts +0 -2
- package/core/theme/enum.d.ts +0 -5
- package/core/theme/index.d.ts +0 -3
- package/core/theme/store.d.ts +0 -12
- package/core/theme/theme.d.ts +0 -2
- package/core/translate.d.ts +0 -8
- package/core/update-host-class.service.d.ts +0 -15
- package/date-picker/abstract-picker.component.d.ts +0 -174
- package/date-picker/abstract-picker.directive.d.ts +0 -57
- package/date-picker/base-picker.component.d.ts +0 -49
- package/date-picker/date-helper.service.d.ts +0 -20
- package/date-picker/date-picker.component.d.ts +0 -15
- package/date-picker/date-picker.config.d.ts +0 -27
- package/date-picker/date-picker.directive.d.ts +0 -13
- package/date-picker/date-picker.module.d.ts +0 -24
- package/date-picker/date-picker.service.d.ts +0 -14
- package/date-picker/inner-types.d.ts +0 -19
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +0 -37
- package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -44
- package/date-picker/lib/calendar/calendar-table.component.d.ts +0 -41
- package/date-picker/lib/date/date-header.component.d.ts +0 -10
- package/date-picker/lib/date/date-table-cell.component.d.ts +0 -18
- package/date-picker/lib/date/date-table.component.d.ts +0 -23
- package/date-picker/lib/date/types.d.ts +0 -41
- package/date-picker/lib/date-carousel/date-carousel.component.d.ts +0 -65
- package/date-picker/lib/decade/decade-header.component.d.ts +0 -14
- package/date-picker/lib/decade/decade-table.component.d.ts +0 -21
- package/date-picker/lib/lib-packer.module.d.ts +0 -28
- package/date-picker/lib/month/month-header.component.d.ts +0 -10
- package/date-picker/lib/month/month-table.component.d.ts +0 -22
- package/date-picker/lib/popups/date-popup.component.d.ts +0 -99
- package/date-picker/lib/popups/inner-popup.component.d.ts +0 -43
- package/date-picker/lib/quarter/quarter-table.component.d.ts +0 -21
- package/date-picker/lib/year/year-header.component.d.ts +0 -14
- package/date-picker/lib/year/year-table.component.d.ts +0 -21
- package/date-picker/month-picker.component.d.ts +0 -19
- package/date-picker/picker.component.d.ts +0 -76
- package/date-picker/picker.pipes.d.ts +0 -40
- package/date-picker/picker.util.d.ts +0 -30
- package/date-picker/picker.validators.d.ts +0 -22
- package/date-picker/quarter-picker.component.d.ts +0 -22
- package/date-picker/range-picker.component.d.ts +0 -16
- package/date-picker/range-picker.directive.d.ts +0 -14
- package/date-picker/standard-types.d.ts +0 -45
- package/date-picker/week-picker.component.d.ts +0 -15
- package/date-picker/year-picker.component.d.ts +0 -22
- package/date-range/date-range.class.d.ts +0 -29
- package/date-range/date-range.component.d.ts +0 -89
- package/date-range/module.d.ts +0 -15
- package/date-range/optional-dates/optional-dates.component.d.ts +0 -25
- package/dialog/body/dialog-body.component.d.ts +0 -18
- package/dialog/confirm/confirm.component.d.ts +0 -29
- package/dialog/confirm/token.d.ts +0 -8
- package/dialog/confirm.config.d.ts +0 -71
- package/dialog/dialog-animations.d.ts +0 -8
- package/dialog/dialog-container.component.d.ts +0 -46
- package/dialog/dialog-ref.d.ts +0 -32
- package/dialog/dialog.config.d.ts +0 -79
- package/dialog/dialog.module.d.ts +0 -20
- package/dialog/dialog.options.d.ts +0 -2
- package/dialog/dialog.service.d.ts +0 -52
- package/dialog/footer/dialog-footer.component.d.ts +0 -33
- package/dialog/header/dialog-header.component.d.ts +0 -47
- package/divider/divider.component.d.ts +0 -47
- package/divider/divider.module.d.ts +0 -10
- package/dot/dot.component.d.ts +0 -45
- package/dot/dot.module.d.ts +0 -8
- package/drag-drop/drag-content.directive.d.ts +0 -15
- package/drag-drop/drag-drop.class.d.ts +0 -36
- package/drag-drop/drag-drop.service.d.ts +0 -27
- package/drag-drop/drag-drop.token.d.ts +0 -24
- package/drag-drop/drag-handle.directive.d.ts +0 -24
- package/drag-drop/drag-ref.d.ts +0 -47
- package/drag-drop/drag.directive.d.ts +0 -39
- package/drag-drop/drop-container.directive.d.ts +0 -70
- package/drag-drop/module.d.ts +0 -14
- package/dropdown/dropdown-active.directive.d.ts +0 -27
- package/dropdown/dropdown-menu-item.directive.d.ts +0 -95
- package/dropdown/dropdown-menu.component.d.ts +0 -54
- package/dropdown/dropdown-submenu.component.d.ts +0 -23
- package/dropdown/dropdown.directive.d.ts +0 -77
- package/dropdown/module.d.ts +0 -13
- package/empty/empty.component.d.ts +0 -92
- package/empty/empty.config.d.ts +0 -10
- package/empty/empty.module.d.ts +0 -10
- package/empty/svgs.d.ts +0 -4
- package/flexible-text/flexible-text.component.d.ts +0 -53
- package/flexible-text/flexible-text.module.d.ts +0 -10
- package/form/form-group-error/form-group-error.component.d.ts +0 -21
- package/form/form-group-label.directive.d.ts +0 -18
- package/form/form-group.component.d.ts +0 -68
- package/form/form-submit.directive.d.ts +0 -18
- package/form/form-validator-loader.d.ts +0 -28
- package/form/form-validator.service.d.ts +0 -54
- package/form/form.class.d.ts +0 -54
- package/form/form.directive.d.ts +0 -56
- package/form/from-group-footer/form-group-footer.component.d.ts +0 -27
- package/form/module.d.ts +0 -25
- package/form/validator/confirm-validator.directive.d.ts +0 -17
- package/form/validator/index.d.ts +0 -4
- package/form/validator/max-validator.directive.d.ts +0 -15
- package/form/validator/min-validator.directive.d.ts +0 -15
- package/form/validator/unique-validator.directive.d.ts +0 -16
- package/fullscreen/fullscreen-launch.directive.d.ts +0 -9
- package/fullscreen/fullscreen-ref.d.ts +0 -25
- package/fullscreen/fullscreen.component.d.ts +0 -34
- package/fullscreen/fullscreen.config.d.ts +0 -23
- package/fullscreen/fullscreen.module.d.ts +0 -8
- package/fullscreen/fullscreen.service.d.ts +0 -20
- package/grid/flex.d.ts +0 -85
- package/grid/grid.token.d.ts +0 -7
- package/grid/grid.type.d.ts +0 -5
- package/grid/module.d.ts +0 -11
- package/grid/thy-col.directive.d.ts +0 -33
- package/grid/thy-grid-item.component.d.ts +0 -28
- package/grid/thy-grid.component.d.ts +0 -71
- package/grid/thy-row.directive.d.ts +0 -30
- package/guider/guider-hint/guider-hint.component.d.ts +0 -28
- package/guider/guider-manager.d.ts +0 -23
- package/guider/guider-ref.d.ts +0 -42
- package/guider/guider-step-ref.d.ts +0 -44
- package/guider/guider.class.d.ts +0 -95
- package/guider/guider.directive.d.ts +0 -21
- package/guider/guider.interface.d.ts +0 -26
- package/guider/guider.module.d.ts +0 -13
- package/guider/guider.service.d.ts +0 -25
- package/guider/utils.d.ts +0 -4
- package/i18n/i18n.d.ts +0 -191
- package/i18n/i18n.service.d.ts +0 -19
- package/i18n/i18n.token.d.ts +0 -8
- package/i18n/locale.d.ts +0 -4
- package/i18n/locales/de-de.d.ts +0 -162
- package/i18n/locales/en-us.d.ts +0 -183
- package/i18n/locales/index.d.ts +0 -5
- package/i18n/locales/ja-jp.d.ts +0 -162
- package/i18n/locales/zh-hans.d.ts +0 -162
- package/i18n/locales/zh-hant.d.ts +0 -162
- package/i18n/util.d.ts +0 -3
- package/icon/config.d.ts +0 -2
- package/icon/icon-registry.d.ts +0 -84
- package/icon/icon.component.d.ts +0 -47
- package/icon/icon.module.d.ts +0 -9
- package/image/image-group.component.d.ts +0 -16
- package/image/image.class.d.ts +0 -38
- package/image/image.config.d.ts +0 -21
- package/image/image.directive.d.ts +0 -50
- package/image/image.service.d.ts +0 -30
- package/image/image.token.d.ts +0 -17
- package/image/module.d.ts +0 -19
- package/image/preview/image-preview-ref.d.ts +0 -14
- package/image/preview/image-preview.component.d.ts +0 -73
- package/image/utils.d.ts +0 -1
- package/input/input-count.component.d.ts +0 -27
- package/input/input-group.component.d.ts +0 -71
- package/input/input-search.component.d.ts +0 -70
- package/input/input.component.d.ts +0 -82
- package/input/input.directive.d.ts +0 -26
- package/input/module.d.ts +0 -16
- package/input-number/input-number.component.d.ts +0 -115
- package/input-number/module.d.ts +0 -13
- package/layout/content-main.component.d.ts +0 -19
- package/layout/content-section.component.d.ts +0 -19
- package/layout/content.component.d.ts +0 -19
- package/layout/header.component.d.ts +0 -69
- package/layout/layout.component.d.ts +0 -22
- package/layout/layout.module.d.ts +0 -21
- package/layout/sidebar-content.component.d.ts +0 -19
- package/layout/sidebar-footer.component.d.ts +0 -19
- package/layout/sidebar-header.component.d.ts +0 -40
- package/layout/sidebar.component.d.ts +0 -123
- package/list/list-item-meta.component.d.ts +0 -25
- package/list/list-item.component.d.ts +0 -9
- package/list/list.component.d.ts +0 -14
- package/list/list.module.d.ts +0 -13
- package/list/selection/selection-list.d.ts +0 -116
- package/list/selection/selection.interface.d.ts +0 -8
- package/loading/loading.component.d.ts +0 -24
- package/loading/loading.module.d.ts +0 -8
- package/mention/adapter/adapter.d.ts +0 -19
- package/mention/adapter/editable.adapter.d.ts +0 -9
- package/mention/adapter/index.d.ts +0 -7
- package/mention/adapter/textarea.adapter.d.ts +0 -11
- package/mention/caret-positioner.d.ts +0 -19
- package/mention/interfaces.d.ts +0 -61
- package/mention/mention.directive.d.ts +0 -43
- package/mention/mention.module.d.ts +0 -13
- package/mention/suggestions/suggestions.component.d.ts +0 -28
- package/menu/divider/menu-divider.component.d.ts +0 -12
- package/menu/group/menu-group.component.d.ts +0 -61
- package/menu/item/action/menu-item-action.component.d.ts +0 -34
- package/menu/item/icon/menu-item-icon.component.d.ts +0 -18
- package/menu/item/menu-item.component.d.ts +0 -20
- package/menu/item/name/menu-item-name.component.d.ts +0 -17
- package/menu/menu.component.d.ts +0 -23
- package/menu/menu.module.d.ts +0 -16
- package/message/abstract/abstract-message-container.component.d.ts +0 -13
- package/message/abstract/abstract-message-queue.service.d.ts +0 -13
- package/message/abstract/abstract-message-ref.d.ts +0 -18
- package/message/abstract/abstract-message.component.d.ts +0 -35
- package/message/abstract/abstract-message.service.d.ts +0 -17
- package/message/abstract/index.d.ts +0 -5
- package/message/message-container.component.d.ts +0 -12
- package/message/message-queue.service.d.ts +0 -11
- package/message/message-ref.d.ts +0 -4
- package/message/message.component.d.ts +0 -13
- package/message/message.config.d.ts +0 -29
- package/message/message.service.d.ts +0 -36
- package/message/module.d.ts +0 -13
- package/nav/icon-nav/icon-nav-link.directive.d.ts +0 -10
- package/nav/icon-nav/icon-nav.component.d.ts +0 -15
- package/nav/nav-ink-bar.directive.d.ts +0 -22
- package/nav/nav-item.directive.d.ts +0 -60
- package/nav/nav.component.d.ts +0 -142
- package/nav/nav.module.d.ts +0 -17
- package/nav/nav.pipe.d.ts +0 -11
- package/notify/module.d.ts +0 -13
- package/notify/notify-container.component.d.ts +0 -12
- package/notify/notify-queue.service.d.ts +0 -15
- package/notify/notify-ref.d.ts +0 -4
- package/notify/notify.component.d.ts +0 -19
- package/notify/notify.config.d.ts +0 -55
- package/notify/notify.service.d.ts +0 -42
- package/pagination/pagination.class.d.ts +0 -79
- package/pagination/pagination.component.d.ts +0 -132
- package/pagination/pagination.config.d.ts +0 -8
- package/pagination/pagination.module.d.ts +0 -13
- package/pagination/pagination.pipe.d.ts +0 -17
- package/popover/body/popover-body.component.d.ts +0 -10
- package/popover/header/popover-header.component.d.ts +0 -35
- package/popover/module.d.ts +0 -14
- package/popover/popover-animations.d.ts +0 -8
- package/popover/popover-container.component.d.ts +0 -38
- package/popover/popover-ref.d.ts +0 -14
- package/popover/popover.config.d.ts +0 -110
- package/popover/popover.directive.d.ts +0 -67
- package/popover/popover.options.d.ts +0 -2
- package/popover/popover.service.d.ts +0 -58
- package/progress/interfaces.d.ts +0 -23
- package/progress/progress-circle.component.d.ts +0 -43
- package/progress/progress-strip.component.d.ts +0 -23
- package/progress/progress.component.d.ts +0 -59
- package/progress/progress.module.d.ts +0 -11
- package/property/module.d.ts +0 -11
- package/property/properties.component.d.ts +0 -25
- package/property/property-item.component.d.ts +0 -80
- package/property-operation/group/property-operation-group.component.d.ts +0 -10
- package/property-operation/module.d.ts +0 -12
- package/property-operation/property-operation.component.d.ts +0 -92
- package/public-api.d.ts +0 -1
- package/radio/button/radio-button.component.d.ts +0 -18
- package/radio/group/radio-group.component.d.ts +0 -46
- package/radio/module.d.ts +0 -11
- package/radio/radio.component.d.ts +0 -22
- package/radio/radio.token.d.ts +0 -12
- package/rate/module.d.ts +0 -13
- package/rate/rate-item.component.d.ts +0 -17
- package/rate/rate.component.d.ts +0 -69
- package/resizable/interface.d.ts +0 -12
- package/resizable/module.d.ts +0 -10
- package/resizable/resizable.directive.d.ts +0 -91
- package/resizable/resizable.service.d.ts +0 -32
- package/resizable/resize-handle.component.d.ts +0 -31
- package/resizable/resize-handles.component.d.ts +0 -21
- package/resizable/utils.d.ts +0 -3
- package/result/result.component.d.ts +0 -54
- package/result/result.module.d.ts +0 -8
- package/segment/segment-item.component.d.ts +0 -34
- package/segment/segment.component.d.ts +0 -55
- package/segment/segment.module.d.ts +0 -11
- package/segment/segment.token.d.ts +0 -16
- package/segment/types.d.ts +0 -5
- package/select/custom-select/custom-select.component.d.ts +0 -271
- package/select/module.d.ts +0 -16
- package/select/native-select/native-select.component.d.ts +0 -30
- package/select/select.config.d.ts +0 -34
- package/shared/base-form-check.component.d.ts +0 -51
- package/shared/directives/string-or-template-outlet.directive.d.ts +0 -17
- package/shared/directives/thy-autofocus.directive.d.ts +0 -23
- package/shared/directives/thy-contextmenu.directive.d.ts +0 -17
- package/shared/directives/thy-ctrl-enter.directive.d.ts +0 -17
- package/shared/directives/thy-drag-drop.directive.d.ts +0 -15
- package/shared/directives/thy-enter.directive.d.ts +0 -18
- package/shared/directives/thy-scroll.directive.d.ts +0 -39
- package/shared/directives/thy-show.d.ts +0 -19
- package/shared/directives/thy-stop-propagation.directive.d.ts +0 -17
- package/shared/directives/view-outlet.directive.d.ts +0 -27
- package/shared/ng-transclude.directive.d.ts +0 -14
- package/shared/option/group/option-group.component.d.ts +0 -22
- package/shared/option/index.d.ts +0 -8
- package/shared/option/list-option/list-option.component.d.ts +0 -32
- package/shared/option/module.d.ts +0 -13
- package/shared/option/option-group.component.d.ts +0 -12
- package/shared/option/option.component.d.ts +0 -51
- package/shared/option/option.token.d.ts +0 -30
- package/shared/option/options-container.component.d.ts +0 -9
- package/shared/option/select-option-base.d.ts +0 -5
- package/shared/select/index.d.ts +0 -2
- package/shared/select/module.d.ts +0 -11
- package/shared/select/select-control/select-control.component.d.ts +0 -73
- package/shared/shared.module.d.ts +0 -17
- package/shared/shared.type.d.ts +0 -1
- package/skeleton/module.d.ts +0 -16
- package/skeleton/skeleton-circle.component.d.ts +0 -45
- package/skeleton/skeleton-rectangle.component.d.ts +0 -55
- package/skeleton/skeleton.component.d.ts +0 -27
- package/skeleton/skeleton.config.d.ts +0 -8
- package/skeleton/stylized/bullet-list.component.d.ts +0 -55
- package/skeleton/stylized/list.component.d.ts +0 -44
- package/skeleton/stylized/paragraph.component.d.ts +0 -52
- package/slide/drawer/drawer-container.directive.d.ts +0 -11
- package/slide/slide-animations.d.ts +0 -4
- package/slide/slide-body/slide-body-section.component.d.ts +0 -16
- package/slide/slide-body/slide-body.component.d.ts +0 -10
- package/slide/slide-container.component.d.ts +0 -49
- package/slide/slide-footer/slide-footer.component.d.ts +0 -12
- package/slide/slide-header/slide-header.component.d.ts +0 -33
- package/slide/slide-layout/slide-layout.component.d.ts +0 -13
- package/slide/slide-ref.service.d.ts +0 -20
- package/slide/slide.config.d.ts +0 -73
- package/slide/slide.module.d.ts +0 -19
- package/slide/slide.service.d.ts +0 -28
- package/slider/slider.component.d.ts +0 -105
- package/slider/slider.module.d.ts +0 -9
- package/space/space.component.d.ts +0 -38
- package/space/space.module.d.ts +0 -8
- package/statistic/statistic.component.d.ts +0 -111
- package/statistic/statistic.module.d.ts +0 -10
- package/stepper/step-header.component.d.ts +0 -15
- package/stepper/step.component.d.ts +0 -28
- package/stepper/stepper-button.directive.d.ts +0 -25
- package/stepper/stepper.component.d.ts +0 -34
- package/stepper/stepper.module.d.ts +0 -11
- package/strength/strength.component.d.ts +0 -69
- package/strength/strength.module.d.ts +0 -7
- package/switch/switch.component.d.ts +0 -59
- package/switch/switch.module.d.ts +0 -8
- package/table/enums/column-skeleton-type.d.ts +0 -6
- package/table/enums/index.d.ts +0 -1
- package/table/pipes/drag.pipe.d.ts +0 -11
- package/table/pipes/table.pipe.d.ts +0 -10
- package/table/table-column.component.d.ts +0 -131
- package/table/table-skeleton.component.d.ts +0 -93
- package/table/table.component.d.ts +0 -333
- package/table/table.interface.d.ts +0 -87
- package/table/table.module.d.ts +0 -22
- package/table/table.type.d.ts +0 -3
- package/tabs/tab-content.component.d.ts +0 -12
- package/tabs/tab.component.d.ts +0 -31
- package/tabs/tabs.component.d.ts +0 -59
- package/tabs/tabs.module.d.ts +0 -12
- package/tabs/types.d.ts +0 -2
- package/tag/tag.component.d.ts +0 -48
- package/tag/tag.module.d.ts +0 -10
- package/tag/tags.component.d.ts +0 -11
- package/testing/data-transfer.d.ts +0 -22
- package/testing/dispatcher-events.d.ts +0 -32
- package/testing/element-focus.d.ts +0 -13
- package/testing/events.d.ts +0 -33
- package/testing/thy-icon.d.ts +0 -5
- package/testing/type-in-element.d.ts +0 -14
- package/testing/xhr-mock.d.ts +0 -51
- package/time-picker/inner/inner-time-picker.class.d.ts +0 -37
- package/time-picker/inner/inner-time-picker.component.d.ts +0 -91
- package/time-picker/inner/inner-time-picker.config.d.ts +0 -42
- package/time-picker/inner/inner-time-picker.store.d.ts +0 -23
- package/time-picker/time-picker-controls.util.d.ts +0 -7
- package/time-picker/time-picker-panel.component.d.ts +0 -113
- package/time-picker/time-picker.component.d.ts +0 -136
- package/time-picker/time-picker.module.d.ts +0 -17
- package/time-picker/time-picker.utils.d.ts +0 -16
- package/timeline/timeline-item.component.d.ts +0 -43
- package/timeline/timeline.component.d.ts +0 -47
- package/timeline/timeline.module.d.ts +0 -11
- package/timeline/timeline.service.d.ts +0 -8
- package/timeline/timeline.type.d.ts +0 -1
- package/tooltip/interface.d.ts +0 -5
- package/tooltip/tooltip-animations.d.ts +0 -4
- package/tooltip/tooltip-ref.d.ts +0 -31
- package/tooltip/tooltip.component.d.ts +0 -36
- package/tooltip/tooltip.config.d.ts +0 -22
- package/tooltip/tooltip.directive.d.ts +0 -81
- package/tooltip/tooltip.module.d.ts +0 -11
- package/tooltip/tooltip.service.d.ts +0 -16
- package/transfer/transfer-list.component.d.ts +0 -41
- package/transfer/transfer.component.d.ts +0 -90
- package/transfer/transfer.interface.d.ts +0 -66
- package/transfer/transfer.module.d.ts +0 -15
- package/tree/tree-abstract.d.ts +0 -19
- package/tree/tree-node.component.d.ts +0 -95
- package/tree/tree.class.d.ts +0 -106
- package/tree/tree.component.d.ts +0 -199
- package/tree/tree.module.d.ts +0 -20
- package/tree/tree.pipe.d.ts +0 -12
- package/tree/tree.service.d.ts +0 -34
- package/tree-select/module.d.ts +0 -14
- package/tree-select/tree-select.class.d.ts +0 -12
- package/tree-select/tree-select.component.d.ts +0 -203
- package/types/common.d.ts +0 -2
- package/types/dictionary.d.ts +0 -10
- package/types/pagination.d.ts +0 -6
- package/typography/bg-color.directive.d.ts +0 -20
- package/typography/module.d.ts +0 -11
- package/typography/text/text.component.d.ts +0 -17
- package/typography/text-color.directive.d.ts +0 -22
- package/upload/constant.d.ts +0 -73
- package/upload/file-drop.directive.d.ts +0 -32
- package/upload/file-select-base.d.ts +0 -22
- package/upload/file-select.component.d.ts +0 -34
- package/upload/module.d.ts +0 -9
- package/upload/types.d.ts +0 -11
- package/upload/upload.config.d.ts +0 -17
- package/upload/upload.service.d.ts +0 -140
- package/upload/util.d.ts +0 -1
- package/util/date/functions.d.ts +0 -85
- package/util/date/tiny-date.d.ts +0 -124
- package/util/dom.d.ts +0 -101
- package/util/helpers/helpers.d.ts +0 -55
- package/util/helpers/index.d.ts +0 -1
- package/util/immutable.d.ts +0 -70
- package/util/keycodes.d.ts +0 -2
- package/util/logger/index.d.ts +0 -1
- package/util/logger/logger.d.ts +0 -6
- package/util/ng.d.ts +0 -2
- package/util/references.d.ts +0 -58
- package/version.d.ts +0 -2
- package/vote/vote.component.d.ts +0 -53
- package/vote/vote.module.d.ts +0 -10
- package/watermark/config.d.ts +0 -19
- package/watermark/watermark.directive.d.ts +0 -63
- package/watermark/watermark.module.d.ts +0 -9
- /package/schematics/ng-update/{update-19 → update-20}/class-name-migration.d.ts +0 -0
- /package/schematics/ng-update/{update-19 → update-20}/class-name-migration.js +0 -0
- /package/schematics/ng-update/{update-19 → update-20}/index.d.ts +0 -0
- /package/schematics/ng-update/{update-19 → update-20}/index.spec.d.ts +0 -0
- /package/schematics/ng-update/{update-19 → update-20}/update-data.d.ts +0 -0
- /package/schematics/ng-update/{update-19 → update-20}/update-data.js +0 -0
|
@@ -7,11 +7,11 @@ import { coerceElement, coerceArray } from '@angular/cdk/coercion';
|
|
|
7
7
|
import { Overlay, FlexibleConnectedPositionStrategy, ViewportRuler, OverlayContainer, OverlayModule } from '@angular/cdk/overlay';
|
|
8
8
|
import { Platform } from '@angular/cdk/platform';
|
|
9
9
|
import { PortalModule, ComponentPortal } from '@angular/cdk/portal';
|
|
10
|
-
import { DOCUMENT, NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
11
10
|
import * as i0 from '@angular/core';
|
|
12
|
-
import { InjectionToken, inject, ChangeDetectorRef, ElementRef, NgZone, EventEmitter, HostListener, ViewChild, Component, Injector, Injectable, ChangeDetectionStrategy, input, computed, contentChild, output, ViewContainerRef, numberAttribute, effect, Input, HostBinding, Directive, NgModule } from '@angular/core';
|
|
11
|
+
import { InjectionToken, inject, ChangeDetectorRef, ElementRef, NgZone, EventEmitter, HostListener, ViewChild, Component, Injector, DOCUMENT, Injectable, ChangeDetectionStrategy, input, computed, contentChild, output, ViewContainerRef, numberAttribute, effect, Input, HostBinding, Directive, NgModule } from '@angular/core';
|
|
13
12
|
import { ContentObserver } from '@angular/cdk/observers';
|
|
14
13
|
import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
|
|
14
|
+
import { NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
15
15
|
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
16
16
|
import { state, style, trigger } from '@angular/animations';
|
|
17
17
|
|
|
@@ -142,10 +142,10 @@ class ThyPopoverContainer extends ThyAbstractOverlayContainer {
|
|
|
142
142
|
this.updatePosition.complete();
|
|
143
143
|
this.outsideClicked.complete();
|
|
144
144
|
}
|
|
145
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
146
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
145
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopoverContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
146
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: ThyPopoverContainer, isStandalone: true, selector: "thy-popover-container", host: { attributes: { "tabindex": "-1" }, listeners: { "@scaleXMotion.start": "onAnimationStart($event)", "@scaleXMotion.done": "onAnimationDone($event)", "@scaleYMotion.start": "onAnimationStart($event)", "@scaleYMotion.done": "onAnimationDone($event)", "@scaleMotion.start": "onAnimationStart($event)", "@scaleMotion.done": "onAnimationDone($event)", "click": "onInsideClick()" }, properties: { "attr.role": "'popover'", "attr.id": "id", "@.disabled": "!!config.animationDisabled", "@scaleXMotion": "(config.placement === \"left\" || config.placement === \"right\") ? animationState : \"void\"", "@scaleYMotion": "(config.placement === \"top\" || config.placement === \"bottom\") ? animationState : \"void\"", "@scaleMotion": "(config.placement !== \"left\" && config.placement !== \"right\" && config.placement !== \"top\" && config.placement !== \"bottom\") ? animationState : \"void\"" }, classAttribute: "thy-popover-container" }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: ThyPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template thyPortalOutlet></ng-template>\n", dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: ThyPortalOutlet, selector: "[thyPortalOutlet]", inputs: ["thyPortalOutlet"], exportAs: ["thyPortalOutlet"] }], animations: [scaleXMotion, scaleYMotion, scaleMotion] }); }
|
|
147
147
|
}
|
|
148
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopoverContainer, decorators: [{
|
|
149
149
|
type: Component,
|
|
150
150
|
args: [{ selector: 'thy-popover-container', animations: [scaleXMotion, scaleYMotion, scaleMotion], host: {
|
|
151
151
|
class: 'thy-popover-container',
|
|
@@ -174,8 +174,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
174
174
|
class ThyPopoverRef extends ThyAbstractOverlayRef {
|
|
175
175
|
}
|
|
176
176
|
class ThyInternalPopoverRef extends ThyAbstractInternalOverlayRef {
|
|
177
|
-
|
|
178
|
-
|
|
177
|
+
get options() {
|
|
178
|
+
return popoverAbstractOverlayOptions;
|
|
179
|
+
}
|
|
180
|
+
constructor() {
|
|
181
|
+
super();
|
|
182
|
+
}
|
|
183
|
+
initialize(overlayRef, containerInstance, config) {
|
|
184
|
+
super.initialize(overlayRef, containerInstance, config);
|
|
179
185
|
// Note: doesn't need to unsubscribe, because `insideClicked` and `outsideClicked`
|
|
180
186
|
// get completed by `ThyPopoverContainerComponent` when the view is destroyed.
|
|
181
187
|
merge(containerInstance.insideClicked, containerInstance.outsideClicked).subscribe(() => this.close());
|
|
@@ -245,7 +251,9 @@ class ThyPopover extends ThyAbstractOverlayService {
|
|
|
245
251
|
return containerRef.instance;
|
|
246
252
|
}
|
|
247
253
|
createAbstractOverlayRef(overlayRef, containerInstance, config) {
|
|
248
|
-
|
|
254
|
+
const popoverRef = new ThyInternalPopoverRef();
|
|
255
|
+
popoverRef.initialize(overlayRef, containerInstance, config);
|
|
256
|
+
return popoverRef;
|
|
249
257
|
}
|
|
250
258
|
createInjector(config, popoverRef, popoverContainer) {
|
|
251
259
|
const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;
|
|
@@ -371,10 +379,10 @@ class ThyPopover extends ThyAbstractOverlayService {
|
|
|
371
379
|
ngOnDestroy() {
|
|
372
380
|
this.dispose();
|
|
373
381
|
}
|
|
374
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
375
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
382
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopover, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
383
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopover }); }
|
|
376
384
|
}
|
|
377
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
385
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopover, decorators: [{
|
|
378
386
|
type: Injectable
|
|
379
387
|
}], ctorParameters: () => [] });
|
|
380
388
|
|
|
@@ -384,10 +392,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
384
392
|
* @order 40
|
|
385
393
|
*/
|
|
386
394
|
class ThyPopoverBody {
|
|
387
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
388
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
395
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopoverBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
396
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: ThyPopoverBody, isStandalone: true, selector: "thy-popover-body", host: { classAttribute: "thy-popover-body" }, exportAs: ["thyPopoverBody"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
389
397
|
}
|
|
390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
398
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopoverBody, decorators: [{
|
|
391
399
|
type: Component,
|
|
392
400
|
args: [{
|
|
393
401
|
selector: 'thy-popover-body',
|
|
@@ -412,11 +420,11 @@ class ThyPopoverHeader {
|
|
|
412
420
|
/**
|
|
413
421
|
* 头部标题
|
|
414
422
|
*/
|
|
415
|
-
this.thyTitle = input(undefined);
|
|
423
|
+
this.thyTitle = input(undefined, ...(ngDevMode ? [{ debugName: "thyTitle" }] : []));
|
|
416
424
|
/**
|
|
417
425
|
* 标题的多语言 Key
|
|
418
426
|
*/
|
|
419
|
-
this.thyTitleTranslationKey = input(undefined);
|
|
427
|
+
this.thyTitleTranslationKey = input(undefined, ...(ngDevMode ? [{ debugName: "thyTitleTranslationKey" }] : []));
|
|
420
428
|
this.titleSignal = computed(() => {
|
|
421
429
|
const title = this.thyTitle();
|
|
422
430
|
if (title) {
|
|
@@ -427,12 +435,12 @@ class ThyPopoverHeader {
|
|
|
427
435
|
return this.translate.instant(titleTranslationKey);
|
|
428
436
|
}
|
|
429
437
|
return '';
|
|
430
|
-
});
|
|
438
|
+
}, ...(ngDevMode ? [{ debugName: "titleSignal" }] : []));
|
|
431
439
|
/**
|
|
432
440
|
* 自定义头部模板
|
|
433
441
|
* @type TemplateRef
|
|
434
442
|
*/
|
|
435
|
-
this.headerTemplate = contentChild('popoverHeader');
|
|
443
|
+
this.headerTemplate = contentChild('popoverHeader', ...(ngDevMode ? [{ debugName: "headerTemplate" }] : []));
|
|
436
444
|
/**
|
|
437
445
|
* @internal
|
|
438
446
|
*/
|
|
@@ -445,15 +453,15 @@ class ThyPopoverHeader {
|
|
|
445
453
|
this.thyClosed.emit(event);
|
|
446
454
|
this.thyPopover.close();
|
|
447
455
|
}
|
|
448
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
449
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
456
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopoverHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
457
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: ThyPopoverHeader, isStandalone: true, selector: "thy-popover-header", inputs: { thyTitle: { classPropertyName: "thyTitle", publicName: "thyTitle", isSignal: true, isRequired: false, transformFunction: null }, thyTitleTranslationKey: { classPropertyName: "thyTitleTranslationKey", publicName: "thyTitleTranslationKey", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyClosed: "thyClosed" }, host: { classAttribute: "thy-popover-header" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["popoverHeader"], descendants: true, isSignal: true }], exportAs: ["thyPopoverHeader"], ngImport: i0, template: "@if (headerTemplate()) {\n <template [ngTemplateOutlet]=\"headerTemplate()\"></template>\n} @else {\n <h5 class=\"thy-popover-title\">{{ titleSignal() }}</h5>\n <button type=\"button\" class=\"close\" (click)=\"close($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </button>\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
450
458
|
}
|
|
451
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
459
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopoverHeader, decorators: [{
|
|
452
460
|
type: Component,
|
|
453
461
|
args: [{ selector: 'thy-popover-header', exportAs: 'thyPopoverHeader', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
454
462
|
class: 'thy-popover-header'
|
|
455
463
|
}, imports: [NgTemplateOutlet, ThyIcon], template: "@if (headerTemplate()) {\n <template [ngTemplateOutlet]=\"headerTemplate()\"></template>\n} @else {\n <h5 class=\"thy-popover-title\">{{ titleSignal() }}</h5>\n <button type=\"button\" class=\"close\" (click)=\"close($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </button>\n}\n" }]
|
|
456
|
-
}] });
|
|
464
|
+
}], propDecorators: { thyTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTitle", required: false }] }], thyTitleTranslationKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTitleTranslationKey", required: false }] }], headerTemplate: [{ type: i0.ContentChild, args: ['popoverHeader', { isSignal: true }] }], thyClosed: [{ type: i0.Output, args: ["thyClosed"] }] } });
|
|
457
465
|
|
|
458
466
|
/**
|
|
459
467
|
* 弹出悬浮层指令
|
|
@@ -481,36 +489,36 @@ class ThyPopoverDirective extends ThyOverlayDirectiveBase {
|
|
|
481
489
|
/**
|
|
482
490
|
* 悬浮组件或者模板
|
|
483
491
|
*/
|
|
484
|
-
this.content = input(undefined, { alias: 'thyPopover' });
|
|
492
|
+
this.content = input(undefined, ...(ngDevMode ? [{ debugName: "content", alias: 'thyPopover' }] : [{ alias: 'thyPopover' }]));
|
|
485
493
|
/**
|
|
486
494
|
* 弹出悬浮层的触发方式
|
|
487
495
|
*/
|
|
488
|
-
this.thyTrigger = input('click');
|
|
496
|
+
this.thyTrigger = input('click', ...(ngDevMode ? [{ debugName: "thyTrigger" }] : []));
|
|
489
497
|
/**
|
|
490
498
|
* 弹出悬浮层的位置
|
|
491
499
|
* @type top | topLeft | topRight | bottom | bottomLeft | bottomRight | left | leftTop | leftBottom | right | rightTop | rightBottom
|
|
492
500
|
*/
|
|
493
|
-
this.thyPlacement = input('bottom');
|
|
501
|
+
this.thyPlacement = input('bottom', ...(ngDevMode ? [{ debugName: "thyPlacement" }] : []));
|
|
494
502
|
/**
|
|
495
503
|
* 弹出悬浮层的偏移量
|
|
496
504
|
*/
|
|
497
|
-
this.thyOffset = input(0, { transform: numberAttribute });
|
|
505
|
+
this.thyOffset = input(0, ...(ngDevMode ? [{ debugName: "thyOffset", transform: numberAttribute }] : [{ transform: numberAttribute }]));
|
|
498
506
|
/**
|
|
499
507
|
* 弹出悬浮层的配置
|
|
500
508
|
*/
|
|
501
|
-
this.thyConfig = input(undefined);
|
|
509
|
+
this.thyConfig = input(undefined, ...(ngDevMode ? [{ debugName: "thyConfig" }] : []));
|
|
502
510
|
/**
|
|
503
511
|
* 显示延迟时间
|
|
504
512
|
*/
|
|
505
|
-
this.thyShowDelay = input(0, { transform: numberAttribute });
|
|
513
|
+
this.thyShowDelay = input(0, ...(ngDevMode ? [{ debugName: "thyShowDelay", transform: numberAttribute }] : [{ transform: numberAttribute }]));
|
|
506
514
|
/**
|
|
507
515
|
* 隐藏延迟时间
|
|
508
516
|
*/
|
|
509
|
-
this.thyHideDelay = input(0, { transform: numberAttribute });
|
|
517
|
+
this.thyHideDelay = input(0, ...(ngDevMode ? [{ debugName: "thyHideDelay", transform: numberAttribute }] : [{ transform: numberAttribute }]));
|
|
510
518
|
/**
|
|
511
519
|
* 自动适配内容变化重新计算位置
|
|
512
520
|
*/
|
|
513
|
-
this.thyAutoAdaptive = input(false, { transform: coerceBooleanProperty });
|
|
521
|
+
this.thyAutoAdaptive = input(false, ...(ngDevMode ? [{ debugName: "thyAutoAdaptive", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
|
|
514
522
|
this.elementRef = elementRef;
|
|
515
523
|
effect(() => {
|
|
516
524
|
this.trigger = this.thyTrigger();
|
|
@@ -577,10 +585,10 @@ class ThyPopoverDirective extends ThyOverlayDirectiveBase {
|
|
|
577
585
|
ngOnDestroy() {
|
|
578
586
|
this.dispose();
|
|
579
587
|
}
|
|
580
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
581
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
588
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
589
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.10", type: ThyPopoverDirective, isStandalone: true, selector: "[thyPopover]", inputs: { content: { classPropertyName: "content", publicName: "thyPopover", isSignal: true, isRequired: false, transformFunction: null }, thyTrigger: { classPropertyName: "thyTrigger", publicName: "thyTrigger", isSignal: true, isRequired: false, transformFunction: null }, thyPlacement: { classPropertyName: "thyPlacement", publicName: "thyPlacement", isSignal: true, isRequired: false, transformFunction: null }, thyOffset: { classPropertyName: "thyOffset", publicName: "thyOffset", isSignal: true, isRequired: false, transformFunction: null }, thyConfig: { classPropertyName: "thyConfig", publicName: "thyConfig", isSignal: true, isRequired: false, transformFunction: null }, thyShowDelay: { classPropertyName: "thyShowDelay", publicName: "thyShowDelay", isSignal: true, isRequired: false, transformFunction: null }, thyHideDelay: { classPropertyName: "thyHideDelay", publicName: "thyHideDelay", isSignal: true, isRequired: false, transformFunction: null }, thyAutoAdaptive: { classPropertyName: "thyAutoAdaptive", publicName: "thyAutoAdaptive", isSignal: true, isRequired: false, transformFunction: null }, thyDisabled: { classPropertyName: "thyDisabled", publicName: "thyDisabled", isSignal: false, isRequired: false, transformFunction: coerceBooleanProperty } }, host: { properties: { "class.thy-popover-opened": "this.popoverOpened" } }, usesInheritance: true, ngImport: i0 }); }
|
|
582
590
|
}
|
|
583
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
591
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopoverDirective, decorators: [{
|
|
584
592
|
type: Directive,
|
|
585
593
|
args: [{
|
|
586
594
|
selector: '[thyPopover]'
|
|
@@ -588,14 +596,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
588
596
|
}], ctorParameters: () => [], propDecorators: { popoverOpened: [{
|
|
589
597
|
type: HostBinding,
|
|
590
598
|
args: [`class.thy-popover-opened`]
|
|
591
|
-
}], thyDisabled: [{
|
|
599
|
+
}], content: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyPopover", required: false }] }], thyTrigger: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTrigger", required: false }] }], thyPlacement: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyPlacement", required: false }] }], thyOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyOffset", required: false }] }], thyConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyConfig", required: false }] }], thyShowDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyShowDelay", required: false }] }], thyHideDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyHideDelay", required: false }] }], thyAutoAdaptive: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAutoAdaptive", required: false }] }], thyDisabled: [{
|
|
592
600
|
type: Input,
|
|
593
601
|
args: [{ transform: coerceBooleanProperty }]
|
|
594
602
|
}] } });
|
|
595
603
|
|
|
596
604
|
class ThyPopoverModule {
|
|
597
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
598
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
605
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
606
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.10", ngImport: i0, type: ThyPopoverModule, imports: [CommonModule,
|
|
599
607
|
OverlayModule,
|
|
600
608
|
PortalModule,
|
|
601
609
|
ThyIconModule,
|
|
@@ -603,14 +611,14 @@ class ThyPopoverModule {
|
|
|
603
611
|
ThyPopoverDirective,
|
|
604
612
|
ThyPopoverHeader,
|
|
605
613
|
ThyPopoverBody], exports: [ThyPopoverDirective, ThyPopoverHeader, ThyPopoverBody] }); }
|
|
606
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
614
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopoverModule, providers: [THY_POPOVER_DEFAULT_CONFIG_PROVIDER, THY_POPOVER_SCROLL_STRATEGY_PROVIDER, ThyPopover], imports: [CommonModule,
|
|
607
615
|
OverlayModule,
|
|
608
616
|
PortalModule,
|
|
609
617
|
ThyIconModule,
|
|
610
618
|
ThyPopoverContainer,
|
|
611
619
|
ThyPopoverHeader] }); }
|
|
612
620
|
}
|
|
613
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
621
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyPopoverModule, decorators: [{
|
|
614
622
|
type: NgModule,
|
|
615
623
|
args: [{
|
|
616
624
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-popover.mjs","sources":["../../../src/popover/popover.config.ts","../../../src/popover/popover.options.ts","../../../src/popover/popover-container.component.ts","../../../src/popover/popover-container.component.html","../../../src/popover/popover-ref.ts","../../../src/popover/popover.service.ts","../../../src/popover/body/popover-body.component.ts","../../../src/popover/header/popover-header.component.ts","../../../src/popover/header/popover-header.component.html","../../../src/popover/popover.directive.ts","../../../src/popover/module.ts","../../../src/popover/popover-animations.ts","../../../src/popover/ngx-tethys-popover.ts"],"sourcesContent":["import { ThyPlacement, ThyAbstractOverlayConfig } from 'ngx-tethys/core';\n\nimport { Overlay, ScrollStrategy } from '@angular/cdk/overlay';\nimport { ElementRef, InjectionToken } from '@angular/core';\n\n/**\n * @public\n * @order 20\n */\nexport class ThyPopoverConfig<TData = unknown> extends ThyAbstractOverlayConfig<TData> {\n /**\n * 弹出悬浮层位置计算的 Origin Element,Connected Element\n * @description.en-us Origin Element, for overlay flexible connected to\n */\n origin: ElementRef<any> | HTMLElement;\n\n /**\n * 源点位置\n * @description.en-us Origin point, default use origin's boundingClientRect\n */\n originPosition?: {\n x: number;\n y: number;\n } & { width?: number; height?: number };\n\n /**\n * 相对于源点的位置,可选值:topCenter, topLeft, topRight, bottomCenter, bottomLeft, bottomRight ...\n * @description.en-us Placement be relative to origin, topCenter, topLeft, topRight, bottomCenter, bottomLeft, bottomRight ...\n */\n placement?: ThyPlacement;\n\n /**\n * 点击popover内部是否自动关闭弹出框\n * @description.en-us Click inside can been close\n */\n insideClosable?: boolean;\n\n /**\n * 相对于源点的偏移量\n * @description.en-us Offset be relative to origin, default is 0\n * @default 0\n */\n offset?: number;\n\n /**\n * 是否只能手动关闭,唯一标识为origin\n * @description.en-us Manually close it, default rules is which auto close last popover when open a new unless set manualClosure as true\n */\n manualClosure?: boolean;\n\n /**\n * 对弹出悬浮层位置计算的 Origin Element,Connected Element 添加 class\n * @description.en-us Origin active class when popover is opened\n * @default thy-popover-origin-active\n */\n originActiveClass?: string | string[];\n\n /**\n * 滚动策略\n */\n scrollStrategy?: ScrollStrategy;\n\n /**\n * 点击popover外部是否自动关闭弹出框,hasBackdrop=false 时该参数起作用\n * @description.en-us Click outside can been close\n */\n outsideClosable?: boolean;\n\n /**\n * 是否开启自动适配大小模式,开启后当弹出框内容宽高发生变化后自动更新位置\n * @description.en-us autoAdaptive is true when height change can auto update position\n */\n autoAdaptive?: boolean;\n\n /**\n * 是否禁用动画\n * @default false\n */\n animationDisabled?: boolean;\n}\n\nexport const THY_POPOVER_DEFAULT_CONFIG = new InjectionToken<ThyPopoverConfig>('thy-popover-default-config');\n\nexport const THY_POPOVER_DEFAULT_CONFIG_VALUE = {\n hasBackdrop: true,\n backdropClass: 'thy-popover-backdrop',\n panelClass: '',\n offset: 0,\n backdropClosable: true,\n closeOnNavigation: true,\n placement: 'bottom' as ThyPlacement,\n insideClosable: false,\n manualClosure: false,\n originActiveClass: 'thy-popover-origin-active',\n autoAdaptive: false,\n minWidth: '240px'\n};\n\nexport const THY_POPOVER_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_POPOVER_DEFAULT_CONFIG,\n useValue: THY_POPOVER_DEFAULT_CONFIG_VALUE\n};\n\nexport const THY_POPOVER_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>('thy-popover-scroll-strategy');\n\nexport const THY_POPOVER_SCROLL_STRATEGY_FACTORY: (overlay: Overlay) => () => ScrollStrategy = (overlay: Overlay) => {\n return () => overlay.scrollStrategies.block();\n};\n\nexport const THY_POPOVER_SCROLL_STRATEGY_PROVIDER = {\n provide: THY_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: THY_POPOVER_SCROLL_STRATEGY_FACTORY\n};\n","import { ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nexport const popoverAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'popover',\n animationEnabled: true,\n disposeWhenClose: true\n};\n","import { ThyAbstractOverlayContainer, ThyClickDispatcher, ThyPortalOutlet } from 'ngx-tethys/core';\nimport { from, Observable, timer } from 'rxjs';\nimport { filter, take, takeUntil } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { ContentObserver } from '@angular/cdk/observers';\nimport { PortalModule } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n NgZone,\n OnDestroy,\n ViewChild,\n inject\n} from '@angular/core';\n\nimport { ThyPopoverConfig } from './popover.config';\nimport { popoverAbstractOverlayOptions } from './popover.options';\nimport { scaleMotion, scaleXMotion, scaleYMotion } from 'ngx-tethys/core';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-popover-container',\n templateUrl: './popover-container.component.html',\n animations: [scaleXMotion, scaleYMotion, scaleMotion],\n host: {\n class: 'thy-popover-container',\n tabindex: '-1',\n '[attr.role]': `'popover'`,\n '[attr.id]': 'id',\n '[@.disabled]': '!!config.animationDisabled',\n '[@scaleXMotion]': '(config.placement === \"left\" || config.placement === \"right\") ? animationState : \"void\"',\n '(@scaleXMotion.start)': 'onAnimationStart($event)',\n '(@scaleXMotion.done)': 'onAnimationDone($event)',\n '[@scaleYMotion]': '(config.placement === \"top\" || config.placement === \"bottom\") ? animationState : \"void\"',\n '(@scaleYMotion.start)': 'onAnimationStart($event)',\n '(@scaleYMotion.done)': 'onAnimationDone($event)',\n '[@scaleMotion]':\n '(config.placement !== \"left\" && config.placement !== \"right\" && config.placement !== \"top\" && config.placement !== \"bottom\") ? animationState : \"void\"',\n '(@scaleMotion.start)': 'onAnimationStart($event)',\n '(@scaleMotion.done)': 'onAnimationDone($event)'\n },\n imports: [PortalModule, ThyPortalOutlet]\n})\nexport class ThyPopoverContainer<TData = unknown> extends ThyAbstractOverlayContainer<TData> implements AfterViewInit, OnDestroy {\n private elementRef = inject(ElementRef);\n config = inject<ThyPopoverConfig<TData>>(ThyPopoverConfig);\n private thyClickDispatcher = inject(ThyClickDispatcher);\n private contentObserver = inject(ContentObserver);\n private ngZone = inject(NgZone);\n\n @ViewChild(ThyPortalOutlet, { static: true })\n portalOutlet: ThyPortalOutlet;\n\n /** State of the popover animation. */\n animationState: 'void' | 'enter' | 'exit' = 'enter';\n\n /** Emits when an animation state changes. */\n animationStateChanged = new EventEmitter<AnimationEvent>();\n\n animationOpeningDone: Observable<AnimationEvent>;\n animationClosingDone: Observable<AnimationEvent>;\n\n insideClicked = new EventEmitter();\n\n updatePosition = new EventEmitter();\n\n outsideClicked = new EventEmitter();\n\n beforeAttachPortal(): void {}\n\n constructor() {\n const changeDetectorRef = inject(ChangeDetectorRef);\n\n super(popoverAbstractOverlayOptions, changeDetectorRef);\n\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'enter';\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n }\n\n ngAfterViewInit() {\n if (this.config.outsideClosable && !this.config.hasBackdrop) {\n timer(0).subscribe(() => {\n this.thyClickDispatcher\n .clicked()\n .pipe(takeUntil(this.animationClosingDone))\n .subscribe((event: MouseEvent) => {\n if (!this.elementRef.nativeElement.contains(event.target as HTMLElement)) {\n this.ngZone.run(() => {\n this.outsideClicked.emit();\n });\n }\n });\n });\n }\n\n if (this.config.autoAdaptive) {\n const onStable$ = this.ngZone.isStable ? from(Promise.resolve()) : this.ngZone.onStable.pipe(take(1));\n this.ngZone.runOutsideAngular(() => {\n onStable$.pipe(takeUntil(this.containerDestroy)).subscribe(() => {\n this.contentObserver\n .observe(this.elementRef)\n .pipe(takeUntil(this.containerDestroy))\n .subscribe(() => {\n this.updatePosition.emit();\n });\n });\n });\n }\n }\n\n /** Callback, invoked whenever an animation on the host completes. */\n onAnimationDone(event: AnimationEvent) {\n // if (event.toState === 'void') {\n // this.trapFocus();\n // } else if (event.toState === 'exit') {\n // this.restoreFocus();\n // }\n this.animationStateChanged.emit(event);\n }\n\n /** Callback, invoked when an animation on the host starts. */\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation(): void {\n this.animationState = 'exit';\n\n // Mark the container for check so it can react if the\n // view container is using OnPush change detection.\n this.changeDetectorRef.markForCheck();\n }\n\n @HostListener('click', [])\n onInsideClick() {\n if (this.config.insideClosable) {\n this.insideClicked.emit();\n }\n }\n\n ngOnDestroy() {\n super.destroy();\n this.insideClicked.complete();\n this.updatePosition.complete();\n this.outsideClicked.complete();\n }\n}\n","<ng-template thyPortalOutlet></ng-template>\n","import { ThyAbstractInternalOverlayRef, ThyAbstractOverlayRef } from 'ngx-tethys/core';\n\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { merge } from 'rxjs';\n\nimport { ThyPopoverContainer } from './popover-container.component';\nimport { ThyPopoverConfig } from './popover.config';\nimport { popoverAbstractOverlayOptions } from './popover.options';\n\nexport abstract class ThyPopoverRef<T, TResult = unknown, TData = unknown> extends ThyAbstractOverlayRef<\n T,\n ThyPopoverContainer<TData>,\n TResult\n> {}\n\nexport class ThyInternalPopoverRef<T, TResult = unknown>\n extends ThyAbstractInternalOverlayRef<T, ThyPopoverContainer, TResult>\n implements ThyPopoverRef<T, TResult>\n{\n constructor(overlayRef: OverlayRef, containerInstance: ThyPopoverContainer, config: ThyPopoverConfig) {\n super(popoverAbstractOverlayOptions, overlayRef, containerInstance, config);\n // Note: doesn't need to unsubscribe, because `insideClicked` and `outsideClicked`\n // get completed by `ThyPopoverContainerComponent` when the view is destroyed.\n merge(containerInstance.insideClicked, containerInstance.outsideClicked).subscribe(() => this.close());\n containerInstance.updatePosition.subscribe(() => {\n this.updatePosition();\n });\n }\n\n /**\n * Updates the popover's position.\n * @param position New popover position.\n */\n updatePosition(): this {\n this.overlayRef.updatePosition();\n return this;\n }\n}\n","import { ComponentTypeOrTemplateRef, getFlexiblePositions, ThyAbstractOverlayRef, ThyAbstractOverlayService } from 'ngx-tethys/core';\nimport { FunctionProp, isFunction } from 'ngx-tethys/util';\nimport { of, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceArray, coerceElement } from '@angular/cdk/coercion';\nimport {\n FlexibleConnectedPositionStrategy,\n FlexibleConnectedPositionStrategyOrigin,\n Overlay,\n OverlayConfig,\n OverlayContainer,\n OverlayRef,\n PositionStrategy,\n ScrollStrategy,\n ViewportRuler\n} from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport { ElementRef, Injectable, Injector, NgZone, OnDestroy, StaticProvider, TemplateRef, inject } from '@angular/core';\n\nimport { ThyPopoverContainer } from './popover-container.component';\nimport { ThyInternalPopoverRef, ThyPopoverRef } from './popover-ref';\nimport {\n THY_POPOVER_DEFAULT_CONFIG,\n THY_POPOVER_DEFAULT_CONFIG_VALUE,\n THY_POPOVER_SCROLL_STRATEGY,\n ThyPopoverConfig\n} from './popover.config';\nimport { popoverAbstractOverlayOptions } from './popover.options';\nimport { SafeAny } from 'ngx-tethys/types';\n\n/**\n * @public\n * @order 10\n */\n@Injectable()\nexport class ThyPopover extends ThyAbstractOverlayService<ThyPopoverConfig, ThyPopoverContainer> implements OnDestroy {\n private ngZone = inject(NgZone);\n private _viewportRuler = inject(ViewportRuler);\n private _document = inject(DOCUMENT, { optional: true })!;\n private _platform = inject(Platform);\n private _overlayContainer = inject(OverlayContainer);\n\n private readonly ngUnsubscribe$ = new Subject();\n\n private originInstancesMap = new Map<\n ElementRef | HTMLElement,\n {\n config: ThyPopoverConfig;\n popoverRef: ThyPopoverRef<any, any>;\n }\n >();\n\n private buildPositionStrategy<TData>(config: ThyPopoverConfig<TData>): PositionStrategy {\n const origin: FlexibleConnectedPositionStrategyOrigin = config.originPosition ? config.originPosition : config.origin;\n // const positionStrategy = this.overlay.position().flexibleConnectedTo(origin);\n const positionStrategy = new FlexibleConnectedPositionStrategy(\n origin,\n this._viewportRuler,\n this._document,\n this._platform,\n this._overlayContainer\n );\n const positions = getFlexiblePositions(config.placement, config.offset, 'thy-popover');\n positionStrategy.withPositions(positions);\n positionStrategy.withPush(config.canPush);\n positionStrategy.withGrowAfterOpen(true);\n positionStrategy.withTransformOriginOn('.thy-popover-container');\n positionStrategy.positionChanges.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(change => {\n if (change.scrollableViewProperties.isOverlayClipped) {\n // After position changes occur and the overlay is clipped by\n // a parent scrollable then close the tooltip.\n this.ngZone.run(() => this.close());\n }\n });\n return positionStrategy;\n }\n\n private buildScrollStrategy(config: ThyPopoverConfig): ScrollStrategy {\n if (config.scrollStrategy) {\n return config.scrollStrategy;\n } else if (this.scrollStrategy && isFunction(this.scrollStrategy)) {\n return this.scrollStrategy();\n } else {\n this.overlay.scrollStrategies.block();\n }\n }\n\n protected buildOverlayConfig<TData>(config: ThyPopoverConfig<TData>): OverlayConfig {\n const positionStrategy = this.buildPositionStrategy(config);\n const overlayConfig = this.buildBaseOverlayConfig(config, 'thy-popover-panel');\n overlayConfig.positionStrategy = positionStrategy;\n overlayConfig.scrollStrategy = this.buildScrollStrategy(config);\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThyPopoverConfig<any>): ThyPopoverContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThyPopoverConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThyPopoverContainer, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThyPopoverContainer>(containerPortal);\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T, TResult = unknown>(\n overlayRef: OverlayRef,\n containerInstance: ThyPopoverContainer,\n config: ThyPopoverConfig\n ): ThyAbstractOverlayRef<T, ThyPopoverContainer, TResult> {\n return new ThyInternalPopoverRef(overlayRef, containerInstance, config);\n }\n\n protected createInjector<T>(config: ThyPopoverConfig, popoverRef: ThyPopoverRef<T>, popoverContainer: ThyPopoverContainer): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n const injectionTokens: StaticProvider[] = [\n { provide: ThyPopoverContainer, useValue: popoverContainer },\n {\n provide: ThyPopoverRef,\n useValue: popoverRef\n }\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 originElementAddActiveClass(config: ThyPopoverConfig) {\n if (config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.add(...coerceArray(config.originActiveClass));\n }\n }\n\n private originElementRemoveActiveClass(config: ThyPopoverConfig) {\n if (config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.remove(...coerceArray(config.originActiveClass));\n }\n }\n\n constructor() {\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n const defaultConfig = inject(THY_POPOVER_DEFAULT_CONFIG, { optional: true })!;\n const scrollStrategy = inject<FunctionProp<ScrollStrategy>>(THY_POPOVER_SCROLL_STRATEGY);\n\n super(\n popoverAbstractOverlayOptions,\n overlay,\n injector,\n {\n ...THY_POPOVER_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n },\n scrollStrategy\n );\n }\n\n private ensureCloseClosest(origin: HTMLElement) {\n let closeAndEnd = false;\n this.originInstancesMap.forEach((value, key) => {\n if (value.config.manualClosure) {\n if (key === origin) {\n value.popoverRef.close();\n closeAndEnd = true;\n }\n } else {\n if (key === origin) {\n closeAndEnd = true;\n }\n value.popoverRef.close();\n }\n });\n return closeAndEnd;\n }\n\n /**\n * 打开悬浮层\n */\n open<T, TData = unknown, TResult = unknown>(\n componentOrTemplateRef: ComponentTypeOrTemplateRef<T>,\n config?: ThyPopoverConfig<TData>\n ): ThyPopoverRef<T, TResult> {\n const originElement = coerceElement(config.origin);\n // 默认关闭之前的弹出框\n // 1. 当之前的 Popover 设置 manualClosure 为 true 时, 弹出其他 Popover 时不自动关闭 manualClosure 为 true 的 Popover\n // 2. 当前的 Origin 对应的 Popover 已经弹出,不管 manualClosure 设置为何,直接关闭并返回\n if (this.ensureCloseClosest(originElement)) {\n return;\n }\n\n const popoverRef = this.openOverlay<T, TResult>(componentOrTemplateRef, config) as ThyPopoverRef<T, TResult, TData>;\n config = popoverRef.containerInstance.config;\n popoverRef.afterClosed().subscribe(() => {\n this.originElementRemoveActiveClass(config);\n this.originInstancesMap.delete(originElement);\n });\n\n this.originElementAddActiveClass(config);\n this.originInstancesMap.set(originElement, {\n config,\n popoverRef\n });\n\n return popoverRef;\n }\n\n /**\n * 根据Id获取打开的悬浮层\n */\n getPopoverById(id: string): ThyPopoverRef<any> | undefined {\n return this.getAbstractOverlayById(id) as ThyPopoverRef<any> | undefined;\n }\n\n /**\n * 获取已经打开的悬浮层\n */\n getOpenedPopovers(): ThyPopoverRef<SafeAny>[] {\n return this.getAbstractOverlays();\n }\n\n /**\n * @description.en-us Finds the closest ThyPopoverRef to an element by looking at the DOM.\n * @description 通过 Dom 元素查找最近弹出的悬浮层\n */\n getClosestPopover(element: HTMLElement): ThyPopoverRef<any> | undefined {\n const parent = element.closest('.thy-popover-container');\n\n if (parent && parent.id) {\n return this.getPopoverById(parent.id);\n }\n return null;\n }\n\n /**\n * 关闭悬浮层\n */\n close<T>(result?: T, force?: boolean) {\n super.close(result, force);\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * 悬浮层内容组件\n * @name thy-popover-body\n * @order 40\n */\n@Component({\n selector: 'thy-popover-body',\n template: '<ng-content></ng-content>',\n exportAs: 'thyPopoverBody',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-popover-body'\n }\n})\nexport class ThyPopoverBody {}\n","import { ChangeDetectionStrategy, Component, computed, TemplateRef, inject, input, output, contentChild } from '@angular/core';\nimport { ThyTranslate } from 'ngx-tethys/core';\nimport { ThyPopover } from '../popover.service';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * 悬浮层头部组件\n * @name thy-popover-header\n * @order 30\n */\n@Component({\n selector: 'thy-popover-header',\n templateUrl: './popover-header.component.html',\n exportAs: 'thyPopoverHeader',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-popover-header'\n },\n imports: [NgTemplateOutlet, ThyIcon]\n})\nexport class ThyPopoverHeader {\n private translate = inject(ThyTranslate);\n private thyPopover = inject(ThyPopover);\n\n /**\n * 头部标题\n */\n readonly thyTitle = input<string>(undefined);\n\n /**\n * 标题的多语言 Key\n */\n readonly thyTitleTranslationKey = input<string>(undefined);\n\n protected readonly titleSignal = computed(() => {\n const title = this.thyTitle();\n if (title) {\n return title;\n }\n const titleTranslationKey = this.thyTitleTranslationKey();\n if (titleTranslationKey) {\n return this.translate.instant(titleTranslationKey);\n }\n return '';\n });\n\n /**\n * 自定义头部模板\n * @type TemplateRef\n */\n public headerTemplate = contentChild<TemplateRef<any>>('popoverHeader');\n\n /**\n * @internal\n */\n readonly thyClosed = output<Event>();\n\n /**\n * @internal\n */\n close(event: Event) {\n this.thyClosed.emit(event);\n this.thyPopover.close();\n }\n}\n","@if (headerTemplate()) {\n <template [ngTemplateOutlet]=\"headerTemplate()\"></template>\n} @else {\n <h5 class=\"thy-popover-title\">{{ titleSignal() }}</h5>\n <button type=\"button\" class=\"close\" (click)=\"close($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </button>\n}\n","import {\n Directive,\n ElementRef,\n NgZone,\n OnDestroy,\n Input,\n TemplateRef,\n OnInit,\n ViewContainerRef,\n HostBinding,\n ChangeDetectorRef,\n numberAttribute,\n inject,\n input,\n effect\n} from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { ThyOverlayDirectiveBase, ThyOverlayTrigger, ThyPlacement } from 'ngx-tethys/core';\nimport { ThyPopover } from './popover.service';\nimport { ComponentType } from '@angular/cdk/portal';\nimport { ThyPopoverRef } from './popover-ref';\nimport { ThyPopoverConfig } from './popover.config';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 弹出悬浮层指令\n * @name thyPopover\n * @order 50\n */\n@Directive({\n selector: '[thyPopover]'\n})\nexport class ThyPopoverDirective extends ThyOverlayDirectiveBase implements OnInit, OnDestroy {\n elementRef: ElementRef;\n private popover = inject(ThyPopover);\n private viewContainerRef = inject(ViewContainerRef);\n private cdr = inject(ChangeDetectorRef);\n\n @HostBinding(`class.thy-popover-opened`) popoverOpened = false;\n\n /**\n * 悬浮组件或者模板\n */\n readonly content = input<ComponentType<any> | TemplateRef<any>>(undefined, { alias: 'thyPopover' });\n\n /**\n * 弹出悬浮层的触发方式\n */\n readonly thyTrigger = input<ThyOverlayTrigger>('click');\n\n /**\n * 弹出悬浮层的位置\n * @type top | topLeft | topRight | bottom | bottomLeft | bottomRight | left | leftTop | leftBottom | right | rightTop | rightBottom\n */\n readonly thyPlacement = input<ThyPlacement>('bottom');\n\n /**\n * 弹出悬浮层的偏移量\n */\n readonly thyOffset = input<number, unknown>(0, { transform: numberAttribute });\n\n /**\n * 弹出悬浮层的配置\n */\n readonly thyConfig = input<ThyPopoverConfig>(undefined);\n\n /**\n * 显示延迟时间\n */\n readonly thyShowDelay = input<number, unknown>(0, { transform: numberAttribute });\n\n /**\n * 隐藏延迟时间\n */\n readonly thyHideDelay = input<number, unknown>(0, { transform: numberAttribute });\n\n /**\n * 自动适配内容变化重新计算位置\n */\n readonly thyAutoAdaptive = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 是否禁用打开悬浮层\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) set thyDisabled(value: boolean) {\n this.disabled = value;\n }\n\n private popoverRef: ThyPopoverRef<any>;\n\n constructor() {\n const elementRef = inject(ElementRef);\n const platform = inject(Platform);\n const focusMonitor = inject(FocusMonitor);\n const ngZone = inject(NgZone);\n super(elementRef, platform, focusMonitor, ngZone, true);\n this.elementRef = elementRef;\n\n effect(() => {\n this.trigger = this.thyTrigger();\n });\n effect(() => {\n this.showDelay = this.thyShowDelay();\n });\n effect(() => {\n this.hideDelay = this.thyHideDelay();\n });\n }\n\n ngOnInit(): void {\n this.initialize();\n }\n\n createOverlay(): OverlayRef {\n const config = Object.assign(\n {\n origin: this.elementRef.nativeElement,\n hasBackdrop: this.trigger === 'click' || this.trigger === 'focus',\n viewContainerRef: this.viewContainerRef,\n placement: this.thyPlacement(),\n offset: this.thyOffset(),\n autoAdaptive: this.thyAutoAdaptive()\n },\n this.thyConfig()\n );\n this.popoverRef = this.popover.open(this.content(), config);\n\n this.popoverRef.afterClosed().subscribe(() => {\n this.popoverOpened = false;\n });\n\n return this.popoverRef.getOverlayRef();\n }\n\n show(delay: number = this.showDelay) {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n\n if (this.disabled || (this.overlayRef && this.overlayRef.hasAttached())) {\n return;\n }\n if (this.trigger !== 'hover') {\n delay = 0;\n }\n\n this.showTimeoutId = setTimeout(() => {\n if (!this.disabled) {\n const overlayRef = this.createOverlay();\n this.overlayRef = overlayRef;\n this.popoverOpened = true;\n this.cdr.markForCheck();\n }\n this.showTimeoutId = null;\n }, delay);\n }\n\n hide(delay: number = this.hideDelay) {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n\n this.hideTimeoutId = setTimeout(() => {\n if (this.popoverRef) {\n this.popoverRef.close();\n this.cdr.markForCheck();\n }\n this.hideTimeoutId = null;\n }, delay);\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import { ThyIconModule } from 'ngx-tethys/icon';\n\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyPopoverBody } from './body/popover-body.component';\nimport { ThyPopoverHeader } from './header/popover-header.component';\nimport { ThyPopoverContainer } from './popover-container.component';\nimport { THY_POPOVER_DEFAULT_CONFIG_PROVIDER, THY_POPOVER_SCROLL_STRATEGY_PROVIDER } from './popover.config';\nimport { ThyPopoverDirective } from './popover.directive';\nimport { ThyPopover } from './popover.service';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n PortalModule,\n ThyIconModule,\n ThyPopoverContainer,\n ThyPopoverDirective,\n ThyPopoverHeader,\n ThyPopoverBody\n ],\n exports: [ThyPopoverDirective, ThyPopoverHeader, ThyPopoverBody],\n providers: [THY_POPOVER_DEFAULT_CONFIG_PROVIDER, THY_POPOVER_SCROLL_STRATEGY_PROVIDER, ThyPopover]\n})\nexport class ThyPopoverModule {}\n","import { animate, state, style, transition, trigger, AnimationTriggerMetadata } from '@angular/animations';\n\nconst animationBody = [\n // Note: The `enter` animation transitions to `transform: none`, because for some reason\n // specifying the transform explicitly, causes IE both to blur the dialog content and\n // decimate the animation performance. Leaving it as `none` solves both issues. translate(-300px,-100px)\n state('void, exit', style({ opacity: 0, transform: 'scale(0.1)' })),\n state('enter', style({ transform: 'none' }))\n // transition('* => enter', animate('100ms cubic-bezier(0, 0, 0.57, 1)', style({ transform: 'none', opacity: 1 }))),\n // transition(\n // '* => exit',\n // animate('150ms cubic-bezier(0.24, 0.18, 0.96, 0.52)', style({ transform: 'scale(0.3)', opacity: 0 }))\n // )\n];\n\n/**\n * Animations used by ThyPopover.\n * @docs-private\n */\nexport const thyPopoverAnimations: {\n readonly popoverContainer: AnimationTriggerMetadata;\n} = {\n popoverContainer: trigger('popoverContainer', animationBody)\n};\n\n// export const setAnimationStart\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-popover.mjs","sources":["../../../src/popover/popover.config.ts","../../../src/popover/popover.options.ts","../../../src/popover/popover-container.component.ts","../../../src/popover/popover-container.component.html","../../../src/popover/popover-ref.ts","../../../src/popover/popover.service.ts","../../../src/popover/body/popover-body.component.ts","../../../src/popover/header/popover-header.component.ts","../../../src/popover/header/popover-header.component.html","../../../src/popover/popover.directive.ts","../../../src/popover/module.ts","../../../src/popover/popover-animations.ts","../../../src/popover/ngx-tethys-popover.ts"],"sourcesContent":["import { ThyPlacement, ThyAbstractOverlayConfig } from 'ngx-tethys/core';\n\nimport { Overlay, ScrollStrategy } from '@angular/cdk/overlay';\nimport { ElementRef, InjectionToken } from '@angular/core';\n\n/**\n * @public\n * @order 20\n */\nexport class ThyPopoverConfig<TData = unknown> extends ThyAbstractOverlayConfig<TData> {\n /**\n * 弹出悬浮层位置计算的 Origin Element,Connected Element\n * @description.en-us Origin Element, for overlay flexible connected to\n */\n origin: ElementRef<any> | HTMLElement;\n\n /**\n * 源点位置\n * @description.en-us Origin point, default use origin's boundingClientRect\n */\n originPosition?: {\n x: number;\n y: number;\n } & { width?: number; height?: number };\n\n /**\n * 相对于源点的位置,可选值:topCenter, topLeft, topRight, bottomCenter, bottomLeft, bottomRight ...\n * @description.en-us Placement be relative to origin, topCenter, topLeft, topRight, bottomCenter, bottomLeft, bottomRight ...\n */\n placement?: ThyPlacement;\n\n /**\n * 点击popover内部是否自动关闭弹出框\n * @description.en-us Click inside can been close\n */\n insideClosable?: boolean;\n\n /**\n * 相对于源点的偏移量\n * @description.en-us Offset be relative to origin, default is 0\n * @default 0\n */\n offset?: number;\n\n /**\n * 是否只能手动关闭,唯一标识为origin\n * @description.en-us Manually close it, default rules is which auto close last popover when open a new unless set manualClosure as true\n */\n manualClosure?: boolean;\n\n /**\n * 对弹出悬浮层位置计算的 Origin Element,Connected Element 添加 class\n * @description.en-us Origin active class when popover is opened\n * @default thy-popover-origin-active\n */\n originActiveClass?: string | string[];\n\n /**\n * 滚动策略\n */\n scrollStrategy?: ScrollStrategy;\n\n /**\n * 点击popover外部是否自动关闭弹出框,hasBackdrop=false 时该参数起作用\n * @description.en-us Click outside can been close\n */\n outsideClosable?: boolean;\n\n /**\n * 是否开启自动适配大小模式,开启后当弹出框内容宽高发生变化后自动更新位置\n * @description.en-us autoAdaptive is true when height change can auto update position\n */\n autoAdaptive?: boolean;\n\n /**\n * 是否禁用动画\n * @default false\n */\n animationDisabled?: boolean;\n}\n\nexport const THY_POPOVER_DEFAULT_CONFIG = new InjectionToken<ThyPopoverConfig>('thy-popover-default-config');\n\nexport const THY_POPOVER_DEFAULT_CONFIG_VALUE = {\n hasBackdrop: true,\n backdropClass: 'thy-popover-backdrop',\n panelClass: '',\n offset: 0,\n backdropClosable: true,\n closeOnNavigation: true,\n placement: 'bottom' as ThyPlacement,\n insideClosable: false,\n manualClosure: false,\n originActiveClass: 'thy-popover-origin-active',\n autoAdaptive: false,\n minWidth: '240px'\n};\n\nexport const THY_POPOVER_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_POPOVER_DEFAULT_CONFIG,\n useValue: THY_POPOVER_DEFAULT_CONFIG_VALUE\n};\n\nexport const THY_POPOVER_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>('thy-popover-scroll-strategy');\n\nexport const THY_POPOVER_SCROLL_STRATEGY_FACTORY: (overlay: Overlay) => () => ScrollStrategy = (overlay: Overlay) => {\n return () => overlay.scrollStrategies.block();\n};\n\nexport const THY_POPOVER_SCROLL_STRATEGY_PROVIDER = {\n provide: THY_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: THY_POPOVER_SCROLL_STRATEGY_FACTORY\n};\n","import { ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nexport const popoverAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'popover',\n animationEnabled: true,\n disposeWhenClose: true\n};\n","import { ThyAbstractOverlayContainer, ThyClickDispatcher, ThyPortalOutlet } from 'ngx-tethys/core';\nimport { from, Observable, timer } from 'rxjs';\nimport { filter, take, takeUntil } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { ContentObserver } from '@angular/cdk/observers';\nimport { PortalModule } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n NgZone,\n OnDestroy,\n ViewChild,\n inject\n} from '@angular/core';\n\nimport { ThyPopoverConfig } from './popover.config';\nimport { popoverAbstractOverlayOptions } from './popover.options';\nimport { scaleMotion, scaleXMotion, scaleYMotion } from 'ngx-tethys/core';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-popover-container',\n templateUrl: './popover-container.component.html',\n animations: [scaleXMotion, scaleYMotion, scaleMotion],\n host: {\n class: 'thy-popover-container',\n tabindex: '-1',\n '[attr.role]': `'popover'`,\n '[attr.id]': 'id',\n '[@.disabled]': '!!config.animationDisabled',\n '[@scaleXMotion]': '(config.placement === \"left\" || config.placement === \"right\") ? animationState : \"void\"',\n '(@scaleXMotion.start)': 'onAnimationStart($event)',\n '(@scaleXMotion.done)': 'onAnimationDone($event)',\n '[@scaleYMotion]': '(config.placement === \"top\" || config.placement === \"bottom\") ? animationState : \"void\"',\n '(@scaleYMotion.start)': 'onAnimationStart($event)',\n '(@scaleYMotion.done)': 'onAnimationDone($event)',\n '[@scaleMotion]':\n '(config.placement !== \"left\" && config.placement !== \"right\" && config.placement !== \"top\" && config.placement !== \"bottom\") ? animationState : \"void\"',\n '(@scaleMotion.start)': 'onAnimationStart($event)',\n '(@scaleMotion.done)': 'onAnimationDone($event)'\n },\n imports: [PortalModule, ThyPortalOutlet]\n})\nexport class ThyPopoverContainer<TData = unknown> extends ThyAbstractOverlayContainer<TData> implements AfterViewInit, OnDestroy {\n private elementRef = inject(ElementRef);\n config = inject<ThyPopoverConfig<TData>>(ThyPopoverConfig);\n private thyClickDispatcher = inject(ThyClickDispatcher);\n private contentObserver = inject(ContentObserver);\n private ngZone = inject(NgZone);\n\n @ViewChild(ThyPortalOutlet, { static: true })\n portalOutlet: ThyPortalOutlet;\n\n /** State of the popover animation. */\n animationState: 'void' | 'enter' | 'exit' = 'enter';\n\n /** Emits when an animation state changes. */\n animationStateChanged = new EventEmitter<AnimationEvent>();\n\n animationOpeningDone: Observable<AnimationEvent>;\n animationClosingDone: Observable<AnimationEvent>;\n\n insideClicked = new EventEmitter();\n\n updatePosition = new EventEmitter();\n\n outsideClicked = new EventEmitter();\n\n beforeAttachPortal(): void {}\n\n constructor() {\n const changeDetectorRef = inject(ChangeDetectorRef);\n\n super(popoverAbstractOverlayOptions, changeDetectorRef);\n\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'enter';\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n }\n\n ngAfterViewInit() {\n if (this.config.outsideClosable && !this.config.hasBackdrop) {\n timer(0).subscribe(() => {\n this.thyClickDispatcher\n .clicked()\n .pipe(takeUntil(this.animationClosingDone))\n .subscribe((event: MouseEvent) => {\n if (!this.elementRef.nativeElement.contains(event.target as HTMLElement)) {\n this.ngZone.run(() => {\n this.outsideClicked.emit();\n });\n }\n });\n });\n }\n\n if (this.config.autoAdaptive) {\n const onStable$ = this.ngZone.isStable ? from(Promise.resolve()) : this.ngZone.onStable.pipe(take(1));\n this.ngZone.runOutsideAngular(() => {\n onStable$.pipe(takeUntil(this.containerDestroy)).subscribe(() => {\n this.contentObserver\n .observe(this.elementRef)\n .pipe(takeUntil(this.containerDestroy))\n .subscribe(() => {\n this.updatePosition.emit();\n });\n });\n });\n }\n }\n\n /** Callback, invoked whenever an animation on the host completes. */\n onAnimationDone(event: AnimationEvent) {\n // if (event.toState === 'void') {\n // this.trapFocus();\n // } else if (event.toState === 'exit') {\n // this.restoreFocus();\n // }\n this.animationStateChanged.emit(event);\n }\n\n /** Callback, invoked when an animation on the host starts. */\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation(): void {\n this.animationState = 'exit';\n\n // Mark the container for check so it can react if the\n // view container is using OnPush change detection.\n this.changeDetectorRef.markForCheck();\n }\n\n @HostListener('click', [])\n onInsideClick() {\n if (this.config.insideClosable) {\n this.insideClicked.emit();\n }\n }\n\n ngOnDestroy() {\n super.destroy();\n this.insideClicked.complete();\n this.updatePosition.complete();\n this.outsideClicked.complete();\n }\n}\n","<ng-template thyPortalOutlet></ng-template>\n","import { ThyAbstractInternalOverlayRef, ThyAbstractOverlayOptions, ThyAbstractOverlayRef } from 'ngx-tethys/core';\n\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { merge } from 'rxjs';\n\nimport { ThyPopoverContainer } from './popover-container.component';\nimport { ThyPopoverConfig } from './popover.config';\nimport { popoverAbstractOverlayOptions } from './popover.options';\n\nexport abstract class ThyPopoverRef<T, TResult = unknown, TData = unknown> extends ThyAbstractOverlayRef<\n T,\n ThyPopoverContainer<TData>,\n TResult\n> {}\n\nexport class ThyInternalPopoverRef<T, TResult = unknown>\n extends ThyAbstractInternalOverlayRef<T, ThyPopoverContainer, TResult, ThyPopoverConfig>\n implements ThyPopoverRef<T, TResult>\n{\n protected get options(): ThyAbstractOverlayOptions {\n return popoverAbstractOverlayOptions;\n }\n\n constructor() {\n super();\n }\n\n override initialize(overlayRef: OverlayRef, containerInstance: ThyPopoverContainer, config: ThyPopoverConfig): void {\n super.initialize(overlayRef, containerInstance, config);\n // Note: doesn't need to unsubscribe, because `insideClicked` and `outsideClicked`\n // get completed by `ThyPopoverContainerComponent` when the view is destroyed.\n merge(containerInstance.insideClicked, containerInstance.outsideClicked).subscribe(() => this.close());\n containerInstance.updatePosition.subscribe(() => {\n this.updatePosition();\n });\n }\n\n /**\n * Updates the popover's position.\n * @param position New popover position.\n */\n updatePosition(): this {\n this.overlayRef.updatePosition();\n return this;\n }\n}\n","import { ComponentTypeOrTemplateRef, getFlexiblePositions, ThyAbstractOverlayRef, ThyAbstractOverlayService } from 'ngx-tethys/core';\nimport { FunctionProp, isFunction } from 'ngx-tethys/util';\nimport { of, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceArray, coerceElement } from '@angular/cdk/coercion';\nimport {\n FlexibleConnectedPositionStrategy,\n FlexibleConnectedPositionStrategyOrigin,\n Overlay,\n OverlayConfig,\n OverlayContainer,\n OverlayRef,\n PositionStrategy,\n ScrollStrategy,\n ViewportRuler\n} from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { ElementRef, Injectable, Injector, NgZone, OnDestroy, StaticProvider, TemplateRef, inject, DOCUMENT } from '@angular/core';\n\nimport { ThyPopoverContainer } from './popover-container.component';\nimport { ThyInternalPopoverRef, ThyPopoverRef } from './popover-ref';\nimport {\n THY_POPOVER_DEFAULT_CONFIG,\n THY_POPOVER_DEFAULT_CONFIG_VALUE,\n THY_POPOVER_SCROLL_STRATEGY,\n ThyPopoverConfig\n} from './popover.config';\nimport { popoverAbstractOverlayOptions } from './popover.options';\nimport { SafeAny } from 'ngx-tethys/types';\n\n/**\n * @public\n * @order 10\n */\n@Injectable()\nexport class ThyPopover extends ThyAbstractOverlayService<ThyPopoverConfig, ThyPopoverContainer> implements OnDestroy {\n private ngZone = inject(NgZone);\n private _viewportRuler = inject(ViewportRuler);\n private _document = inject(DOCUMENT, { optional: true })!;\n private _platform = inject(Platform);\n private _overlayContainer = inject(OverlayContainer);\n\n private readonly ngUnsubscribe$ = new Subject();\n\n private originInstancesMap = new Map<\n ElementRef | HTMLElement,\n {\n config: ThyPopoverConfig;\n popoverRef: ThyPopoverRef<any, any>;\n }\n >();\n\n private buildPositionStrategy<TData>(config: ThyPopoverConfig<TData>): PositionStrategy {\n const origin: FlexibleConnectedPositionStrategyOrigin = config.originPosition ? config.originPosition : config.origin;\n // const positionStrategy = this.overlay.position().flexibleConnectedTo(origin);\n const positionStrategy = new FlexibleConnectedPositionStrategy(\n origin,\n this._viewportRuler,\n this._document,\n this._platform,\n this._overlayContainer\n );\n const positions = getFlexiblePositions(config.placement, config.offset, 'thy-popover');\n positionStrategy.withPositions(positions);\n positionStrategy.withPush(config.canPush);\n positionStrategy.withGrowAfterOpen(true);\n positionStrategy.withTransformOriginOn('.thy-popover-container');\n positionStrategy.positionChanges.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(change => {\n if (change.scrollableViewProperties.isOverlayClipped) {\n // After position changes occur and the overlay is clipped by\n // a parent scrollable then close the tooltip.\n this.ngZone.run(() => this.close());\n }\n });\n return positionStrategy;\n }\n\n private buildScrollStrategy(config: ThyPopoverConfig): ScrollStrategy {\n if (config.scrollStrategy) {\n return config.scrollStrategy;\n } else if (this.scrollStrategy && isFunction(this.scrollStrategy)) {\n return this.scrollStrategy();\n } else {\n this.overlay.scrollStrategies.block();\n }\n }\n\n protected buildOverlayConfig<TData>(config: ThyPopoverConfig<TData>): OverlayConfig {\n const positionStrategy = this.buildPositionStrategy(config);\n const overlayConfig = this.buildBaseOverlayConfig(config, 'thy-popover-panel');\n overlayConfig.positionStrategy = positionStrategy;\n overlayConfig.scrollStrategy = this.buildScrollStrategy(config);\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThyPopoverConfig<any>): ThyPopoverContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThyPopoverConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThyPopoverContainer, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThyPopoverContainer>(containerPortal);\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T, TResult = unknown>(\n overlayRef: OverlayRef,\n containerInstance: ThyPopoverContainer,\n config: ThyPopoverConfig\n ): ThyAbstractOverlayRef<T, ThyPopoverContainer, TResult> {\n const popoverRef = new ThyInternalPopoverRef<T, TResult>();\n popoverRef.initialize(overlayRef, containerInstance, config);\n return popoverRef;\n }\n\n protected createInjector<T>(config: ThyPopoverConfig, popoverRef: ThyPopoverRef<T>, popoverContainer: ThyPopoverContainer): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n const injectionTokens: StaticProvider[] = [\n { provide: ThyPopoverContainer, useValue: popoverContainer },\n {\n provide: ThyPopoverRef,\n useValue: popoverRef\n }\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 originElementAddActiveClass(config: ThyPopoverConfig) {\n if (config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.add(...coerceArray(config.originActiveClass));\n }\n }\n\n private originElementRemoveActiveClass(config: ThyPopoverConfig) {\n if (config.originActiveClass) {\n coerceElement<HTMLElement>(config.origin).classList.remove(...coerceArray(config.originActiveClass));\n }\n }\n\n constructor() {\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n const defaultConfig = inject(THY_POPOVER_DEFAULT_CONFIG, { optional: true })!;\n const scrollStrategy = inject<FunctionProp<ScrollStrategy>>(THY_POPOVER_SCROLL_STRATEGY);\n\n super(\n popoverAbstractOverlayOptions,\n overlay,\n injector,\n {\n ...THY_POPOVER_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n },\n scrollStrategy\n );\n }\n\n private ensureCloseClosest(origin: HTMLElement) {\n let closeAndEnd = false;\n this.originInstancesMap.forEach((value, key) => {\n if (value.config.manualClosure) {\n if (key === origin) {\n value.popoverRef.close();\n closeAndEnd = true;\n }\n } else {\n if (key === origin) {\n closeAndEnd = true;\n }\n value.popoverRef.close();\n }\n });\n return closeAndEnd;\n }\n\n /**\n * 打开悬浮层\n */\n open<T, TData = unknown, TResult = unknown>(\n componentOrTemplateRef: ComponentTypeOrTemplateRef<T>,\n config?: ThyPopoverConfig<TData>\n ): ThyPopoverRef<T, TResult> {\n const originElement = coerceElement(config.origin);\n // 默认关闭之前的弹出框\n // 1. 当之前的 Popover 设置 manualClosure 为 true 时, 弹出其他 Popover 时不自动关闭 manualClosure 为 true 的 Popover\n // 2. 当前的 Origin 对应的 Popover 已经弹出,不管 manualClosure 设置为何,直接关闭并返回\n if (this.ensureCloseClosest(originElement)) {\n return;\n }\n\n const popoverRef = this.openOverlay<T, TResult>(componentOrTemplateRef, config) as ThyPopoverRef<T, TResult, TData>;\n config = popoverRef.containerInstance.config;\n popoverRef.afterClosed().subscribe(() => {\n this.originElementRemoveActiveClass(config);\n this.originInstancesMap.delete(originElement);\n });\n\n this.originElementAddActiveClass(config);\n this.originInstancesMap.set(originElement, {\n config,\n popoverRef\n });\n\n return popoverRef;\n }\n\n /**\n * 根据Id获取打开的悬浮层\n */\n getPopoverById(id: string): ThyPopoverRef<any> | undefined {\n return this.getAbstractOverlayById(id) as ThyPopoverRef<any> | undefined;\n }\n\n /**\n * 获取已经打开的悬浮层\n */\n getOpenedPopovers(): ThyPopoverRef<SafeAny>[] {\n return this.getAbstractOverlays();\n }\n\n /**\n * @description.en-us Finds the closest ThyPopoverRef to an element by looking at the DOM.\n * @description 通过 Dom 元素查找最近弹出的悬浮层\n */\n getClosestPopover(element: HTMLElement): ThyPopoverRef<any> | undefined {\n const parent = element.closest('.thy-popover-container');\n\n if (parent && parent.id) {\n return this.getPopoverById(parent.id);\n }\n return null;\n }\n\n /**\n * 关闭悬浮层\n */\n close<T>(result?: T, force?: boolean) {\n super.close(result, force);\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * 悬浮层内容组件\n * @name thy-popover-body\n * @order 40\n */\n@Component({\n selector: 'thy-popover-body',\n template: '<ng-content></ng-content>',\n exportAs: 'thyPopoverBody',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-popover-body'\n }\n})\nexport class ThyPopoverBody {}\n","import { ChangeDetectionStrategy, Component, computed, TemplateRef, inject, input, output, contentChild } from '@angular/core';\nimport { ThyTranslate } from 'ngx-tethys/core';\nimport { ThyPopover } from '../popover.service';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * 悬浮层头部组件\n * @name thy-popover-header\n * @order 30\n */\n@Component({\n selector: 'thy-popover-header',\n templateUrl: './popover-header.component.html',\n exportAs: 'thyPopoverHeader',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-popover-header'\n },\n imports: [NgTemplateOutlet, ThyIcon]\n})\nexport class ThyPopoverHeader {\n private translate = inject(ThyTranslate);\n private thyPopover = inject(ThyPopover);\n\n /**\n * 头部标题\n */\n readonly thyTitle = input<string>(undefined);\n\n /**\n * 标题的多语言 Key\n */\n readonly thyTitleTranslationKey = input<string>(undefined);\n\n protected readonly titleSignal = computed(() => {\n const title = this.thyTitle();\n if (title) {\n return title;\n }\n const titleTranslationKey = this.thyTitleTranslationKey();\n if (titleTranslationKey) {\n return this.translate.instant(titleTranslationKey);\n }\n return '';\n });\n\n /**\n * 自定义头部模板\n * @type TemplateRef\n */\n public headerTemplate = contentChild<TemplateRef<any>>('popoverHeader');\n\n /**\n * @internal\n */\n readonly thyClosed = output<Event>();\n\n /**\n * @internal\n */\n close(event: Event) {\n this.thyClosed.emit(event);\n this.thyPopover.close();\n }\n}\n","@if (headerTemplate()) {\n <template [ngTemplateOutlet]=\"headerTemplate()\"></template>\n} @else {\n <h5 class=\"thy-popover-title\">{{ titleSignal() }}</h5>\n <button type=\"button\" class=\"close\" (click)=\"close($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </button>\n}\n","import {\n Directive,\n ElementRef,\n NgZone,\n OnDestroy,\n Input,\n TemplateRef,\n OnInit,\n ViewContainerRef,\n HostBinding,\n ChangeDetectorRef,\n numberAttribute,\n inject,\n input,\n effect\n} from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { ThyOverlayDirectiveBase, ThyOverlayTrigger, ThyPlacement } from 'ngx-tethys/core';\nimport { ThyPopover } from './popover.service';\nimport { ComponentType } from '@angular/cdk/portal';\nimport { ThyPopoverRef } from './popover-ref';\nimport { ThyPopoverConfig } from './popover.config';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 弹出悬浮层指令\n * @name thyPopover\n * @order 50\n */\n@Directive({\n selector: '[thyPopover]'\n})\nexport class ThyPopoverDirective extends ThyOverlayDirectiveBase implements OnInit, OnDestroy {\n elementRef: ElementRef;\n private popover = inject(ThyPopover);\n private viewContainerRef = inject(ViewContainerRef);\n private cdr = inject(ChangeDetectorRef);\n\n @HostBinding(`class.thy-popover-opened`) popoverOpened = false;\n\n /**\n * 悬浮组件或者模板\n */\n readonly content = input<ComponentType<any> | TemplateRef<any>>(undefined, { alias: 'thyPopover' });\n\n /**\n * 弹出悬浮层的触发方式\n */\n readonly thyTrigger = input<ThyOverlayTrigger>('click');\n\n /**\n * 弹出悬浮层的位置\n * @type top | topLeft | topRight | bottom | bottomLeft | bottomRight | left | leftTop | leftBottom | right | rightTop | rightBottom\n */\n readonly thyPlacement = input<ThyPlacement>('bottom');\n\n /**\n * 弹出悬浮层的偏移量\n */\n readonly thyOffset = input<number, unknown>(0, { transform: numberAttribute });\n\n /**\n * 弹出悬浮层的配置\n */\n readonly thyConfig = input<ThyPopoverConfig>(undefined);\n\n /**\n * 显示延迟时间\n */\n readonly thyShowDelay = input<number, unknown>(0, { transform: numberAttribute });\n\n /**\n * 隐藏延迟时间\n */\n readonly thyHideDelay = input<number, unknown>(0, { transform: numberAttribute });\n\n /**\n * 自动适配内容变化重新计算位置\n */\n readonly thyAutoAdaptive = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 是否禁用打开悬浮层\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) set thyDisabled(value: boolean) {\n this.disabled = value;\n }\n\n private popoverRef: ThyPopoverRef<any>;\n\n constructor() {\n const elementRef = inject(ElementRef);\n const platform = inject(Platform);\n const focusMonitor = inject(FocusMonitor);\n const ngZone = inject(NgZone);\n super(elementRef, platform, focusMonitor, ngZone, true);\n this.elementRef = elementRef;\n\n effect(() => {\n this.trigger = this.thyTrigger();\n });\n effect(() => {\n this.showDelay = this.thyShowDelay();\n });\n effect(() => {\n this.hideDelay = this.thyHideDelay();\n });\n }\n\n ngOnInit(): void {\n this.initialize();\n }\n\n createOverlay(): OverlayRef {\n const config = Object.assign(\n {\n origin: this.elementRef.nativeElement,\n hasBackdrop: this.trigger === 'click' || this.trigger === 'focus',\n viewContainerRef: this.viewContainerRef,\n placement: this.thyPlacement(),\n offset: this.thyOffset(),\n autoAdaptive: this.thyAutoAdaptive()\n },\n this.thyConfig()\n );\n this.popoverRef = this.popover.open(this.content(), config);\n\n this.popoverRef.afterClosed().subscribe(() => {\n this.popoverOpened = false;\n });\n\n return this.popoverRef.getOverlayRef();\n }\n\n show(delay: number = this.showDelay) {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n\n if (this.disabled || (this.overlayRef && this.overlayRef.hasAttached())) {\n return;\n }\n if (this.trigger !== 'hover') {\n delay = 0;\n }\n\n this.showTimeoutId = setTimeout(() => {\n if (!this.disabled) {\n const overlayRef = this.createOverlay();\n this.overlayRef = overlayRef;\n this.popoverOpened = true;\n this.cdr.markForCheck();\n }\n this.showTimeoutId = null;\n }, delay);\n }\n\n hide(delay: number = this.hideDelay) {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n\n this.hideTimeoutId = setTimeout(() => {\n if (this.popoverRef) {\n this.popoverRef.close();\n this.cdr.markForCheck();\n }\n this.hideTimeoutId = null;\n }, delay);\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import { ThyIconModule } from 'ngx-tethys/icon';\n\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyPopoverBody } from './body/popover-body.component';\nimport { ThyPopoverHeader } from './header/popover-header.component';\nimport { ThyPopoverContainer } from './popover-container.component';\nimport { THY_POPOVER_DEFAULT_CONFIG_PROVIDER, THY_POPOVER_SCROLL_STRATEGY_PROVIDER } from './popover.config';\nimport { ThyPopoverDirective } from './popover.directive';\nimport { ThyPopover } from './popover.service';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n PortalModule,\n ThyIconModule,\n ThyPopoverContainer,\n ThyPopoverDirective,\n ThyPopoverHeader,\n ThyPopoverBody\n ],\n exports: [ThyPopoverDirective, ThyPopoverHeader, ThyPopoverBody],\n providers: [THY_POPOVER_DEFAULT_CONFIG_PROVIDER, THY_POPOVER_SCROLL_STRATEGY_PROVIDER, ThyPopover]\n})\nexport class ThyPopoverModule {}\n","import { animate, state, style, transition, trigger, AnimationTriggerMetadata } from '@angular/animations';\n\nconst animationBody = [\n // Note: The `enter` animation transitions to `transform: none`, because for some reason\n // specifying the transform explicitly, causes IE both to blur the dialog content and\n // decimate the animation performance. Leaving it as `none` solves both issues. translate(-300px,-100px)\n state('void, exit', style({ opacity: 0, transform: 'scale(0.1)' })),\n state('enter', style({ transform: 'none' }))\n // transition('* => enter', animate('100ms cubic-bezier(0, 0, 0.57, 1)', style({ transform: 'none', opacity: 1 }))),\n // transition(\n // '* => exit',\n // animate('150ms cubic-bezier(0.24, 0.18, 0.96, 0.52)', style({ transform: 'scale(0.3)', opacity: 0 }))\n // )\n];\n\n/**\n * Animations used by ThyPopover.\n * @docs-private\n */\nexport const thyPopoverAnimations: {\n readonly popoverContainer: AnimationTriggerMetadata;\n} = {\n popoverContainer: trigger('popoverContainer', animationBody)\n};\n\n// export const setAnimationStart\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|