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
package/empty/index.d.ts
CHANGED
|
@@ -1,3 +1,116 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { AfterViewInit, ElementRef, Signal, TemplateRef } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import * as i2 from 'ngx-tethys/shared';
|
|
5
|
+
import * as i3 from 'ngx-tethys/icon';
|
|
6
|
+
import * as _angular_platform_browser from '@angular/platform-browser';
|
|
7
|
+
|
|
8
|
+
/** https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-loading */
|
|
9
|
+
type ThyEmptyImageLoading = 'eager' | 'lazy';
|
|
10
|
+
/** https://wicg.github.io/priority-hints/#idl-index */
|
|
11
|
+
type ThyEmptyImageFetchPriority = 'high' | 'low' | 'auto';
|
|
12
|
+
/**
|
|
13
|
+
* 空页面组件
|
|
14
|
+
* @name thy-empty
|
|
15
|
+
* @order 10
|
|
16
|
+
*/
|
|
17
|
+
declare class ThyEmpty implements AfterViewInit {
|
|
18
|
+
private thyTranslate;
|
|
19
|
+
private thyEmptyConfig;
|
|
20
|
+
private elementRef;
|
|
21
|
+
private ngZone;
|
|
22
|
+
private sanitizer;
|
|
23
|
+
private locale;
|
|
24
|
+
/**
|
|
25
|
+
* 显示文本提示信息。同时传入 thyMessage,thyTranslationKey,thyEntityName,thyEntityNameTranslateKey 时优先级最高
|
|
26
|
+
* @default 暂无数据
|
|
27
|
+
*/
|
|
28
|
+
readonly thyMessage: _angular_core.InputSignal<string>;
|
|
29
|
+
/**
|
|
30
|
+
* 已废弃。显示文本提示信息多语言 Key。同时传入 thyTranslationKey,thyEntityName,thyEntityNameTranslateKey 时优先级最高
|
|
31
|
+
* @deprecated
|
|
32
|
+
*/
|
|
33
|
+
readonly thyTranslationKey: _angular_core.InputSignal<string>;
|
|
34
|
+
/**
|
|
35
|
+
* 已废弃。显示文本提示信息多语言 Key 的 Values。传入 thyTranslationKey 后,传入这个才会生效
|
|
36
|
+
* @deprecated
|
|
37
|
+
*/
|
|
38
|
+
readonly thyTranslationValues: _angular_core.InputSignal<any>;
|
|
39
|
+
/**
|
|
40
|
+
* 已废弃。显示默认提示信息,替换默认提示信息的目标对象,比如:没有 {thyEntityName}。同时传入 thyEntityName,thyEntityNameTranslateKey 时优先级较高
|
|
41
|
+
* @deprecated
|
|
42
|
+
*/
|
|
43
|
+
readonly thyEntityName: _angular_core.InputSignal<string>;
|
|
44
|
+
/**
|
|
45
|
+
* 已废弃。thyEntityName 的多语言 Key。thyMessage,thyTranslationKey,thyEntityName 均未传入时才会生效
|
|
46
|
+
* @deprecated
|
|
47
|
+
*/
|
|
48
|
+
readonly thyEntityNameTranslateKey: _angular_core.InputSignal<string>;
|
|
49
|
+
/**
|
|
50
|
+
* 提示图标名
|
|
51
|
+
*/
|
|
52
|
+
readonly thyIconName: _angular_core.InputSignal<string>;
|
|
53
|
+
/**
|
|
54
|
+
* 大小
|
|
55
|
+
* @type sm | md | lg
|
|
56
|
+
* @default md
|
|
57
|
+
*/
|
|
58
|
+
readonly thySize: _angular_core.InputSignal<string>;
|
|
59
|
+
/**
|
|
60
|
+
* 距上距离
|
|
61
|
+
*/
|
|
62
|
+
readonly thyMarginTop: _angular_core.InputSignal<string | number>;
|
|
63
|
+
/**
|
|
64
|
+
* 是否自动根据父容器计算高度,垂直居中
|
|
65
|
+
* @default false
|
|
66
|
+
*/
|
|
67
|
+
readonly thyTopAuto: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
68
|
+
/**
|
|
69
|
+
* 自动计算高度垂直居中(即 thyTopAuto 为 true)时,支持传入自定义父容器
|
|
70
|
+
*/
|
|
71
|
+
readonly thyContainer: _angular_core.InputSignal<ElementRef<any>>;
|
|
72
|
+
/**
|
|
73
|
+
* 提示图片链接
|
|
74
|
+
*/
|
|
75
|
+
readonly thyImageUrl: _angular_core.InputSignal<string>;
|
|
76
|
+
readonly thyImageLoading: _angular_core.InputSignal<ThyEmptyImageLoading>;
|
|
77
|
+
readonly thyImageFetchPriority: _angular_core.InputSignal<ThyEmptyImageFetchPriority>;
|
|
78
|
+
/**
|
|
79
|
+
* 显示文本描述
|
|
80
|
+
*/
|
|
81
|
+
readonly thyDescription: _angular_core.InputSignal<string>;
|
|
82
|
+
private hostRenderer;
|
|
83
|
+
/**
|
|
84
|
+
* 除提示图片,文本外的其他信息传入模板
|
|
85
|
+
* @type TemplateRef
|
|
86
|
+
*/
|
|
87
|
+
readonly extraTemplateRef: Signal<TemplateRef<any>>;
|
|
88
|
+
protected readonly presetSvg: Signal<_angular_platform_browser.SafeHtml>;
|
|
89
|
+
protected readonly displayText: _angular_core.WritableSignal<any>;
|
|
90
|
+
setMessage(text: string): void;
|
|
91
|
+
constructor();
|
|
92
|
+
private _calculatePosition;
|
|
93
|
+
updateClass(): void;
|
|
94
|
+
ngAfterViewInit(): void;
|
|
95
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThyEmpty, never>;
|
|
96
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThyEmpty, "thy-empty", never, { "thyMessage": { "alias": "thyMessage"; "required": false; "isSignal": true; }; "thyTranslationKey": { "alias": "thyTranslationKey"; "required": false; "isSignal": true; }; "thyTranslationValues": { "alias": "thyTranslationValues"; "required": false; "isSignal": true; }; "thyEntityName": { "alias": "thyEntityName"; "required": false; "isSignal": true; }; "thyEntityNameTranslateKey": { "alias": "thyEntityNameTranslateKey"; "required": false; "isSignal": true; }; "thyIconName": { "alias": "thyIconName"; "required": false; "isSignal": true; }; "thySize": { "alias": "thySize"; "required": false; "isSignal": true; }; "thyMarginTop": { "alias": "thyMarginTop"; "required": false; "isSignal": true; }; "thyTopAuto": { "alias": "thyTopAuto"; "required": false; "isSignal": true; }; "thyContainer": { "alias": "thyContainer"; "required": false; "isSignal": true; }; "thyImageUrl": { "alias": "thyImageUrl"; "required": false; "isSignal": true; }; "thyImageLoading": { "alias": "thyImageLoading"; "required": false; "isSignal": true; }; "thyImageFetchPriority": { "alias": "thyImageFetchPriority"; "required": false; "isSignal": true; }; "thyDescription": { "alias": "thyDescription"; "required": false; "isSignal": true; }; }, {}, ["extraTemplateRef"], never, true, never>;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
declare class ThyEmptyModule {
|
|
100
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThyEmptyModule, never>;
|
|
101
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<ThyEmptyModule, never, [typeof i1.CommonModule, typeof i2.ThySharedModule, typeof i3.ThyIconModule, typeof ThyEmpty], [typeof ThyEmpty]>;
|
|
102
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<ThyEmptyModule>;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @deprecated
|
|
107
|
+
*/
|
|
108
|
+
declare class ThyEmptyConfig {
|
|
109
|
+
noResultTranslateKey: string;
|
|
110
|
+
noResultWithTargetTranslateKey: string;
|
|
111
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThyEmptyConfig, never>;
|
|
112
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ThyEmptyConfig>;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export { ThyEmpty, ThyEmptyConfig, ThyEmptyModule };
|
|
116
|
+
export type { ThyEmptyImageFetchPriority, ThyEmptyImageLoading };
|
|
@@ -34,46 +34,46 @@ class ThyAction {
|
|
|
34
34
|
this.elementRef = inject(ElementRef);
|
|
35
35
|
this.renderer = inject(Renderer2);
|
|
36
36
|
this.cdr = inject(ChangeDetectorRef);
|
|
37
|
-
this.icon = computed(() => this.thyActionIcon() || this.thyIcon());
|
|
37
|
+
this.icon = computed(() => this.thyActionIcon() || this.thyIcon(), ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
38
38
|
this.feedback = null;
|
|
39
|
-
this.active = computed(() => this.thyActionActive() || this.thyActive());
|
|
39
|
+
this.active = computed(() => this.thyActionActive() || this.thyActive(), ...(ngDevMode ? [{ debugName: "active" }] : []));
|
|
40
40
|
this.hostRenderer = useHostRenderer();
|
|
41
41
|
/**
|
|
42
42
|
* 操作图标的类型
|
|
43
43
|
* @type primary | success | danger | warning
|
|
44
44
|
*/
|
|
45
|
-
this.thyType = input('primary', {
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
this.thyType = input('primary', ...(ngDevMode ? [{ debugName: "thyType", transform: (value) => value || 'primary' }] : [{
|
|
46
|
+
transform: (value) => value || 'primary'
|
|
47
|
+
}]));
|
|
48
48
|
/**
|
|
49
49
|
* 操作图标,支持传参同时也支持在投影中写 thy-icon 组件
|
|
50
50
|
*/
|
|
51
|
-
this.thyIcon = input('');
|
|
51
|
+
this.thyIcon = input('', ...(ngDevMode ? [{ debugName: "thyIcon" }] : []));
|
|
52
52
|
/**
|
|
53
53
|
* 操作图标,当 thyIcon 和其他指令参数名有冲突时使用 thyActionIcon
|
|
54
54
|
*/
|
|
55
|
-
this.thyActionIcon = input('');
|
|
55
|
+
this.thyActionIcon = input('', ...(ngDevMode ? [{ debugName: "thyActionIcon" }] : []));
|
|
56
56
|
/**
|
|
57
57
|
* 操作的图标 Active 状态,设置为 true 时会在 Item 上添加 active class
|
|
58
58
|
*/
|
|
59
|
-
this.thyActive = input(false, { transform: coerceBooleanProperty });
|
|
59
|
+
this.thyActive = input(false, ...(ngDevMode ? [{ debugName: "thyActive", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
|
|
60
60
|
/**
|
|
61
61
|
* 操作的图标 Active 状态,当 thyActive 和其他指令参数名有冲突时使用 thyActionActive
|
|
62
62
|
*/
|
|
63
|
-
this.thyActionActive = input(false, { transform: coerceBooleanProperty });
|
|
63
|
+
this.thyActionActive = input(false, ...(ngDevMode ? [{ debugName: "thyActionActive", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
|
|
64
64
|
/**
|
|
65
65
|
* 操作图标的主题
|
|
66
66
|
* @type fill(背景色填充) | lite(简单文本颜色变化)
|
|
67
67
|
*/
|
|
68
|
-
this.thyTheme = input('fill');
|
|
68
|
+
this.thyTheme = input('fill', ...(ngDevMode ? [{ debugName: "thyTheme" }] : []));
|
|
69
69
|
/**
|
|
70
70
|
* Hover 展示的图标
|
|
71
71
|
*/
|
|
72
|
-
this.thyHoverIcon = input();
|
|
72
|
+
this.thyHoverIcon = input(...(ngDevMode ? [undefined, { debugName: "thyHoverIcon" }] : []));
|
|
73
73
|
/**
|
|
74
74
|
* 是否处于禁用状态
|
|
75
75
|
*/
|
|
76
|
-
this.thyDisabled = input(false, { transform: coerceBooleanProperty });
|
|
76
|
+
this.thyDisabled = input(false, ...(ngDevMode ? [{ debugName: "thyDisabled", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
|
|
77
77
|
effect(() => {
|
|
78
78
|
this.updateClasses();
|
|
79
79
|
});
|
|
@@ -134,10 +134,10 @@ class ThyAction {
|
|
|
134
134
|
ngOnDestroy() {
|
|
135
135
|
this.feedbackTimer?.unsubscribe();
|
|
136
136
|
}
|
|
137
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
138
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
137
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAction, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
138
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: ThyAction, isStandalone: true, selector: "thy-action, [thyAction]", inputs: { thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: true, isRequired: false, transformFunction: null }, thyIcon: { classPropertyName: "thyIcon", publicName: "thyIcon", isSignal: true, isRequired: false, transformFunction: null }, thyActionIcon: { classPropertyName: "thyActionIcon", publicName: "thyActionIcon", isSignal: true, isRequired: false, transformFunction: null }, thyActive: { classPropertyName: "thyActive", publicName: "thyActive", isSignal: true, isRequired: false, transformFunction: null }, thyActionActive: { classPropertyName: "thyActionActive", publicName: "thyActionActive", isSignal: true, isRequired: false, transformFunction: null }, thyTheme: { classPropertyName: "thyTheme", publicName: "thyTheme", isSignal: true, isRequired: false, transformFunction: null }, thyHoverIcon: { classPropertyName: "thyHoverIcon", publicName: "thyHoverIcon", isSignal: true, isRequired: false, transformFunction: null }, thyDisabled: { classPropertyName: "thyDisabled", publicName: "thyDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.active": "active()", "class.thy-action-hover-icon": "thyHoverIcon()", "class.thy-action-has-feedback": "!!feedback", "class.disabled": "thyDisabled()" }, classAttribute: "thy-action" }, ngImport: i0, template: "@if (icon() && !feedback) {\n <thy-icon [thyIconName]=\"icon()\"></thy-icon>\n}\n@if (feedbackOptions?.icon) {\n <thy-icon [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n}\n@if (thyHoverIcon()) {\n <thy-icon class=\"hover-icon\" [thyIconName]=\"thyHoverIcon()\"></thy-icon>\n}\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
139
139
|
}
|
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAction, decorators: [{
|
|
141
141
|
type: Component,
|
|
142
142
|
args: [{ selector: 'thy-action, [thyAction]', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
143
143
|
class: 'thy-action',
|
|
@@ -146,7 +146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
146
146
|
'[class.thy-action-has-feedback]': '!!feedback',
|
|
147
147
|
'[class.disabled]': 'thyDisabled()'
|
|
148
148
|
}, imports: [ThyIcon], template: "@if (icon() && !feedback) {\n <thy-icon [thyIconName]=\"icon()\"></thy-icon>\n}\n@if (feedbackOptions?.icon) {\n <thy-icon [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n}\n@if (thyHoverIcon()) {\n <thy-icon class=\"hover-icon\" [thyIconName]=\"thyHoverIcon()\"></thy-icon>\n}\n<ng-content></ng-content>\n" }]
|
|
149
|
-
}], ctorParameters: () => [] });
|
|
149
|
+
}], ctorParameters: () => [], propDecorators: { thyType: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyType", required: false }] }], thyIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyIcon", required: false }] }], thyActionIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyActionIcon", required: false }] }], thyActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyActive", required: false }] }], thyActionActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyActionActive", required: false }] }], thyTheme: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTheme", required: false }] }], thyHoverIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyHoverIcon", required: false }] }], thyDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyDisabled", required: false }] }] } });
|
|
150
150
|
|
|
151
151
|
/**
|
|
152
152
|
* Actions 组件
|
|
@@ -154,12 +154,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
154
154
|
*/
|
|
155
155
|
class ThyActions {
|
|
156
156
|
constructor() {
|
|
157
|
-
this.actions = contentChildren(ThyAction);
|
|
157
|
+
this.actions = contentChildren(ThyAction, ...(ngDevMode ? [{ debugName: "actions" }] : []));
|
|
158
158
|
/**
|
|
159
159
|
* 大小,支持 `zero` | `xxs` | `xs` | `sm` | `md` | `lg` | `xlg` 和自定义数字大小
|
|
160
160
|
* @type string | number
|
|
161
161
|
*/
|
|
162
|
-
this.thySize = input('md');
|
|
162
|
+
this.thySize = input('md', ...(ngDevMode ? [{ debugName: "thySize" }] : []));
|
|
163
163
|
effect(() => {
|
|
164
164
|
this.setActionsSize();
|
|
165
165
|
});
|
|
@@ -174,10 +174,10 @@ class ThyActions {
|
|
|
174
174
|
}
|
|
175
175
|
});
|
|
176
176
|
}
|
|
177
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
178
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
177
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyActions, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
178
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.10", type: ThyActions, isStandalone: true, selector: "thy-actions", inputs: { thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "thy-actions" }, queries: [{ propertyName: "actions", predicate: ThyAction, isSignal: true }], ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
179
179
|
}
|
|
180
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
180
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyActions, decorators: [{
|
|
181
181
|
type: Component,
|
|
182
182
|
args: [{
|
|
183
183
|
selector: 'thy-actions',
|
|
@@ -187,14 +187,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
187
187
|
class: 'thy-actions'
|
|
188
188
|
}
|
|
189
189
|
}]
|
|
190
|
-
}], ctorParameters: () => [] });
|
|
190
|
+
}], ctorParameters: () => [], propDecorators: { actions: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ThyAction), { isSignal: true }] }], thySize: [{ type: i0.Input, args: [{ isSignal: true, alias: "thySize", required: false }] }] } });
|
|
191
191
|
|
|
192
192
|
class ThyActionModule {
|
|
193
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
194
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
195
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
193
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
194
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.10", ngImport: i0, type: ThyActionModule, imports: [CommonModule, ThyIconModule, ThyAction, ThyActions], exports: [ThyAction, ThyActions] }); }
|
|
195
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyActionModule, imports: [CommonModule, ThyIconModule, ThyAction] }); }
|
|
196
196
|
}
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyActionModule, decorators: [{
|
|
198
198
|
type: NgModule,
|
|
199
199
|
args: [{
|
|
200
200
|
imports: [CommonModule, ThyIconModule, ThyAction, ThyActions],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-action.mjs","sources":["../../../src/action/action.component.ts","../../../src/action/action.component.html","../../../src/action/actions.component.ts","../../../src/action/action.module.ts","../../../src/action/ngx-tethys-action.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnDestroy,\n OnInit,\n Renderer2,\n Signal,\n computed,\n effect,\n inject,\n input\n} from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIcon } from 'ngx-tethys/icon';\n\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { Subscription, timer } from 'rxjs';\n\nexport type ThyActionType = 'primary' | 'success' | 'danger' | 'warning';\n\nexport type ThyActionFeedback = 'success' | 'error';\n\nexport interface ThyActionFeedbackOptions {\n icon?: string;\n class?: string;\n duration?: number;\n}\n\nconst defaultFeedbackOptions: Record<ThyActionFeedback, ThyActionFeedbackOptions> = {\n success: {\n icon: 'check-circle-fill',\n class: 'text-success',\n duration: 3000\n },\n error: {\n icon: 'close-circle-fill',\n class: 'text-danger',\n duration: 3000\n }\n};\n/**\n * 立即操作组件\n * @name thy-action,[thyAction]\n */\n@Component({\n selector: 'thy-action, [thyAction]',\n templateUrl: './action.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-action',\n '[class.active]': 'active()',\n '[class.thy-action-hover-icon]': 'thyHoverIcon()',\n '[class.thy-action-has-feedback]': '!!feedback',\n '[class.disabled]': 'thyDisabled()'\n },\n imports: [ThyIcon]\n})\nexport class ThyAction implements OnInit, AfterViewInit, OnDestroy {\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private renderer = inject(Renderer2);\n private cdr = inject(ChangeDetectorRef);\n\n public readonly icon: Signal<string> = computed(() => this.thyActionIcon() || this.thyIcon());\n\n feedback: ThyActionFeedback = null;\n\n feedbackOptions: ThyActionFeedbackOptions;\n\n readonly active: Signal<boolean> = computed(() => this.thyActionActive() || this.thyActive());\n\n private hostRenderer = useHostRenderer();\n\n private feedbackTimer: Subscription;\n\n /**\n * 操作图标的类型\n * @type primary | success | danger | warning\n */\n readonly thyType = input<ThyActionType, ThyActionType>('primary', {\n transform: (value: ThyActionType) => value || 'primary'\n });\n\n /**\n * 操作图标,支持传参同时也支持在投影中写 thy-icon 组件\n */\n readonly thyIcon = input<string>('');\n\n /**\n * 操作图标,当 thyIcon 和其他指令参数名有冲突时使用 thyActionIcon\n */\n readonly thyActionIcon = input<string>('');\n\n /**\n * 操作的图标 Active 状态,设置为 true 时会在 Item 上添加 active class\n */\n readonly thyActive = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 操作的图标 Active 状态,当 thyActive 和其他指令参数名有冲突时使用 thyActionActive\n */\n readonly thyActionActive = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 操作图标的主题\n * @type fill(背景色填充) | lite(简单文本颜色变化)\n */\n readonly thyTheme = input<'fill' | 'lite'>('fill');\n\n /**\n * Hover 展示的图标\n */\n readonly thyHoverIcon = input<string>();\n\n /**\n * 是否处于禁用状态\n */\n readonly thyDisabled = input(false, { transform: coerceBooleanProperty });\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngAfterViewInit() {\n this.wrapSpanForText(this.elementRef.nativeElement.childNodes);\n }\n\n constructor() {\n effect(() => {\n this.updateClasses();\n });\n }\n\n setMarginRight(marginRight: string) {\n this.elementRef.nativeElement.style.marginRight = marginRight;\n }\n\n /**\n * 触发成功反馈操作\n */\n success(options?: ThyActionFeedbackOptions) {\n this.setFeedback('success', options);\n }\n\n /**\n * 触发失败反馈操作\n */\n error(options?: ThyActionFeedbackOptions) {\n this.setFeedback('error', options);\n }\n\n private setFeedback(feedback: ThyActionFeedback, options: ThyActionFeedbackOptions) {\n if (this.thyDisabled()) {\n return;\n }\n options = Object.assign({}, defaultFeedbackOptions[feedback], options);\n this.feedback = feedback;\n this.feedbackOptions = options;\n this.cdr.markForCheck();\n if (options.duration) {\n if (this.feedbackTimer) {\n this.feedbackTimer.unsubscribe();\n }\n this.feedbackTimer = timer(options.duration).subscribe(() => {\n this.feedback = null;\n this.feedbackOptions = null;\n this.cdr.markForCheck();\n });\n }\n }\n\n private wrapSpanForText(nodes: NodeList): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = this.renderer.createElement('span');\n const parent = this.renderer.parentNode(node);\n // this.renderer.addClass(span, 'thy-action-wrap-span');\n this.renderer.insertBefore(parent, span, node);\n this.renderer.appendChild(span, node);\n }\n });\n }\n\n private updateClasses() {\n let classNames: string[] = [];\n classNames.push(`action-${this.thyType()}`);\n if (this.thyTheme() === 'lite') {\n classNames.push('thy-action-lite');\n }\n this.hostRenderer.updateClass(classNames);\n }\n\n ngOnDestroy(): void {\n this.feedbackTimer?.unsubscribe();\n }\n}\n","@if (icon() && !feedback) {\n <thy-icon [thyIconName]=\"icon()\"></thy-icon>\n}\n@if (feedbackOptions?.icon) {\n <thy-icon [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n}\n@if (thyHoverIcon()) {\n <thy-icon class=\"hover-icon\" [thyIconName]=\"thyHoverIcon()\"></thy-icon>\n}\n<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, OnInit, contentChildren, effect, input } from '@angular/core';\nimport { ThySpacingSize, getNumericSize } from 'ngx-tethys/core';\nimport { ThyAction } from './action.component';\n\n/**\n * Actions 组件\n * @name thy-actions\n */\n@Component({\n selector: 'thy-actions',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-actions'\n }\n})\nexport class ThyActions implements OnInit {\n readonly actions = contentChildren<ThyAction>(ThyAction);\n\n /**\n * 大小,支持 `zero` | `xxs` | `xs` | `sm` | `md` | `lg` | `xlg` 和自定义数字大小\n * @type string | number\n */\n readonly thySize = input<ThySpacingSize>('md');\n\n constructor() {\n effect(() => {\n this.setActionsSize();\n });\n }\n\n ngOnInit(): void {}\n\n private setActionsSize() {\n const actions: ThyAction[] = Array.from(this.actions());\n actions.forEach((action: ThyAction, index) => {\n // can't set marginRight value for last item\n if (index !== actions.length - 1) {\n action.setMarginRight(getNumericSize(this.thySize(), 'md') + 'px');\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyAction } from './action.component';\nimport { ThyActions } from './actions.component';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyAction, ThyActions],\n exports: [ThyAction, ThyActions]\n})\nexport class ThyActionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-action.mjs","sources":["../../../src/action/action.component.ts","../../../src/action/action.component.html","../../../src/action/actions.component.ts","../../../src/action/action.module.ts","../../../src/action/ngx-tethys-action.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnDestroy,\n OnInit,\n Renderer2,\n Signal,\n computed,\n effect,\n inject,\n input\n} from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ThyIcon } from 'ngx-tethys/icon';\n\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { Subscription, timer } from 'rxjs';\n\nexport type ThyActionType = 'primary' | 'success' | 'danger' | 'warning';\n\nexport type ThyActionFeedback = 'success' | 'error';\n\nexport interface ThyActionFeedbackOptions {\n icon?: string;\n class?: string;\n duration?: number;\n}\n\nconst defaultFeedbackOptions: Record<ThyActionFeedback, ThyActionFeedbackOptions> = {\n success: {\n icon: 'check-circle-fill',\n class: 'text-success',\n duration: 3000\n },\n error: {\n icon: 'close-circle-fill',\n class: 'text-danger',\n duration: 3000\n }\n};\n/**\n * 立即操作组件\n * @name thy-action,[thyAction]\n */\n@Component({\n selector: 'thy-action, [thyAction]',\n templateUrl: './action.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-action',\n '[class.active]': 'active()',\n '[class.thy-action-hover-icon]': 'thyHoverIcon()',\n '[class.thy-action-has-feedback]': '!!feedback',\n '[class.disabled]': 'thyDisabled()'\n },\n imports: [ThyIcon]\n})\nexport class ThyAction implements OnInit, AfterViewInit, OnDestroy {\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private renderer = inject(Renderer2);\n private cdr = inject(ChangeDetectorRef);\n\n public readonly icon: Signal<string> = computed(() => this.thyActionIcon() || this.thyIcon());\n\n feedback: ThyActionFeedback = null;\n\n feedbackOptions: ThyActionFeedbackOptions;\n\n readonly active: Signal<boolean> = computed(() => this.thyActionActive() || this.thyActive());\n\n private hostRenderer = useHostRenderer();\n\n private feedbackTimer: Subscription;\n\n /**\n * 操作图标的类型\n * @type primary | success | danger | warning\n */\n readonly thyType = input<ThyActionType, ThyActionType>('primary', {\n transform: (value: ThyActionType) => value || 'primary'\n });\n\n /**\n * 操作图标,支持传参同时也支持在投影中写 thy-icon 组件\n */\n readonly thyIcon = input<string>('');\n\n /**\n * 操作图标,当 thyIcon 和其他指令参数名有冲突时使用 thyActionIcon\n */\n readonly thyActionIcon = input<string>('');\n\n /**\n * 操作的图标 Active 状态,设置为 true 时会在 Item 上添加 active class\n */\n readonly thyActive = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 操作的图标 Active 状态,当 thyActive 和其他指令参数名有冲突时使用 thyActionActive\n */\n readonly thyActionActive = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 操作图标的主题\n * @type fill(背景色填充) | lite(简单文本颜色变化)\n */\n readonly thyTheme = input<'fill' | 'lite'>('fill');\n\n /**\n * Hover 展示的图标\n */\n readonly thyHoverIcon = input<string>();\n\n /**\n * 是否处于禁用状态\n */\n readonly thyDisabled = input(false, { transform: coerceBooleanProperty });\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngAfterViewInit() {\n this.wrapSpanForText(this.elementRef.nativeElement.childNodes);\n }\n\n constructor() {\n effect(() => {\n this.updateClasses();\n });\n }\n\n setMarginRight(marginRight: string) {\n this.elementRef.nativeElement.style.marginRight = marginRight;\n }\n\n /**\n * 触发成功反馈操作\n */\n success(options?: ThyActionFeedbackOptions) {\n this.setFeedback('success', options);\n }\n\n /**\n * 触发失败反馈操作\n */\n error(options?: ThyActionFeedbackOptions) {\n this.setFeedback('error', options);\n }\n\n private setFeedback(feedback: ThyActionFeedback, options: ThyActionFeedbackOptions) {\n if (this.thyDisabled()) {\n return;\n }\n options = Object.assign({}, defaultFeedbackOptions[feedback], options);\n this.feedback = feedback;\n this.feedbackOptions = options;\n this.cdr.markForCheck();\n if (options.duration) {\n if (this.feedbackTimer) {\n this.feedbackTimer.unsubscribe();\n }\n this.feedbackTimer = timer(options.duration).subscribe(() => {\n this.feedback = null;\n this.feedbackOptions = null;\n this.cdr.markForCheck();\n });\n }\n }\n\n private wrapSpanForText(nodes: NodeList): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = this.renderer.createElement('span');\n const parent = this.renderer.parentNode(node);\n // this.renderer.addClass(span, 'thy-action-wrap-span');\n this.renderer.insertBefore(parent, span, node);\n this.renderer.appendChild(span, node);\n }\n });\n }\n\n private updateClasses() {\n let classNames: string[] = [];\n classNames.push(`action-${this.thyType()}`);\n if (this.thyTheme() === 'lite') {\n classNames.push('thy-action-lite');\n }\n this.hostRenderer.updateClass(classNames);\n }\n\n ngOnDestroy(): void {\n this.feedbackTimer?.unsubscribe();\n }\n}\n","@if (icon() && !feedback) {\n <thy-icon [thyIconName]=\"icon()\"></thy-icon>\n}\n@if (feedbackOptions?.icon) {\n <thy-icon [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n}\n@if (thyHoverIcon()) {\n <thy-icon class=\"hover-icon\" [thyIconName]=\"thyHoverIcon()\"></thy-icon>\n}\n<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, OnInit, contentChildren, effect, input } from '@angular/core';\nimport { ThySpacingSize, getNumericSize } from 'ngx-tethys/core';\nimport { ThyAction } from './action.component';\n\n/**\n * Actions 组件\n * @name thy-actions\n */\n@Component({\n selector: 'thy-actions',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-actions'\n }\n})\nexport class ThyActions implements OnInit {\n readonly actions = contentChildren<ThyAction>(ThyAction);\n\n /**\n * 大小,支持 `zero` | `xxs` | `xs` | `sm` | `md` | `lg` | `xlg` 和自定义数字大小\n * @type string | number\n */\n readonly thySize = input<ThySpacingSize>('md');\n\n constructor() {\n effect(() => {\n this.setActionsSize();\n });\n }\n\n ngOnInit(): void {}\n\n private setActionsSize() {\n const actions: ThyAction[] = Array.from(this.actions());\n actions.forEach((action: ThyAction, index) => {\n // can't set marginRight value for last item\n if (index !== actions.length - 1) {\n action.setMarginRight(getNumericSize(this.thySize(), 'md') + 'px');\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyAction } from './action.component';\nimport { ThyActions } from './actions.component';\n\n@NgModule({\n imports: [CommonModule, ThyIconModule, ThyAction, ThyActions],\n exports: [ThyAction, ThyActions]\n})\nexport class ThyActionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Platform, PlatformModule } from '@angular/cdk/platform';
|
|
2
|
-
import {
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { inject, NgZone, Renderer2, viewChild, input, numberAttribute, output, computed, ElementRef, effect, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
4
|
+
import { inject, NgZone, Renderer2, viewChild, input, numberAttribute, output, computed, ElementRef, DOCUMENT, effect, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
5
5
|
import { ThyScrollService } from 'ngx-tethys/core';
|
|
6
6
|
import { dom, shallowEqual } from 'ngx-tethys/util';
|
|
7
7
|
import { Subscription, ReplaySubject, Subject, merge, fromEvent } from 'rxjs';
|
|
@@ -37,15 +37,15 @@ class ThyAffix {
|
|
|
37
37
|
* @default window
|
|
38
38
|
* @type string | Element | Window
|
|
39
39
|
*/
|
|
40
|
-
this.thyContainer = input();
|
|
40
|
+
this.thyContainer = input(...(ngDevMode ? [undefined, { debugName: "thyContainer" }] : []));
|
|
41
41
|
/**
|
|
42
42
|
* 距离窗口顶部缓冲的偏移量阈值
|
|
43
43
|
*/
|
|
44
|
-
this.thyOffsetTop = input(0, { transform: numberAttribute });
|
|
44
|
+
this.thyOffsetTop = input(0, ...(ngDevMode ? [{ debugName: "thyOffsetTop", transform: numberAttribute }] : [{ transform: numberAttribute }]));
|
|
45
45
|
/**
|
|
46
46
|
* 距离窗口底部缓冲的偏移量阈值
|
|
47
47
|
*/
|
|
48
|
-
this.thyOffsetBottom = input(0, { transform: numberAttribute });
|
|
48
|
+
this.thyOffsetBottom = input(0, ...(ngDevMode ? [{ debugName: "thyOffsetBottom", transform: numberAttribute }] : [{ transform: numberAttribute }]));
|
|
49
49
|
/**
|
|
50
50
|
* 固定状态改变时触发的回调函数
|
|
51
51
|
*/
|
|
@@ -56,7 +56,7 @@ class ThyAffix {
|
|
|
56
56
|
this.container = computed(() => {
|
|
57
57
|
const el = this.thyContainer();
|
|
58
58
|
return (typeof el === 'string' ? this.document.querySelector(el) : el) || window;
|
|
59
|
-
});
|
|
59
|
+
}, ...(ngDevMode ? [{ debugName: "container" }] : []));
|
|
60
60
|
const el = inject(ElementRef);
|
|
61
61
|
const document = inject(DOCUMENT);
|
|
62
62
|
// The wrapper would stay at the original position as a placeholder.
|
|
@@ -228,14 +228,14 @@ class ThyAffix {
|
|
|
228
228
|
this.syncPlaceholderStyle(e);
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
232
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
231
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAffix, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
232
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.10", type: ThyAffix, isStandalone: true, selector: "thy-affix", inputs: { thyContainer: { classPropertyName: "thyContainer", publicName: "thyContainer", isSignal: true, isRequired: false, transformFunction: null }, thyOffsetTop: { classPropertyName: "thyOffsetTop", publicName: "thyOffsetTop", isSignal: true, isRequired: false, transformFunction: null }, thyOffsetBottom: { classPropertyName: "thyOffsetBottom", publicName: "thyOffsetBottom", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyChange: "thyChange" }, viewQueries: [{ propertyName: "fixedElement", first: true, predicate: ["fixedElement"], descendants: true, isSignal: true }], exportAs: ["thyAffix"], ngImport: i0, template: `
|
|
233
233
|
<div #fixedElement>
|
|
234
234
|
<ng-content></ng-content>
|
|
235
235
|
</div>
|
|
236
236
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
237
237
|
}
|
|
238
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
238
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAffix, decorators: [{
|
|
239
239
|
type: Component,
|
|
240
240
|
args: [{
|
|
241
241
|
selector: 'thy-affix',
|
|
@@ -248,14 +248,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
248
248
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
249
249
|
encapsulation: ViewEncapsulation.None
|
|
250
250
|
}]
|
|
251
|
-
}], ctorParameters: () => [] });
|
|
251
|
+
}], ctorParameters: () => [], propDecorators: { fixedElement: [{ type: i0.ViewChild, args: ['fixedElement', { isSignal: true }] }], thyContainer: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyContainer", required: false }] }], thyOffsetTop: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyOffsetTop", required: false }] }], thyOffsetBottom: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyOffsetBottom", required: false }] }], thyChange: [{ type: i0.Output, args: ["thyChange"] }] } });
|
|
252
252
|
|
|
253
253
|
class ThyAffixModule {
|
|
254
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
255
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
256
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
254
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
255
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.10", ngImport: i0, type: ThyAffixModule, imports: [CommonModule, PlatformModule, ThyAffix], exports: [ThyAffix] }); }
|
|
256
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAffixModule, imports: [CommonModule, PlatformModule] }); }
|
|
257
257
|
}
|
|
258
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
258
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ThyAffixModule, decorators: [{
|
|
259
259
|
type: NgModule,
|
|
260
260
|
args: [{
|
|
261
261
|
exports: [ThyAffix],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-affix.mjs","sources":["../../../src/affix/respond-events.ts","../../../src/affix/affix.component.ts","../../../src/affix/affix.module.ts","../../../src/affix/ngx-tethys-affix.ts"],"sourcesContent":["export enum AffixRespondEvents {\n resize = 'resize',\n scroll = 'scroll',\n touchstart = 'touchstart',\n touchmove = 'touchmove',\n touchend = 'touchend',\n pageshow = 'pageshow',\n load = 'LOAD'\n}\n","import { ThyScrollService } from 'ngx-tethys/core';\nimport { dom, shallowEqual, SimpleRect } from 'ngx-tethys/util';\nimport { fromEvent, merge, ReplaySubject, Subject, Subscription } from 'rxjs';\nimport { auditTime, map, takeUntil } from 'rxjs/operators';\n\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n inject,\n input,\n NgZone,\n numberAttribute,\n OnDestroy,\n output,\n Renderer2,\n Signal,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { AffixRespondEvents } from './respond-events';\n\nconst THY_AFFIX_CLS_PREFIX = 'thy-affix';\nconst THY_AFFIX_DEFAULT_SCROLL_TIME = 20;\n\n/**\n * 固钉组件\n * @name thy-affix\n * @order 10\n */\n@Component({\n selector: 'thy-affix',\n exportAs: 'thyAffix',\n template: `\n <div #fixedElement>\n <ng-content></ng-content>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ThyAffix implements AfterViewInit, OnDestroy {\n private scrollService = inject(ThyScrollService);\n private ngZone = inject(NgZone);\n private platform = inject(Platform);\n private renderer = inject(Renderer2);\n\n private readonly fixedElement = viewChild.required<ElementRef<HTMLDivElement>>('fixedElement');\n\n /**\n * 设置 thy-affix 需要监听其滚动事件的元素,值为一个返回对应 DOM 元素的函数\n * @default window\n * @type string | Element | Window\n */\n readonly thyContainer = input<string | Element | Window>();\n\n /**\n * 距离窗口顶部缓冲的偏移量阈值\n */\n readonly thyOffsetTop = input<number, unknown>(0, { transform: numberAttribute });\n\n /**\n * 距离窗口底部缓冲的偏移量阈值\n */\n readonly thyOffsetBottom = input<number, unknown>(0, { transform: numberAttribute });\n\n /**\n * 固定状态改变时触发的回调函数\n */\n readonly thyChange = output<boolean>();\n\n private readonly placeholderNode: HTMLElement;\n\n private affixStyle?: any;\n private placeholderStyle?: any;\n private positionChangeSubscription: Subscription = Subscription.EMPTY;\n private offsetChanged$ = new ReplaySubject(1);\n private destroy$ = new Subject<void>();\n private timeout?: any;\n private document: any;\n\n private readonly container: Signal<Element | Window> = computed(() => {\n const el = this.thyContainer();\n return (typeof el === 'string' ? this.document.querySelector(el) : el) || window;\n });\n\n constructor() {\n const el = inject(ElementRef);\n const document = inject(DOCUMENT);\n\n // The wrapper would stay at the original position as a placeholder.\n this.placeholderNode = el.nativeElement;\n this.document = document;\n effect(() => {\n if (this.thyOffsetBottom() || this.thyOffsetTop()) {\n this.offsetChanged$.next(undefined);\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.registerListeners();\n }\n\n ngOnDestroy(): void {\n this.removeListeners();\n }\n\n private registerListeners(): void {\n this.removeListeners();\n this.positionChangeSubscription = this.ngZone.runOutsideAngular(() => {\n return merge(\n ...Object.keys(AffixRespondEvents).map(evName => fromEvent(this.container(), evName)),\n this.offsetChanged$.pipe(\n takeUntil(this.destroy$),\n map(() => ({}))\n )\n )\n .pipe(auditTime(THY_AFFIX_DEFAULT_SCROLL_TIME))\n .subscribe(e => this.updatePosition(e as Event));\n });\n this.timeout = setTimeout(() => this.updatePosition({} as Event));\n }\n\n private removeListeners(): void {\n clearTimeout(this.timeout);\n this.positionChangeSubscription.unsubscribe();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n getOffset(element: Element, target: Element | Window | undefined): SimpleRect {\n const elemRect = element.getBoundingClientRect();\n const containerRect = dom.getContainerRect(target);\n\n const scrollTop = this.scrollService.getScroll(target, true);\n const scrollLeft = this.scrollService.getScroll(target, false);\n\n const docElem = this.document.body;\n const clientTop = docElem.clientTop || 0;\n const clientLeft = docElem.clientLeft || 0;\n\n return {\n top: elemRect.top - containerRect.top + scrollTop - clientTop,\n left: elemRect.left - containerRect.left + scrollLeft - clientLeft,\n width: elemRect.width,\n height: elemRect.height\n };\n }\n\n private setAffixStyle(e: Event, affixStyle?: any): void {\n const originalAffixStyle = this.affixStyle;\n const isWindow = this.container() === window;\n if (e.type === 'scroll' && originalAffixStyle && affixStyle && isWindow) {\n return;\n }\n if (shallowEqual(originalAffixStyle, affixStyle)) {\n return;\n }\n\n const fixed = !!affixStyle;\n const wrapElement = this.fixedElement().nativeElement;\n this.renderer.setStyle(wrapElement, 'cssText', dom.getStyleAsText(affixStyle));\n this.affixStyle = affixStyle;\n if (fixed) {\n wrapElement.classList.add(THY_AFFIX_CLS_PREFIX);\n } else {\n wrapElement.classList.remove(THY_AFFIX_CLS_PREFIX);\n }\n\n if ((affixStyle && !originalAffixStyle) || (!affixStyle && originalAffixStyle)) {\n this.thyChange.emit(fixed);\n }\n }\n\n private setPlaceholderStyle(placeholderStyle?: any): void {\n const originalPlaceholderStyle = this.placeholderStyle;\n if (shallowEqual(placeholderStyle, originalPlaceholderStyle)) {\n return;\n }\n this.renderer.setStyle(this.placeholderNode, 'cssText', dom.getStyleAsText(placeholderStyle));\n this.placeholderStyle = placeholderStyle;\n }\n\n private syncPlaceholderStyle(e: Event): void {\n if (!this.affixStyle) {\n return;\n }\n this.renderer.setStyle(this.placeholderNode, 'cssText', '');\n this.placeholderStyle = undefined;\n const styleObj = {\n width: this.placeholderNode.offsetWidth,\n height: this.fixedElement().nativeElement.offsetHeight\n };\n this.setAffixStyle(e, {\n ...this.affixStyle,\n ...styleObj\n });\n this.setPlaceholderStyle(styleObj);\n }\n\n updatePosition(e: Event): void {\n if (!this.platform.isBrowser) {\n return;\n }\n\n const containerNode = this.container();\n let offsetTop = this.thyOffsetTop();\n const scrollTop = this.scrollService.getScroll(containerNode, true);\n const elementOffset = this.getOffset(this.placeholderNode, containerNode);\n const fixedNode = this.fixedElement().nativeElement;\n const elemSize = {\n width: fixedNode.offsetWidth,\n height: fixedNode.offsetHeight\n };\n const offsetMode = {\n top: false,\n bottom: false\n };\n // Default to `offsetTop=0`.\n const thyOffsetBottom = this.thyOffsetBottom();\n if (typeof offsetTop !== 'number' && typeof thyOffsetBottom !== 'number') {\n offsetMode.top = true;\n offsetTop = 0;\n } else {\n offsetMode.top = typeof offsetTop === 'number';\n offsetMode.bottom = typeof thyOffsetBottom === 'number';\n }\n const containerRect = dom.getContainerRect(containerNode as Window);\n const targetInnerHeight = (containerNode as Window).innerHeight || (containerNode as HTMLElement).clientHeight;\n if (scrollTop >= elementOffset.top - (offsetTop as number) && offsetMode.top) {\n const width = elementOffset.width;\n const top = containerRect.top + (offsetTop as number);\n this.setAffixStyle(e, {\n position: 'fixed',\n top,\n left: containerRect.left + elementOffset.left,\n width\n });\n this.setPlaceholderStyle({\n width,\n height: elemSize.height\n });\n } else if (\n scrollTop <= elementOffset.top + elemSize.height + (thyOffsetBottom as number) - targetInnerHeight &&\n offsetMode.bottom\n ) {\n const targetBottomOffset = containerNode === window ? 0 : window.innerHeight - containerRect.bottom;\n const width = elementOffset.width;\n this.setAffixStyle(e, {\n position: 'fixed',\n bottom: targetBottomOffset + (thyOffsetBottom as number),\n left: containerRect.left + elementOffset.left,\n width\n });\n this.setPlaceholderStyle({\n width,\n height: elementOffset.height\n });\n } else {\n if (\n e.type === AffixRespondEvents.resize &&\n this.affixStyle &&\n this.affixStyle.position === 'fixed' &&\n this.placeholderNode.offsetWidth\n ) {\n this.setAffixStyle(e, {\n ...this.affixStyle,\n width: this.placeholderNode.offsetWidth\n });\n } else {\n this.setAffixStyle(e);\n }\n this.setPlaceholderStyle();\n }\n\n if (e.type === 'resize') {\n this.syncPlaceholderStyle(e);\n }\n }\n}\n","import { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyAffix } from './affix.component';\n\n@NgModule({\n exports: [ThyAffix],\n imports: [CommonModule, PlatformModule, ThyAffix]\n})\nexport class ThyAffixModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-affix.mjs","sources":["../../../src/affix/respond-events.ts","../../../src/affix/affix.component.ts","../../../src/affix/affix.module.ts","../../../src/affix/ngx-tethys-affix.ts"],"sourcesContent":["export enum AffixRespondEvents {\n resize = 'resize',\n scroll = 'scroll',\n touchstart = 'touchstart',\n touchmove = 'touchmove',\n touchend = 'touchend',\n pageshow = 'pageshow',\n load = 'LOAD'\n}\n","import { ThyScrollService } from 'ngx-tethys/core';\nimport { dom, shallowEqual, SimpleRect } from 'ngx-tethys/util';\nimport { fromEvent, merge, ReplaySubject, Subject, Subscription } from 'rxjs';\nimport { auditTime, map, takeUntil } from 'rxjs/operators';\n\nimport { Platform } from '@angular/cdk/platform';\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n inject,\n input,\n NgZone,\n numberAttribute,\n OnDestroy,\n output,\n Renderer2,\n Signal,\n viewChild,\n ViewEncapsulation,\n DOCUMENT\n} from '@angular/core';\n\nimport { AffixRespondEvents } from './respond-events';\n\nconst THY_AFFIX_CLS_PREFIX = 'thy-affix';\nconst THY_AFFIX_DEFAULT_SCROLL_TIME = 20;\n\n/**\n * 固钉组件\n * @name thy-affix\n * @order 10\n */\n@Component({\n selector: 'thy-affix',\n exportAs: 'thyAffix',\n template: `\n <div #fixedElement>\n <ng-content></ng-content>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ThyAffix implements AfterViewInit, OnDestroy {\n private scrollService = inject(ThyScrollService);\n private ngZone = inject(NgZone);\n private platform = inject(Platform);\n private renderer = inject(Renderer2);\n\n private readonly fixedElement = viewChild.required<ElementRef<HTMLDivElement>>('fixedElement');\n\n /**\n * 设置 thy-affix 需要监听其滚动事件的元素,值为一个返回对应 DOM 元素的函数\n * @default window\n * @type string | Element | Window\n */\n readonly thyContainer = input<string | Element | Window>();\n\n /**\n * 距离窗口顶部缓冲的偏移量阈值\n */\n readonly thyOffsetTop = input<number, unknown>(0, { transform: numberAttribute });\n\n /**\n * 距离窗口底部缓冲的偏移量阈值\n */\n readonly thyOffsetBottom = input<number, unknown>(0, { transform: numberAttribute });\n\n /**\n * 固定状态改变时触发的回调函数\n */\n readonly thyChange = output<boolean>();\n\n private readonly placeholderNode: HTMLElement;\n\n private affixStyle?: any;\n private placeholderStyle?: any;\n private positionChangeSubscription: Subscription = Subscription.EMPTY;\n private offsetChanged$ = new ReplaySubject(1);\n private destroy$ = new Subject<void>();\n private timeout?: any;\n private document: any;\n\n private readonly container: Signal<Element | Window> = computed(() => {\n const el = this.thyContainer();\n return (typeof el === 'string' ? this.document.querySelector(el) : el) || window;\n });\n\n constructor() {\n const el = inject(ElementRef);\n const document = inject(DOCUMENT);\n\n // The wrapper would stay at the original position as a placeholder.\n this.placeholderNode = el.nativeElement;\n this.document = document;\n effect(() => {\n if (this.thyOffsetBottom() || this.thyOffsetTop()) {\n this.offsetChanged$.next(undefined);\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.registerListeners();\n }\n\n ngOnDestroy(): void {\n this.removeListeners();\n }\n\n private registerListeners(): void {\n this.removeListeners();\n this.positionChangeSubscription = this.ngZone.runOutsideAngular(() => {\n return merge(\n ...Object.keys(AffixRespondEvents).map(evName => fromEvent(this.container(), evName)),\n this.offsetChanged$.pipe(\n takeUntil(this.destroy$),\n map(() => ({}))\n )\n )\n .pipe(auditTime(THY_AFFIX_DEFAULT_SCROLL_TIME))\n .subscribe(e => this.updatePosition(e as Event));\n });\n this.timeout = setTimeout(() => this.updatePosition({} as Event));\n }\n\n private removeListeners(): void {\n clearTimeout(this.timeout);\n this.positionChangeSubscription.unsubscribe();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n getOffset(element: Element, target: Element | Window | undefined): SimpleRect {\n const elemRect = element.getBoundingClientRect();\n const containerRect = dom.getContainerRect(target);\n\n const scrollTop = this.scrollService.getScroll(target, true);\n const scrollLeft = this.scrollService.getScroll(target, false);\n\n const docElem = this.document.body;\n const clientTop = docElem.clientTop || 0;\n const clientLeft = docElem.clientLeft || 0;\n\n return {\n top: elemRect.top - containerRect.top + scrollTop - clientTop,\n left: elemRect.left - containerRect.left + scrollLeft - clientLeft,\n width: elemRect.width,\n height: elemRect.height\n };\n }\n\n private setAffixStyle(e: Event, affixStyle?: any): void {\n const originalAffixStyle = this.affixStyle;\n const isWindow = this.container() === window;\n if (e.type === 'scroll' && originalAffixStyle && affixStyle && isWindow) {\n return;\n }\n if (shallowEqual(originalAffixStyle, affixStyle)) {\n return;\n }\n\n const fixed = !!affixStyle;\n const wrapElement = this.fixedElement().nativeElement;\n this.renderer.setStyle(wrapElement, 'cssText', dom.getStyleAsText(affixStyle));\n this.affixStyle = affixStyle;\n if (fixed) {\n wrapElement.classList.add(THY_AFFIX_CLS_PREFIX);\n } else {\n wrapElement.classList.remove(THY_AFFIX_CLS_PREFIX);\n }\n\n if ((affixStyle && !originalAffixStyle) || (!affixStyle && originalAffixStyle)) {\n this.thyChange.emit(fixed);\n }\n }\n\n private setPlaceholderStyle(placeholderStyle?: any): void {\n const originalPlaceholderStyle = this.placeholderStyle;\n if (shallowEqual(placeholderStyle, originalPlaceholderStyle)) {\n return;\n }\n this.renderer.setStyle(this.placeholderNode, 'cssText', dom.getStyleAsText(placeholderStyle));\n this.placeholderStyle = placeholderStyle;\n }\n\n private syncPlaceholderStyle(e: Event): void {\n if (!this.affixStyle) {\n return;\n }\n this.renderer.setStyle(this.placeholderNode, 'cssText', '');\n this.placeholderStyle = undefined;\n const styleObj = {\n width: this.placeholderNode.offsetWidth,\n height: this.fixedElement().nativeElement.offsetHeight\n };\n this.setAffixStyle(e, {\n ...this.affixStyle,\n ...styleObj\n });\n this.setPlaceholderStyle(styleObj);\n }\n\n updatePosition(e: Event): void {\n if (!this.platform.isBrowser) {\n return;\n }\n\n const containerNode = this.container();\n let offsetTop = this.thyOffsetTop();\n const scrollTop = this.scrollService.getScroll(containerNode, true);\n const elementOffset = this.getOffset(this.placeholderNode, containerNode);\n const fixedNode = this.fixedElement().nativeElement;\n const elemSize = {\n width: fixedNode.offsetWidth,\n height: fixedNode.offsetHeight\n };\n const offsetMode = {\n top: false,\n bottom: false\n };\n // Default to `offsetTop=0`.\n const thyOffsetBottom = this.thyOffsetBottom();\n if (typeof offsetTop !== 'number' && typeof thyOffsetBottom !== 'number') {\n offsetMode.top = true;\n offsetTop = 0;\n } else {\n offsetMode.top = typeof offsetTop === 'number';\n offsetMode.bottom = typeof thyOffsetBottom === 'number';\n }\n const containerRect = dom.getContainerRect(containerNode as Window);\n const targetInnerHeight = (containerNode as Window).innerHeight || (containerNode as HTMLElement).clientHeight;\n if (scrollTop >= elementOffset.top - (offsetTop as number) && offsetMode.top) {\n const width = elementOffset.width;\n const top = containerRect.top + (offsetTop as number);\n this.setAffixStyle(e, {\n position: 'fixed',\n top,\n left: containerRect.left + elementOffset.left,\n width\n });\n this.setPlaceholderStyle({\n width,\n height: elemSize.height\n });\n } else if (\n scrollTop <= elementOffset.top + elemSize.height + (thyOffsetBottom as number) - targetInnerHeight &&\n offsetMode.bottom\n ) {\n const targetBottomOffset = containerNode === window ? 0 : window.innerHeight - containerRect.bottom;\n const width = elementOffset.width;\n this.setAffixStyle(e, {\n position: 'fixed',\n bottom: targetBottomOffset + (thyOffsetBottom as number),\n left: containerRect.left + elementOffset.left,\n width\n });\n this.setPlaceholderStyle({\n width,\n height: elementOffset.height\n });\n } else {\n if (\n e.type === AffixRespondEvents.resize &&\n this.affixStyle &&\n this.affixStyle.position === 'fixed' &&\n this.placeholderNode.offsetWidth\n ) {\n this.setAffixStyle(e, {\n ...this.affixStyle,\n width: this.placeholderNode.offsetWidth\n });\n } else {\n this.setAffixStyle(e);\n }\n this.setPlaceholderStyle();\n }\n\n if (e.type === 'resize') {\n this.syncPlaceholderStyle(e);\n }\n }\n}\n","import { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ThyAffix } from './affix.component';\n\n@NgModule({\n exports: [ThyAffix],\n imports: [CommonModule, PlatformModule, ThyAffix]\n})\nexport class ThyAffixModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|