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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-dialog.mjs","sources":["../../../src/dialog/confirm/token.ts","../../../src/dialog/dialog-animations.ts","../../../src/dialog/dialog.config.ts","../../../src/dialog/dialog.options.ts","../../../src/dialog/dialog-container.component.ts","../../../src/dialog/dialog-ref.ts","../../../src/dialog/dialog.service.ts","../../../src/dialog/body/dialog-body.component.ts","../../../src/dialog/confirm.config.ts","../../../src/dialog/header/dialog-header.component.ts","../../../src/dialog/header/dialog-header.component.html","../../../src/dialog/confirm/confirm.component.ts","../../../src/dialog/confirm/confirm.component.html","../../../src/dialog/footer/dialog-footer.component.ts","../../../src/dialog/footer/dialog-footer.component.html","../../../src/dialog/dialog.module.ts","../../../src/dialog/ngx-tethys-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport interface ThyConfirmAbstractComponent {\n okText: string;\n okType: string;\n cancelText: string;\n okLoadingText: string;\n}\n\nexport const THY_CONFIRM_COMPONENT_TOKEN = new InjectionToken<ThyConfirmAbstractComponent>('thy-confirm-component-token');\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('200ms cubic-bezier(0, 0, 0.57, 1)', style({ transform: 'none', opacity: 1 }))),\n transition('* => exit', animate('150ms cubic-bezier(0.24, 0.18, 0.96, 0.52)', style({ transform: 'scale(0.3)', opacity: 0 })))\n];\n\n/**\n * Animations used by MatDialog.\n * @docs-private\n */\nexport const thyDialogAnimations: {\n readonly dialogContainer: AnimationTriggerMetadata;\n} = {\n dialogContainer: trigger('dialogContainer', animationBody)\n};\n\n// export const setAnimationStart\n","import { ThyAbstractOverlayConfig, ThyAbstractOverlayPosition } from 'ngx-tethys/core';\n\nimport { ScrollStrategy } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\n\n/** Valid ARIA roles for a dialog element. */\nexport type ThyDialogRole = 'dialog' | 'alertdialog';\n\nexport enum ThyDialogSizes {\n lg = 'lg',\n /**\n * 已废弃,命名错误,请使用 superLg\n * @deprecated\n */\n supperLg = 'supper-lg',\n superLg = 'super-lg',\n maxLg = 'max-lg',\n md = 'md',\n sm = 'sm',\n full = 'full'\n}\n\n/**\n * 通过ThyDialog服务端打开模态框的配置\n * @description.en-us Configuration for opening a modal dialog with the ThyDialog service.\n * @public\n * @order 20\n */\nexport class ThyDialogConfig<TData = unknown> extends ThyAbstractOverlayConfig<TData> {\n /**\n * 对话框元素的 ARIA 角色\n * @description.en-us The ARIA role of the dialog element.\n */\n role?: ThyDialogRole = 'dialog';\n\n /**\n * 定位模态框的弹出位置\n * @description.en-us Position overrides.\n */\n position?: ThyAbstractOverlayPosition;\n\n /**\n * 模态框的大小,ThyDialogSizes: sm (400)、md (660)、lg (800)、maxLg (980)、superLg (94vw)、full (全屏)\n * @default md\n * @description.en-us Dialog size md, lg, sm\n */\n size?: ThyDialogSizes;\n\n /**\n * 用于模态框的滚动策略\n * @description.en-us Scroll strategy to be used for the dialog.\n */\n scrollStrategy?: ScrollStrategy;\n}\n\n/** Injection token that can be used to specify default dialog options. */\nexport const THY_DIALOG_DEFAULT_OPTIONS = new InjectionToken<ThyDialogConfig>('thy-dialog-default-options');\n\nexport const THY_DIALOG_DEFAULT_OPTIONS_PROVIDER = {\n provide: THY_DIALOG_DEFAULT_OPTIONS,\n useValue: {\n role: 'dialog',\n hasBackdrop: true,\n backdropClass: '',\n panelClass: '',\n backdropClosable: true,\n closeOnNavigation: true,\n autoFocus: true,\n restoreFocus: true,\n restoreFocusOptions: {\n preventScroll: true\n },\n hostClass: 'thy-dialog-content'\n }\n};\n\nexport type ThyDialogFooterAlign = 'left' | 'right' | 'center';\n\nexport class ThyDialogLayoutConfig {\n footerAlign?: ThyDialogFooterAlign;\n footerDivided?: boolean;\n}\n\nexport const THY_DIALOG_LAYOUT_CONFIG = new InjectionToken<ThyDialogLayoutConfig>('thy-dialog-layout-config');\n\nexport const THY_DIALOG_LAYOUT_CONFIG_PROVIDER = {\n provide: THY_DIALOG_LAYOUT_CONFIG,\n useValue: {\n footerAlign: 'left',\n footerDivided: false\n }\n};\n","import { ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nexport const dialogAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'dialog',\n animationEnabled: true,\n disposeWhenClose: true\n};\n","import { reqAnimFrame, ThyAbstractOverlayContainer, ThyClickPositioner, ThyPortalOutlet } from 'ngx-tethys/core';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { FocusTrap, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n NgZone,\n OnDestroy,\n Renderer2,\n ViewChild,\n inject\n} from '@angular/core';\n\nimport { thyDialogAnimations } from './dialog-animations';\nimport { ThyDialogConfig } from './dialog.config';\nimport { dialogAbstractOverlayOptions } from './dialog.options';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-dialog-container',\n template: ` <ng-template thyPortalOutlet></ng-template> `,\n // Using OnPush for dialogs caused some sync issues, e.g. custom ngModel can't to detect changes\n // Disabled until we can track them down.\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [thyDialogAnimations.dialogContainer],\n host: {\n class: 'thy-dialog-container',\n tabindex: '-1',\n 'aria-modal': 'true',\n '[attr.id]': 'id',\n '[attr.role]': 'config.role',\n '[attr.aria-labelledby]': 'config.ariaLabel ? null : ariaLabelledBy',\n '[attr.aria-label]': 'config.ariaLabel',\n '[attr.aria-describedby]': 'config.ariaDescribedBy || null',\n '[@dialogContainer]': 'animationState',\n '(@dialogContainer.start)': 'onAnimationStart($event)',\n '(@dialogContainer.done)': 'onAnimationDone($event)'\n },\n imports: [PortalModule, ThyPortalOutlet]\n})\nexport class ThyDialogContainer extends ThyAbstractOverlayContainer implements OnDestroy {\n private elementRef = inject(ElementRef);\n private document = inject(DOCUMENT);\n config = inject(ThyDialogConfig);\n private clickPositioner = inject(ThyClickPositioner);\n private focusTrapFactory = inject(FocusTrapFactory);\n private ngZone = inject(NgZone);\n private renderer = inject(Renderer2);\n\n animationOpeningDone: Observable<AnimationEvent>;\n animationClosingDone: Observable<AnimationEvent>;\n\n @ViewChild(ThyPortalOutlet, { static: true })\n portalOutlet: ThyPortalOutlet;\n\n @HostBinding(`attr.id`)\n id: string;\n\n /** State of the dialog animation. */\n animationState: 'void' | 'enter' | 'exit' = 'void';\n\n /** Emits when an animation state changes. */\n animationStateChanged = new EventEmitter<AnimationEvent>();\n\n /** ID of the element that should be considered as the dialog's label. */\n ariaLabelledBy: string | null = null;\n\n /** Element that was focused before the dialog was opened. Save this to restore upon close. */\n private elementFocusedBeforeDialogWasOpened: HTMLElement | null = null;\n\n /** The class that traps and manages focus within the dialog. */\n private focusTrap: FocusTrap;\n\n private savePreviouslyFocusedElement() {\n if (this.document) {\n this.elementFocusedBeforeDialogWasOpened = this.document.activeElement as HTMLElement;\n\n // Note that there is no focus method when rendering on the server.\n if (this.elementRef.nativeElement.focus) {\n // Note: this is being run outside of the Angular zone because `element.focus()` doesn't require\n // running change detection.\n this.ngZone.runOutsideAngular(() =>\n // Move focus onto the dialog immediately in order to prevent the user from accidentally\n // opening multiple dialogs at the same time. Needs to be async, because the element\n // may not be focusable immediately.\n\n // Note: `element.focus()` causes re-layout and this may lead to frame drop on slower devices.\n // https://gist.github.com/paulirish/5d52fb081b3570c81e3a#setting-focus\n // `setTimeout` is a macrotask and macrotasks are executed within the current rendering frame.\n // Animation tasks are executed within the next rendering frame.\n reqAnimFrame(() => this.elementRef.nativeElement.focus())\n );\n }\n }\n }\n\n /** Moves the focus inside the focus trap. */\n private trapFocus() {\n const element = this.elementRef.nativeElement;\n\n if (!this.focusTrap) {\n this.focusTrap = this.focusTrapFactory.create(element);\n }\n\n // If we were to attempt to focus immediately, then the content of the dialog would not yet be\n // ready in instances where change detection has to run first. To deal with this, we simply\n // wait for the microtask queue to be empty.\n if (this.config.autoFocus) {\n this.focusTrap.focusInitialElementWhenReady();\n } else {\n const activeElement = this.document.activeElement;\n\n // Otherwise ensure that focus is on the dialog container. It's possible that a different\n // component tried to move focus while the open animation was running. See:\n // https://github.com/angular/components/issues/16215. Note that we only want to do this\n // if the focus isn't inside the dialog already, because it's possible that the consumer\n // turned off `autoFocus` in order to move focus themselves.\n if (activeElement !== element && !element.contains(activeElement)) {\n element.focus();\n }\n }\n }\n\n private restoreFocus() {\n const toFocus = this.elementFocusedBeforeDialogWasOpened;\n\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (this.config.restoreFocus && toFocus && typeof toFocus.focus === 'function') {\n toFocus.focus(this.config.restoreFocusOptions);\n }\n\n if (this.focusTrap) {\n this.focusTrap.destroy();\n }\n }\n\n private setTransformOrigin() {\n this.clickPositioner.runTaskUseLastPosition(lastPosition => {\n if (lastPosition) {\n const containerElement: HTMLElement = this.elementRef.nativeElement;\n const transformOrigin = `${lastPosition.x - containerElement.offsetLeft}px ${\n lastPosition.y - containerElement.offsetTop\n }px 0px`;\n containerElement.style.transformOrigin = transformOrigin;\n // 手动修改动画状态为从 void 到 enter, 开启动画\n }\n this.animationState = 'enter';\n this.changeDetectorRef.markForCheck();\n });\n }\n\n constructor() {\n const changeDetectorRef = inject(ChangeDetectorRef);\n\n super(dialogAbstractOverlayOptions, changeDetectorRef);\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'void';\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n /* Prohibit operations on elements inside the container during animation execution */\n this.animationStateChanged\n .pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'start' && event.toState === 'exit';\n })\n )\n .subscribe(() => {\n this.renderer.setStyle(this.elementRef.nativeElement, 'pointer-events', 'none');\n });\n }\n\n beforeAttachPortal(): void {\n this.setTransformOrigin();\n this.savePreviouslyFocusedElement();\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 ngOnDestroy() {\n super.destroy();\n }\n}\n","import { GlobalPositionStrategy, OverlayRef } from '@angular/cdk/overlay';\nimport { ThyAbstractInternalOverlayRef, ThyAbstractOverlayPosition, ThyAbstractOverlayRef } from 'ngx-tethys/core';\n\nimport { ThyDialogContainer } from './dialog-container.component';\nimport { ThyDialogConfig } from './dialog.config';\nimport { dialogAbstractOverlayOptions } from './dialog.options';\n\n/**\n * @publicApi\n * @order 30\n */\nexport interface ThyAbstractDialog {\n toTop(id: string): void;\n}\n\nexport abstract class ThyDialogRef<T, TResult = unknown> extends ThyAbstractOverlayRef<T, ThyDialogContainer, TResult> {}\n\nexport class ThyInternalDialogRef<T, TResult = unknown> extends ThyAbstractInternalOverlayRef<T, ThyDialogContainer, TResult> {\n thyDialog: ThyAbstractDialog;\n\n constructor(overlayRef: OverlayRef, containerInstance: ThyDialogContainer, config: ThyDialogConfig<T>, service: ThyAbstractDialog) {\n super(dialogAbstractOverlayOptions, overlayRef, containerInstance, config);\n this.thyDialog = service;\n }\n\n /**\n * Updates the dialog's position.\n * @param position New dialog position.\n */\n updatePosition(position?: ThyAbstractOverlayPosition): this {\n this.updateGlobalPosition(position);\n return this;\n }\n\n /**\n * Updates the dialog's width and height.\n * @param width New width of the dialog.\n * @param height New height of the dialog.\n */\n updateSizeAndPosition(width: string = '', height: string = '', position?: ThyAbstractOverlayPosition): this {\n (this.getPositionStrategy() as GlobalPositionStrategy).width(width).height(height);\n this.updatePosition(position);\n return this;\n }\n\n /**\n * Update dialog to top\n */\n toTop() {\n this.thyDialog.toTop(this.id);\n }\n}\n","import { ThyAbstractOverlayRef, ThyAbstractOverlayService, ThyClickPositioner } from 'ngx-tethys/core';\nimport { of } from 'rxjs';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType } from '@angular/cdk/portal';\nimport { Injectable, Injector, OnDestroy, StaticProvider, TemplateRef, inject } from '@angular/core';\n\nimport { isString } from 'ngx-tethys/util';\nimport { ThyConfirmConfig } from './confirm.config';\nimport { THY_CONFIRM_COMPONENT_TOKEN, ThyConfirmAbstractComponent } from './confirm/token';\nimport { ThyDialogContainer } from './dialog-container.component';\nimport { ThyDialogRef, ThyInternalDialogRef } from './dialog-ref';\nimport { THY_DIALOG_DEFAULT_OPTIONS, ThyDialogConfig, ThyDialogSizes } from './dialog.config';\nimport { dialogAbstractOverlayOptions } from './dialog.options';\n\n/**\n * @public\n * @order 10\n */\n@Injectable()\nexport class ThyDialog extends ThyAbstractOverlayService<ThyDialogConfig, ThyDialogContainer> implements OnDestroy {\n private confirmComponentType = inject<ComponentType<ThyConfirmAbstractComponent>>(THY_CONFIRM_COMPONENT_TOKEN);\n\n private overlayKeyboardDispatcher = inject(OverlayKeyboardDispatcher);\n\n private overlayContainer = inject(OverlayContainer);\n\n protected buildOverlayConfig(config: ThyDialogConfig<any>): OverlayConfig {\n const size = config.size || ThyDialogSizes.md;\n const overlayConfig = this.buildBaseOverlayConfig(config, [`dialog-${size}`]);\n overlayConfig.positionStrategy = this.overlay.position().global();\n overlayConfig.scrollStrategy = config.scrollStrategy || this.overlay.scrollStrategies.block();\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThyDialogConfig<any>): ThyDialogContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThyDialogConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThyDialogContainer, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThyDialogContainer>(containerPortal);\n\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T, TResult>(\n overlayRef: OverlayRef,\n containerInstance: ThyDialogContainer,\n config: ThyDialogConfig<any>\n ): ThyAbstractOverlayRef<T, ThyDialogContainer, TResult> {\n return new ThyInternalDialogRef(overlayRef, containerInstance, config, this);\n }\n\n protected createInjector<T>(config: ThyDialogConfig, dialogRef: ThyDialogRef<T>, dialogContainer: ThyDialogContainer): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n const injectionTokens: StaticProvider[] = [\n { provide: ThyDialogContainer, useValue: dialogContainer },\n {\n provide: ThyDialogRef,\n useValue: dialogRef\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 constructor() {\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n const defaultConfig = inject(THY_DIALOG_DEFAULT_OPTIONS, { optional: true })!;\n const clickPositioner = inject(ThyClickPositioner);\n\n super(dialogAbstractOverlayOptions, overlay, injector, defaultConfig);\n clickPositioner.initialize();\n }\n\n /**\n * 打开 Dialog\n */\n open<T, TData = unknown, TResult = unknown>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: ThyDialogConfig<TData>\n ): ThyDialogRef<T, TResult> {\n const dialogRef = this.openOverlay(componentOrTemplateRef, config);\n const dialogRefInternal = dialogRef as ThyInternalDialogRef<T, TResult>;\n dialogRefInternal.updateSizeAndPosition(\n dialogRef.containerInstance.config.width,\n dialogRef.containerInstance.config.height,\n dialogRef.containerInstance.config.position\n );\n return dialogRef as ThyDialogRef<T, TResult>;\n }\n\n /**\n * 打开 Confirm\n */\n confirm(options: ThyConfirmConfig) {\n return this.open(this.confirmComponentType, {\n initialState: {\n options: options\n }\n });\n }\n\n /**\n * 根据 id 获取 Dialog\n */\n getDialogById(id: string): ThyDialogRef<any> | undefined {\n return this.getAbstractOverlayById(id) as ThyDialogRef<any> | undefined;\n }\n\n /**\n * 获取所有打开的 Dialog\n */\n getOpenedDialogs(): ThyDialogRef<any>[] {\n return this.getAbstractOverlays();\n }\n\n /**\n * @description.en-us Finds the closest ThyDialogRef to an element by looking at the DOM.\n * @description 获取与指定元素最接近的 ThyDialogRef\n */\n getClosestDialog(element: HTMLElement): ThyDialogRef<any> | undefined {\n let parent: HTMLElement | null = element.parentElement;\n\n while (parent && !parent.classList.contains('thy-dialog-container')) {\n parent = parent.parentElement;\n }\n if (parent && parent.id) {\n return this.getDialogById(parent.id);\n }\n return null;\n }\n\n /**\n * Update dialog to top\n */\n toTop(idOrOverlayRef: string | ThyDialogRef<unknown, ThyDialogContainer>) {\n let dialogRef: ThyAbstractOverlayRef<unknown, ThyDialogContainer>;\n if (isString(idOrOverlayRef)) {\n dialogRef = this.openedOverlays.find(item => item.id === idOrOverlayRef);\n } else {\n dialogRef = idOrOverlayRef;\n }\n if (dialogRef) {\n const overlayRef = dialogRef.getOverlayRef();\n const containerElement = this.overlayContainer.getContainerElement();\n containerElement.appendChild(overlayRef.backdropElement);\n containerElement.appendChild(overlayRef.hostElement);\n this.overlayKeyboardDispatcher.remove(overlayRef);\n this.overlayKeyboardDispatcher.add(overlayRef);\n this.openedOverlays = [...(this.openedOverlays || []).filter(item => item.id !== dialogRef?.id), dialogRef];\n }\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import { Component, Input, OnInit, HostBinding, inject, input } from '@angular/core';\nimport { ThyDialog } from '../dialog.service';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 模态框的主体组件\n * @name thy-dialog-body\n * @order 50\n */\n@Component({\n selector: 'thy-dialog-body',\n template: '<ng-content></ng-content>',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'thyDialogBody',\n hostDirectives: [CdkScrollable],\n host: {\n class: 'dialog-body',\n '[class.dialog-body-clear-padding]': 'thyClearPadding()'\n }\n})\nexport class ThyDialogBody implements OnInit {\n private dialog = inject(ThyDialog);\n /**\n * 清除间距\n */\n readonly thyClearPadding = input(false, { transform: coerceBooleanProperty });\n\n ngOnInit() {}\n}\n","import { InjectionToken } from '@angular/core';\nimport { ThyFormGroupFooterAlign } from 'ngx-tethys/form';\nimport { injectLocale, ThyI18nService } from 'ngx-tethys/i18n';\nimport { Observable } from 'rxjs';\n\n/**\n * 确认框配置\n * @public\n * @order 70\n */\nexport interface ThyConfirmConfig {\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 提示内容\n */\n content: string;\n\n /**\n * 确认按钮的文案\n */\n okText?: string;\n\n /**\n * 确认按钮的类型,primary | danger\n */\n okType?: 'primary' | 'danger';\n\n /**\n * 确认按钮处于提交状态时的文案\n */\n okLoadingText?: string;\n\n /**\n * 底部对齐方式,left | center | right\n */\n footerAlign?: ThyFormGroupFooterAlign;\n\n /**\n * 确认后的回调事件\n */\n onOk?: () => Observable<boolean> | void;\n\n /**\n * 取消按钮的文案\n */\n cancelText?: string;\n\n /**\n * 取消后的回调事件\n */\n onCancel?: () => void;\n}\n\nexport const THY_CONFIRM_DEFAULT_OPTIONS = new InjectionToken<ThyConfirmConfig>('thy-confirm-default-options');\n\n/**\n * @deprecated\n */\nexport const THY_CONFIRM_DEFAULT_OPTIONS_VALUE = {\n title: '确认删除',\n okText: '确定',\n okType: 'danger',\n cancelText: '取消',\n footerAlign: 'left'\n};\n\nfunction useConfirmDefaultOptions() {\n const locale = injectLocale('dialog');\n return {\n title: locale().title,\n okText: locale().ok,\n okType: 'danger',\n cancelText: locale().cancel,\n footerAlign: 'left'\n };\n}\n\nexport const THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER = {\n provide: THY_CONFIRM_DEFAULT_OPTIONS,\n useFactory: useConfirmDefaultOptions,\n deps: [ThyI18nService]\n};\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n TemplateRef,\n OnInit,\n ElementRef,\n inject,\n input,\n contentChild,\n computed,\n Signal\n} from '@angular/core';\nimport { ThyDialog } from '../dialog.service';\nimport { ThyDialogContainer } from '../dialog-container.component';\nimport { ThyTranslate } from 'ngx-tethys/core';\nimport { ThyInternalDialogRef } from '../dialog-ref';\nimport { ThyAction } from 'ngx-tethys/action';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 模态框头部组件\n * @name thy-dialog-header\n * @order 40\n */\n@Component({\n selector: 'thy-dialog-header',\n templateUrl: './dialog-header.component.html',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'thyDialogHeader',\n host: {\n class: 'dialog-header thy-dialog-header',\n '[class.thy-dialog-header-lg]': `thySize() === 'lg'`,\n '[class.thy-dialog-header-divided]': `thyDivided()`\n },\n imports: [NgTemplateOutlet, ThyIcon, ThyAction]\n})\nexport class ThyDialogHeader implements OnInit {\n private elementRef = inject(ElementRef);\n private dialog = inject(ThyDialog);\n private translate = inject(ThyTranslate);\n private dialogContainer = inject(ThyDialogContainer, { optional: true })!;\n\n /**\n * 自定义头部模板\n */\n public readonly headerTemplate = contentChild<TemplateRef<any>>('dialogHeader');\n\n /**\n * 标题\n */\n readonly thyTitle = input<string>();\n\n /**\n * 大小,只有大的详情页场景会使用 lg,左右 padding 缩小至 20px\n * @type lg | md\n */\n readonly thySize = input<'lg' | 'md'>('md');\n\n /**\n * 是否显示分割线\n */\n readonly thyDivided = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 标题的多语言 Key\n */\n readonly thyTitleTranslationKey = input<string>();\n\n readonly title: Signal<string> = computed(() => {\n const title = this.thyTitle();\n const titleTranslationKey = this.thyTitleTranslationKey();\n return title || (titleTranslationKey && this.translate.instant(titleTranslationKey));\n });\n\n /**\n * 头部图标\n */\n readonly thyIcon = input<string>();\n\n /**\n * 关闭事件\n */\n @Output() thyOnClose: EventEmitter<Event> = new EventEmitter<Event>();\n\n ngOnInit() {\n if (!this.dialogContainer) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the ThyDialogContainerComponent isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the ThyDialogContainerComponent by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n const dialogRef = this.dialog.getClosestDialog(this.elementRef.nativeElement) as ThyInternalDialogRef<any>;\n this.dialogContainer = dialogRef ? dialogRef.containerInstance : null;\n }\n\n // change in next microtask avoid throw ExpressionChangedAfterItHasBeenCheckedError\n // because sub component change parent's HostBinding property (ariaLabelledBy)\n Promise.resolve().then(() => {\n if (this.dialogContainer) {\n this.dialogContainer.ariaLabelledBy = this.title();\n }\n });\n }\n\n close(event?: Event) {\n if (this.thyOnClose.observers.length > 0) {\n this.thyOnClose.emit(event);\n } else {\n this.dialog.close();\n }\n }\n}\n","@if (headerTemplate()) {\n <template [ngTemplateOutlet]=\"headerTemplate()\"></template>\n} @else {\n <h3 class=\"dialog-title\"><thy-icon [thyIconName]=\"thyIcon()\"></thy-icon>{{ title() }}</h3>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"close($event)\"></a>\n}\n","import { ThyFormDirective, ThyFormGroupFooterAlign, ThyFormGroupFooter } from 'ngx-tethys/form';\nimport { finalize } from 'rxjs/operators';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit, Signal, inject, input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ThyButton } from 'ngx-tethys/button';\nimport { ThyDialogBody } from '../body/dialog-body.component';\nimport { ThyConfirmConfig, THY_CONFIRM_DEFAULT_OPTIONS } from '../confirm.config';\nimport { ThyDialogRef } from '../dialog-ref';\nimport { ThyDialogHeader } from '../header/dialog-header.component';\nimport { injectLocale, ThyDialogLocale } from 'ngx-tethys/i18n';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-confirm-default',\n templateUrl: './confirm.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThyDialogHeader, ThyDialogBody, FormsModule, ThyFormDirective, ThyFormGroupFooter, NgClass, ThyButton]\n})\nexport class ThyConfirm implements OnInit, OnDestroy {\n private dialogRef = inject<ThyDialogRef<ThyConfirm>>(ThyDialogRef);\n private changeDetectorRef = inject(ChangeDetectorRef);\n private defaultConfig = inject(THY_CONFIRM_DEFAULT_OPTIONS);\n private locale: Signal<ThyDialogLocale> = injectLocale('dialog');\n\n loading: boolean;\n\n readonly options = input<ThyConfirmConfig>();\n\n public title: string;\n\n public content: string;\n\n public okText: string;\n\n public okType: string;\n\n public cancelText: string;\n\n public okLoadingText: string;\n\n public footerAlign: ThyFormGroupFooterAlign;\n\n constructor() {\n this.defaultConfig = {\n ...{\n title: this.locale().title,\n okText: this.locale().ok,\n okType: 'danger',\n cancelText: this.locale().cancel,\n footerAlign: 'left'\n },\n ...this.defaultConfig\n };\n }\n\n ngOnInit() {\n this.defaultConfig = { ...this.defaultConfig, ...this.options() };\n this.title = this.defaultConfig.title;\n this.content = this.defaultConfig.content;\n this.okText = this.defaultConfig.okText;\n this.okType = this.defaultConfig.okType;\n this.cancelText = this.defaultConfig.cancelText;\n this.okLoadingText = this.defaultConfig.okLoadingText || this.okText;\n this.footerAlign = this.defaultConfig.footerAlign;\n }\n\n confirm() {\n this.loading = true;\n const result = this.options().onOk();\n if (result && result.subscribe) {\n result\n .pipe(\n finalize(() => {\n this.loading = false;\n this.changeDetectorRef.markForCheck();\n })\n )\n .subscribe(success => {\n if (success) {\n this.close();\n }\n });\n } else {\n this.close();\n }\n }\n\n close() {\n this.options()?.onCancel?.();\n this.dialogRef.close();\n }\n\n ngOnDestroy() {}\n}\n","<thy-dialog-header [thyTitle]=\"title || 'Install Angular'\" (thyOnClose)=\"close()\"> </thy-dialog-header>\n<thy-dialog-body class=\"thy-form\">\n <form thyForm name=\"thyConfirm\" thyLayout=\"vertical\">\n <div class=\"form-group\">\n <p [innerHTML]=\"content\"></p>\n </div>\n <thy-form-group-footer [thyAlign]=\"footerAlign\">\n <div class=\"thy-confirm-footer\" [ngClass]=\"'thy-confirm-footer-' + footerAlign\">\n <button [thyButton]=\"okType\" (click)=\"confirm()\" [thyLoading]=\"loading\" [thyLoadingText]=\"okLoadingText\">{{ okText }}</button>\n <button thyButton=\"link-secondary\" (click)=\"close()\" class=\"thy-confirm-cancel\">{{ cancelText }}</button>\n </div>\n </thy-form-group-footer>\n </form>\n</thy-dialog-body>\n","import { useHostRenderer } from '@tethys/cdk/dom';\nimport { Component, OnInit, TemplateRef, inject, input, contentChild, computed, WritableSignal, effect, Input } from '@angular/core';\n\nimport { THY_DIALOG_LAYOUT_CONFIG, ThyDialogFooterAlign } from '../dialog.config';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 模态框底部组件\n * @name thy-dialog-footer\n * @order 60\n */\n@Component({\n selector: 'thy-dialog-footer',\n templateUrl: './dialog-footer.component.html',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'thyDialogFooter',\n imports: [NgTemplateOutlet]\n})\nexport class ThyDialogFooter implements OnInit {\n private dialogLayoutConfig = inject(THY_DIALOG_LAYOUT_CONFIG);\n\n /**\n * 自定义弹出框底部的描述模板\n * @type TemplateRef\n */\n readonly description = contentChild<TemplateRef<any>>('description');\n\n /**\n * 底部是否有分割线,可全局配置默认值\n * @type boolean\n */\n readonly thyDivided = input(undefined, { transform: coerceBooleanProperty });\n\n divided = computed(() => {\n if (this.thyDivided() === undefined) {\n return this.dialogLayoutConfig.footerDivided;\n }\n return this.thyDivided();\n });\n\n /**\n * 对齐方式,可全局配置默认值\n * @type left | right | center\n */\n readonly thyAlign = input<ThyDialogFooterAlign>();\n\n readonly align = computed(() => (!!this.thyAlign() ? this.thyAlign() : this.dialogLayoutConfig.footerAlign));\n\n private hostRenderer = useHostRenderer();\n\n constructor() {}\n\n ngOnInit() {\n this.hostRenderer.updateClassByMap({\n 'dialog-footer': true,\n [`dialog-footer-actions-align-${this.align()}`]: true,\n 'dialog-footer-border-top': this.divided()\n });\n }\n}\n","<div class=\"dialog-footer-actions btn-pair\">\n <ng-content></ng-content>\n</div>\n@if (description()) {\n <div class=\"dialog-footer-description\">\n <ng-container [ngTemplateOutlet]=\"description()\"></ng-container>\n </div>\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ThyActionModule } from 'ngx-tethys/action';\nimport { ThyButtonModule } from 'ngx-tethys/button';\nimport { ThyFormModule } from 'ngx-tethys/form';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyDialogBody } from './body/dialog-body.component';\nimport { THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER } from './confirm.config';\nimport { ThyConfirm } from './confirm/confirm.component';\nimport { THY_CONFIRM_COMPONENT_TOKEN } from './confirm/token';\nimport { ThyDialogContainer } from './dialog-container.component';\nimport { THY_DIALOG_DEFAULT_OPTIONS_PROVIDER, THY_DIALOG_LAYOUT_CONFIG_PROVIDER } from './dialog.config';\nimport { ThyDialog } from './dialog.service';\nimport { ThyDialogFooter } from './footer/dialog-footer.component';\nimport { ThyDialogHeader } from './header/dialog-header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ThySharedModule,\n PortalModule,\n OverlayModule,\n ThyButtonModule,\n ThyIconModule,\n ThyFormModule,\n FormsModule,\n ThyActionModule,\n ThyDialogContainer,\n ThyDialogHeader,\n ThyDialogBody,\n ThyDialogFooter,\n ThyConfirm\n ],\n providers: [\n ThyDialog,\n THY_DIALOG_DEFAULT_OPTIONS_PROVIDER,\n THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER,\n THY_DIALOG_LAYOUT_CONFIG_PROVIDER,\n {\n provide: THY_CONFIRM_COMPONENT_TOKEN,\n useValue: ThyConfirm\n }\n ],\n exports: [ThyDialogContainer, ThyDialogHeader, ThyDialogBody, ThyDialogFooter]\n})\nexport class ThyDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-dialog.mjs","sources":["../../../src/dialog/confirm/token.ts","../../../src/dialog/dialog-animations.ts","../../../src/dialog/dialog.config.ts","../../../src/dialog/dialog.options.ts","../../../src/dialog/dialog-container.component.ts","../../../src/dialog/dialog-ref.ts","../../../src/dialog/dialog.service.ts","../../../src/dialog/body/dialog-body.component.ts","../../../src/dialog/confirm.config.ts","../../../src/dialog/header/dialog-header.component.ts","../../../src/dialog/header/dialog-header.component.html","../../../src/dialog/confirm/confirm.component.ts","../../../src/dialog/confirm/confirm.component.html","../../../src/dialog/footer/dialog-footer.component.ts","../../../src/dialog/footer/dialog-footer.component.html","../../../src/dialog/dialog.module.ts","../../../src/dialog/ngx-tethys-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport interface ThyConfirmAbstractComponent {\n okText: string;\n okType: string;\n cancelText: string;\n okLoadingText: string;\n}\n\nexport const THY_CONFIRM_COMPONENT_TOKEN = new InjectionToken<ThyConfirmAbstractComponent>('thy-confirm-component-token');\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('200ms cubic-bezier(0, 0, 0.57, 1)', style({ transform: 'none', opacity: 1 }))),\n transition('* => exit', animate('150ms cubic-bezier(0.24, 0.18, 0.96, 0.52)', style({ transform: 'scale(0.3)', opacity: 0 })))\n];\n\n/**\n * Animations used by MatDialog.\n * @docs-private\n */\nexport const thyDialogAnimations: {\n readonly dialogContainer: AnimationTriggerMetadata;\n} = {\n dialogContainer: trigger('dialogContainer', animationBody)\n};\n\n// export const setAnimationStart\n","import { ThyAbstractOverlayConfig, ThyAbstractOverlayPosition } from 'ngx-tethys/core';\n\nimport { ScrollStrategy } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\n\n/** Valid ARIA roles for a dialog element. */\nexport type ThyDialogRole = 'dialog' | 'alertdialog';\n\nexport enum ThyDialogSizes {\n lg = 'lg',\n /**\n * 已废弃,命名错误,请使用 superLg\n * @deprecated\n */\n supperLg = 'supper-lg',\n superLg = 'super-lg',\n maxLg = 'max-lg',\n md = 'md',\n sm = 'sm',\n full = 'full'\n}\n\n/**\n * 通过ThyDialog服务端打开模态框的配置\n * @description.en-us Configuration for opening a modal dialog with the ThyDialog service.\n * @public\n * @order 20\n */\nexport class ThyDialogConfig<TData = unknown> extends ThyAbstractOverlayConfig<TData> {\n /**\n * 对话框元素的 ARIA 角色\n * @description.en-us The ARIA role of the dialog element.\n */\n role?: ThyDialogRole = 'dialog';\n\n /**\n * 定位模态框的弹出位置\n * @description.en-us Position overrides.\n */\n position?: ThyAbstractOverlayPosition;\n\n /**\n * 模态框的大小,ThyDialogSizes: sm (400)、md (660)、lg (800)、maxLg (980)、superLg (94vw)、full (全屏)\n * @default md\n * @description.en-us Dialog size md, lg, sm\n */\n size?: ThyDialogSizes;\n\n /**\n * 用于模态框的滚动策略\n * @description.en-us Scroll strategy to be used for the dialog.\n */\n scrollStrategy?: ScrollStrategy;\n}\n\n/** Injection token that can be used to specify default dialog options. */\nexport const THY_DIALOG_DEFAULT_OPTIONS = new InjectionToken<ThyDialogConfig>('thy-dialog-default-options');\n\nexport const THY_DIALOG_DEFAULT_OPTIONS_PROVIDER = {\n provide: THY_DIALOG_DEFAULT_OPTIONS,\n useValue: {\n role: 'dialog',\n hasBackdrop: true,\n backdropClass: '',\n panelClass: '',\n backdropClosable: true,\n closeOnNavigation: true,\n autoFocus: true,\n restoreFocus: true,\n restoreFocusOptions: {\n preventScroll: true\n },\n hostClass: 'thy-dialog-content'\n }\n};\n\nexport type ThyDialogFooterAlign = 'left' | 'right' | 'center';\n\nexport class ThyDialogLayoutConfig {\n footerAlign?: ThyDialogFooterAlign;\n footerDivided?: boolean;\n}\n\nexport const THY_DIALOG_LAYOUT_CONFIG = new InjectionToken<ThyDialogLayoutConfig>('thy-dialog-layout-config');\n\nexport const THY_DIALOG_LAYOUT_CONFIG_PROVIDER = {\n provide: THY_DIALOG_LAYOUT_CONFIG,\n useValue: {\n footerAlign: 'left',\n footerDivided: false\n }\n};\n","import { ThyAbstractOverlayOptions } from 'ngx-tethys/core';\n\nexport const dialogAbstractOverlayOptions: ThyAbstractOverlayOptions = {\n name: 'dialog',\n animationEnabled: true,\n disposeWhenClose: true\n};\n","import { reqAnimFrame, ThyAbstractOverlayContainer, ThyClickPositioner, ThyPortalOutlet } from 'ngx-tethys/core';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { AnimationEvent } from '@angular/animations';\nimport { FocusTrap, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { PortalModule } from '@angular/cdk/portal';\n\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n NgZone,\n OnDestroy,\n Renderer2,\n ViewChild,\n inject,\n DOCUMENT\n} from '@angular/core';\n\nimport { thyDialogAnimations } from './dialog-animations';\nimport { ThyDialogConfig } from './dialog.config';\nimport { dialogAbstractOverlayOptions } from './dialog.options';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-dialog-container',\n template: ` <ng-template thyPortalOutlet></ng-template> `,\n // Using OnPush for dialogs caused some sync issues, e.g. custom ngModel can't to detect changes\n // Disabled until we can track them down.\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [thyDialogAnimations.dialogContainer],\n host: {\n class: 'thy-dialog-container',\n tabindex: '-1',\n 'aria-modal': 'true',\n '[attr.id]': 'id',\n '[attr.role]': 'config.role',\n '[attr.aria-labelledby]': 'config.ariaLabel ? null : ariaLabelledBy',\n '[attr.aria-label]': 'config.ariaLabel',\n '[attr.aria-describedby]': 'config.ariaDescribedBy || null',\n '[@dialogContainer]': 'animationState',\n '(@dialogContainer.start)': 'onAnimationStart($event)',\n '(@dialogContainer.done)': 'onAnimationDone($event)'\n },\n imports: [PortalModule, ThyPortalOutlet]\n})\nexport class ThyDialogContainer extends ThyAbstractOverlayContainer implements OnDestroy {\n private elementRef = inject(ElementRef);\n private document = inject(DOCUMENT);\n config = inject(ThyDialogConfig);\n private clickPositioner = inject(ThyClickPositioner);\n private focusTrapFactory = inject(FocusTrapFactory);\n private ngZone = inject(NgZone);\n private renderer = inject(Renderer2);\n\n animationOpeningDone: Observable<AnimationEvent>;\n animationClosingDone: Observable<AnimationEvent>;\n\n @ViewChild(ThyPortalOutlet, { static: true })\n portalOutlet: ThyPortalOutlet;\n\n @HostBinding(`attr.id`)\n id: string;\n\n /** State of the dialog animation. */\n animationState: 'void' | 'enter' | 'exit' = 'void';\n\n /** Emits when an animation state changes. */\n animationStateChanged = new EventEmitter<AnimationEvent>();\n\n /** ID of the element that should be considered as the dialog's label. */\n ariaLabelledBy: string | null = null;\n\n /** Element that was focused before the dialog was opened. Save this to restore upon close. */\n private elementFocusedBeforeDialogWasOpened: HTMLElement | null = null;\n\n /** The class that traps and manages focus within the dialog. */\n private focusTrap: FocusTrap;\n\n private savePreviouslyFocusedElement() {\n if (this.document) {\n this.elementFocusedBeforeDialogWasOpened = this.document.activeElement as HTMLElement;\n\n // Note that there is no focus method when rendering on the server.\n if (this.elementRef.nativeElement.focus) {\n // Note: this is being run outside of the Angular zone because `element.focus()` doesn't require\n // running change detection.\n this.ngZone.runOutsideAngular(() =>\n // Move focus onto the dialog immediately in order to prevent the user from accidentally\n // opening multiple dialogs at the same time. Needs to be async, because the element\n // may not be focusable immediately.\n\n // Note: `element.focus()` causes re-layout and this may lead to frame drop on slower devices.\n // https://gist.github.com/paulirish/5d52fb081b3570c81e3a#setting-focus\n // `setTimeout` is a macrotask and macrotasks are executed within the current rendering frame.\n // Animation tasks are executed within the next rendering frame.\n reqAnimFrame(() => this.elementRef.nativeElement.focus())\n );\n }\n }\n }\n\n /** Moves the focus inside the focus trap. */\n private trapFocus() {\n const element = this.elementRef.nativeElement;\n\n if (!this.focusTrap) {\n this.focusTrap = this.focusTrapFactory.create(element);\n }\n\n // If we were to attempt to focus immediately, then the content of the dialog would not yet be\n // ready in instances where change detection has to run first. To deal with this, we simply\n // wait for the microtask queue to be empty.\n if (this.config.autoFocus) {\n this.focusTrap.focusInitialElementWhenReady();\n } else {\n const activeElement = this.document.activeElement;\n\n // Otherwise ensure that focus is on the dialog container. It's possible that a different\n // component tried to move focus while the open animation was running. See:\n // https://github.com/angular/components/issues/16215. Note that we only want to do this\n // if the focus isn't inside the dialog already, because it's possible that the consumer\n // turned off `autoFocus` in order to move focus themselves.\n if (activeElement !== element && !element.contains(activeElement)) {\n element.focus();\n }\n }\n }\n\n private restoreFocus() {\n const toFocus = this.elementFocusedBeforeDialogWasOpened;\n\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (this.config.restoreFocus && toFocus && typeof toFocus.focus === 'function') {\n toFocus.focus(this.config.restoreFocusOptions);\n }\n\n if (this.focusTrap) {\n this.focusTrap.destroy();\n }\n }\n\n private setTransformOrigin() {\n this.clickPositioner.runTaskUseLastPosition(lastPosition => {\n if (lastPosition) {\n const containerElement: HTMLElement = this.elementRef.nativeElement;\n const transformOrigin = `${lastPosition.x - containerElement.offsetLeft}px ${\n lastPosition.y - containerElement.offsetTop\n }px 0px`;\n containerElement.style.transformOrigin = transformOrigin;\n // 手动修改动画状态为从 void 到 enter, 开启动画\n }\n this.animationState = 'enter';\n this.changeDetectorRef.markForCheck();\n });\n }\n\n constructor() {\n const changeDetectorRef = inject(ChangeDetectorRef);\n\n super(dialogAbstractOverlayOptions, changeDetectorRef);\n this.animationOpeningDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'void';\n })\n );\n this.animationClosingDone = this.animationStateChanged.pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'done' && event.toState === 'exit';\n })\n );\n /* Prohibit operations on elements inside the container during animation execution */\n this.animationStateChanged\n .pipe(\n filter((event: AnimationEvent) => {\n return event.phaseName === 'start' && event.toState === 'exit';\n })\n )\n .subscribe(() => {\n this.renderer.setStyle(this.elementRef.nativeElement, 'pointer-events', 'none');\n });\n }\n\n beforeAttachPortal(): void {\n this.setTransformOrigin();\n this.savePreviouslyFocusedElement();\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 ngOnDestroy() {\n super.destroy();\n }\n}\n","import { GlobalPositionStrategy, OverlayRef } from '@angular/cdk/overlay';\nimport {\n ThyAbstractInternalOverlayRef,\n ThyAbstractOverlayOptions,\n ThyAbstractOverlayPosition,\n ThyAbstractOverlayRef\n} from 'ngx-tethys/core';\n\nimport { ThyDialogContainer } from './dialog-container.component';\nimport { ThyDialogConfig } from './dialog.config';\nimport { dialogAbstractOverlayOptions } from './dialog.options';\n\n/**\n * @publicApi\n * @order 30\n */\nexport interface ThyAbstractDialog {\n toTop(id: string): void;\n}\n\nexport abstract class ThyDialogRef<T, TResult = unknown> extends ThyAbstractOverlayRef<T, ThyDialogContainer, TResult> {}\n\nexport class ThyInternalDialogRef<T, TResult = unknown> extends ThyAbstractInternalOverlayRef<T, ThyDialogContainer, TResult> {\n thyDialog: ThyAbstractDialog;\n\n protected get options(): ThyAbstractOverlayOptions {\n return dialogAbstractOverlayOptions;\n }\n\n constructor() {\n super();\n }\n\n override initialize(\n overlayRef: OverlayRef,\n containerInstance: ThyDialogContainer,\n config: ThyDialogConfig<T>,\n service: ThyAbstractDialog\n ): void {\n super.initialize(overlayRef, containerInstance, config);\n this.thyDialog = service;\n }\n\n /**\n * Updates the dialog's position.\n * @param position New dialog position.\n */\n updatePosition(position?: ThyAbstractOverlayPosition): this {\n this.updateGlobalPosition(position);\n return this;\n }\n\n /**\n * Updates the dialog's width and height.\n * @param width New width of the dialog.\n * @param height New height of the dialog.\n */\n updateSizeAndPosition(width: string = '', height: string = '', position?: ThyAbstractOverlayPosition): this {\n (this.getPositionStrategy() as GlobalPositionStrategy).width(width).height(height);\n this.updatePosition(position);\n return this;\n }\n\n /**\n * Update dialog to top\n */\n toTop() {\n this.thyDialog.toTop(this.id);\n }\n}\n","import { ThyAbstractOverlayRef, ThyAbstractOverlayService, ThyClickPositioner } from 'ngx-tethys/core';\nimport { of } from 'rxjs';\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType } from '@angular/cdk/portal';\nimport { Injectable, Injector, OnDestroy, StaticProvider, TemplateRef, inject } from '@angular/core';\n\nimport { isString } from 'ngx-tethys/util';\nimport { ThyConfirmConfig } from './confirm.config';\nimport { THY_CONFIRM_COMPONENT_TOKEN, ThyConfirmAbstractComponent } from './confirm/token';\nimport { ThyDialogContainer } from './dialog-container.component';\nimport { ThyDialogRef, ThyInternalDialogRef } from './dialog-ref';\nimport { THY_DIALOG_DEFAULT_OPTIONS, ThyDialogConfig, ThyDialogSizes } from './dialog.config';\nimport { dialogAbstractOverlayOptions } from './dialog.options';\n\n/**\n * @public\n * @order 10\n */\n@Injectable()\nexport class ThyDialog extends ThyAbstractOverlayService<ThyDialogConfig, ThyDialogContainer> implements OnDestroy {\n private confirmComponentType = inject<ComponentType<ThyConfirmAbstractComponent>>(THY_CONFIRM_COMPONENT_TOKEN);\n\n private overlayKeyboardDispatcher = inject(OverlayKeyboardDispatcher);\n\n private overlayContainer = inject(OverlayContainer);\n\n protected buildOverlayConfig(config: ThyDialogConfig<any>): OverlayConfig {\n const size = config.size || ThyDialogSizes.md;\n const overlayConfig = this.buildBaseOverlayConfig(config, [`dialog-${size}`]);\n overlayConfig.positionStrategy = this.overlay.position().global();\n overlayConfig.scrollStrategy = config.scrollStrategy || this.overlay.scrollStrategies.block();\n return overlayConfig;\n }\n\n protected attachOverlayContainer(overlay: OverlayRef, config: ThyDialogConfig<any>): ThyDialogContainer {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this.injector,\n providers: [{ provide: ThyDialogConfig, useValue: config }]\n });\n const containerPortal = new ComponentPortal(ThyDialogContainer, config.viewContainerRef, injector);\n const containerRef = overlay.attach<ThyDialogContainer>(containerPortal);\n\n return containerRef.instance;\n }\n\n protected createAbstractOverlayRef<T, TResult>(\n overlayRef: OverlayRef,\n containerInstance: ThyDialogContainer,\n config: ThyDialogConfig<any>\n ): ThyAbstractOverlayRef<T, ThyDialogContainer, TResult> {\n const dialogRef = new ThyInternalDialogRef<T, TResult>();\n dialogRef.initialize(overlayRef, containerInstance, config, this);\n return dialogRef;\n }\n\n protected createInjector<T>(config: ThyDialogConfig, dialogRef: ThyDialogRef<T>, dialogContainer: ThyDialogContainer): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n const injectionTokens: StaticProvider[] = [\n { provide: ThyDialogContainer, useValue: dialogContainer },\n {\n provide: ThyDialogRef,\n useValue: dialogRef\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 constructor() {\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n const defaultConfig = inject(THY_DIALOG_DEFAULT_OPTIONS, { optional: true })!;\n const clickPositioner = inject(ThyClickPositioner);\n\n super(dialogAbstractOverlayOptions, overlay, injector, defaultConfig);\n clickPositioner.initialize();\n }\n\n /**\n * 打开 Dialog\n */\n open<T, TData = unknown, TResult = unknown>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: ThyDialogConfig<TData>\n ): ThyDialogRef<T, TResult> {\n const dialogRef = this.openOverlay(componentOrTemplateRef, config);\n const dialogRefInternal = dialogRef as ThyInternalDialogRef<T, TResult>;\n dialogRefInternal.updateSizeAndPosition(\n dialogRef.containerInstance.config.width,\n dialogRef.containerInstance.config.height,\n dialogRef.containerInstance.config.position\n );\n return dialogRef as ThyDialogRef<T, TResult>;\n }\n\n /**\n * 打开 Confirm\n */\n confirm(options: ThyConfirmConfig) {\n return this.open(this.confirmComponentType, {\n initialState: {\n options: options\n }\n });\n }\n\n /**\n * 根据 id 获取 Dialog\n */\n getDialogById(id: string): ThyDialogRef<any> | undefined {\n return this.getAbstractOverlayById(id) as ThyDialogRef<any> | undefined;\n }\n\n /**\n * 获取所有打开的 Dialog\n */\n getOpenedDialogs(): ThyDialogRef<any>[] {\n return this.getAbstractOverlays();\n }\n\n /**\n * @description.en-us Finds the closest ThyDialogRef to an element by looking at the DOM.\n * @description 获取与指定元素最接近的 ThyDialogRef\n */\n getClosestDialog(element: HTMLElement): ThyDialogRef<any> | undefined {\n let parent: HTMLElement | null = element.parentElement;\n\n while (parent && !parent.classList.contains('thy-dialog-container')) {\n parent = parent.parentElement;\n }\n if (parent && parent.id) {\n return this.getDialogById(parent.id);\n }\n return null;\n }\n\n /**\n * Update dialog to top\n */\n toTop(idOrOverlayRef: string | ThyDialogRef<unknown, ThyDialogContainer>) {\n let dialogRef: ThyAbstractOverlayRef<unknown, ThyDialogContainer>;\n if (isString(idOrOverlayRef)) {\n dialogRef = this.openedOverlays.find(item => item.id === idOrOverlayRef);\n } else {\n dialogRef = idOrOverlayRef;\n }\n if (dialogRef) {\n const overlayRef = dialogRef.getOverlayRef();\n const containerElement = this.overlayContainer.getContainerElement();\n containerElement.appendChild(overlayRef.backdropElement);\n containerElement.appendChild(overlayRef.hostElement);\n this.overlayKeyboardDispatcher.remove(overlayRef);\n this.overlayKeyboardDispatcher.add(overlayRef);\n this.openedOverlays = [...(this.openedOverlays || []).filter(item => item.id !== dialogRef?.id), dialogRef];\n }\n }\n\n ngOnDestroy() {\n this.dispose();\n }\n}\n","import { Component, Input, OnInit, HostBinding, inject, input } from '@angular/core';\nimport { ThyDialog } from '../dialog.service';\nimport { CdkScrollable } from '@angular/cdk/scrolling';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 模态框的主体组件\n * @name thy-dialog-body\n * @order 50\n */\n@Component({\n selector: 'thy-dialog-body',\n template: '<ng-content></ng-content>',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'thyDialogBody',\n hostDirectives: [CdkScrollable],\n host: {\n class: 'dialog-body',\n '[class.dialog-body-clear-padding]': 'thyClearPadding()'\n }\n})\nexport class ThyDialogBody implements OnInit {\n private dialog = inject(ThyDialog);\n /**\n * 清除间距\n */\n readonly thyClearPadding = input(false, { transform: coerceBooleanProperty });\n\n ngOnInit() {}\n}\n","import { InjectionToken } from '@angular/core';\nimport { ThyFormGroupFooterAlign } from 'ngx-tethys/form';\nimport { injectLocale, ThyI18nService } from 'ngx-tethys/i18n';\nimport { Observable } from 'rxjs';\n\n/**\n * 确认框配置\n * @public\n * @order 70\n */\nexport interface ThyConfirmConfig {\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 提示内容\n */\n content: string;\n\n /**\n * 确认按钮的文案\n */\n okText?: string;\n\n /**\n * 确认按钮的类型,primary | danger\n */\n okType?: 'primary' | 'danger';\n\n /**\n * 确认按钮处于提交状态时的文案\n */\n okLoadingText?: string;\n\n /**\n * 底部对齐方式,left | center | right\n */\n footerAlign?: ThyFormGroupFooterAlign;\n\n /**\n * 确认后的回调事件\n */\n onOk?: () => Observable<boolean> | void;\n\n /**\n * 取消按钮的文案\n */\n cancelText?: string;\n\n /**\n * 取消后的回调事件\n */\n onCancel?: () => void;\n}\n\nexport const THY_CONFIRM_DEFAULT_OPTIONS = new InjectionToken<ThyConfirmConfig>('thy-confirm-default-options');\n\n/**\n * @deprecated\n */\nexport const THY_CONFIRM_DEFAULT_OPTIONS_VALUE = {\n title: '确认删除',\n okText: '确定',\n okType: 'danger',\n cancelText: '取消',\n footerAlign: 'left'\n};\n\nfunction useConfirmDefaultOptions() {\n const locale = injectLocale('dialog');\n return {\n title: locale().title,\n okText: locale().ok,\n okType: 'danger',\n cancelText: locale().cancel,\n footerAlign: 'left'\n };\n}\n\nexport const THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER = {\n provide: THY_CONFIRM_DEFAULT_OPTIONS,\n useFactory: useConfirmDefaultOptions,\n deps: [ThyI18nService]\n};\n","import { Component, TemplateRef, OnInit, ElementRef, inject, input, output, contentChild, computed, Signal } from '@angular/core';\nimport { ThyDialog } from '../dialog.service';\nimport { ThyDialogContainer } from '../dialog-container.component';\nimport { ThyTranslate } from 'ngx-tethys/core';\nimport { ThyInternalDialogRef } from '../dialog-ref';\nimport { ThyAction } from 'ngx-tethys/action';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 模态框头部组件\n * @name thy-dialog-header\n * @order 40\n */\n@Component({\n selector: 'thy-dialog-header',\n templateUrl: './dialog-header.component.html',\n exportAs: 'thyDialogHeader',\n host: {\n class: 'dialog-header thy-dialog-header',\n '[class.thy-dialog-header-lg]': `thySize() === 'lg'`,\n '[class.thy-dialog-header-divided]': `thyDivided()`\n },\n imports: [NgTemplateOutlet, ThyIcon, ThyAction]\n})\nexport class ThyDialogHeader implements OnInit {\n private elementRef = inject(ElementRef);\n private dialog = inject(ThyDialog);\n private translate = inject(ThyTranslate);\n private dialogContainer = inject(ThyDialogContainer, { optional: true })!;\n\n /**\n * 自定义头部模板\n */\n public readonly headerTemplate = contentChild<TemplateRef<any>>('dialogHeader');\n\n /**\n * 标题\n */\n readonly thyTitle = input<string>();\n\n /**\n * 大小,只有大的详情页场景会使用 lg,左右 padding 缩小至 20px\n * @type lg | md\n */\n readonly thySize = input<'lg' | 'md'>('md');\n\n /**\n * 是否显示分割线\n */\n readonly thyDivided = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 标题的多语言 Key\n */\n readonly thyTitleTranslationKey = input<string>();\n\n readonly title: Signal<string> = computed(() => {\n const title = this.thyTitle();\n const titleTranslationKey = this.thyTitleTranslationKey();\n return title || (titleTranslationKey && this.translate.instant(titleTranslationKey));\n });\n\n /**\n * 头部图标\n */\n readonly thyIcon = input<string>();\n\n /**\n * 关闭事件\n */\n readonly thyOnClose = output<Event>();\n\n ngOnInit() {\n if (!this.dialogContainer) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the ThyDialogContainerComponent isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the ThyDialogContainerComponent by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n const dialogRef = this.dialog.getClosestDialog(this.elementRef.nativeElement) as ThyInternalDialogRef<any>;\n this.dialogContainer = dialogRef ? dialogRef.containerInstance : null;\n }\n\n // change in next microtask avoid throw ExpressionChangedAfterItHasBeenCheckedError\n // because sub component change parent's HostBinding property (ariaLabelledBy)\n Promise.resolve().then(() => {\n if (this.dialogContainer) {\n this.dialogContainer.ariaLabelledBy = this.title();\n }\n });\n }\n\n close(event?: Event) {\n this.thyOnClose.emit(event);\n this.dialog.close();\n }\n}\n","@if (headerTemplate()) {\n <template [ngTemplateOutlet]=\"headerTemplate()\"></template>\n} @else {\n <h3 class=\"dialog-title\"><thy-icon [thyIconName]=\"thyIcon()\"></thy-icon>{{ title() }}</h3>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"close($event)\"></a>\n}\n","import { ThyFormDirective, ThyFormGroupFooterAlign, ThyFormGroupFooter } from 'ngx-tethys/form';\nimport { finalize } from 'rxjs/operators';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit, Signal, inject, input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ThyButton } from 'ngx-tethys/button';\nimport { ThyDialogBody } from '../body/dialog-body.component';\nimport { ThyConfirmConfig, THY_CONFIRM_DEFAULT_OPTIONS } from '../confirm.config';\nimport { ThyDialogRef } from '../dialog-ref';\nimport { ThyDialogHeader } from '../header/dialog-header.component';\nimport { injectLocale, ThyDialogLocale } from 'ngx-tethys/i18n';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-confirm-default',\n templateUrl: './confirm.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThyDialogHeader, ThyDialogBody, FormsModule, ThyFormDirective, ThyFormGroupFooter, NgClass, ThyButton]\n})\nexport class ThyConfirm implements OnInit, OnDestroy {\n private dialogRef = inject<ThyDialogRef<ThyConfirm>>(ThyDialogRef);\n private changeDetectorRef = inject(ChangeDetectorRef);\n private defaultConfig = inject(THY_CONFIRM_DEFAULT_OPTIONS);\n private locale: Signal<ThyDialogLocale> = injectLocale('dialog');\n\n loading: boolean;\n\n readonly options = input<ThyConfirmConfig>();\n\n public title: string;\n\n public content: string;\n\n public okText: string;\n\n public okType: string;\n\n public cancelText: string;\n\n public okLoadingText: string;\n\n public footerAlign: ThyFormGroupFooterAlign;\n\n constructor() {\n this.defaultConfig = {\n ...{\n title: this.locale().title,\n okText: this.locale().ok,\n okType: 'danger',\n cancelText: this.locale().cancel,\n footerAlign: 'left'\n },\n ...this.defaultConfig\n };\n }\n\n ngOnInit() {\n this.defaultConfig = { ...this.defaultConfig, ...this.options() };\n this.title = this.defaultConfig.title;\n this.content = this.defaultConfig.content;\n this.okText = this.defaultConfig.okText;\n this.okType = this.defaultConfig.okType;\n this.cancelText = this.defaultConfig.cancelText;\n this.okLoadingText = this.defaultConfig.okLoadingText || this.okText;\n this.footerAlign = this.defaultConfig.footerAlign;\n }\n\n confirm() {\n this.loading = true;\n const result = this.options().onOk();\n if (result && result.subscribe) {\n result\n .pipe(\n finalize(() => {\n this.loading = false;\n this.changeDetectorRef.markForCheck();\n })\n )\n .subscribe(success => {\n if (success) {\n this.close();\n }\n });\n } else {\n this.close();\n }\n }\n\n close() {\n this.options()?.onCancel?.();\n this.dialogRef.close();\n }\n\n ngOnDestroy() {}\n}\n","<thy-dialog-header [thyTitle]=\"title || 'Install Angular'\" (thyOnClose)=\"close()\"> </thy-dialog-header>\n<thy-dialog-body class=\"thy-form\">\n <form thyForm name=\"thyConfirm\" thyLayout=\"vertical\">\n <div class=\"form-group\">\n <p [innerHTML]=\"content\"></p>\n </div>\n <thy-form-group-footer [thyAlign]=\"footerAlign\">\n <div class=\"thy-confirm-footer\" [ngClass]=\"'thy-confirm-footer-' + footerAlign\">\n <button [thyButton]=\"okType\" (click)=\"confirm()\" [thyLoading]=\"loading\" [thyLoadingText]=\"okLoadingText\">{{ okText }}</button>\n <button thyButton=\"link-secondary\" (click)=\"close()\" class=\"thy-confirm-cancel\">{{ cancelText }}</button>\n </div>\n </thy-form-group-footer>\n </form>\n</thy-dialog-body>\n","import { useHostRenderer } from '@tethys/cdk/dom';\nimport { Component, OnInit, TemplateRef, inject, input, contentChild, computed, WritableSignal, effect, Input } from '@angular/core';\n\nimport { THY_DIALOG_LAYOUT_CONFIG, ThyDialogFooterAlign } from '../dialog.config';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 模态框底部组件\n * @name thy-dialog-footer\n * @order 60\n */\n@Component({\n selector: 'thy-dialog-footer',\n templateUrl: './dialog-footer.component.html',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'thyDialogFooter',\n imports: [NgTemplateOutlet]\n})\nexport class ThyDialogFooter implements OnInit {\n private dialogLayoutConfig = inject(THY_DIALOG_LAYOUT_CONFIG);\n\n /**\n * 自定义弹出框底部的描述模板\n * @type TemplateRef\n */\n readonly description = contentChild<TemplateRef<any>>('description');\n\n /**\n * 底部是否有分割线,可全局配置默认值\n * @type boolean\n */\n readonly thyDivided = input(undefined, { transform: coerceBooleanProperty });\n\n divided = computed(() => {\n if (this.thyDivided() === undefined) {\n return this.dialogLayoutConfig.footerDivided;\n }\n return this.thyDivided();\n });\n\n /**\n * 对齐方式,可全局配置默认值\n * @type left | right | center\n */\n readonly thyAlign = input<ThyDialogFooterAlign>();\n\n readonly align = computed(() => (!!this.thyAlign() ? this.thyAlign() : this.dialogLayoutConfig.footerAlign));\n\n private hostRenderer = useHostRenderer();\n\n constructor() {}\n\n ngOnInit() {\n this.hostRenderer.updateClassByMap({\n 'dialog-footer': true,\n [`dialog-footer-actions-align-${this.align()}`]: true,\n 'dialog-footer-border-top': this.divided()\n });\n }\n}\n","<div class=\"dialog-footer-actions btn-pair\">\n <ng-content></ng-content>\n</div>\n@if (description()) {\n <div class=\"dialog-footer-description\">\n <ng-container [ngTemplateOutlet]=\"description()\"></ng-container>\n </div>\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ThyActionModule } from 'ngx-tethys/action';\nimport { ThyButtonModule } from 'ngx-tethys/button';\nimport { ThyFormModule } from 'ngx-tethys/form';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyDialogBody } from './body/dialog-body.component';\nimport { THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER } from './confirm.config';\nimport { ThyConfirm } from './confirm/confirm.component';\nimport { THY_CONFIRM_COMPONENT_TOKEN } from './confirm/token';\nimport { ThyDialogContainer } from './dialog-container.component';\nimport { THY_DIALOG_DEFAULT_OPTIONS_PROVIDER, THY_DIALOG_LAYOUT_CONFIG_PROVIDER } from './dialog.config';\nimport { ThyDialog } from './dialog.service';\nimport { ThyDialogFooter } from './footer/dialog-footer.component';\nimport { ThyDialogHeader } from './header/dialog-header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ThySharedModule,\n PortalModule,\n OverlayModule,\n ThyButtonModule,\n ThyIconModule,\n ThyFormModule,\n FormsModule,\n ThyActionModule,\n ThyDialogContainer,\n ThyDialogHeader,\n ThyDialogBody,\n ThyDialogFooter,\n ThyConfirm\n ],\n providers: [\n ThyDialog,\n THY_DIALOG_DEFAULT_OPTIONS_PROVIDER,\n THY_CONFIRM_DEFAULT_OPTIONS_PROVIDER,\n THY_DIALOG_LAYOUT_CONFIG_PROVIDER,\n {\n provide: THY_CONFIRM_COMPONENT_TOKEN,\n useValue: ThyConfirm\n }\n ],\n exports: [ThyDialogContainer, ThyDialogHeader, ThyDialogBody, ThyDialogFooter]\n})\nexport class ThyDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -16,43 +16,43 @@ class ThyDivider {
|
|
|
16
16
|
/**
|
|
17
17
|
* 是否垂直方向
|
|
18
18
|
*/
|
|
19
|
-
this.thyVertical = input(false, { transform: coerceBooleanProperty });
|
|
19
|
+
this.thyVertical = input(false, ...(ngDevMode ? [{ debugName: "thyVertical", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
|
|
20
20
|
/**
|
|
21
21
|
* 分割线的风格
|
|
22
22
|
* @type solid(实线) | dashed(虚线)
|
|
23
23
|
*/
|
|
24
|
-
this.thyStyle = input('solid');
|
|
24
|
+
this.thyStyle = input('solid', ...(ngDevMode ? [{ debugName: "thyStyle" }] : []));
|
|
25
25
|
/**
|
|
26
26
|
* 分割线的颜色,默认 #eee,light 为 #ddd,primary 主色,success 成功色,warning 警告色,danger 危险色
|
|
27
27
|
* @type 'lighter' | 'light' | 'danger' | 'primary' | 'success' | 'warning' | string
|
|
28
28
|
*/
|
|
29
|
-
this.thyColor = input('default');
|
|
29
|
+
this.thyColor = input('default', ...(ngDevMode ? [{ debugName: "thyColor" }] : []));
|
|
30
30
|
/**
|
|
31
31
|
* 中间文本内容,支持文字和模板
|
|
32
32
|
*/
|
|
33
|
-
this.thyText = input();
|
|
33
|
+
this.thyText = input(...(ngDevMode ? [undefined, { debugName: "thyText" }] : []));
|
|
34
34
|
this.templateContent = computed(() => {
|
|
35
35
|
const text = this.thyText();
|
|
36
36
|
if (text instanceof TemplateRef) {
|
|
37
37
|
return text;
|
|
38
38
|
}
|
|
39
|
-
});
|
|
39
|
+
}, ...(ngDevMode ? [{ debugName: "templateContent" }] : []));
|
|
40
40
|
this.textContent = computed(() => {
|
|
41
41
|
const text = this.thyText();
|
|
42
42
|
if (typeof text === 'string') {
|
|
43
43
|
return text;
|
|
44
44
|
}
|
|
45
|
-
});
|
|
45
|
+
}, ...(ngDevMode ? [{ debugName: "textContent" }] : []));
|
|
46
46
|
/**
|
|
47
47
|
* 中间内容的方向
|
|
48
48
|
* @type left | right | center
|
|
49
49
|
*/
|
|
50
|
-
this.thyTextDirection = input('center');
|
|
50
|
+
this.thyTextDirection = input('center', ...(ngDevMode ? [{ debugName: "thyTextDirection" }] : []));
|
|
51
51
|
/**
|
|
52
52
|
* 颜色加深,已经废弃,请使用 thyColor="light" 代替
|
|
53
53
|
* @deprecated
|
|
54
54
|
*/
|
|
55
|
-
this.thyDeeper = input(false, { transform: coerceBooleanProperty });
|
|
55
|
+
this.thyDeeper = input(false, ...(ngDevMode ? [{ debugName: "thyDeeper", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
|
|
56
56
|
effect(() => {
|
|
57
57
|
this.setColor();
|
|
58
58
|
});
|
|
@@ -61,8 +61,8 @@ class ThyDivider {
|
|
|
61
61
|
setColor() {
|
|
62
62
|
this.hostRenderer.updateClass([`thy-divider-${this.thyColor()}`]);
|
|
63
63
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyDivider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: ThyDivider, isStandalone: true, selector: "thy-divider", inputs: { thyVertical: { classPropertyName: "thyVertical", publicName: "thyVertical", isSignal: true, isRequired: false, transformFunction: null }, thyStyle: { classPropertyName: "thyStyle", publicName: "thyStyle", isSignal: true, isRequired: false, transformFunction: null }, thyColor: { classPropertyName: "thyColor", publicName: "thyColor", isSignal: true, isRequired: false, transformFunction: null }, thyText: { classPropertyName: "thyText", publicName: "thyText", isSignal: true, isRequired: false, transformFunction: null }, thyTextDirection: { classPropertyName: "thyTextDirection", publicName: "thyTextDirection", isSignal: true, isRequired: false, transformFunction: null }, thyDeeper: { classPropertyName: "thyDeeper", publicName: "thyDeeper", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-divider": "true", "class.thy-divider-horizontal": "!thyVertical()", "class.thy-divider-vertical": "thyVertical()", "class.thy-divider-with-content": "textContent() || templateContent()", "class.thy-divider-with-content-left": "(textContent() || templateContent()) && thyTextDirection() === 'left'", "class.thy-divider-with-content-right": "(textContent() || templateContent()) && thyTextDirection() === 'right'", "class.thy-divider-with-content-center": "(textContent() || templateContent()) && thyTextDirection() === 'center'", "class.thy-divider-solid": "thyStyle() === 'solid'", "class.thy-divider-dashed": "thyStyle() === 'dashed'", "class.thy-divider-deeper": "!!thyDeeper()" } }, ngImport: i0, template: `
|
|
66
66
|
@if (templateContent()) {
|
|
67
67
|
<div class="thy-divider-inner-template">
|
|
68
68
|
<ng-template *ngTemplateOutlet="templateContent()"></ng-template>
|
|
@@ -74,7 +74,7 @@ class ThyDivider {
|
|
|
74
74
|
}
|
|
75
75
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
76
76
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyDivider, decorators: [{
|
|
78
78
|
type: Component,
|
|
79
79
|
args: [{
|
|
80
80
|
preserveWhitespaces: false,
|
|
@@ -106,14 +106,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
106
106
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
107
107
|
imports: [NgTemplateOutlet]
|
|
108
108
|
}]
|
|
109
|
-
}], ctorParameters: () => [] });
|
|
109
|
+
}], ctorParameters: () => [], propDecorators: { thyVertical: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyVertical", required: false }] }], thyStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyStyle", required: false }] }], thyColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyColor", required: false }] }], thyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyText", required: false }] }], thyTextDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTextDirection", required: false }] }], thyDeeper: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyDeeper", required: false }] }] } });
|
|
110
110
|
|
|
111
111
|
class ThyDividerModule {
|
|
112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
113
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
114
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyDividerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
113
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.10", ngImport: i0, type: ThyDividerModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyDivider], exports: [ThyDivider] }); }
|
|
114
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyDividerModule, imports: [CommonModule, ThySharedModule, ThyIconModule] }); }
|
|
115
115
|
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyDividerModule, decorators: [{
|
|
117
117
|
type: NgModule,
|
|
118
118
|
args: [{
|
|
119
119
|
imports: [CommonModule, ThySharedModule, ThyIconModule, ThyDivider],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-divider.mjs","sources":["../../../src/divider/divider.component.ts","../../../src/divider/divider.module.ts","../../../src/divider/ngx-tethys-divider.ts"],"sourcesContent":["import { Component, TemplateRef, ViewEncapsulation, OnInit, ChangeDetectionStrategy, input, effect, Signal, computed } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyDividerStyle = 'solid' | 'dashed';\n\nexport type ThyDividerTextDirection = 'left' | 'right' | 'center';\n\nexport type ThyDividerColor = 'lighter' | 'light' | 'danger' | 'primary' | 'success' | 'warning' | string;\n\n/**\n * 分割线\n * @name thy-divider\n */\n@Component({\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n selector: 'thy-divider',\n template: `\n @if (templateContent()) {\n <div class=\"thy-divider-inner-template\">\n <ng-template *ngTemplateOutlet=\"templateContent()\"></ng-template>\n </div>\n }\n\n @if (textContent()) {\n <span class=\"thy-divider-inner-text\">{{ textContent() }}</span>\n }\n `,\n host: {\n '[class.thy-divider]': `true`,\n '[class.thy-divider-horizontal]': `!thyVertical()`,\n '[class.thy-divider-vertical]': `thyVertical()`,\n '[class.thy-divider-with-content]': `textContent() || templateContent()`,\n '[class.thy-divider-with-content-left]': `(textContent() || templateContent()) && thyTextDirection() === 'left'`,\n '[class.thy-divider-with-content-right]': `(textContent() || templateContent()) && thyTextDirection() === 'right'`,\n '[class.thy-divider-with-content-center]': `(textContent() || templateContent()) && thyTextDirection() === 'center'`,\n '[class.thy-divider-solid]': `thyStyle() === 'solid'`,\n '[class.thy-divider-dashed]': `thyStyle() === 'dashed'`,\n '[class.thy-divider-deeper]': `!!thyDeeper()`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet]\n})\nexport class ThyDivider implements OnInit {\n private hostRenderer = useHostRenderer();\n\n /**\n * 是否垂直方向\n */\n readonly thyVertical = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 分割线的风格\n * @type solid(实线) | dashed(虚线)\n */\n readonly thyStyle = input<ThyDividerStyle>('solid');\n\n /**\n * 分割线的颜色,默认 #eee,light 为 #ddd,primary 主色,success 成功色,warning 警告色,danger 危险色\n * @type 'lighter' | 'light' | 'danger' | 'primary' | 'success' | 'warning' | string\n */\n readonly thyColor = input<ThyDividerColor>('default');\n\n /**\n * 中间文本内容,支持文字和模板\n */\n readonly thyText = input<string | TemplateRef<HTMLElement>>();\n\n readonly templateContent: Signal<TemplateRef<HTMLElement>> = computed(() => {\n const text = this.thyText();\n if (text instanceof TemplateRef) {\n return text;\n }\n });\n\n readonly textContent: Signal<string> = computed(() => {\n const text = this.thyText();\n if (typeof text === 'string') {\n return text;\n }\n });\n\n /**\n * 中间内容的方向\n * @type left | right | center\n */\n readonly thyTextDirection = input<ThyDividerTextDirection>('center');\n\n /**\n * 颜色加深,已经废弃,请使用 thyColor=\"light\" 代替\n * @deprecated\n */\n readonly thyDeeper = input(false, { transform: coerceBooleanProperty });\n\n constructor() {\n effect(() => {\n this.setColor();\n });\n }\n\n ngOnInit(): void {}\n\n setColor() {\n this.hostRenderer.updateClass([`thy-divider-${this.thyColor()}`]);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\n\nimport { ThyDivider } from './divider.component';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, ThyIconModule, ThyDivider],\n exports: [ThyDivider],\n providers: []\n})\nexport class ThyDividerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAWA;;;AAGG;MA+BU,UAAU,CAAA;AAmDnB,IAAA,WAAA,GAAA;QAlDQ,
|
|
1
|
+
{"version":3,"file":"ngx-tethys-divider.mjs","sources":["../../../src/divider/divider.component.ts","../../../src/divider/divider.module.ts","../../../src/divider/ngx-tethys-divider.ts"],"sourcesContent":["import { Component, TemplateRef, ViewEncapsulation, OnInit, ChangeDetectionStrategy, input, effect, Signal, computed } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyDividerStyle = 'solid' | 'dashed';\n\nexport type ThyDividerTextDirection = 'left' | 'right' | 'center';\n\nexport type ThyDividerColor = 'lighter' | 'light' | 'danger' | 'primary' | 'success' | 'warning' | string;\n\n/**\n * 分割线\n * @name thy-divider\n */\n@Component({\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n selector: 'thy-divider',\n template: `\n @if (templateContent()) {\n <div class=\"thy-divider-inner-template\">\n <ng-template *ngTemplateOutlet=\"templateContent()\"></ng-template>\n </div>\n }\n\n @if (textContent()) {\n <span class=\"thy-divider-inner-text\">{{ textContent() }}</span>\n }\n `,\n host: {\n '[class.thy-divider]': `true`,\n '[class.thy-divider-horizontal]': `!thyVertical()`,\n '[class.thy-divider-vertical]': `thyVertical()`,\n '[class.thy-divider-with-content]': `textContent() || templateContent()`,\n '[class.thy-divider-with-content-left]': `(textContent() || templateContent()) && thyTextDirection() === 'left'`,\n '[class.thy-divider-with-content-right]': `(textContent() || templateContent()) && thyTextDirection() === 'right'`,\n '[class.thy-divider-with-content-center]': `(textContent() || templateContent()) && thyTextDirection() === 'center'`,\n '[class.thy-divider-solid]': `thyStyle() === 'solid'`,\n '[class.thy-divider-dashed]': `thyStyle() === 'dashed'`,\n '[class.thy-divider-deeper]': `!!thyDeeper()`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet]\n})\nexport class ThyDivider implements OnInit {\n private hostRenderer = useHostRenderer();\n\n /**\n * 是否垂直方向\n */\n readonly thyVertical = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 分割线的风格\n * @type solid(实线) | dashed(虚线)\n */\n readonly thyStyle = input<ThyDividerStyle>('solid');\n\n /**\n * 分割线的颜色,默认 #eee,light 为 #ddd,primary 主色,success 成功色,warning 警告色,danger 危险色\n * @type 'lighter' | 'light' | 'danger' | 'primary' | 'success' | 'warning' | string\n */\n readonly thyColor = input<ThyDividerColor>('default');\n\n /**\n * 中间文本内容,支持文字和模板\n */\n readonly thyText = input<string | TemplateRef<HTMLElement>>();\n\n readonly templateContent: Signal<TemplateRef<HTMLElement>> = computed(() => {\n const text = this.thyText();\n if (text instanceof TemplateRef) {\n return text;\n }\n });\n\n readonly textContent: Signal<string> = computed(() => {\n const text = this.thyText();\n if (typeof text === 'string') {\n return text;\n }\n });\n\n /**\n * 中间内容的方向\n * @type left | right | center\n */\n readonly thyTextDirection = input<ThyDividerTextDirection>('center');\n\n /**\n * 颜色加深,已经废弃,请使用 thyColor=\"light\" 代替\n * @deprecated\n */\n readonly thyDeeper = input(false, { transform: coerceBooleanProperty });\n\n constructor() {\n effect(() => {\n this.setColor();\n });\n }\n\n ngOnInit(): void {}\n\n setColor() {\n this.hostRenderer.updateClass([`thy-divider-${this.thyColor()}`]);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\n\nimport { ThyDivider } from './divider.component';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, ThyIconModule, ThyDivider],\n exports: [ThyDivider],\n providers: []\n})\nexport class ThyDividerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -21,30 +21,30 @@ class ThyDot {
|
|
|
21
21
|
* 颜色,可选值为:`primary` `success` `info` `warning` `danger` `default` `light`和自定义颜色,如`#2cccda` `red` `rgb(153, 153, 153)`
|
|
22
22
|
* @type ThyThemeColor | string
|
|
23
23
|
*/
|
|
24
|
-
this.thyColor = input(DEFAULT_COLOR_NAME, {
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
this.thyColor = input(DEFAULT_COLOR_NAME, ...(ngDevMode ? [{ debugName: "thyColor", transform: (value) => value || DEFAULT_COLOR_NAME }] : [{
|
|
25
|
+
transform: (value) => value || DEFAULT_COLOR_NAME
|
|
26
|
+
}]));
|
|
27
27
|
/**
|
|
28
28
|
* 大小
|
|
29
29
|
* @type xs | sm | md | lg | xlg
|
|
30
30
|
*/
|
|
31
|
-
this.thySize = input(DEFAULT_SIZE_NAME, {
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
this.thySize = input(DEFAULT_SIZE_NAME, ...(ngDevMode ? [{ debugName: "thySize", transform: (value) => value || DEFAULT_SIZE_NAME }] : [{
|
|
32
|
+
transform: (value) => value || DEFAULT_SIZE_NAME
|
|
33
|
+
}]));
|
|
34
34
|
/**
|
|
35
35
|
* 主题
|
|
36
36
|
* @type outline(线框) | fill(填充)
|
|
37
37
|
*/
|
|
38
|
-
this.thyTheme = input(DEFAULT_THEME_NAME, {
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
this.thyTheme = input(DEFAULT_THEME_NAME, ...(ngDevMode ? [{ debugName: "thyTheme", transform: (value) => value || DEFAULT_THEME_NAME }] : [{
|
|
39
|
+
transform: (value) => value || DEFAULT_THEME_NAME
|
|
40
|
+
}]));
|
|
41
41
|
/**
|
|
42
42
|
* 形状
|
|
43
43
|
* @type circle(圆形) | square(方形)
|
|
44
44
|
*/
|
|
45
|
-
this.thyShape = input(DEFAULT_SHAPE_NAME, {
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
this.thyShape = input(DEFAULT_SHAPE_NAME, ...(ngDevMode ? [{ debugName: "thyShape", transform: (value) => value || DEFAULT_SHAPE_NAME }] : [{
|
|
46
|
+
transform: (value) => value || DEFAULT_SHAPE_NAME
|
|
47
|
+
}]));
|
|
48
48
|
this.nativeElement = this.el.nativeElement;
|
|
49
49
|
effect(() => {
|
|
50
50
|
this.updateColorStyle();
|
|
@@ -62,10 +62,10 @@ class ThyDot {
|
|
|
62
62
|
this.renderer.setStyle(this.nativeElement, 'borderColor', this.thyColor());
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyDot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.10", type: ThyDot, isStandalone: true, selector: "thy-dot,[thy-dot],[thyDot]", inputs: { thyColor: { classPropertyName: "thyColor", publicName: "thyColor", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null }, thyTheme: { classPropertyName: "thyTheme", publicName: "thyTheme", isSignal: true, isRequired: false, transformFunction: null }, thyShape: { classPropertyName: "thyShape", publicName: "thyShape", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dot-theme-fill": "thyTheme() === \"fill\"", "class.dot-theme-outline": "thyTheme() === \"outline\"", "class.dot-shape-square": "thyShape() === \"square\"", "class.dot-shape-circle": "thyShape() === \"circle\"", "class.dot-size-md": "thySize() === \"md\"", "class.dot-size-sm": "thySize() === \"sm\"", "class.dot-size-xs": "thySize() === \"xs\"", "class.dot-size-lg": "thySize() === \"lg\"", "class.dot-size-xlg": "thySize() === \"xlg\"" }, classAttribute: "thy-dot" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
67
67
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyDot, decorators: [{
|
|
69
69
|
type: Component,
|
|
70
70
|
args: [{
|
|
71
71
|
selector: 'thy-dot,[thy-dot],[thyDot]',
|
|
@@ -85,14 +85,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
85
85
|
'[class.dot-size-xlg]': 'thySize() === "xlg"'
|
|
86
86
|
}
|
|
87
87
|
}]
|
|
88
|
-
}], ctorParameters: () => [] });
|
|
88
|
+
}], ctorParameters: () => [], propDecorators: { thyColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyColor", required: false }] }], thySize: [{ type: i0.Input, args: [{ isSignal: true, alias: "thySize", required: false }] }], thyTheme: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTheme", required: false }] }], thyShape: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyShape", required: false }] }] } });
|
|
89
89
|
|
|
90
90
|
class ThyDotModule {
|
|
91
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
92
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
93
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
91
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyDotModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
92
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.10", ngImport: i0, type: ThyDotModule, imports: [CommonModule, ThyDot], exports: [ThyDot] }); }
|
|
93
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyDotModule, imports: [CommonModule] }); }
|
|
94
94
|
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyDotModule, decorators: [{
|
|
96
96
|
type: NgModule,
|
|
97
97
|
args: [{
|
|
98
98
|
imports: [CommonModule, ThyDot],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-dot.mjs","sources":["../../../src/dot/dot.component.ts","../../../src/dot/dot.module.ts","../../../src/dot/ngx-tethys-dot.ts"],"sourcesContent":["import { isThemeColor, ThyThemeColor } from 'ngx-tethys/core';\n\nimport { ChangeDetectionStrategy, Component, ElementRef, Renderer2, ViewEncapsulation, effect, inject, input } from '@angular/core';\n\nexport type ThyColorType = ThyThemeColor | string;\nexport type ThySizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xlg';\nexport type ThyThemeType = 'outline' | 'fill';\nexport type ThyShapeType = 'square' | 'circle';\n\nexport const COMPONENT_CLASS_NAME = 'thy-dot';\n\nexport const DEFAULT_COLOR_NAME = 'primary';\nexport const DEFAULT_SIZE_NAME = 'sm';\nexport const DEFAULT_THEME_NAME = 'fill';\nexport const DEFAULT_SHAPE_NAME = 'circle';\n\n/**\n * 显示一个点的组件\n * @name thy-dot,[thy-dot],[thyDot]\n * @order 10\n */\n@Component({\n selector: 'thy-dot,[thy-dot],[thyDot]',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-dot',\n '[class.dot-theme-fill]': 'thyTheme() === \"fill\"',\n '[class.dot-theme-outline]': 'thyTheme() === \"outline\"',\n '[class.dot-shape-square]': 'thyShape() === \"square\"',\n '[class.dot-shape-circle]': 'thyShape() === \"circle\"',\n '[class.dot-size-md]': 'thySize() === \"md\"',\n '[class.dot-size-sm]': 'thySize() === \"sm\"',\n '[class.dot-size-xs]': 'thySize() === \"xs\"',\n '[class.dot-size-lg]': 'thySize() === \"lg\"',\n '[class.dot-size-xlg]': 'thySize() === \"xlg\"'\n }\n})\nexport class ThyDot {\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n private nativeElement: HTMLElement;\n\n constructor() {\n this.nativeElement = this.el.nativeElement;\n\n effect(() => {\n this.updateColorStyle();\n });\n }\n\n /**\n * 颜色,可选值为:`primary` `success` `info` `warning` `danger` `default` `light`和自定义颜色,如`#2cccda` `red` `rgb(153, 153, 153)`\n * @type ThyThemeColor | string\n */\n readonly thyColor = input<ThyColorType, ThyColorType>(DEFAULT_COLOR_NAME, {\n transform: (value: ThyColorType) => value || DEFAULT_COLOR_NAME\n });\n\n /**\n * 大小\n * @type xs | sm | md | lg | xlg\n */\n readonly thySize = input<ThySizeType, ThySizeType>(DEFAULT_SIZE_NAME, {\n transform: (value: ThySizeType) => value || DEFAULT_SIZE_NAME\n });\n\n /**\n * 主题\n * @type outline(线框) | fill(填充)\n */\n readonly thyTheme = input<ThyThemeType, ThyThemeType>(DEFAULT_THEME_NAME, {\n transform: (value: ThyThemeType) => value || DEFAULT_THEME_NAME\n });\n\n /**\n * 形状\n * @type circle(圆形) | square(方形)\n */\n readonly thyShape = input<ThyShapeType, ThyShapeType>(DEFAULT_SHAPE_NAME, {\n transform: (value: ThyShapeType) => value || DEFAULT_SHAPE_NAME\n });\n\n updateColorStyle() {\n Array.from(this.nativeElement.classList)\n .filter(it => /^dot-color-[\\w]+$/.test(it))\n .forEach(it => this.renderer.removeClass(this.nativeElement, it));\n\n if (isThemeColor(this.thyColor())) {\n this.renderer.setStyle(this.nativeElement, 'borderColor', 'none');\n this.renderer.addClass(this.nativeElement, `dot-color-${this.thyColor()}`);\n } else {\n this.renderer.setStyle(this.nativeElement, 'borderColor', this.thyColor());\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ThyDot } from './dot.component';\n\n@NgModule({\n imports: [CommonModule, ThyDot],\n exports: [ThyDot]\n})\nexport class ThyDotModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AASO,MAAM,oBAAoB,GAAG;AAE7B,MAAM,kBAAkB,GAAG;AAC3B,MAAM,iBAAiB,GAAG;AAC1B,MAAM,kBAAkB,GAAG;AAC3B,MAAM,kBAAkB,GAAG;AAElC;;;;AAIG;MAmBU,MAAM,CAAA;AAKf,IAAA,WAAA,GAAA;AAJQ,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAWpC;;;AAGG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAA6B,kBAAkB,EAAE;
|
|
1
|
+
{"version":3,"file":"ngx-tethys-dot.mjs","sources":["../../../src/dot/dot.component.ts","../../../src/dot/dot.module.ts","../../../src/dot/ngx-tethys-dot.ts"],"sourcesContent":["import { isThemeColor, ThyThemeColor } from 'ngx-tethys/core';\n\nimport { ChangeDetectionStrategy, Component, ElementRef, Renderer2, ViewEncapsulation, effect, inject, input } from '@angular/core';\n\nexport type ThyColorType = ThyThemeColor | string;\nexport type ThySizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xlg';\nexport type ThyThemeType = 'outline' | 'fill';\nexport type ThyShapeType = 'square' | 'circle';\n\nexport const COMPONENT_CLASS_NAME = 'thy-dot';\n\nexport const DEFAULT_COLOR_NAME = 'primary';\nexport const DEFAULT_SIZE_NAME = 'sm';\nexport const DEFAULT_THEME_NAME = 'fill';\nexport const DEFAULT_SHAPE_NAME = 'circle';\n\n/**\n * 显示一个点的组件\n * @name thy-dot,[thy-dot],[thyDot]\n * @order 10\n */\n@Component({\n selector: 'thy-dot,[thy-dot],[thyDot]',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-dot',\n '[class.dot-theme-fill]': 'thyTheme() === \"fill\"',\n '[class.dot-theme-outline]': 'thyTheme() === \"outline\"',\n '[class.dot-shape-square]': 'thyShape() === \"square\"',\n '[class.dot-shape-circle]': 'thyShape() === \"circle\"',\n '[class.dot-size-md]': 'thySize() === \"md\"',\n '[class.dot-size-sm]': 'thySize() === \"sm\"',\n '[class.dot-size-xs]': 'thySize() === \"xs\"',\n '[class.dot-size-lg]': 'thySize() === \"lg\"',\n '[class.dot-size-xlg]': 'thySize() === \"xlg\"'\n }\n})\nexport class ThyDot {\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n private nativeElement: HTMLElement;\n\n constructor() {\n this.nativeElement = this.el.nativeElement;\n\n effect(() => {\n this.updateColorStyle();\n });\n }\n\n /**\n * 颜色,可选值为:`primary` `success` `info` `warning` `danger` `default` `light`和自定义颜色,如`#2cccda` `red` `rgb(153, 153, 153)`\n * @type ThyThemeColor | string\n */\n readonly thyColor = input<ThyColorType, ThyColorType>(DEFAULT_COLOR_NAME, {\n transform: (value: ThyColorType) => value || DEFAULT_COLOR_NAME\n });\n\n /**\n * 大小\n * @type xs | sm | md | lg | xlg\n */\n readonly thySize = input<ThySizeType, ThySizeType>(DEFAULT_SIZE_NAME, {\n transform: (value: ThySizeType) => value || DEFAULT_SIZE_NAME\n });\n\n /**\n * 主题\n * @type outline(线框) | fill(填充)\n */\n readonly thyTheme = input<ThyThemeType, ThyThemeType>(DEFAULT_THEME_NAME, {\n transform: (value: ThyThemeType) => value || DEFAULT_THEME_NAME\n });\n\n /**\n * 形状\n * @type circle(圆形) | square(方形)\n */\n readonly thyShape = input<ThyShapeType, ThyShapeType>(DEFAULT_SHAPE_NAME, {\n transform: (value: ThyShapeType) => value || DEFAULT_SHAPE_NAME\n });\n\n updateColorStyle() {\n Array.from(this.nativeElement.classList)\n .filter(it => /^dot-color-[\\w]+$/.test(it))\n .forEach(it => this.renderer.removeClass(this.nativeElement, it));\n\n if (isThemeColor(this.thyColor())) {\n this.renderer.setStyle(this.nativeElement, 'borderColor', 'none');\n this.renderer.addClass(this.nativeElement, `dot-color-${this.thyColor()}`);\n } else {\n this.renderer.setStyle(this.nativeElement, 'borderColor', this.thyColor());\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ThyDot } from './dot.component';\n\n@NgModule({\n imports: [CommonModule, ThyDot],\n exports: [ThyDot]\n})\nexport class ThyDotModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|