ngx-tethys 18.2.6 → 19.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 +19 -0
- package/badge/badge.component.d.ts +21 -3
- package/cascader/cascader-search-option.component.d.ts +6 -3
- package/core/store/store.d.ts +1 -1
- package/date-picker/abstract-picker.component.d.ts +1 -1
- package/date-picker/abstract-picker.directive.d.ts +1 -1
- package/date-picker/lib/calendar/calendar-header.component.d.ts +1 -1
- package/date-picker/lib/calendar/calendar-table.component.d.ts +1 -1
- package/date-range/date-range.component.d.ts +12 -2
- package/divider/divider.component.d.ts +2 -8
- package/dropdown/dropdown-menu.component.d.ts +1 -1
- package/empty/empty.component.d.ts +1 -4
- package/fesm2022/ngx-tethys-action.mjs +12 -12
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +8 -8
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +12 -12
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +11 -13
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +9 -9
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +20 -20
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +26 -26
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +10 -10
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +9 -9
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +13 -15
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +16 -16
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +20 -20
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +15 -15
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +15 -15
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +23 -24
- 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 +12 -12
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +38 -38
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +15 -15
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +8 -8
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +21 -21
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +141 -141
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +14 -14
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +27 -28
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +8 -9
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +8 -8
- package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
- package/fesm2022/ngx-tethys-drag-drop.mjs +20 -20
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +47 -48
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +12 -12
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +8 -8
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +44 -44
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-fullscreen.mjs +14 -14
- package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +35 -38
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +18 -18
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-i18n.mjs +23 -3
- package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +11 -11
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +19 -19
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +11 -11
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +23 -23
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +66 -65
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +19 -19
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +9 -9
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-mention.mjs +12 -12
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +29 -29
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +25 -26
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +24 -25
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +20 -20
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +15 -15
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +23 -23
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +17 -17
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +12 -12
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +12 -12
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +15 -15
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +12 -13
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +17 -19
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +9 -9
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +13 -13
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +16 -16
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +70 -70
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +23 -28
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +34 -35
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +9 -9
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +12 -12
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +9 -9
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +22 -22
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +8 -8
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +9 -9
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +23 -23
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +15 -16
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +11 -11
- 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 +24 -24
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +15 -16
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +16 -16
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +13 -13
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +13 -13
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +19 -19
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +15 -15
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +17 -17
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-util.mjs +2 -18
- package/fesm2022/ngx-tethys-util.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +9 -9
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys-watermark.mjs +8 -8
- 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/i18n/i18n.d.ts +6 -1
- package/i18n/locales/de-de.d.ts +4 -0
- package/i18n/locales/en-us.d.ts +4 -0
- package/i18n/locales/ja-jp.d.ts +4 -0
- package/i18n/locales/zh-hans.d.ts +4 -0
- package/i18n/locales/zh-hant.d.ts +4 -0
- package/input/input.component.d.ts +1 -1
- package/layout/header.component.d.ts +21 -3
- package/layout/sidebar.component.d.ts +8 -42
- package/menu/group/menu-group.component.d.ts +6 -30
- package/message/abstract/abstract-message-container.component.d.ts +1 -1
- package/message/abstract/abstract-message.component.d.ts +1 -1
- package/nav/nav.component.d.ts +2 -2
- package/package.json +1 -169
- package/pagination/pagination.component.d.ts +45 -5
- package/property/property-item.component.d.ts +4 -2
- package/schematics/dependencies.js +3 -3
- package/schematics/ng-add/index.js +7 -3
- package/schematics/ng-update/core/complete.js +1 -2
- package/schematics/ng-update/migration-collection.json +4 -4
- package/schematics/ng-update/{update-18 → update-19}/index.js +4 -5
- package/schematics/ng-update/{update-18 → update-19}/index.spec.js +4 -4
- package/schematics/testing/get-json-content.js +1 -2
- package/schematics/testing/test-app.js +1 -2
- package/schematics/testing/test-project.js +1 -2
- package/schematics/testing/test-workspace.d.ts +0 -2
- package/schematics/testing/test-workspace.js +2 -2
- package/schematics/utils/create-tree-compiler-host.js +1 -2
- package/schematics/utils/create-tree-ts-parse-config-host.js +2 -2
- package/schematics/utils/get-angular-json.js +1 -2
- package/schematics/utils/get-project.js +1 -2
- package/schematics/utils/get-workspace-tsconfig.js +1 -2
- package/schematics/utils/package-config.js +2 -3
- package/schematics/utils/update-file.service.js +2 -2
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/shared/base-form-check.component.d.ts +1 -1
- package/shared/option/list-option/list-option.component.d.ts +1 -4
- package/shared/select/styles/select.mixin.scss +2 -1
- package/skeleton/skeleton-rectangle.component.d.ts +1 -4
- package/skeleton/stylized/bullet-list.component.d.ts +1 -9
- package/styles/bootstrap/utilities/_background.scss +2 -1
- package/styles/bootstrap/utilities/_text.scss +1 -1
- package/table/table.component.d.ts +1 -1
- package/upload/file-select-base.d.ts +1 -1
- package/esm2022/action/action.component.mjs +0 -174
- package/esm2022/action/action.module.mjs +0 -19
- package/esm2022/action/actions.component.mjs +0 -57
- package/esm2022/action/index.mjs +0 -4
- package/esm2022/action/ngx-tethys-action.mjs +0 -5
- package/esm2022/affix/affix.component.mjs +0 -243
- package/esm2022/affix/affix.module.mjs +0 -18
- package/esm2022/affix/index.mjs +0 -3
- package/esm2022/affix/ngx-tethys-affix.mjs +0 -5
- package/esm2022/affix/respond-events.mjs +0 -11
- package/esm2022/alert/alert.component.mjs +0 -98
- package/esm2022/alert/alert.directive.mjs +0 -25
- package/esm2022/alert/alert.module.mjs +0 -19
- package/esm2022/alert/index.mjs +0 -4
- package/esm2022/alert/ngx-tethys-alert.mjs +0 -5
- package/esm2022/anchor/anchor-link.component.mjs +0 -106
- package/esm2022/anchor/anchor.component.mjs +0 -266
- package/esm2022/anchor/anchor.module.mjs +0 -20
- package/esm2022/anchor/index.mjs +0 -4
- package/esm2022/anchor/ngx-tethys-anchor.mjs +0 -5
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +0 -130
- package/esm2022/arrow-switcher/index.mjs +0 -3
- package/esm2022/arrow-switcher/module.mjs +0 -21
- package/esm2022/arrow-switcher/ngx-tethys-arrow-switcher.mjs +0 -5
- package/esm2022/autocomplete/autocomplete.component.mjs +0 -182
- package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +0 -275
- package/esm2022/autocomplete/index.mjs +0 -8
- package/esm2022/autocomplete/module.mjs +0 -67
- package/esm2022/autocomplete/ngx-tethys-autocomplete.mjs +0 -5
- package/esm2022/autocomplete/overlay/autocomplete-animations.mjs +0 -10
- package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +0 -64
- package/esm2022/autocomplete/overlay/autocomplete-ref.mjs +0 -18
- package/esm2022/autocomplete/overlay/autocomplete.config.mjs +0 -18
- package/esm2022/autocomplete/overlay/autocomplete.options.mjs +0 -6
- package/esm2022/autocomplete/overlay/autocomplete.service.mjs +0 -127
- package/esm2022/avatar/avatar-list/avatar-list.component.mjs +0 -76
- package/esm2022/avatar/avatar.component.mjs +0 -179
- package/esm2022/avatar/avatar.module.mjs +0 -33
- package/esm2022/avatar/avatar.pipe.mjs +0 -91
- package/esm2022/avatar/avatar.service.mjs +0 -27
- package/esm2022/avatar/index.mjs +0 -6
- package/esm2022/avatar/ngx-tethys-avatar.mjs +0 -5
- package/esm2022/back-top/back-top.component.mjs +0 -126
- package/esm2022/back-top/back-top.module.mjs +0 -18
- package/esm2022/back-top/index.mjs +0 -3
- package/esm2022/back-top/ngx-tethys-back-top.mjs +0 -5
- package/esm2022/badge/badge.component.mjs +0 -238
- package/esm2022/badge/badge.module.mjs +0 -18
- package/esm2022/badge/index.mjs +0 -3
- package/esm2022/badge/ngx-tethys-badge.mjs +0 -5
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +0 -49
- package/esm2022/breadcrumb/breadcrumb.component.mjs +0 -115
- package/esm2022/breadcrumb/index.mjs +0 -4
- package/esm2022/breadcrumb/module.mjs +0 -21
- package/esm2022/breadcrumb/ngx-tethys-breadcrumb.mjs +0 -5
- package/esm2022/button/button-group.component.mjs +0 -90
- package/esm2022/button/button-icon.component.mjs +0 -166
- package/esm2022/button/button.component.mjs +0 -216
- package/esm2022/button/button.module.mjs +0 -20
- package/esm2022/button/index.mjs +0 -5
- package/esm2022/button/ngx-tethys-button.mjs +0 -5
- package/esm2022/calendar/calendar-cells.mjs +0 -35
- package/esm2022/calendar/calendar-header.component.mjs +0 -117
- package/esm2022/calendar/calendar.component.mjs +0 -122
- package/esm2022/calendar/index.mjs +0 -5
- package/esm2022/calendar/module.mjs +0 -63
- package/esm2022/calendar/ngx-tethys-calendar.mjs +0 -5
- package/esm2022/card/card.component.mjs +0 -48
- package/esm2022/card/card.module.mjs +0 -19
- package/esm2022/card/content.component.mjs +0 -58
- package/esm2022/card/header.component.mjs +0 -42
- package/esm2022/card/index.mjs +0 -5
- package/esm2022/card/ngx-tethys-card.mjs +0 -5
- package/esm2022/carousel/carousel-item.directive.mjs +0 -37
- package/esm2022/carousel/carousel.component.mjs +0 -290
- package/esm2022/carousel/carousel.service.mjs +0 -74
- package/esm2022/carousel/engine/carousel-base.mjs +0 -43
- package/esm2022/carousel/engine/carousel-fade.mjs +0 -46
- package/esm2022/carousel/engine/carousel-noop.mjs +0 -28
- package/esm2022/carousel/engine/carousel-slide.mjs +0 -62
- package/esm2022/carousel/engine/index.mjs +0 -5
- package/esm2022/carousel/index.mjs +0 -5
- package/esm2022/carousel/module.mjs +0 -21
- package/esm2022/carousel/ngx-tethys-carousel.mjs +0 -5
- package/esm2022/carousel/typings.mjs +0 -2
- package/esm2022/cascader/cascader-li.component.mjs +0 -81
- package/esm2022/cascader/cascader-search-option.component.mjs +0 -73
- package/esm2022/cascader/cascader.component.mjs +0 -768
- package/esm2022/cascader/cascader.service.mjs +0 -558
- package/esm2022/cascader/index.mjs +0 -5
- package/esm2022/cascader/module.mjs +0 -62
- package/esm2022/cascader/ngx-tethys-cascader.mjs +0 -5
- package/esm2022/cascader/types.mjs +0 -2
- package/esm2022/checkbox/checkbox.component.mjs +0 -51
- package/esm2022/checkbox/index.mjs +0 -4
- package/esm2022/checkbox/module.mjs +0 -18
- package/esm2022/checkbox/ngx-tethys-checkbox.mjs +0 -5
- package/esm2022/collapse/collapse-item.component.mjs +0 -88
- package/esm2022/collapse/collapse.component.mjs +0 -79
- package/esm2022/collapse/index.mjs +0 -4
- package/esm2022/collapse/module.mjs +0 -22
- package/esm2022/collapse/ngx-tethys-collapse.mjs +0 -5
- package/esm2022/color-picker/color-picker-custom-panel.component.mjs +0 -38
- package/esm2022/color-picker/color-picker-panel.component.mjs +0 -100
- package/esm2022/color-picker/color-picker.component.mjs +0 -289
- package/esm2022/color-picker/constant.mjs +0 -73
- package/esm2022/color-picker/coordinates.directive.mjs +0 -73
- package/esm2022/color-picker/helpers/color.class.mjs +0 -281
- package/esm2022/color-picker/helpers/colors-table.class.mjs +0 -155
- package/esm2022/color-picker/helpers/rgba.class.mjs +0 -34
- package/esm2022/color-picker/index.mjs +0 -14
- package/esm2022/color-picker/module.mjs +0 -72
- package/esm2022/color-picker/ngx-tethys-color-picker.mjs +0 -5
- package/esm2022/color-picker/parts/alpha/alpha.component.mjs +0 -64
- package/esm2022/color-picker/parts/hue/hue.component.mjs +0 -54
- package/esm2022/color-picker/parts/indicator/indicator.component.mjs +0 -26
- package/esm2022/color-picker/parts/inputs/inputs.component.mjs +0 -61
- package/esm2022/color-picker/parts/saturation/saturation.component.mjs +0 -68
- package/esm2022/comment/comment-actions.directive.mjs +0 -19
- package/esm2022/comment/comment-content.directive.mjs +0 -19
- package/esm2022/comment/comment.component.mjs +0 -30
- package/esm2022/comment/comment.module.mjs +0 -41
- package/esm2022/comment/index.mjs +0 -5
- package/esm2022/comment/ngx-tethys-comment.mjs +0 -5
- package/esm2022/copy/copy.directive.mjs +0 -101
- package/esm2022/copy/index.mjs +0 -3
- package/esm2022/copy/module.mjs +0 -18
- package/esm2022/copy/ngx-tethys-copy.mjs +0 -5
- package/esm2022/core/animation/animation-consts.mjs +0 -23
- package/esm2022/core/animation/collapse.mjs +0 -12
- package/esm2022/core/animation/fade.mjs +0 -7
- package/esm2022/core/animation/index.mjs +0 -2
- package/esm2022/core/animation/public-api.mjs +0 -6
- package/esm2022/core/animation/thumb.mjs +0 -12
- package/esm2022/core/animation/zoom.mjs +0 -66
- package/esm2022/core/behaviors/constructor.mjs +0 -5
- package/esm2022/core/behaviors/control-value-accessor.mjs +0 -17
- package/esm2022/core/behaviors/decorators.mjs +0 -47
- package/esm2022/core/behaviors/disabled.mjs +0 -17
- package/esm2022/core/behaviors/focus-control.mjs +0 -31
- package/esm2022/core/behaviors/index.mjs +0 -11
- package/esm2022/core/behaviors/initialized.mjs +0 -12
- package/esm2022/core/behaviors/loading-done.mjs +0 -12
- package/esm2022/core/behaviors/mixin.mjs +0 -5
- package/esm2022/core/behaviors/tabindex.mjs +0 -21
- package/esm2022/core/behaviors/unsubscribe.mjs +0 -23
- package/esm2022/core/click-positioner.mjs +0 -36
- package/esm2022/core/color/color.mjs +0 -13
- package/esm2022/core/color/index.mjs +0 -2
- package/esm2022/core/debounce-time.mjs +0 -11
- package/esm2022/core/event-dispatchers/index.mjs +0 -2
- package/esm2022/core/index.mjs +0 -16
- package/esm2022/core/ngx-tethys-core.mjs +0 -5
- package/esm2022/core/overlay/abstract-overlay-container.mjs +0 -53
- package/esm2022/core/overlay/abstract-overlay-ref.mjs +0 -160
- package/esm2022/core/overlay/abstract-overlay.config.mjs +0 -70
- package/esm2022/core/overlay/abstract-overlay.service.mjs +0 -158
- package/esm2022/core/overlay/index.mjs +0 -10
- package/esm2022/core/overlay/interface.mjs +0 -2
- package/esm2022/core/overlay/overlay-position-map.mjs +0 -88
- package/esm2022/core/overlay/overlay.directive.mjs +0 -175
- package/esm2022/core/overlay/portal-directives.mjs +0 -47
- package/esm2022/core/overlay/utils.mjs +0 -69
- package/esm2022/core/request-animation.mjs +0 -41
- package/esm2022/core/scroll-to.service.mjs +0 -33
- package/esm2022/core/scroll.mjs +0 -83
- package/esm2022/core/spacing/index.mjs +0 -2
- package/esm2022/core/spacing/spacing.mjs +0 -17
- package/esm2022/core/store/action-state.mjs +0 -11
- package/esm2022/core/store/action.mjs +0 -48
- package/esm2022/core/store/actions-stream.mjs +0 -2
- package/esm2022/core/store/index.mjs +0 -4
- package/esm2022/core/store/store.mjs +0 -125
- package/esm2022/core/store/types.mjs +0 -6
- package/esm2022/core/store/utils.mjs +0 -14
- package/esm2022/core/theme/index.mjs +0 -3
- package/esm2022/core/theme/store.mjs +0 -42
- package/esm2022/core/theme/theme.mjs +0 -9
- package/esm2022/core/translate.mjs +0 -22
- package/esm2022/core/update-host-class.service.mjs +0 -60
- package/esm2022/date-picker/abstract-picker.component.mjs +0 -318
- package/esm2022/date-picker/abstract-picker.directive.mjs +0 -218
- package/esm2022/date-picker/base-picker.component.mjs +0 -249
- package/esm2022/date-picker/date-helper.service.mjs +0 -37
- package/esm2022/date-picker/date-picker.component.mjs +0 -41
- package/esm2022/date-picker/date-picker.config.mjs +0 -103
- package/esm2022/date-picker/date-picker.directive.mjs +0 -39
- package/esm2022/date-picker/date-picker.module.mjs +0 -117
- package/esm2022/date-picker/date-picker.service.mjs +0 -31
- package/esm2022/date-picker/index.mjs +0 -37
- package/esm2022/date-picker/inner-types.mjs +0 -2
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +0 -98
- package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +0 -92
- package/esm2022/date-picker/lib/calendar/calendar-table.component.mjs +0 -105
- package/esm2022/date-picker/lib/date/date-header.component.mjs +0 -35
- package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +0 -24
- package/esm2022/date-picker/lib/date/date-table.component.mjs +0 -149
- package/esm2022/date-picker/lib/date/types.mjs +0 -2
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +0 -388
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +0 -42
- package/esm2022/date-picker/lib/decade/decade-table.component.mjs +0 -81
- package/esm2022/date-picker/lib/lib-packer.module.mjs +0 -123
- package/esm2022/date-picker/lib/month/month-header.component.mjs +0 -27
- package/esm2022/date-picker/lib/month/month-table.component.mjs +0 -97
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +0 -566
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +0 -196
- package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +0 -98
- package/esm2022/date-picker/lib/year/year-header.component.mjs +0 -39
- package/esm2022/date-picker/lib/year/year-table.component.mjs +0 -100
- package/esm2022/date-picker/month-picker.component.mjs +0 -45
- package/esm2022/date-picker/ngx-tethys-date-picker.mjs +0 -5
- package/esm2022/date-picker/picker.component.mjs +0 -273
- package/esm2022/date-picker/picker.pipes.mjs +0 -112
- package/esm2022/date-picker/picker.util.mjs +0 -220
- package/esm2022/date-picker/picker.validators.mjs +0 -79
- package/esm2022/date-picker/quarter-picker.component.mjs +0 -48
- package/esm2022/date-picker/range-picker.component.mjs +0 -39
- package/esm2022/date-picker/range-picker.directive.mjs +0 -39
- package/esm2022/date-picker/standard-types.mjs +0 -2
- package/esm2022/date-picker/week-picker.component.mjs +0 -40
- package/esm2022/date-picker/year-picker.component.mjs +0 -48
- package/esm2022/date-range/date-range.class.mjs +0 -6
- package/esm2022/date-range/date-range.component.mjs +0 -255
- package/esm2022/date-range/index.mjs +0 -5
- package/esm2022/date-range/module.mjs +0 -50
- package/esm2022/date-range/ngx-tethys-date-range.mjs +0 -5
- package/esm2022/date-range/optional-dates/optional-dates.component.mjs +0 -50
- package/esm2022/dialog/body/dialog-body.component.mjs +0 -49
- package/esm2022/dialog/confirm/confirm.component.mjs +0 -77
- package/esm2022/dialog/confirm/token.mjs +0 -3
- package/esm2022/dialog/confirm.config.mjs +0 -29
- package/esm2022/dialog/dialog-animations.mjs +0 -19
- package/esm2022/dialog/dialog-container.component.mjs +0 -169
- package/esm2022/dialog/dialog-ref.mjs +0 -35
- package/esm2022/dialog/dialog.config.mjs +0 -62
- package/esm2022/dialog/dialog.module.mjs +0 -91
- package/esm2022/dialog/dialog.options.mjs +0 -6
- package/esm2022/dialog/dialog.service.mjs +0 -145
- package/esm2022/dialog/footer/dialog-footer.component.mjs +0 -51
- package/esm2022/dialog/header/dialog-header.component.mjs +0 -87
- package/esm2022/dialog/index.mjs +0 -12
- package/esm2022/dialog/ngx-tethys-dialog.mjs +0 -5
- package/esm2022/divider/divider.component.mjs +0 -117
- package/esm2022/divider/divider.module.mjs +0 -20
- package/esm2022/divider/index.mjs +0 -3
- package/esm2022/divider/ngx-tethys-divider.mjs +0 -5
- package/esm2022/dot/dot.component.mjs +0 -111
- package/esm2022/dot/dot.module.mjs +0 -17
- package/esm2022/dot/index.mjs +0 -3
- package/esm2022/dot/ngx-tethys-dot.mjs +0 -5
- package/esm2022/drag-drop/drag-content.directive.mjs +0 -32
- package/esm2022/drag-drop/drag-drop.class.mjs +0 -7
- package/esm2022/drag-drop/drag-drop.service.mjs +0 -23
- package/esm2022/drag-drop/drag-handle.directive.mjs +0 -43
- package/esm2022/drag-drop/drag-ref.mjs +0 -225
- package/esm2022/drag-drop/drag.directive.mjs +0 -71
- package/esm2022/drag-drop/drop-container.class.mjs +0 -6
- package/esm2022/drag-drop/drop-container.directive.mjs +0 -129
- package/esm2022/drag-drop/index.mjs +0 -10
- package/esm2022/drag-drop/module.mjs +0 -27
- package/esm2022/drag-drop/ngx-tethys-drag-drop.mjs +0 -5
- package/esm2022/dropdown/dropdown-active.directive.mjs +0 -66
- package/esm2022/dropdown/dropdown-menu-item.directive.mjs +0 -210
- package/esm2022/dropdown/dropdown-menu.component.mjs +0 -156
- package/esm2022/dropdown/dropdown-submenu.component.mjs +0 -83
- package/esm2022/dropdown/dropdown.directive.mjs +0 -189
- package/esm2022/dropdown/index.mjs +0 -7
- package/esm2022/dropdown/module.mjs +0 -79
- package/esm2022/dropdown/ngx-tethys-dropdown.mjs +0 -5
- package/esm2022/empty/empty.component.mjs +0 -183
- package/esm2022/empty/empty.config.mjs +0 -17
- package/esm2022/empty/empty.module.mjs +0 -21
- package/esm2022/empty/index.mjs +0 -4
- package/esm2022/empty/ngx-tethys-empty.mjs +0 -5
- package/esm2022/empty/svgs.mjs +0 -207
- package/esm2022/flexible-text/flexible-text.component.mjs +0 -157
- package/esm2022/flexible-text/flexible-text.module.mjs +0 -19
- package/esm2022/flexible-text/index.mjs +0 -3
- package/esm2022/flexible-text/ngx-tethys-flexible-text.mjs +0 -5
- package/esm2022/form/form-group-error/form-group-error.component.mjs +0 -53
- package/esm2022/form/form-group-label.directive.mjs +0 -49
- package/esm2022/form/form-group.component.mjs +0 -145
- package/esm2022/form/form-submit.directive.mjs +0 -40
- package/esm2022/form/form-validator-loader.mjs +0 -134
- package/esm2022/form/form-validator.service.mjs +0 -252
- package/esm2022/form/form.class.mjs +0 -8
- package/esm2022/form/form.directive.mjs +0 -158
- package/esm2022/form/from-group-footer/form-group-footer.component.mjs +0 -53
- package/esm2022/form/index.mjs +0 -12
- package/esm2022/form/module.mjs +0 -104
- package/esm2022/form/ngx-tethys-form.mjs +0 -5
- package/esm2022/form/validator/confirm-validator.directive.mjs +0 -33
- package/esm2022/form/validator/index.mjs +0 -5
- package/esm2022/form/validator/max-validator.directive.mjs +0 -41
- package/esm2022/form/validator/min-validator.directive.mjs +0 -41
- package/esm2022/form/validator/unique-validator.directive.mjs +0 -52
- package/esm2022/fullscreen/fullscreen-launch.directive.mjs +0 -18
- package/esm2022/fullscreen/fullscreen-ref.mjs +0 -151
- package/esm2022/fullscreen/fullscreen.component.mjs +0 -78
- package/esm2022/fullscreen/fullscreen.config.mjs +0 -6
- package/esm2022/fullscreen/fullscreen.module.mjs +0 -17
- package/esm2022/fullscreen/fullscreen.service.mjs +0 -47
- package/esm2022/fullscreen/index.mjs +0 -7
- package/esm2022/fullscreen/ngx-tethys-fullscreen.mjs +0 -5
- package/esm2022/grid/flex.mjs +0 -179
- package/esm2022/grid/grid.token.mjs +0 -5
- package/esm2022/grid/index.mjs +0 -7
- package/esm2022/grid/module.mjs +0 -56
- package/esm2022/grid/ngx-tethys-grid.mjs +0 -5
- package/esm2022/grid/thy-col.directive.mjs +0 -66
- package/esm2022/grid/thy-grid-item.component.mjs +0 -60
- package/esm2022/grid/thy-grid.component.mjs +0 -256
- package/esm2022/grid/thy-row.directive.mjs +0 -59
- package/esm2022/guider/guider-hint/guider-hint.component.mjs +0 -52
- package/esm2022/guider/guider-manager.mjs +0 -39
- package/esm2022/guider/guider-ref.mjs +0 -133
- package/esm2022/guider/guider-step-ref.mjs +0 -242
- package/esm2022/guider/guider.class.mjs +0 -15
- package/esm2022/guider/guider.directive.mjs +0 -50
- package/esm2022/guider/guider.module.mjs +0 -24
- package/esm2022/guider/guider.service.mjs +0 -76
- package/esm2022/guider/index.mjs +0 -9
- package/esm2022/guider/ngx-tethys-guider.mjs +0 -5
- package/esm2022/guider/utils.mjs +0 -10
- package/esm2022/i18n/i18n.mjs +0 -9
- package/esm2022/i18n/i18n.service.mjs +0 -45
- package/esm2022/i18n/i18n.token.mjs +0 -10
- package/esm2022/i18n/index.mjs +0 -10
- package/esm2022/i18n/locale.mjs +0 -13
- package/esm2022/i18n/locales/de-de.mjs +0 -130
- package/esm2022/i18n/locales/en-us.mjs +0 -151
- package/esm2022/i18n/locales/ja-jp.mjs +0 -130
- package/esm2022/i18n/locales/zh-hans.mjs +0 -130
- package/esm2022/i18n/locales/zh-hant.mjs +0 -130
- package/esm2022/i18n/ngx-tethys-i18n.mjs +0 -5
- package/esm2022/icon/config.mjs +0 -8
- package/esm2022/icon/icon-registry.mjs +0 -340
- package/esm2022/icon/icon.component.mjs +0 -198
- package/esm2022/icon/icon.module.mjs +0 -20
- package/esm2022/icon/index.mjs +0 -5
- package/esm2022/icon/ngx-tethys-icon.mjs +0 -5
- package/esm2022/image/image-group.component.mjs +0 -32
- package/esm2022/image/image.class.mjs +0 -2
- package/esm2022/image/image.config.mjs +0 -21
- package/esm2022/image/image.directive.mjs +0 -130
- package/esm2022/image/image.service.mjs +0 -58
- package/esm2022/image/index.mjs +0 -9
- package/esm2022/image/module.mjs +0 -67
- package/esm2022/image/ngx-tethys-image.mjs +0 -5
- package/esm2022/image/preview/image-preview-ref.mjs +0 -32
- package/esm2022/image/preview/image-preview.component.mjs +0 -413
- package/esm2022/image/utils.mjs +0 -13
- package/esm2022/input/index.mjs +0 -7
- package/esm2022/input/input-count.component.mjs +0 -68
- package/esm2022/input/input-group.component.mjs +0 -161
- package/esm2022/input/input-search.component.mjs +0 -152
- package/esm2022/input/input.component.mjs +0 -142
- package/esm2022/input/input.directive.mjs +0 -63
- package/esm2022/input/module.mjs +0 -51
- package/esm2022/input/ngx-tethys-input.mjs +0 -5
- package/esm2022/input-number/index.mjs +0 -3
- package/esm2022/input-number/input-number.component.mjs +0 -362
- package/esm2022/input-number/module.mjs +0 -22
- package/esm2022/input-number/ngx-tethys-input-number.mjs +0 -5
- package/esm2022/layout/content-main.component.mjs +0 -42
- package/esm2022/layout/content-section.component.mjs +0 -42
- package/esm2022/layout/content.component.mjs +0 -42
- package/esm2022/layout/header.component.mjs +0 -125
- package/esm2022/layout/index.mjs +0 -11
- package/esm2022/layout/layout.component.mjs +0 -47
- package/esm2022/layout/layout.module.mjs +0 -121
- package/esm2022/layout/ngx-tethys-layout.mjs +0 -5
- package/esm2022/layout/sidebar-content.component.mjs +0 -41
- package/esm2022/layout/sidebar-footer.component.mjs +0 -41
- package/esm2022/layout/sidebar-header.component.mjs +0 -54
- package/esm2022/layout/sidebar.component.mjs +0 -403
- package/esm2022/list/index.mjs +0 -7
- package/esm2022/list/list-item-meta.component.mjs +0 -38
- package/esm2022/list/list-item.component.mjs +0 -25
- package/esm2022/list/list.component.mjs +0 -41
- package/esm2022/list/list.module.mjs +0 -22
- package/esm2022/list/ngx-tethys-list.mjs +0 -5
- package/esm2022/list/selection/selection-list.mjs +0 -393
- package/esm2022/list/selection/selection.interface.mjs +0 -2
- package/esm2022/loading/index.mjs +0 -3
- package/esm2022/loading/loading.component.mjs +0 -54
- package/esm2022/loading/loading.module.mjs +0 -17
- package/esm2022/loading/ngx-tethys-loading.mjs +0 -5
- package/esm2022/mention/adapter/adapter.mjs +0 -20
- package/esm2022/mention/adapter/editable.adapter.mjs +0 -48
- package/esm2022/mention/adapter/index.mjs +0 -16
- package/esm2022/mention/adapter/textarea.adapter.mjs +0 -58
- package/esm2022/mention/caret-positioner.mjs +0 -194
- package/esm2022/mention/index.mjs +0 -5
- package/esm2022/mention/interfaces.mjs +0 -2
- package/esm2022/mention/mention.directive.mjs +0 -160
- package/esm2022/mention/mention.module.mjs +0 -23
- package/esm2022/mention/ngx-tethys-mention.mjs +0 -5
- package/esm2022/mention/suggestions/suggestions.component.mjs +0 -80
- package/esm2022/menu/divider/menu-divider.component.mjs +0 -21
- package/esm2022/menu/group/menu-group.component.mjs +0 -187
- package/esm2022/menu/index.mjs +0 -9
- package/esm2022/menu/item/action/menu-item-action.component.mjs +0 -75
- package/esm2022/menu/item/icon/menu-item-icon.component.mjs +0 -33
- package/esm2022/menu/item/menu-item.component.mjs +0 -42
- package/esm2022/menu/item/name/menu-item-name.component.mjs +0 -32
- package/esm2022/menu/menu.component.mjs +0 -39
- package/esm2022/menu/menu.module.mjs +0 -49
- package/esm2022/menu/ngx-tethys-menu.mjs +0 -5
- package/esm2022/message/abstract/abstract-message-container.component.mjs +0 -26
- package/esm2022/message/abstract/abstract-message-queue.service.mjs +0 -34
- package/esm2022/message/abstract/abstract-message-ref.mjs +0 -22
- package/esm2022/message/abstract/abstract-message.component.mjs +0 -76
- package/esm2022/message/abstract/abstract-message.service.mjs +0 -29
- package/esm2022/message/abstract/index.mjs +0 -6
- package/esm2022/message/index.mjs +0 -9
- package/esm2022/message/message-container.component.mjs +0 -45
- package/esm2022/message/message-queue.service.mjs +0 -25
- package/esm2022/message/message-ref.mjs +0 -4
- package/esm2022/message/message.component.mjs +0 -61
- package/esm2022/message/message.config.mjs +0 -14
- package/esm2022/message/message.service.mjs +0 -92
- package/esm2022/message/module.mjs +0 -24
- package/esm2022/message/ngx-tethys-message.mjs +0 -5
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +0 -43
- package/esm2022/nav/icon-nav/icon-nav.component.mjs +0 -45
- package/esm2022/nav/index.mjs +0 -7
- package/esm2022/nav/nav-ink-bar.directive.mjs +0 -79
- package/esm2022/nav/nav-item.directive.mjs +0 -98
- package/esm2022/nav/nav.component.mjs +0 -410
- package/esm2022/nav/nav.module.mjs +0 -54
- package/esm2022/nav/nav.pipe.mjs +0 -24
- package/esm2022/nav/ngx-tethys-nav.mjs +0 -5
- package/esm2022/ngx-tethys.mjs +0 -5
- package/esm2022/notify/index.mjs +0 -8
- package/esm2022/notify/module.mjs +0 -24
- package/esm2022/notify/ngx-tethys-notify.mjs +0 -5
- package/esm2022/notify/notify-container.component.mjs +0 -31
- package/esm2022/notify/notify-queue.service.mjs +0 -30
- package/esm2022/notify/notify-ref.mjs +0 -4
- package/esm2022/notify/notify.component.mjs +0 -99
- package/esm2022/notify/notify.config.mjs +0 -14
- package/esm2022/notify/notify.service.mjs +0 -97
- package/esm2022/pagination/index.mjs +0 -6
- package/esm2022/pagination/ngx-tethys-pagination.mjs +0 -5
- package/esm2022/pagination/pagination.class.mjs +0 -2
- package/esm2022/pagination/pagination.component.mjs +0 -366
- package/esm2022/pagination/pagination.config.mjs +0 -30
- package/esm2022/pagination/pagination.module.mjs +0 -43
- package/esm2022/pagination/pagination.pipe.mjs +0 -53
- package/esm2022/popover/body/popover-body.component.mjs +0 -25
- package/esm2022/popover/header/popover-header.component.mjs +0 -54
- package/esm2022/popover/index.mjs +0 -10
- package/esm2022/popover/module.mjs +0 -47
- package/esm2022/popover/ngx-tethys-popover.mjs +0 -5
- package/esm2022/popover/popover-animations.mjs +0 -22
- package/esm2022/popover/popover-container.component.mjs +0 -125
- package/esm2022/popover/popover-ref.mjs +0 -25
- package/esm2022/popover/popover.config.mjs +0 -38
- package/esm2022/popover/popover.directive.mjs +0 -157
- package/esm2022/popover/popover.options.mjs +0 -6
- package/esm2022/popover/popover.service.mjs +0 -201
- package/esm2022/progress/index.mjs +0 -6
- package/esm2022/progress/interfaces.mjs +0 -2
- package/esm2022/progress/ngx-tethys-progress.mjs +0 -5
- package/esm2022/progress/progress-circle.component.mjs +0 -136
- package/esm2022/progress/progress-strip.component.mjs +0 -54
- package/esm2022/progress/progress.component.mjs +0 -142
- package/esm2022/progress/progress.module.mjs +0 -20
- package/esm2022/property/index.mjs +0 -4
- package/esm2022/property/module.mjs +0 -20
- package/esm2022/property/ngx-tethys-property.mjs +0 -5
- package/esm2022/property/properties.component.mjs +0 -59
- package/esm2022/property/property-item.component.mjs +0 -175
- package/esm2022/property-operation/group/property-operation-group.component.mjs +0 -20
- package/esm2022/property-operation/index.mjs +0 -4
- package/esm2022/property-operation/module.mjs +0 -21
- package/esm2022/property-operation/ngx-tethys-property-operation.mjs +0 -5
- package/esm2022/property-operation/property-operation.component.mjs +0 -183
- package/esm2022/public-api.mjs +0 -2
- package/esm2022/radio/button/radio-button.component.mjs +0 -56
- package/esm2022/radio/group/radio-group.component.mjs +0 -138
- package/esm2022/radio/index.mjs +0 -5
- package/esm2022/radio/module.mjs +0 -20
- package/esm2022/radio/ngx-tethys-radio.mjs +0 -5
- package/esm2022/radio/radio.component.mjs +0 -58
- package/esm2022/rate/index.mjs +0 -4
- package/esm2022/rate/module.mjs +0 -23
- package/esm2022/rate/ngx-tethys-rate.mjs +0 -5
- package/esm2022/rate/rate-item.component.mjs +0 -76
- package/esm2022/rate/rate.component.mjs +0 -244
- package/esm2022/resizable/index.mjs +0 -8
- package/esm2022/resizable/interface.mjs +0 -2
- package/esm2022/resizable/module.mjs +0 -19
- package/esm2022/resizable/ngx-tethys-resizable.mjs +0 -5
- package/esm2022/resizable/resizable.directive.mjs +0 -363
- package/esm2022/resizable/resizable.service.mjs +0 -69
- package/esm2022/resizable/resize-handle.component.mjs +0 -104
- package/esm2022/resizable/resize-handles.component.mjs +0 -64
- package/esm2022/resizable/utils.mjs +0 -14
- package/esm2022/result/index.mjs +0 -3
- package/esm2022/result/ngx-tethys-result.mjs +0 -5
- package/esm2022/result/result.component.mjs +0 -43
- package/esm2022/result/result.module.mjs +0 -17
- package/esm2022/segment/index.mjs +0 -5
- package/esm2022/segment/ngx-tethys-segment.mjs +0 -5
- package/esm2022/segment/segment-item.component.mjs +0 -87
- package/esm2022/segment/segment.component.mjs +0 -143
- package/esm2022/segment/segment.module.mjs +0 -20
- package/esm2022/segment/segment.token.mjs +0 -3
- package/esm2022/segment/types.mjs +0 -2
- package/esm2022/select/custom-select/custom-select.component.mjs +0 -904
- package/esm2022/select/index.mjs +0 -5
- package/esm2022/select/module.mjs +0 -62
- package/esm2022/select/native-select/native-select.component.mjs +0 -98
- package/esm2022/select/ngx-tethys-select.mjs +0 -5
- package/esm2022/select/select.config.mjs +0 -21
- package/esm2022/shared/base-form-check.component.mjs +0 -120
- package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +0 -57
- package/esm2022/shared/directives/thy-autofocus.directive.mjs +0 -60
- package/esm2022/shared/directives/thy-contextmenu.directive.mjs +0 -39
- package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +0 -43
- package/esm2022/shared/directives/thy-drag-drop.directive.mjs +0 -51
- package/esm2022/shared/directives/thy-enter.directive.mjs +0 -43
- package/esm2022/shared/directives/thy-scroll.directive.mjs +0 -84
- package/esm2022/shared/directives/thy-show.mjs +0 -59
- package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +0 -57
- package/esm2022/shared/directives/view-outlet.directive.mjs +0 -85
- package/esm2022/shared/index.mjs +0 -16
- package/esm2022/shared/ng-transclude.directive.mjs +0 -32
- package/esm2022/shared/ngx-tethys-shared.mjs +0 -5
- package/esm2022/shared/option/group/option-group.component.mjs +0 -92
- package/esm2022/shared/option/index.mjs +0 -9
- package/esm2022/shared/option/list-option/list-option.component.mjs +0 -96
- package/esm2022/shared/option/module.mjs +0 -29
- package/esm2022/shared/option/option-group.component.mjs +0 -25
- package/esm2022/shared/option/option.component.mjs +0 -181
- package/esm2022/shared/option/option.token.mjs +0 -14
- package/esm2022/shared/option/options-container.component.mjs +0 -29
- package/esm2022/shared/option/select-option-base.mjs +0 -3
- package/esm2022/shared/select/index.mjs +0 -3
- package/esm2022/shared/select/module.mjs +0 -27
- package/esm2022/shared/select/select-control/select-control.component.mjs +0 -280
- package/esm2022/shared/shared.module.mjs +0 -71
- package/esm2022/skeleton/index.mjs +0 -9
- package/esm2022/skeleton/module.mjs +0 -27
- package/esm2022/skeleton/ngx-tethys-skeleton.mjs +0 -5
- package/esm2022/skeleton/skeleton-circle.component.mjs +0 -92
- package/esm2022/skeleton/skeleton-rectangle.component.mjs +0 -100
- package/esm2022/skeleton/skeleton.component.mjs +0 -32
- package/esm2022/skeleton/skeleton.config.mjs +0 -8
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +0 -124
- package/esm2022/skeleton/stylized/list.component.mjs +0 -95
- package/esm2022/skeleton/stylized/paragraph.component.mjs +0 -107
- package/esm2022/slide/drawer/drawer-container.directive.mjs +0 -21
- package/esm2022/slide/index.mjs +0 -13
- package/esm2022/slide/ngx-tethys-slide.mjs +0 -5
- package/esm2022/slide/slide-animations.mjs +0 -24
- package/esm2022/slide/slide-body/slide-body-section.component.mjs +0 -41
- package/esm2022/slide/slide-body/slide-body.component.mjs +0 -25
- package/esm2022/slide/slide-container.component.mjs +0 -192
- package/esm2022/slide/slide-footer/slide-footer.component.mjs +0 -26
- package/esm2022/slide/slide-header/slide-header.component.mjs +0 -59
- package/esm2022/slide/slide-layout/slide-layout.component.mjs +0 -27
- package/esm2022/slide/slide-ref.service.mjs +0 -32
- package/esm2022/slide/slide.config.mjs +0 -38
- package/esm2022/slide/slide.module.mjs +0 -65
- package/esm2022/slide/slide.service.mjs +0 -104
- package/esm2022/slider/index.mjs +0 -3
- package/esm2022/slider/ngx-tethys-slider.mjs +0 -5
- package/esm2022/slider/slider.component.mjs +0 -346
- package/esm2022/slider/slider.module.mjs +0 -19
- package/esm2022/space/index.mjs +0 -3
- package/esm2022/space/ngx-tethys-space.mjs +0 -5
- package/esm2022/space/space.component.mjs +0 -88
- package/esm2022/space/space.module.mjs +0 -17
- package/esm2022/statistic/index.mjs +0 -3
- package/esm2022/statistic/ngx-tethys-statistic.mjs +0 -5
- package/esm2022/statistic/statistic.component.mjs +0 -184
- package/esm2022/statistic/statistic.module.mjs +0 -20
- package/esm2022/stepper/index.mjs +0 -6
- package/esm2022/stepper/ngx-tethys-stepper.mjs +0 -5
- package/esm2022/stepper/step-header.component.mjs +0 -40
- package/esm2022/stepper/step.component.mjs +0 -32
- package/esm2022/stepper/stepper-button.directive.mjs +0 -56
- package/esm2022/stepper/stepper.component.mjs +0 -105
- package/esm2022/stepper/stepper.module.mjs +0 -21
- package/esm2022/strength/index.mjs +0 -3
- package/esm2022/strength/ngx-tethys-strength.mjs +0 -5
- package/esm2022/strength/strength.component.mjs +0 -122
- package/esm2022/strength/strength.module.mjs +0 -17
- package/esm2022/switch/index.mjs +0 -3
- package/esm2022/switch/ngx-tethys-switch.mjs +0 -5
- package/esm2022/switch/switch.component.mjs +0 -181
- package/esm2022/switch/switch.module.mjs +0 -17
- package/esm2022/table/enums/column-skeleton-type.mjs +0 -8
- package/esm2022/table/enums/index.mjs +0 -2
- package/esm2022/table/index.mjs +0 -9
- package/esm2022/table/ngx-tethys-table.mjs +0 -5
- package/esm2022/table/pipes/drag.pipe.mjs +0 -20
- package/esm2022/table/pipes/table.pipe.mjs +0 -20
- package/esm2022/table/table-column.component.mjs +0 -200
- package/esm2022/table/table-skeleton.component.mjs +0 -165
- package/esm2022/table/table.component.mjs +0 -966
- package/esm2022/table/table.interface.mjs +0 -7
- package/esm2022/table/table.module.mjs +0 -75
- package/esm2022/tabs/index.mjs +0 -5
- package/esm2022/tabs/ngx-tethys-tabs.mjs +0 -5
- package/esm2022/tabs/tab-content.component.mjs +0 -52
- package/esm2022/tabs/tab.component.mjs +0 -36
- package/esm2022/tabs/tabs.component.mjs +0 -139
- package/esm2022/tabs/tabs.module.mjs +0 -21
- package/esm2022/tabs/types.mjs +0 -2
- package/esm2022/tag/index.mjs +0 -4
- package/esm2022/tag/ngx-tethys-tag.mjs +0 -5
- package/esm2022/tag/tag.component.mjs +0 -109
- package/esm2022/tag/tag.module.mjs +0 -19
- package/esm2022/tag/tags.component.mjs +0 -24
- package/esm2022/testing/data-transfer.mjs +0 -55
- package/esm2022/testing/dispatcher-events.mjs +0 -46
- package/esm2022/testing/element-focus.mjs +0 -18
- package/esm2022/testing/events.mjs +0 -145
- package/esm2022/testing/index.mjs +0 -8
- package/esm2022/testing/ngx-tethys-testing.mjs +0 -5
- package/esm2022/testing/thy-icon.mjs +0 -50
- package/esm2022/testing/type-in-element.mjs +0 -20
- package/esm2022/testing/xhr-mock.mjs +0 -100
- package/esm2022/time-picker/index.mjs +0 -8
- package/esm2022/time-picker/inner/inner-time-picker.class.mjs +0 -2
- package/esm2022/time-picker/inner/inner-time-picker.component.mjs +0 -239
- package/esm2022/time-picker/inner/inner-time-picker.config.mjs +0 -45
- package/esm2022/time-picker/inner/inner-time-picker.store.mjs +0 -134
- package/esm2022/time-picker/ngx-tethys-time-picker.mjs +0 -5
- package/esm2022/time-picker/time-picker-controls.util.mjs +0 -118
- package/esm2022/time-picker/time-picker-panel.component.mjs +0 -265
- package/esm2022/time-picker/time-picker.component.mjs +0 -363
- package/esm2022/time-picker/time-picker.module.mjs +0 -54
- package/esm2022/time-picker/time-picker.utils.mjs +0 -131
- package/esm2022/timeline/index.mjs +0 -5
- package/esm2022/timeline/ngx-tethys-timeline.mjs +0 -5
- package/esm2022/timeline/timeline-item.component.mjs +0 -59
- package/esm2022/timeline/timeline.component.mjs +0 -156
- package/esm2022/timeline/timeline.module.mjs +0 -21
- package/esm2022/timeline/timeline.service.mjs +0 -17
- package/esm2022/tooltip/index.mjs +0 -9
- package/esm2022/tooltip/interface.mjs +0 -2
- package/esm2022/tooltip/ngx-tethys-tooltip.mjs +0 -5
- package/esm2022/tooltip/tooltip-animations.mjs +0 -23
- package/esm2022/tooltip/tooltip-ref.mjs +0 -147
- package/esm2022/tooltip/tooltip.component.mjs +0 -103
- package/esm2022/tooltip/tooltip.config.mjs +0 -17
- package/esm2022/tooltip/tooltip.directive.mjs +0 -150
- package/esm2022/tooltip/tooltip.module.mjs +0 -22
- package/esm2022/tooltip/tooltip.service.mjs +0 -28
- package/esm2022/transfer/index.mjs +0 -5
- package/esm2022/transfer/ngx-tethys-transfer.mjs +0 -5
- package/esm2022/transfer/transfer-list.component.mjs +0 -154
- package/esm2022/transfer/transfer.component.mjs +0 -180
- package/esm2022/transfer/transfer.interface.mjs +0 -6
- package/esm2022/transfer/transfer.module.mjs +0 -50
- package/esm2022/tree/index.mjs +0 -7
- package/esm2022/tree/ngx-tethys-tree.mjs +0 -5
- package/esm2022/tree/tree-abstract.mjs +0 -3
- package/esm2022/tree/tree-node.class.mjs +0 -93
- package/esm2022/tree/tree-node.component.mjs +0 -212
- package/esm2022/tree/tree.class.mjs +0 -15
- package/esm2022/tree/tree.component.mjs +0 -648
- package/esm2022/tree/tree.module.mjs +0 -74
- package/esm2022/tree/tree.pipe.mjs +0 -26
- package/esm2022/tree/tree.service.mjs +0 -187
- package/esm2022/tree-select/index.mjs +0 -4
- package/esm2022/tree-select/module.mjs +0 -52
- package/esm2022/tree-select/ngx-tethys-tree-select.mjs +0 -5
- package/esm2022/tree-select/tree-select.class.mjs +0 -2
- package/esm2022/tree-select/tree-select.component.mjs +0 -653
- package/esm2022/types/common.mjs +0 -2
- package/esm2022/types/dictionary.mjs +0 -2
- package/esm2022/types/index.mjs +0 -4
- package/esm2022/types/ngx-tethys-types.mjs +0 -5
- package/esm2022/types/pagination.mjs +0 -2
- package/esm2022/typography/bg-color.directive.mjs +0 -51
- package/esm2022/typography/index.mjs +0 -5
- package/esm2022/typography/module.mjs +0 -21
- package/esm2022/typography/ngx-tethys-typography.mjs +0 -5
- package/esm2022/typography/text/text.component.mjs +0 -23
- package/esm2022/typography/text-color.directive.mjs +0 -52
- package/esm2022/upload/constant.mjs +0 -75
- package/esm2022/upload/file-drop.directive.mjs +0 -166
- package/esm2022/upload/file-select-base.mjs +0 -75
- package/esm2022/upload/file-select.component.mjs +0 -98
- package/esm2022/upload/index.mjs +0 -7
- package/esm2022/upload/module.mjs +0 -22
- package/esm2022/upload/ngx-tethys-upload.mjs +0 -5
- package/esm2022/upload/types.mjs +0 -2
- package/esm2022/upload/upload.config.mjs +0 -21
- package/esm2022/upload/upload.service.mjs +0 -169
- package/esm2022/upload/util.mjs +0 -27
- package/esm2022/util/date/functions.mjs +0 -84
- package/esm2022/util/date/tiny-date.mjs +0 -362
- package/esm2022/util/dom.mjs +0 -247
- package/esm2022/util/helpers/helpers.mjs +0 -293
- package/esm2022/util/helpers/index.mjs +0 -2
- package/esm2022/util/immutable.mjs +0 -108
- package/esm2022/util/index.mjs +0 -16
- package/esm2022/util/keycodes.mjs +0 -2
- package/esm2022/util/logger/index.mjs +0 -2
- package/esm2022/util/logger/logger.mjs +0 -42
- package/esm2022/util/ng.mjs +0 -7
- package/esm2022/util/ngx-tethys-util.mjs +0 -5
- package/esm2022/util/references.mjs +0 -84
- package/esm2022/version.mjs +0 -3
- package/esm2022/vote/index.mjs +0 -3
- package/esm2022/vote/ngx-tethys-vote.mjs +0 -5
- package/esm2022/vote/vote.component.mjs +0 -130
- package/esm2022/vote/vote.module.mjs +0 -20
- package/esm2022/watermark/config.mjs +0 -20
- package/esm2022/watermark/index.mjs +0 -3
- package/esm2022/watermark/ngx-tethys-watermark.mjs +0 -5
- package/esm2022/watermark/watermark.directive.mjs +0 -178
- package/esm2022/watermark/watermark.module.mjs +0 -19
- package/schematics/ng-update/update-18/complete.d.ts +0 -3
- package/schematics/ng-update/update-18/complete.js +0 -13
- /package/schematics/ng-update/{update-18 → update-19}/class-name-migration.d.ts +0 -0
- /package/schematics/ng-update/{update-18 → update-19}/class-name-migration.js +0 -0
- /package/schematics/ng-update/{update-18 → update-19}/index.d.ts +0 -0
- /package/schematics/ng-update/{update-18 → update-19}/index.spec.d.ts +0 -0
- /package/schematics/ng-update/{update-18 → update-19}/update-data.d.ts +0 -0
- /package/schematics/ng-update/{update-18 → update-19}/update-data.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Renderer2, ElementRef, Directive, NgZone, Injectable, ChangeDetectorRef, EventEmitter, numberAttribute,
|
|
2
|
+
import { inject, Renderer2, ElementRef, Directive, NgZone, Injectable, ChangeDetectorRef, EventEmitter, numberAttribute, Output, Input, ViewChild, ContentChildren, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { DOCUMENT, NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
4
4
|
import { Platform } from '@angular/cdk/platform';
|
|
5
5
|
import { ThyDot, ThyDotModule } from 'ngx-tethys/dot';
|
|
@@ -31,10 +31,10 @@ class ThyCarouselItemDirective {
|
|
|
31
31
|
this.el = elementRef.nativeElement;
|
|
32
32
|
this.renderer.addClass(elementRef.nativeElement, 'thy-carousel-item');
|
|
33
33
|
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
35
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCarouselItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
35
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.2", type: ThyCarouselItemDirective, isStandalone: true, selector: "[thyCarouselItem],[thy-carousel-item]", exportAs: ["thyCarouseItem"], ngImport: i0 }); }
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCarouselItemDirective, decorators: [{
|
|
38
38
|
type: Directive,
|
|
39
39
|
args: [{
|
|
40
40
|
selector: '[thyCarouselItem],[thy-carousel-item]',
|
|
@@ -102,10 +102,10 @@ class ThyCarouselService {
|
|
|
102
102
|
});
|
|
103
103
|
});
|
|
104
104
|
}
|
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
106
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCarouselService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
106
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCarouselService, providedIn: 'root' }); }
|
|
107
107
|
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCarouselService, decorators: [{
|
|
109
109
|
type: Injectable,
|
|
110
110
|
args: [{
|
|
111
111
|
providedIn: 'root'
|
|
@@ -516,14 +516,14 @@ class ThyCarousel {
|
|
|
516
516
|
this._destroy$.next();
|
|
517
517
|
this._destroy$.complete();
|
|
518
518
|
}
|
|
519
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
520
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
519
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCarousel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
520
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: ThyCarousel, isStandalone: true, selector: "thy-carousel", inputs: { thyAutoPlay: ["thyAutoPlay", "thyAutoPlay", coerceBooleanProperty], thyAutoPlayInterval: ["thyAutoPlayInterval", "thyAutoPlayInterval", numberAttribute], thyEffect: "thyEffect", thyIndicators: ["thyIndicators", "thyIndicators", coerceBooleanProperty], thyIndicatorRender: "thyIndicatorRender", thyControls: ["thyControls", "thyControls", coerceBooleanProperty], thyControlPrev: "thyControlPrev", thyControlNext: "thyControlNext", thyTouchable: ["thyTouchable", "thyTouchable", coerceBooleanProperty], thyTrigger: "thyTrigger", thyPause: "thyPause" }, outputs: { thyBeforeChange: "thyBeforeChange", thyAfterChange: "thyAfterChange" }, host: { classAttribute: "thy-carousel" }, queries: [{ propertyName: "carouselItems", predicate: ThyCarouselItemDirective }], viewQueries: [{ propertyName: "carouselWrapper", first: true, predicate: ["carouselWrapper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n @if (thyControls && carouselItems.length > 1) {\n <div class=\"thy-carousel-control-pre-wrapper\" (click)=\"pre()\">\n <ng-container *ngTemplateOutlet=\"thyControlPrev || defaultControlPrev\"></ng-container>\n </div>\n <div class=\"thy-carousel-control-next-wrapper\" (click)=\"next()\">\n <ng-container *ngTemplateOutlet=\"thyControlNext || defaultControlNext\"></ng-container>\n </div>\n }\n @if (thyIndicators) {\n <div class=\"thy-carousel-indicators\">\n @for (content of carouselItems; track $index; let i = $index) {\n <span\n class=\"thy-carousel-indicator\"\n (mouseenter)=\"indicatorHandleTrigger(i)\"\n (mouseleave)=\"indicatorHandleLeave()\"\n (click)=\"indicatorHandleClick(i)\">\n <ng-template\n [ngTemplateOutlet]=\"thyIndicatorRender || defaultIndicatorRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"></ng-template>\n </span>\n }\n </div>\n }\n</div>\n\n<ng-template #defaultIndicatorRender let-active>\n <thy-dot [class.active]=\"active\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultControlPrev>\n <div class=\"thy-carousel-control thy-carousel-control-pre\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n</ng-template>\n\n<ng-template #defaultControlNext>\n <div class=\"thy-carousel-control thy-carousel-control-next\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
521
521
|
}
|
|
522
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
522
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCarousel, decorators: [{
|
|
523
523
|
type: Component,
|
|
524
524
|
args: [{ selector: 'thy-carousel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
|
|
525
525
|
class: 'thy-carousel'
|
|
526
|
-
},
|
|
526
|
+
}, imports: [NgTemplateOutlet, ThyDot, ThyIcon], template: "<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n @if (thyControls && carouselItems.length > 1) {\n <div class=\"thy-carousel-control-pre-wrapper\" (click)=\"pre()\">\n <ng-container *ngTemplateOutlet=\"thyControlPrev || defaultControlPrev\"></ng-container>\n </div>\n <div class=\"thy-carousel-control-next-wrapper\" (click)=\"next()\">\n <ng-container *ngTemplateOutlet=\"thyControlNext || defaultControlNext\"></ng-container>\n </div>\n }\n @if (thyIndicators) {\n <div class=\"thy-carousel-indicators\">\n @for (content of carouselItems; track $index; let i = $index) {\n <span\n class=\"thy-carousel-indicator\"\n (mouseenter)=\"indicatorHandleTrigger(i)\"\n (mouseleave)=\"indicatorHandleLeave()\"\n (click)=\"indicatorHandleClick(i)\">\n <ng-template\n [ngTemplateOutlet]=\"thyIndicatorRender || defaultIndicatorRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"></ng-template>\n </span>\n }\n </div>\n }\n</div>\n\n<ng-template #defaultIndicatorRender let-active>\n <thy-dot [class.active]=\"active\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultControlPrev>\n <div class=\"thy-carousel-control thy-carousel-control-pre\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n</ng-template>\n\n<ng-template #defaultControlNext>\n <div class=\"thy-carousel-control thy-carousel-control-next\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n" }]
|
|
527
527
|
}], propDecorators: { carouselItems: [{
|
|
528
528
|
type: ContentChildren,
|
|
529
529
|
args: [ThyCarouselItemDirective]
|
|
@@ -565,11 +565,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
565
565
|
|
|
566
566
|
const COMPONENTS = [ThyCarousel, ThyCarouselItemDirective];
|
|
567
567
|
class ThyCarouselModule {
|
|
568
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
569
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
570
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
568
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
569
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.2", ngImport: i0, type: ThyCarouselModule, imports: [CommonModule, ThyDotModule, ThyIconModule, ThyCarousel, ThyCarouselItemDirective], exports: [ThyCarousel, ThyCarouselItemDirective] }); }
|
|
570
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCarouselModule, imports: [CommonModule, ThyDotModule, ThyIconModule, ThyCarousel] }); }
|
|
571
571
|
}
|
|
572
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
572
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCarouselModule, decorators: [{
|
|
573
573
|
type: NgModule,
|
|
574
574
|
args: [{
|
|
575
575
|
exports: [...COMPONENTS],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-carousel.mjs","sources":["../../../src/carousel/carousel-item.directive.ts","../../../src/carousel/carousel.service.ts","../../../src/carousel/engine/carousel-base.ts","../../../src/carousel/engine/carousel-noop.ts","../../../src/carousel/engine/carousel-slide.ts","../../../src/carousel/engine/carousel-fade.ts","../../../src/carousel/carousel.component.ts","../../../src/carousel/carousel.component.html","../../../src/carousel/module.ts","../../../src/carousel/ngx-tethys-carousel.ts"],"sourcesContent":["import { Directive, ElementRef, Renderer2, inject } from '@angular/core';\n\n/**\n * @private\n */\n@Directive({\n selector: '[thyCarouselItem],[thy-carousel-item]',\n exportAs: 'thyCarouseItem',\n standalone: true\n})\nexport class ThyCarouselItemDirective {\n private renderer = inject(Renderer2);\n\n private _active = false;\n\n readonly el: HTMLElement;\n\n set isActive(value: boolean) {\n this._active = value;\n if (this.isActive) {\n this.renderer.addClass(this.el, 'thy-carousel-item-active');\n } else {\n this.renderer.removeClass(this.el, 'thy-carousel-item-active');\n }\n }\n\n get isActive(): boolean {\n return this._active;\n }\n\n constructor() {\n const elementRef = inject(ElementRef);\n\n this.el = elementRef.nativeElement;\n this.renderer.addClass(elementRef.nativeElement, 'thy-carousel-item');\n }\n}\n","import { Injectable, NgZone, inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Observable, Subject } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ThyDistanceVector } from './typings';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyCarouselService {\n private ngZone = inject(NgZone);\n\n private listeners = new Map<string, (event: MouseEvent | TouchEvent) => void>();\n private document: Document;\n\n documentDraggingOutside$ = new Subject<MouseEvent | Touch>();\n\n constructor() {\n const document = inject(DOCUMENT);\n\n this.document = document;\n }\n\n private clearListeners(): void {\n this.listeners.forEach((handler, name) => {\n this.document.removeEventListener(name, handler as EventListener);\n });\n this.listeners.clear();\n }\n\n private getEventPotions(event: MouseEvent | TouchEvent): MouseEvent | Touch {\n if (event instanceof MouseEvent) {\n return event;\n } else {\n return event.touches[0] || event.changedTouches[0];\n }\n }\n\n registerDrag(event: MouseEvent | TouchEvent): Observable<ThyDistanceVector> {\n if (this.documentDraggingOutside$) {\n this.documentDraggingOutside$.complete();\n }\n\n const startPoint = this.getEventPotions(event);\n\n this.documentDraggingOutside$ = new Subject<MouseEvent | Touch>();\n\n this.registerHandler(event);\n\n return this.documentDraggingOutside$.pipe(\n map(e => {\n return {\n x: e.pageX - startPoint!.pageX,\n y: e.pageY - startPoint!.pageY\n };\n })\n );\n }\n\n registerHandler(event: MouseEvent | TouchEvent) {\n this.clearListeners();\n const _isTouchEvent = event instanceof MouseEvent;\n const moveEvent = _isTouchEvent ? 'mousemove' : 'touchmove';\n const upEvent = _isTouchEvent ? 'mouseup' : 'touchend';\n const moveEventHandler = (e: MouseEvent | TouchEvent) => {\n this.documentDraggingOutside$.next(e instanceof MouseEvent ? e : e.touches[0] || e.changedTouches[0]);\n };\n const upEventHandler = () => {\n this.documentDraggingOutside$.complete();\n this.clearListeners();\n };\n this.listeners.set(moveEvent, moveEventHandler);\n this.listeners.set(upEvent, upEventHandler);\n this.ngZone.runOutsideAngular(() => {\n this.listeners.forEach((handler, name) => {\n this.document.addEventListener(name, handler as EventListener);\n });\n });\n }\n}\n","import { ChangeDetectorRef, Renderer2, QueryList } from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { Observable } from 'rxjs';\nimport { ThyCarouselItemDirective } from '../carousel-item.directive';\nimport { ThyCarousel } from '../carousel.component';\nimport { ThyDistanceVector, ThyCarouselEngine } from '../typings';\n\nexport abstract class ThyCarouselBaseEngine implements ThyCarouselEngine {\n protected contentWidth: number;\n protected contentHeight: number;\n protected readonly carouselComponent: ThyCarousel;\n protected wrapperEl: HTMLElement;\n protected playTime: number;\n protected length: number;\n protected contents: ThyCarouselItemDirective[];\n\n protected get maxIndex(): number {\n return this.length - 1;\n }\n\n protected get firstEl(): HTMLElement {\n return this.contents[0].el;\n }\n\n protected get lastEl(): HTMLElement {\n return this.contents[this.maxIndex].el;\n }\n\n protected constructor(\n thyCarouselComponent: ThyCarousel,\n protected cdr: ChangeDetectorRef,\n protected renderer: Renderer2,\n protected platform: Platform\n ) {\n this.carouselComponent = thyCarouselComponent;\n }\n\n initializeContents(contents: QueryList<ThyCarouselItemDirective> | null) {\n const carousel = this.carouselComponent!;\n const { wrapperEl, playTime } = carousel;\n this.wrapperEl = wrapperEl;\n this.playTime = playTime;\n const { width, height } = wrapperEl.getBoundingClientRect();\n this.contentHeight = height;\n this.contentWidth = width;\n\n this.contents = contents?.toArray();\n this.length = this.contents.length;\n if (this.platform.isBrowser && this.contents.length) {\n this.renderer.setStyle(this.wrapperEl, 'transform', 'translate3d(0, 0, 0)');\n this.renderer.setStyle(this.wrapperEl, `height`, `${this.contentHeight}px`);\n }\n this.contents.forEach(content => {\n content.el.removeAttribute('style');\n });\n }\n\n abstract dragging(pointerVector: ThyDistanceVector, rect: DOMRect): void;\n\n abstract initializeCarouselContents(contents: QueryList<ThyCarouselItemDirective> | null): void;\n\n abstract switch(to: number, from: number): Observable<void>;\n\n correctionOffset(): void {\n const carousel = this.carouselComponent!;\n const { wrapperEl } = carousel;\n const { width, height } = wrapperEl.getBoundingClientRect();\n this.contentWidth = width;\n this.contentHeight = height;\n }\n}\n","import { ChangeDetectorRef, QueryList, Renderer2 } from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { Observable, Subject } from 'rxjs';\nimport { ThyCarousel } from '../carousel.component';\nimport { ThyDistanceVector } from '../typings';\nimport { ThyCarouselItemDirective } from '../carousel-item.directive';\nimport { ThyCarouselBaseEngine } from '../engine/carousel-base';\n\nexport class ThyCarouselNoopEngine extends ThyCarouselBaseEngine {\n constructor(thyCarouselComponent: ThyCarousel, cdr: ChangeDetectorRef, renderer: Renderer2, platform: Platform) {\n super(thyCarouselComponent, cdr, renderer, platform);\n }\n\n dragging(pointerVector: ThyDistanceVector, rect: DOMRect): void {}\n\n initializeCarouselContents(contents: QueryList<ThyCarouselItemDirective> | null): void {\n this.initializeContents(contents);\n }\n\n switch(to: number, from: number): Observable<void> {\n const switch$ = new Subject<void>();\n this.renderer.setStyle(\n this.wrapperEl,\n `transform`,\n `translate3d(${(-(to + this.length) % this.length) * this.contentWidth}px,0 , 0)`\n );\n setTimeout(() => {\n switch$.next();\n }, 0);\n setTimeout(() => {\n switch$.complete();\n }, 0);\n return switch$.asObservable();\n }\n\n correctionOffset(): void {\n super.correctionOffset();\n const { activeIndex } = this.carouselComponent!;\n this.renderer.setStyle(this.wrapperEl, `transform`, `translate3d(${-activeIndex * this.contentWidth}px,0 , 0)`);\n }\n}\n","import { ChangeDetectorRef, QueryList, Renderer2 } from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { Observable, Subject } from 'rxjs';\nimport { ThyCarousel } from '../carousel.component';\nimport { ThyDistanceVector } from '../typings';\nimport { ThyCarouselItemDirective } from '../carousel-item.directive';\nimport { ThyCarouselBaseEngine } from '../engine/carousel-base';\n\nexport class ThyCarouselSlideEngine extends ThyCarouselBaseEngine {\n constructor(thyCarouselComponent: ThyCarousel, cdr: ChangeDetectorRef, renderer: Renderer2, platform: Platform) {\n super(thyCarouselComponent, cdr, renderer, platform);\n }\n\n private prepareHorizontalContext(activeIndex: number): void {\n if (activeIndex >= this.maxIndex) {\n this.renderer.setStyle(this.firstEl, 'left', `${this.length * this.contentWidth}px`);\n this.renderer.setStyle(this.lastEl, 'left', null);\n } else if (activeIndex <= 0) {\n this.renderer.setStyle(this.firstEl, 'left', null);\n this.renderer.setStyle(this.lastEl, 'left', `${-this.length * this.contentWidth}px`);\n } else {\n this.resetContext();\n }\n }\n\n private resetContext() {\n this.renderer.setStyle(this.lastEl, 'left', null);\n this.renderer.setStyle(this.firstEl, 'left', null);\n }\n\n initializeCarouselContents(contents: QueryList<ThyCarouselItemDirective> | null): void {\n this.initializeContents(contents);\n }\n\n dragging(pointerVector: ThyDistanceVector, rect: DOMRect): void {\n const { x } = pointerVector;\n const { width, height } = rect;\n this.contentWidth = width;\n this.contentHeight = height;\n const activeIndex = this.carouselComponent!.activeIndex;\n if (this.length > 1) {\n this.prepareHorizontalContext(activeIndex);\n }\n this.renderer.setStyle(this.wrapperEl, 'transform', `translate3d(${-activeIndex * this.contentWidth + x}px,0 , 0)`);\n }\n\n switch(to: number, from: number): Observable<void> {\n const switch$ = new Subject<void>();\n if (Math.abs(from - to) === 1 || from === to) {\n this.prepareHorizontalContext(to);\n }\n this.renderer.setStyle(this.wrapperEl, `transition-duration`, `${this.playTime}ms`);\n this.renderer.setStyle(this.wrapperEl, `transform`, `translate3d(${-to * this.contentWidth}px,0 , 0)`);\n setTimeout(() => {\n switch$.next();\n }, 0);\n setTimeout(() => {\n this.resetContext();\n this.renderer.setStyle(this.wrapperEl, `transition-duration`, `0s`);\n this.renderer.setStyle(\n this.wrapperEl,\n `transform`,\n `translate3d(${-((to + this.length) % this.length) * this.contentWidth}px,0 , 0)`\n );\n switch$.complete();\n }, this.playTime);\n return switch$.asObservable();\n }\n\n correctionOffset(): void {\n super.correctionOffset();\n const { activeIndex } = this.carouselComponent!;\n this.renderer.setStyle(this.wrapperEl, `transform`, `translate3d(${-activeIndex * this.contentWidth}px,0 , 0)`);\n }\n}\n","import { ChangeDetectorRef, QueryList, Renderer2 } from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { Observable, Subject } from 'rxjs';\nimport { ThyCarousel } from '../carousel.component';\nimport { ThyDistanceVector } from '../typings';\nimport { ThyCarouselItemDirective } from '../carousel-item.directive';\nimport { ThyCarouselBaseEngine } from '../engine/carousel-base';\n\nexport class ThyCarouselFadeEngine extends ThyCarouselBaseEngine {\n contentsEl: HTMLElement[];\n constructor(thyCarouselComponent: ThyCarousel, cdr: ChangeDetectorRef, renderer: Renderer2, platform: Platform) {\n super(thyCarouselComponent, cdr, renderer, platform);\n }\n\n dragging(pointerVector: ThyDistanceVector, rect: DOMRect): void {\n const { x } = pointerVector;\n const { width } = rect;\n const activeIndex = this.carouselComponent!.activeIndex;\n const currentContent = this.contentsEl[activeIndex];\n this.renderer.setStyle(currentContent, 'opacity', `${1 - Math.abs(x) / width}`);\n }\n\n initializeCarouselContents(contents: QueryList<ThyCarouselItemDirective> | null): void {\n this.initializeContents(contents);\n this.contentsEl = [];\n contents.forEach((content, index) => {\n this.contentsEl.push(content.el);\n this.renderer.setStyle(content.el, 'opacity', this.carouselComponent!.activeIndex === index ? '1' : '0');\n this.renderer.setStyle(content.el, 'position', 'absolute');\n this.renderer.setStyle(content.el, 'left', '0');\n this.renderer.setStyle(content.el, `transition-property`, 'opacity');\n this.renderer.setStyle(content.el, `transition-timing-function`, 'ease');\n });\n }\n\n switch(to: number, from: number): Observable<void> {\n const switch$ = new Subject<void>();\n const currentEl = this.contentsEl[from];\n const nextEl = this.contentsEl[(to + this.length) % this.length];\n this.renderer.setStyle(currentEl, `transition-duration`, `${this.playTime}ms`);\n this.renderer.setStyle(nextEl, `transition-duration`, `${this.playTime}ms`);\n this.renderer.setStyle(currentEl, 'opacity', '0');\n this.renderer.setStyle(nextEl, 'opacity', '1');\n setTimeout(() => {\n switch$.next();\n }, 0);\n setTimeout(() => {\n this.renderer.setStyle(currentEl, `transition-duration`, `0s`);\n this.renderer.setStyle(nextEl, `transition-duration`, `0s`);\n switch$.complete();\n }, this.playTime);\n return switch$.asObservable();\n }\n\n correctionOffset(): void {}\n}\n","import { Platform } from '@angular/cdk/platform';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n numberAttribute,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ThyDot } from 'ngx-tethys/dot';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { coerceBooleanProperty, isNumber, TinyDate } from 'ngx-tethys/util';\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport { ThyCarouselItemDirective } from './carousel-item.directive';\nimport { ThyCarouselService } from './carousel.service';\nimport { ThyCarouselFadeEngine, ThyCarouselNoopEngine, ThyCarouselSlideEngine } from './engine';\nimport {\n ThyCarouselEffect,\n ThyCarouselEngine,\n ThyCarouselPause,\n ThyCarouselSwitchData,\n ThyCarouselTrigger,\n ThyDistanceVector\n} from './typings';\n\n/**\n * 走马灯组件\n * @name thy-carousel\n */\n@Component({\n selector: 'thy-carousel',\n templateUrl: './carousel.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n class: 'thy-carousel'\n },\n standalone: true,\n imports: [NgTemplateOutlet, ThyDot, ThyIcon]\n})\nexport class ThyCarousel implements OnInit, AfterViewInit, AfterContentInit, OnChanges, OnDestroy {\n protected renderer = inject(Renderer2);\n private cdr = inject(ChangeDetectorRef);\n private ngZone = inject(NgZone);\n private readonly carouselService = inject(ThyCarouselService);\n private readonly platform = inject(Platform);\n\n /**\n * @private\n */\n @ContentChildren(ThyCarouselItemDirective) carouselItems!: QueryList<ThyCarouselItemDirective>;\n\n /**\n * @private\n */\n @ViewChild('carouselWrapper', { static: true }) carouselWrapper: ElementRef<HTMLElement>;\n\n /**\n * 是否自动切换,默认 false\n */\n @Input({ transform: coerceBooleanProperty }) thyAutoPlay: boolean = false;\n\n /**\n * 自动切换时间间隔(毫秒)\n */\n @Input({ transform: numberAttribute }) thyAutoPlayInterval: number = 3000;\n\n /**\n * 切换动画样式\n * @type slide | fade | noop\n */\n @Input() thyEffect: ThyCarouselEffect = 'slide';\n\n /**\n * 是否显示切换指示器\n */\n @Input({ transform: coerceBooleanProperty }) thyIndicators = true;\n\n /**\n * 指示器 Item 的渲染模板\n */\n @Input() thyIndicatorRender?: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * 是否显示左右切换\n */\n @Input({ transform: coerceBooleanProperty }) thyControls = true;\n\n /**\n * 上一个控制器渲染模板\n */\n @Input() thyControlPrev?: TemplateRef<any>;\n\n /**\n * 下一个控制器渲染模板\n */\n @Input() thyControlNext?: TemplateRef<any>;\n\n /**\n * 是否支持手势滑动\n */\n @Input({ transform: coerceBooleanProperty }) thyTouchable = true;\n\n /**\n * 指示点切换的触发条件\n * @type click | hover\n */\n @Input() thyTrigger: ThyCarouselTrigger = 'click';\n\n /**\n * 鼠标移动到指示器时是否暂停播放\n * @type false | hover\n */\n @Input() thyPause: ThyCarouselPause = 'hover';\n\n /**\n * 触发切换帧之前,返回 `{from: number, to: number}`\n */\n @Output() readonly thyBeforeChange = new EventEmitter<ThyCarouselSwitchData>();\n\n /**\n * 切换帧之后的回调,返回当前帧索引\n */\n @Output() readonly thyAfterChange = new EventEmitter<number>();\n\n private isDragging = false;\n\n private isTransitioning = false;\n\n private pointerVector: ThyDistanceVector = { x: 0, y: 0 };\n\n private engine: ThyCarouselEngine;\n\n private _trigger$ = new Subject<number | null>();\n\n private _destroy$ = new Subject<void>();\n\n wrapperDomRect: DOMRect;\n\n activeIndex = 0;\n\n wrapperEl: HTMLElement;\n\n transitionTimer: any = null;\n\n playTime: number = 400;\n\n isPause: boolean = false;\n\n private moveTo(index: number): void {\n if (this.carouselItems && this.carouselItems.length && !this.isTransitioning) {\n this.setInitialValue();\n const len = this.carouselItems.length;\n const from = this.activeIndex;\n const to = (index + len) % len;\n this.thyBeforeChange.emit({ from, to });\n this.isTransitioning = true;\n this.engine?.switch(index, this.activeIndex).subscribe(\n () => {\n this.activeIndex = to;\n this.markContentActive(this.activeIndex);\n this.scheduleNextTransition();\n this.thyAfterChange.emit(this.activeIndex);\n },\n () => {},\n () => {\n this.isTransitioning = false;\n }\n );\n this.cdr.markForCheck();\n }\n }\n\n private switchEngine(): void {\n switch (this.thyEffect) {\n case 'slide':\n this.engine = new ThyCarouselSlideEngine(this, this.cdr, this.renderer, this.platform);\n break;\n case 'fade':\n this.engine = new ThyCarouselFadeEngine(this, this.cdr, this.renderer, this.platform);\n break;\n default:\n this.engine = new ThyCarouselNoopEngine(this, this.cdr, this.renderer, this.platform);\n }\n }\n\n private markContentActive(index: number) {\n this.activeIndex = index;\n this.carouselItems.forEach((carouselContent: ThyCarouselItemDirective, i: number) => {\n carouselContent.isActive = index === i;\n });\n this.cdr.detectChanges();\n }\n\n private setInitialValue(): void {\n if (this.engine) {\n this.engine.initializeCarouselContents(this.carouselItems);\n }\n }\n\n private scheduleNextTransition(): void {\n this.clearScheduledTransition();\n if (this.thyAutoPlay && !this.isPause) {\n this.transitionTimer = setTimeout(() => {\n this.moveTo(this.activeIndex + 1);\n }, this.thyAutoPlayInterval);\n }\n }\n\n private clearScheduledTransition(): void {\n if (this.transitionTimer) {\n clearTimeout(this.transitionTimer);\n this.transitionTimer = null;\n }\n }\n\n onDrag(event: TouchEvent | MouseEvent): void {\n if (!this.isDragging && !this.isTransitioning && this.thyTouchable) {\n const mouseDownTime = new TinyDate().getTime();\n let mouseUpTime: number;\n this.clearScheduledTransition();\n this.wrapperDomRect = this.wrapperEl.getBoundingClientRect();\n this.carouselService.registerDrag(event).subscribe(\n pointerVector => {\n this.renderer.setStyle(this.wrapperEl, 'cursor', 'grabbing');\n this.pointerVector = pointerVector;\n this.isDragging = true;\n this.engine?.dragging(this.pointerVector, this.wrapperDomRect);\n },\n () => {},\n () => {\n if (this.isDragging) {\n mouseUpTime = new TinyDate().getTime();\n const holdDownTime = mouseUpTime - mouseDownTime;\n // Fast enough to switch to the next frame\n // or\n // If the pointerVector is more than one third switch to the next frame\n if (\n Math.abs(this.pointerVector.x) > this.wrapperDomRect.width / 3 ||\n Math.abs(this.pointerVector.x) / holdDownTime >= 1\n ) {\n this.moveTo(this.pointerVector.x > 0 ? this.activeIndex - 1 : this.activeIndex + 1);\n } else {\n this.moveTo(this.activeIndex);\n }\n }\n this.isDragging = false;\n this.renderer.setStyle(this.wrapperEl, 'cursor', 'grab');\n }\n );\n }\n }\n\n indicatorHandleClick(index: number): void {\n if (this.thyTrigger === 'click') {\n this.moveTo(index);\n }\n }\n\n indicatorHandleTrigger(index: number): void {\n if (this.thyPause === 'hover') {\n this.isPause = true;\n this.clearScheduledTransition();\n }\n if (this.thyTrigger === 'hover') {\n this._trigger$.next(index);\n }\n }\n\n indicatorHandleLeave() {\n if (this.thyPause === 'hover') {\n this.isPause = false;\n this.scheduleNextTransition();\n }\n }\n\n next(): void {\n this.moveTo(this.activeIndex + 1);\n }\n\n pre(): void {\n this.moveTo(this.activeIndex - 1);\n }\n\n ngOnInit(): void {\n this.wrapperEl = this.carouselWrapper!.nativeElement;\n this.ngZone.runOutsideAngular(() => {\n fromEvent(window, 'resize')\n .pipe(takeUntil(this._destroy$), debounceTime(100))\n .subscribe(() => {\n this.engine?.correctionOffset();\n });\n });\n }\n ngOnChanges(changes: SimpleChanges) {\n const { thyEffect, thyTouchable } = changes;\n if (thyEffect && !thyEffect.isFirstChange()) {\n this.switchEngine();\n this.markContentActive(0);\n this.setInitialValue();\n }\n\n if (thyTouchable && !thyTouchable.isFirstChange()) {\n this.renderer.setStyle(this.wrapperEl, 'cursor', thyTouchable.currentValue ? 'grab' : 'default');\n }\n\n if (!this.thyAutoPlay || !this.thyAutoPlayInterval) {\n this.clearScheduledTransition();\n } else {\n this.scheduleNextTransition();\n }\n }\n\n ngAfterViewInit(): void {\n this.carouselItems.changes.subscribe(() => {\n this.markContentActive(0);\n this.setInitialValue();\n });\n this.switchEngine();\n this.markContentActive(0);\n this.setInitialValue();\n\n if (!this.thyTouchable) {\n this.renderer.setStyle(this.wrapperEl, 'cursor', 'default');\n }\n }\n\n ngAfterContentInit() {\n this._trigger$.pipe(takeUntil(this._destroy$), debounceTime(this.playTime)).subscribe(index => {\n if (isNumber(index)) {\n this.moveTo(index);\n }\n });\n }\n\n ngOnDestroy() {\n this.clearScheduledTransition();\n this._trigger$.next(null);\n this._trigger$.complete();\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n @if (thyControls && carouselItems.length > 1) {\n <div class=\"thy-carousel-control-pre-wrapper\" (click)=\"pre()\">\n <ng-container *ngTemplateOutlet=\"thyControlPrev || defaultControlPrev\"></ng-container>\n </div>\n <div class=\"thy-carousel-control-next-wrapper\" (click)=\"next()\">\n <ng-container *ngTemplateOutlet=\"thyControlNext || defaultControlNext\"></ng-container>\n </div>\n }\n @if (thyIndicators) {\n <div class=\"thy-carousel-indicators\">\n @for (content of carouselItems; track $index; let i = $index) {\n <span\n class=\"thy-carousel-indicator\"\n (mouseenter)=\"indicatorHandleTrigger(i)\"\n (mouseleave)=\"indicatorHandleLeave()\"\n (click)=\"indicatorHandleClick(i)\">\n <ng-template\n [ngTemplateOutlet]=\"thyIndicatorRender || defaultIndicatorRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"></ng-template>\n </span>\n }\n </div>\n }\n</div>\n\n<ng-template #defaultIndicatorRender let-active>\n <thy-dot [class.active]=\"active\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultControlPrev>\n <div class=\"thy-carousel-control thy-carousel-control-pre\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n</ng-template>\n\n<ng-template #defaultControlNext>\n <div class=\"thy-carousel-control thy-carousel-control-next\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyCarousel } from './carousel.component';\nimport { ThyCarouselItemDirective } from './carousel-item.directive';\nimport { ThyDotModule } from 'ngx-tethys/dot';\nimport { ThyIconModule } from 'ngx-tethys/icon';\n\nconst COMPONENTS = [ThyCarousel, ThyCarouselItemDirective];\n\n@NgModule({\n exports: [...COMPONENTS],\n imports: [CommonModule, ThyDotModule, ThyIconModule, ...COMPONENTS]\n})\nexport class ThyCarouselModule {}\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-carousel.mjs","sources":["../../../src/carousel/carousel-item.directive.ts","../../../src/carousel/carousel.service.ts","../../../src/carousel/engine/carousel-base.ts","../../../src/carousel/engine/carousel-noop.ts","../../../src/carousel/engine/carousel-slide.ts","../../../src/carousel/engine/carousel-fade.ts","../../../src/carousel/carousel.component.ts","../../../src/carousel/carousel.component.html","../../../src/carousel/module.ts","../../../src/carousel/ngx-tethys-carousel.ts"],"sourcesContent":["import { Directive, ElementRef, Renderer2, inject } from '@angular/core';\n\n/**\n * @private\n */\n@Directive({\n selector: '[thyCarouselItem],[thy-carousel-item]',\n exportAs: 'thyCarouseItem',\n standalone: true\n})\nexport class ThyCarouselItemDirective {\n private renderer = inject(Renderer2);\n\n private _active = false;\n\n readonly el: HTMLElement;\n\n set isActive(value: boolean) {\n this._active = value;\n if (this.isActive) {\n this.renderer.addClass(this.el, 'thy-carousel-item-active');\n } else {\n this.renderer.removeClass(this.el, 'thy-carousel-item-active');\n }\n }\n\n get isActive(): boolean {\n return this._active;\n }\n\n constructor() {\n const elementRef = inject(ElementRef);\n\n this.el = elementRef.nativeElement;\n this.renderer.addClass(elementRef.nativeElement, 'thy-carousel-item');\n }\n}\n","import { Injectable, NgZone, inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Observable, Subject } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ThyDistanceVector } from './typings';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyCarouselService {\n private ngZone = inject(NgZone);\n\n private listeners = new Map<string, (event: MouseEvent | TouchEvent) => void>();\n private document: Document;\n\n documentDraggingOutside$ = new Subject<MouseEvent | Touch>();\n\n constructor() {\n const document = inject(DOCUMENT);\n\n this.document = document;\n }\n\n private clearListeners(): void {\n this.listeners.forEach((handler, name) => {\n this.document.removeEventListener(name, handler as EventListener);\n });\n this.listeners.clear();\n }\n\n private getEventPotions(event: MouseEvent | TouchEvent): MouseEvent | Touch {\n if (event instanceof MouseEvent) {\n return event;\n } else {\n return event.touches[0] || event.changedTouches[0];\n }\n }\n\n registerDrag(event: MouseEvent | TouchEvent): Observable<ThyDistanceVector> {\n if (this.documentDraggingOutside$) {\n this.documentDraggingOutside$.complete();\n }\n\n const startPoint = this.getEventPotions(event);\n\n this.documentDraggingOutside$ = new Subject<MouseEvent | Touch>();\n\n this.registerHandler(event);\n\n return this.documentDraggingOutside$.pipe(\n map(e => {\n return {\n x: e.pageX - startPoint!.pageX,\n y: e.pageY - startPoint!.pageY\n };\n })\n );\n }\n\n registerHandler(event: MouseEvent | TouchEvent) {\n this.clearListeners();\n const _isTouchEvent = event instanceof MouseEvent;\n const moveEvent = _isTouchEvent ? 'mousemove' : 'touchmove';\n const upEvent = _isTouchEvent ? 'mouseup' : 'touchend';\n const moveEventHandler = (e: MouseEvent | TouchEvent) => {\n this.documentDraggingOutside$.next(e instanceof MouseEvent ? e : e.touches[0] || e.changedTouches[0]);\n };\n const upEventHandler = () => {\n this.documentDraggingOutside$.complete();\n this.clearListeners();\n };\n this.listeners.set(moveEvent, moveEventHandler);\n this.listeners.set(upEvent, upEventHandler);\n this.ngZone.runOutsideAngular(() => {\n this.listeners.forEach((handler, name) => {\n this.document.addEventListener(name, handler as EventListener);\n });\n });\n }\n}\n","import { ChangeDetectorRef, Renderer2, QueryList } from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { Observable } from 'rxjs';\nimport { ThyCarouselItemDirective } from '../carousel-item.directive';\nimport { ThyCarousel } from '../carousel.component';\nimport { ThyDistanceVector, ThyCarouselEngine } from '../typings';\n\nexport abstract class ThyCarouselBaseEngine implements ThyCarouselEngine {\n protected contentWidth: number;\n protected contentHeight: number;\n protected readonly carouselComponent: ThyCarousel;\n protected wrapperEl: HTMLElement;\n protected playTime: number;\n protected length: number;\n protected contents: ThyCarouselItemDirective[];\n\n protected get maxIndex(): number {\n return this.length - 1;\n }\n\n protected get firstEl(): HTMLElement {\n return this.contents[0].el;\n }\n\n protected get lastEl(): HTMLElement {\n return this.contents[this.maxIndex].el;\n }\n\n protected constructor(\n thyCarouselComponent: ThyCarousel,\n protected cdr: ChangeDetectorRef,\n protected renderer: Renderer2,\n protected platform: Platform\n ) {\n this.carouselComponent = thyCarouselComponent;\n }\n\n initializeContents(contents: QueryList<ThyCarouselItemDirective> | null) {\n const carousel = this.carouselComponent!;\n const { wrapperEl, playTime } = carousel;\n this.wrapperEl = wrapperEl;\n this.playTime = playTime;\n const { width, height } = wrapperEl.getBoundingClientRect();\n this.contentHeight = height;\n this.contentWidth = width;\n\n this.contents = contents?.toArray();\n this.length = this.contents.length;\n if (this.platform.isBrowser && this.contents.length) {\n this.renderer.setStyle(this.wrapperEl, 'transform', 'translate3d(0, 0, 0)');\n this.renderer.setStyle(this.wrapperEl, `height`, `${this.contentHeight}px`);\n }\n this.contents.forEach(content => {\n content.el.removeAttribute('style');\n });\n }\n\n abstract dragging(pointerVector: ThyDistanceVector, rect: DOMRect): void;\n\n abstract initializeCarouselContents(contents: QueryList<ThyCarouselItemDirective> | null): void;\n\n abstract switch(to: number, from: number): Observable<void>;\n\n correctionOffset(): void {\n const carousel = this.carouselComponent!;\n const { wrapperEl } = carousel;\n const { width, height } = wrapperEl.getBoundingClientRect();\n this.contentWidth = width;\n this.contentHeight = height;\n }\n}\n","import { ChangeDetectorRef, QueryList, Renderer2 } from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { Observable, Subject } from 'rxjs';\nimport { ThyCarousel } from '../carousel.component';\nimport { ThyDistanceVector } from '../typings';\nimport { ThyCarouselItemDirective } from '../carousel-item.directive';\nimport { ThyCarouselBaseEngine } from '../engine/carousel-base';\n\nexport class ThyCarouselNoopEngine extends ThyCarouselBaseEngine {\n constructor(thyCarouselComponent: ThyCarousel, cdr: ChangeDetectorRef, renderer: Renderer2, platform: Platform) {\n super(thyCarouselComponent, cdr, renderer, platform);\n }\n\n dragging(pointerVector: ThyDistanceVector, rect: DOMRect): void {}\n\n initializeCarouselContents(contents: QueryList<ThyCarouselItemDirective> | null): void {\n this.initializeContents(contents);\n }\n\n switch(to: number, from: number): Observable<void> {\n const switch$ = new Subject<void>();\n this.renderer.setStyle(\n this.wrapperEl,\n `transform`,\n `translate3d(${(-(to + this.length) % this.length) * this.contentWidth}px,0 , 0)`\n );\n setTimeout(() => {\n switch$.next();\n }, 0);\n setTimeout(() => {\n switch$.complete();\n }, 0);\n return switch$.asObservable();\n }\n\n correctionOffset(): void {\n super.correctionOffset();\n const { activeIndex } = this.carouselComponent!;\n this.renderer.setStyle(this.wrapperEl, `transform`, `translate3d(${-activeIndex * this.contentWidth}px,0 , 0)`);\n }\n}\n","import { ChangeDetectorRef, QueryList, Renderer2 } from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { Observable, Subject } from 'rxjs';\nimport { ThyCarousel } from '../carousel.component';\nimport { ThyDistanceVector } from '../typings';\nimport { ThyCarouselItemDirective } from '../carousel-item.directive';\nimport { ThyCarouselBaseEngine } from '../engine/carousel-base';\n\nexport class ThyCarouselSlideEngine extends ThyCarouselBaseEngine {\n constructor(thyCarouselComponent: ThyCarousel, cdr: ChangeDetectorRef, renderer: Renderer2, platform: Platform) {\n super(thyCarouselComponent, cdr, renderer, platform);\n }\n\n private prepareHorizontalContext(activeIndex: number): void {\n if (activeIndex >= this.maxIndex) {\n this.renderer.setStyle(this.firstEl, 'left', `${this.length * this.contentWidth}px`);\n this.renderer.setStyle(this.lastEl, 'left', null);\n } else if (activeIndex <= 0) {\n this.renderer.setStyle(this.firstEl, 'left', null);\n this.renderer.setStyle(this.lastEl, 'left', `${-this.length * this.contentWidth}px`);\n } else {\n this.resetContext();\n }\n }\n\n private resetContext() {\n this.renderer.setStyle(this.lastEl, 'left', null);\n this.renderer.setStyle(this.firstEl, 'left', null);\n }\n\n initializeCarouselContents(contents: QueryList<ThyCarouselItemDirective> | null): void {\n this.initializeContents(contents);\n }\n\n dragging(pointerVector: ThyDistanceVector, rect: DOMRect): void {\n const { x } = pointerVector;\n const { width, height } = rect;\n this.contentWidth = width;\n this.contentHeight = height;\n const activeIndex = this.carouselComponent!.activeIndex;\n if (this.length > 1) {\n this.prepareHorizontalContext(activeIndex);\n }\n this.renderer.setStyle(this.wrapperEl, 'transform', `translate3d(${-activeIndex * this.contentWidth + x}px,0 , 0)`);\n }\n\n switch(to: number, from: number): Observable<void> {\n const switch$ = new Subject<void>();\n if (Math.abs(from - to) === 1 || from === to) {\n this.prepareHorizontalContext(to);\n }\n this.renderer.setStyle(this.wrapperEl, `transition-duration`, `${this.playTime}ms`);\n this.renderer.setStyle(this.wrapperEl, `transform`, `translate3d(${-to * this.contentWidth}px,0 , 0)`);\n setTimeout(() => {\n switch$.next();\n }, 0);\n setTimeout(() => {\n this.resetContext();\n this.renderer.setStyle(this.wrapperEl, `transition-duration`, `0s`);\n this.renderer.setStyle(\n this.wrapperEl,\n `transform`,\n `translate3d(${-((to + this.length) % this.length) * this.contentWidth}px,0 , 0)`\n );\n switch$.complete();\n }, this.playTime);\n return switch$.asObservable();\n }\n\n correctionOffset(): void {\n super.correctionOffset();\n const { activeIndex } = this.carouselComponent!;\n this.renderer.setStyle(this.wrapperEl, `transform`, `translate3d(${-activeIndex * this.contentWidth}px,0 , 0)`);\n }\n}\n","import { ChangeDetectorRef, QueryList, Renderer2 } from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { Observable, Subject } from 'rxjs';\nimport { ThyCarousel } from '../carousel.component';\nimport { ThyDistanceVector } from '../typings';\nimport { ThyCarouselItemDirective } from '../carousel-item.directive';\nimport { ThyCarouselBaseEngine } from '../engine/carousel-base';\n\nexport class ThyCarouselFadeEngine extends ThyCarouselBaseEngine {\n contentsEl: HTMLElement[];\n constructor(thyCarouselComponent: ThyCarousel, cdr: ChangeDetectorRef, renderer: Renderer2, platform: Platform) {\n super(thyCarouselComponent, cdr, renderer, platform);\n }\n\n dragging(pointerVector: ThyDistanceVector, rect: DOMRect): void {\n const { x } = pointerVector;\n const { width } = rect;\n const activeIndex = this.carouselComponent!.activeIndex;\n const currentContent = this.contentsEl[activeIndex];\n this.renderer.setStyle(currentContent, 'opacity', `${1 - Math.abs(x) / width}`);\n }\n\n initializeCarouselContents(contents: QueryList<ThyCarouselItemDirective> | null): void {\n this.initializeContents(contents);\n this.contentsEl = [];\n contents.forEach((content, index) => {\n this.contentsEl.push(content.el);\n this.renderer.setStyle(content.el, 'opacity', this.carouselComponent!.activeIndex === index ? '1' : '0');\n this.renderer.setStyle(content.el, 'position', 'absolute');\n this.renderer.setStyle(content.el, 'left', '0');\n this.renderer.setStyle(content.el, `transition-property`, 'opacity');\n this.renderer.setStyle(content.el, `transition-timing-function`, 'ease');\n });\n }\n\n switch(to: number, from: number): Observable<void> {\n const switch$ = new Subject<void>();\n const currentEl = this.contentsEl[from];\n const nextEl = this.contentsEl[(to + this.length) % this.length];\n this.renderer.setStyle(currentEl, `transition-duration`, `${this.playTime}ms`);\n this.renderer.setStyle(nextEl, `transition-duration`, `${this.playTime}ms`);\n this.renderer.setStyle(currentEl, 'opacity', '0');\n this.renderer.setStyle(nextEl, 'opacity', '1');\n setTimeout(() => {\n switch$.next();\n }, 0);\n setTimeout(() => {\n this.renderer.setStyle(currentEl, `transition-duration`, `0s`);\n this.renderer.setStyle(nextEl, `transition-duration`, `0s`);\n switch$.complete();\n }, this.playTime);\n return switch$.asObservable();\n }\n\n correctionOffset(): void {}\n}\n","import { Platform } from '@angular/cdk/platform';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n numberAttribute,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ThyDot } from 'ngx-tethys/dot';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { coerceBooleanProperty, isNumber, TinyDate } from 'ngx-tethys/util';\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport { ThyCarouselItemDirective } from './carousel-item.directive';\nimport { ThyCarouselService } from './carousel.service';\nimport { ThyCarouselFadeEngine, ThyCarouselNoopEngine, ThyCarouselSlideEngine } from './engine';\nimport {\n ThyCarouselEffect,\n ThyCarouselEngine,\n ThyCarouselPause,\n ThyCarouselSwitchData,\n ThyCarouselTrigger,\n ThyDistanceVector\n} from './typings';\n\n/**\n * 走马灯组件\n * @name thy-carousel\n */\n@Component({\n selector: 'thy-carousel',\n templateUrl: './carousel.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n class: 'thy-carousel'\n },\n imports: [NgTemplateOutlet, ThyDot, ThyIcon]\n})\nexport class ThyCarousel implements OnInit, AfterViewInit, AfterContentInit, OnChanges, OnDestroy {\n protected renderer = inject(Renderer2);\n private cdr = inject(ChangeDetectorRef);\n private ngZone = inject(NgZone);\n private readonly carouselService = inject(ThyCarouselService);\n private readonly platform = inject(Platform);\n\n /**\n * @private\n */\n @ContentChildren(ThyCarouselItemDirective) carouselItems!: QueryList<ThyCarouselItemDirective>;\n\n /**\n * @private\n */\n @ViewChild('carouselWrapper', { static: true }) carouselWrapper: ElementRef<HTMLElement>;\n\n /**\n * 是否自动切换,默认 false\n */\n @Input({ transform: coerceBooleanProperty }) thyAutoPlay: boolean = false;\n\n /**\n * 自动切换时间间隔(毫秒)\n */\n @Input({ transform: numberAttribute }) thyAutoPlayInterval: number = 3000;\n\n /**\n * 切换动画样式\n * @type slide | fade | noop\n */\n @Input() thyEffect: ThyCarouselEffect = 'slide';\n\n /**\n * 是否显示切换指示器\n */\n @Input({ transform: coerceBooleanProperty }) thyIndicators = true;\n\n /**\n * 指示器 Item 的渲染模板\n */\n @Input() thyIndicatorRender?: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * 是否显示左右切换\n */\n @Input({ transform: coerceBooleanProperty }) thyControls = true;\n\n /**\n * 上一个控制器渲染模板\n */\n @Input() thyControlPrev?: TemplateRef<any>;\n\n /**\n * 下一个控制器渲染模板\n */\n @Input() thyControlNext?: TemplateRef<any>;\n\n /**\n * 是否支持手势滑动\n */\n @Input({ transform: coerceBooleanProperty }) thyTouchable = true;\n\n /**\n * 指示点切换的触发条件\n * @type click | hover\n */\n @Input() thyTrigger: ThyCarouselTrigger = 'click';\n\n /**\n * 鼠标移动到指示器时是否暂停播放\n * @type false | hover\n */\n @Input() thyPause: ThyCarouselPause = 'hover';\n\n /**\n * 触发切换帧之前,返回 `{from: number, to: number}`\n */\n @Output() readonly thyBeforeChange = new EventEmitter<ThyCarouselSwitchData>();\n\n /**\n * 切换帧之后的回调,返回当前帧索引\n */\n @Output() readonly thyAfterChange = new EventEmitter<number>();\n\n private isDragging = false;\n\n private isTransitioning = false;\n\n private pointerVector: ThyDistanceVector = { x: 0, y: 0 };\n\n private engine: ThyCarouselEngine;\n\n private _trigger$ = new Subject<number | null>();\n\n private _destroy$ = new Subject<void>();\n\n wrapperDomRect: DOMRect;\n\n activeIndex = 0;\n\n wrapperEl: HTMLElement;\n\n transitionTimer: any = null;\n\n playTime: number = 400;\n\n isPause: boolean = false;\n\n private moveTo(index: number): void {\n if (this.carouselItems && this.carouselItems.length && !this.isTransitioning) {\n this.setInitialValue();\n const len = this.carouselItems.length;\n const from = this.activeIndex;\n const to = (index + len) % len;\n this.thyBeforeChange.emit({ from, to });\n this.isTransitioning = true;\n this.engine?.switch(index, this.activeIndex).subscribe(\n () => {\n this.activeIndex = to;\n this.markContentActive(this.activeIndex);\n this.scheduleNextTransition();\n this.thyAfterChange.emit(this.activeIndex);\n },\n () => {},\n () => {\n this.isTransitioning = false;\n }\n );\n this.cdr.markForCheck();\n }\n }\n\n private switchEngine(): void {\n switch (this.thyEffect) {\n case 'slide':\n this.engine = new ThyCarouselSlideEngine(this, this.cdr, this.renderer, this.platform);\n break;\n case 'fade':\n this.engine = new ThyCarouselFadeEngine(this, this.cdr, this.renderer, this.platform);\n break;\n default:\n this.engine = new ThyCarouselNoopEngine(this, this.cdr, this.renderer, this.platform);\n }\n }\n\n private markContentActive(index: number) {\n this.activeIndex = index;\n this.carouselItems.forEach((carouselContent: ThyCarouselItemDirective, i: number) => {\n carouselContent.isActive = index === i;\n });\n this.cdr.detectChanges();\n }\n\n private setInitialValue(): void {\n if (this.engine) {\n this.engine.initializeCarouselContents(this.carouselItems);\n }\n }\n\n private scheduleNextTransition(): void {\n this.clearScheduledTransition();\n if (this.thyAutoPlay && !this.isPause) {\n this.transitionTimer = setTimeout(() => {\n this.moveTo(this.activeIndex + 1);\n }, this.thyAutoPlayInterval);\n }\n }\n\n private clearScheduledTransition(): void {\n if (this.transitionTimer) {\n clearTimeout(this.transitionTimer);\n this.transitionTimer = null;\n }\n }\n\n onDrag(event: TouchEvent | MouseEvent): void {\n if (!this.isDragging && !this.isTransitioning && this.thyTouchable) {\n const mouseDownTime = new TinyDate().getTime();\n let mouseUpTime: number;\n this.clearScheduledTransition();\n this.wrapperDomRect = this.wrapperEl.getBoundingClientRect();\n this.carouselService.registerDrag(event).subscribe(\n pointerVector => {\n this.renderer.setStyle(this.wrapperEl, 'cursor', 'grabbing');\n this.pointerVector = pointerVector;\n this.isDragging = true;\n this.engine?.dragging(this.pointerVector, this.wrapperDomRect);\n },\n () => {},\n () => {\n if (this.isDragging) {\n mouseUpTime = new TinyDate().getTime();\n const holdDownTime = mouseUpTime - mouseDownTime;\n // Fast enough to switch to the next frame\n // or\n // If the pointerVector is more than one third switch to the next frame\n if (\n Math.abs(this.pointerVector.x) > this.wrapperDomRect.width / 3 ||\n Math.abs(this.pointerVector.x) / holdDownTime >= 1\n ) {\n this.moveTo(this.pointerVector.x > 0 ? this.activeIndex - 1 : this.activeIndex + 1);\n } else {\n this.moveTo(this.activeIndex);\n }\n }\n this.isDragging = false;\n this.renderer.setStyle(this.wrapperEl, 'cursor', 'grab');\n }\n );\n }\n }\n\n indicatorHandleClick(index: number): void {\n if (this.thyTrigger === 'click') {\n this.moveTo(index);\n }\n }\n\n indicatorHandleTrigger(index: number): void {\n if (this.thyPause === 'hover') {\n this.isPause = true;\n this.clearScheduledTransition();\n }\n if (this.thyTrigger === 'hover') {\n this._trigger$.next(index);\n }\n }\n\n indicatorHandleLeave() {\n if (this.thyPause === 'hover') {\n this.isPause = false;\n this.scheduleNextTransition();\n }\n }\n\n next(): void {\n this.moveTo(this.activeIndex + 1);\n }\n\n pre(): void {\n this.moveTo(this.activeIndex - 1);\n }\n\n ngOnInit(): void {\n this.wrapperEl = this.carouselWrapper!.nativeElement;\n this.ngZone.runOutsideAngular(() => {\n fromEvent(window, 'resize')\n .pipe(takeUntil(this._destroy$), debounceTime(100))\n .subscribe(() => {\n this.engine?.correctionOffset();\n });\n });\n }\n ngOnChanges(changes: SimpleChanges) {\n const { thyEffect, thyTouchable } = changes;\n if (thyEffect && !thyEffect.isFirstChange()) {\n this.switchEngine();\n this.markContentActive(0);\n this.setInitialValue();\n }\n\n if (thyTouchable && !thyTouchable.isFirstChange()) {\n this.renderer.setStyle(this.wrapperEl, 'cursor', thyTouchable.currentValue ? 'grab' : 'default');\n }\n\n if (!this.thyAutoPlay || !this.thyAutoPlayInterval) {\n this.clearScheduledTransition();\n } else {\n this.scheduleNextTransition();\n }\n }\n\n ngAfterViewInit(): void {\n this.carouselItems.changes.subscribe(() => {\n this.markContentActive(0);\n this.setInitialValue();\n });\n this.switchEngine();\n this.markContentActive(0);\n this.setInitialValue();\n\n if (!this.thyTouchable) {\n this.renderer.setStyle(this.wrapperEl, 'cursor', 'default');\n }\n }\n\n ngAfterContentInit() {\n this._trigger$.pipe(takeUntil(this._destroy$), debounceTime(this.playTime)).subscribe(index => {\n if (isNumber(index)) {\n this.moveTo(index);\n }\n });\n }\n\n ngOnDestroy() {\n this.clearScheduledTransition();\n this._trigger$.next(null);\n this._trigger$.complete();\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n @if (thyControls && carouselItems.length > 1) {\n <div class=\"thy-carousel-control-pre-wrapper\" (click)=\"pre()\">\n <ng-container *ngTemplateOutlet=\"thyControlPrev || defaultControlPrev\"></ng-container>\n </div>\n <div class=\"thy-carousel-control-next-wrapper\" (click)=\"next()\">\n <ng-container *ngTemplateOutlet=\"thyControlNext || defaultControlNext\"></ng-container>\n </div>\n }\n @if (thyIndicators) {\n <div class=\"thy-carousel-indicators\">\n @for (content of carouselItems; track $index; let i = $index) {\n <span\n class=\"thy-carousel-indicator\"\n (mouseenter)=\"indicatorHandleTrigger(i)\"\n (mouseleave)=\"indicatorHandleLeave()\"\n (click)=\"indicatorHandleClick(i)\">\n <ng-template\n [ngTemplateOutlet]=\"thyIndicatorRender || defaultIndicatorRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"></ng-template>\n </span>\n }\n </div>\n }\n</div>\n\n<ng-template #defaultIndicatorRender let-active>\n <thy-dot [class.active]=\"active\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultControlPrev>\n <div class=\"thy-carousel-control thy-carousel-control-pre\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n</ng-template>\n\n<ng-template #defaultControlNext>\n <div class=\"thy-carousel-control thy-carousel-control-next\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyCarousel } from './carousel.component';\nimport { ThyCarouselItemDirective } from './carousel-item.directive';\nimport { ThyDotModule } from 'ngx-tethys/dot';\nimport { ThyIconModule } from 'ngx-tethys/icon';\n\nconst COMPONENTS = [ThyCarousel, ThyCarouselItemDirective];\n\n@NgModule({\n exports: [...COMPONENTS],\n imports: [CommonModule, ThyDotModule, ThyIconModule, ...COMPONENTS]\n})\nexport class ThyCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CdkOverlayOrigin, CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
|
|
2
2
|
import { NgTemplateOutlet, NgClass, isPlatformBrowser, NgStyle, CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { EventEmitter,
|
|
4
|
+
import { EventEmitter, Output, Input, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component, HostListener, Injectable, TemplateRef, inject, PLATFORM_ID, ChangeDetectorRef, ElementRef, NgZone, forwardRef, numberAttribute, ViewChild, ViewChildren, NgModule } from '@angular/core';
|
|
5
5
|
import * as i1 from '@angular/forms';
|
|
6
6
|
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
7
|
import { ThyCheckbox, ThyCheckboxModule } from 'ngx-tethys/checkbox';
|
|
8
8
|
import { ThyEmpty, ThyEmptyModule } from 'ngx-tethys/empty';
|
|
9
9
|
import { ThyFlexibleText, ThyFlexibleTextModule } from 'ngx-tethys/flexible-text';
|
|
10
|
-
import {
|
|
10
|
+
import { ThyIconModule } from 'ngx-tethys/icon';
|
|
11
11
|
import { ThyInputModule } from 'ngx-tethys/input';
|
|
12
12
|
import { ThyStopPropagationDirective, ThySelectControl, ThySelectCommonModule } from 'ngx-tethys/shared';
|
|
13
13
|
import { ThyRadio } from 'ngx-tethys/radio';
|
|
@@ -46,12 +46,12 @@ class ThyCascaderOptionComponent {
|
|
|
46
46
|
toggleOption(value) {
|
|
47
47
|
this.toggleSelectChange.emit(value);
|
|
48
48
|
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCascaderOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: ThyCascaderOptionComponent, isStandalone: true, selector: "[thy-cascader-option]", inputs: { option: "option", multiple: ["multiple", "multiple", coerceBooleanProperty], isOnlySelectLeaf: ["isOnlySelectLeaf", "isOnlySelectLeaf", coerceBooleanProperty], optionRender: "optionRender", active: ["active", "active", coerceBooleanProperty], halfSelected: ["halfSelected", "halfSelected", coerceBooleanProperty], selected: ["selected", "selected", coerceBooleanProperty], labelProperty: "labelProperty" }, outputs: { toggleSelectChange: "toggleSelectChange" }, host: { properties: { "class": "this.class", "class.thy-cascader-menu-item": "this.item", "class.thy-cascader-menu-item-active": "this.active", "class.thy-cascader-menu-item-disabled": "this.disabled", "class.thy-cascader-menu-item-expand": "this.expand" } }, ngImport: i0, template: "@if (!option.readonly) {\n <div thyStopPropagation>\n @if (multiple) {\n <label class=\"mr-2\" thyCheckbox [disabled]=\"option.disabled\" [name]=\"option.value || option._id\"\n [thyIndeterminate]=\"halfSelected\" [(ngModel)]=\"selected\" (ngModelChange)=\"toggleOption($event)\"></label>\n }\n @if (!multiple && !isOnlySelectLeaf) {\n <label class=\"mr-2\" thyRadio [disabled]=\"option.disabled\"\n [name]=\"option.value || option._id\" [(ngModel)]=\"selected\" (ngModelChange)=\"toggleOption($event)\"></label>\n }\n </div>\n}\n\n\n@if (!optionRender) {\n <span thyFlexibleText [thyTooltipContent]=\"option[labelProperty] || ''\"> {{ option[labelProperty] || '' }}</span>\n} @else {\n <ng-template [ngTemplateOutlet]=\"optionRender\" [ngTemplateOutletContext]=\"{ option }\"></ng-template>\n}\n\n@if (!option.isLeaf || (option.children && option.children.length) || option.loading) {\n <span\n class=\"wtf wtf-angle-right thy-cascader-menu-item-expand-icon\">\n </span>\n}\n", dependencies: [{ kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "component", type: ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "component", type: ThyRadio, selector: "[thy-radio],[thyRadio]", inputs: ["thyValue"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
51
51
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCascaderOptionComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, selector: '[thy-cascader-option]',
|
|
54
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, selector: '[thy-cascader-option]', imports: [ThyFlexibleText, ThyCheckbox, ThyRadio, FormsModule, ThyStopPropagationDirective, NgTemplateOutlet], template: "@if (!option.readonly) {\n <div thyStopPropagation>\n @if (multiple) {\n <label class=\"mr-2\" thyCheckbox [disabled]=\"option.disabled\" [name]=\"option.value || option._id\"\n [thyIndeterminate]=\"halfSelected\" [(ngModel)]=\"selected\" (ngModelChange)=\"toggleOption($event)\"></label>\n }\n @if (!multiple && !isOnlySelectLeaf) {\n <label class=\"mr-2\" thyRadio [disabled]=\"option.disabled\"\n [name]=\"option.value || option._id\" [(ngModel)]=\"selected\" (ngModelChange)=\"toggleOption($event)\"></label>\n }\n </div>\n}\n\n\n@if (!optionRender) {\n <span thyFlexibleText [thyTooltipContent]=\"option[labelProperty] || ''\"> {{ option[labelProperty] || '' }}</span>\n} @else {\n <ng-template [ngTemplateOutlet]=\"optionRender\" [ngTemplateOutletContext]=\"{ option }\"></ng-template>\n}\n\n@if (!option.isLeaf || (option.children && option.children.length) || option.loading) {\n <span\n class=\"wtf wtf-angle-right thy-cascader-menu-item-expand-icon\">\n </span>\n}\n" }]
|
|
55
55
|
}], ctorParameters: () => [], propDecorators: { option: [{
|
|
56
56
|
type: Input
|
|
57
57
|
}], multiple: [{
|
|
@@ -120,12 +120,12 @@ class ThyCascaderSearchOptionComponent {
|
|
|
120
120
|
toggleOption(value) {
|
|
121
121
|
this.toggleSelectChange.emit(this.option);
|
|
122
122
|
}
|
|
123
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
124
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCascaderSearchOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
124
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: ThyCascaderSearchOptionComponent, isStandalone: true, selector: "[thy-cascader-search-option]", inputs: { option: "option", multiple: ["multiple", "multiple", coerceBooleanProperty], isOnlySelectLeaf: ["isOnlySelectLeaf", "isOnlySelectLeaf", coerceBooleanProperty], active: ["active", "active", coerceBooleanProperty], optionRender: "optionRender" }, outputs: { toggleSelectChange: "toggleSelectChange" }, host: { listeners: { "click": "toggleClick($event)" }, properties: { "class.multiple": "this.multiple", "class": "this.className", "class.active": "this.active" } }, ngImport: i0, template: "@if (multiple) {\n <label\n class=\"mr-1\"\n thyCheckbox\n [disabled]=\"option.thyRowValue[option.thyRowValue.length - 1].disabled\"\n [ngModel]=\"active\"\n (click)=\"clickCheckbox($event)\"\n (ngModelChange)=\"toggleOption($event)\"\n [thyLabelText]=\"''\"></label>\n}\n\n<thy-breadcrumb thySeparator=\"slash\">\n @for (label of option.labelList; track $index; let i = $index) {\n <thy-breadcrumb-item [ngClass]=\"{ 'text-muted': !(option.thyRowValue[i].isLeaf && isOnlySelectLeaf) }\">\n @if (!optionRender) {\n <span class=\"option-label-item\" thyFlexibleText [thyTooltipContent]=\"label\">{{ label }}</span>\n } @else {\n <ng-template [ngTemplateOutlet]=\"optionRender\" [ngTemplateOutletContext]=\"{ option: option.thyRowValue[i] }\"> </ng-template>\n }\n </thy-breadcrumb-item>\n }\n</thy-breadcrumb>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "component", type: ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "component", type: ThyBreadcrumb, selector: "thy-breadcrumb", inputs: ["thyIcon", "thySeparator", "thyItems", "thyMaxCount", "thyExpandable"], exportAs: ["ThyBreadcrumb"] }, { kind: "component", type: ThyBreadcrumbItem, selector: "thy-breadcrumb-item,[thyBreadcrumbItem]", exportAs: ["ThyBreadcrumbItem"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
125
125
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCascaderSearchOptionComponent, decorators: [{
|
|
127
127
|
type: Component,
|
|
128
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, selector: '[thy-cascader-search-option]',
|
|
128
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, selector: '[thy-cascader-search-option]', imports: [NgClass, ThyFlexibleText, ThyCheckbox, ThyBreadcrumb, ThyBreadcrumbItem, FormsModule, NgTemplateOutlet], template: "@if (multiple) {\n <label\n class=\"mr-1\"\n thyCheckbox\n [disabled]=\"option.thyRowValue[option.thyRowValue.length - 1].disabled\"\n [ngModel]=\"active\"\n (click)=\"clickCheckbox($event)\"\n (ngModelChange)=\"toggleOption($event)\"\n [thyLabelText]=\"''\"></label>\n}\n\n<thy-breadcrumb thySeparator=\"slash\">\n @for (label of option.labelList; track $index; let i = $index) {\n <thy-breadcrumb-item [ngClass]=\"{ 'text-muted': !(option.thyRowValue[i].isLeaf && isOnlySelectLeaf) }\">\n @if (!optionRender) {\n <span class=\"option-label-item\" thyFlexibleText [thyTooltipContent]=\"label\">{{ label }}</span>\n } @else {\n <ng-template [ngTemplateOutlet]=\"optionRender\" [ngTemplateOutletContext]=\"{ option: option.thyRowValue[i] }\"> </ng-template>\n }\n </thy-breadcrumb-item>\n }\n</thy-breadcrumb>\n" }]
|
|
129
129
|
}], ctorParameters: () => [], propDecorators: { option: [{
|
|
130
130
|
type: Input
|
|
131
131
|
}], multiple: [{
|
|
@@ -700,10 +700,10 @@ class ThyCascaderService {
|
|
|
700
700
|
}
|
|
701
701
|
return array1.every((element, index) => element === array2[index]);
|
|
702
702
|
}
|
|
703
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
704
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
703
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCascaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
704
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCascaderService }); }
|
|
705
705
|
}
|
|
706
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
706
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCascaderService, decorators: [{
|
|
707
707
|
type: Injectable
|
|
708
708
|
}] });
|
|
709
709
|
|
|
@@ -1291,7 +1291,7 @@ class ThyCascader extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
1291
1291
|
this.ngZone.runOutsideAngular(() => {
|
|
1292
1292
|
this.resizeSubscription = new Observable(observer => {
|
|
1293
1293
|
const resize = new ResizeObserver((entries) => {
|
|
1294
|
-
observer.next();
|
|
1294
|
+
observer.next(null);
|
|
1295
1295
|
});
|
|
1296
1296
|
resize.observe(this.trigger.nativeElement);
|
|
1297
1297
|
}).subscribe(() => {
|
|
@@ -1316,8 +1316,8 @@ class ThyCascader extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
1316
1316
|
this.destroy$.next();
|
|
1317
1317
|
this.destroy$.complete();
|
|
1318
1318
|
}
|
|
1319
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1320
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1319
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCascader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1320
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: ThyCascader, isStandalone: true, selector: "thy-cascader,[thy-cascader]", inputs: { thyValueProperty: "thyValueProperty", thyLabelProperty: "thyLabelProperty", thyPlaceholder: "thyPlaceholder", thySize: "thySize", thyOptions: "thyOptions", thyCustomOptions: "thyCustomOptions", thyChangeOn: "thyChangeOn", thyChangeOnSelect: ["thyChangeOnSelect", "thyChangeOnSelect", coerceBooleanProperty], thyShowInput: ["thyShowInput", "thyShowInput", coerceBooleanProperty], thyOptionRender: "thyOptionRender", thyLabelRender: "thyLabelRender", thyLoadData: "thyLoadData", thyTriggerAction: "thyTriggerAction", thyExpandTriggerAction: "thyExpandTriggerAction", thyMenuStyle: "thyMenuStyle", thySearchListStyle: "thySearchListStyle", thyMenuClassName: "thyMenuClassName", thyColumnClassName: "thyColumnClassName", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], thyEmptyStateText: "thyEmptyStateText", thyMultiple: ["thyMultiple", "thyMultiple", coerceBooleanProperty], thyMaxTagCount: ["thyMaxTagCount", "thyMaxTagCount", numberAttribute], thyIsOnlySelectLeaf: ["thyIsOnlySelectLeaf", "thyIsOnlySelectLeaf", coerceBooleanProperty], thyAutoExpand: ["thyAutoExpand", "thyAutoExpand", coerceBooleanProperty], thyShowSearch: ["thyShowSearch", "thyShowSearch", coerceBooleanProperty], thyPreset: "thyPreset", thyHasBackdrop: ["thyHasBackdrop", "thyHasBackdrop", coerceBooleanProperty] }, outputs: { thyChange: "thyChange", thySelectionChange: "thySelectionChange", thySelect: "thySelect", thyDeselect: "thyDeselect", thyClear: "thyClear", thyExpandStatusChange: "thyExpandStatusChange" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur($event)", "click": "toggleClick($event)", "mouseenter": "toggleMouseEnter($event)", "mouseleave": "toggleMouseLeave($event)" }, properties: { "attr.tabindex": "tabIndex" } }, providers: [
|
|
1321
1321
|
{
|
|
1322
1322
|
provide: NG_VALUE_ACCESSOR,
|
|
1323
1323
|
useExisting: forwardRef(() => ThyCascader),
|
|
@@ -1326,7 +1326,7 @@ class ThyCascader extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
1326
1326
|
ThyCascaderService
|
|
1327
1327
|
], viewQueries: [{ propertyName: "cdkConnectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, static: true }, { propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, read: ElementRef, static: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "menu", first: true, predicate: ["menu"], descendants: true }, { propertyName: "cascaderOptions", predicate: ["cascaderOptions"], descendants: true, read: ElementRef }, { propertyName: "cascaderOptionContainers", predicate: ["cascaderOptionContainers"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" #trigger>\n @if (thyShowInput) {\n <div\n thySelectControl\n [thyShowSearch]=\"thyShowSearch\"\n [thySize]=\"thySize\"\n [thyAllowClear]=\"true\"\n [thySelectedOptions]=\"selected\"\n [thyMaxTagCount]=\"thyMaxTagCount\"\n (thyOnRemove)=\"removeSelectedItem($event)\"\n (thyOnClear)=\"clearSelection($event)\"\n (thyOnBlur)=\"onBlur($event)\"\n (thyOnSearch)=\"searchFilter($event)\"\n [thyDisabled]=\"disabled\"\n [thyIsMultiple]=\"thyMultiple\"\n [thyPanelOpened]=\"menuVisible\"\n [thyPlaceholder]=\"thyPlaceholder\"\n [customDisplayTemplate]=\"customDisplayTemplate\"\n [thyPreset]=\"thyPreset\">\n <ng-template #customDisplayTemplate let-value>\n @if (!isLabelRenderTemplate) {\n <span [ngClass]=\"labelCls\">{{ value.labelText }}</span>\n } @else {\n <span [ngClass]=\"labelCls\">\n <ng-template [ngTemplateOutlet]=\"thyLabelRender\" [ngTemplateOutletContext]=\"value.labelRenderContext\"></ng-template>\n </span>\n }\n </ng-template>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayHasBackdrop]=\"thyHasBackdrop\"\n cdkConnectedOverlayBackdropClass=\"thy-cascader-backdrop\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayMinWidth]=\"menuMinWidth\"\n cdkConnectedOverlayTransformOriginOn=\".thy-cascader-menus\"\n (backdropClick)=\"closeMenu()\"\n (detach)=\"closeMenu()\"\n (attach)=\"attached()\"\n (positionChange)=\"positionChange($event)\"\n [cdkConnectedOverlayOpen]=\"menuVisible\">\n <div\n [attr.tabindex]=\"-1\"\n #menu\n [ngClass]=\"menuCls\"\n [ngStyle]=\"thyMenuStyle\"\n (mouseleave)=\"toggleMouseLeave($event)\"\n [@scaleYMotion]=\"'enter'\">\n @if (!isShowSearchPanel) {\n @if (columns.length > 0) {\n @for (options of columns; track $index; let i = $index; let isFirst = $first) {\n <ul #cascaderOptionContainers [ngClass]=\"menuColumnCls\">\n @if (thyCustomOptions && thyCustomOptions.length > 0 && isFirst) {\n @for (customOpt of thyCustomOptions; track trackByFn($index, customOpt)) {\n <li\n #cascaderOptions\n thy-cascader-option\n [option]=\"customOpt\"\n [multiple]=\"thyMultiple\"\n [isOnlySelectLeaf]=\"thyIsOnlySelectLeaf\"\n [labelProperty]=\"thyLabelProperty\"\n [active]=\"isActivatedOption(customOpt, 0)\"\n [halfSelected]=\"isHalfSelectedOption(customOpt, 0)\"\n [selected]=\"isSelectedOption(customOpt, 0)\"\n (toggleSelectChange)=\"clickCustomOption(customOpt, 0, $event)\"\n (click)=\"clickCustomOption(customOpt, 0, $event)\"\n (mouseover)=\"mouseoverOption(customOpt, 0, $event)\"></li>\n }\n <thy-divider class=\"my-1 mx-4\"></thy-divider>\n }\n @for (option of options; track trackByFn($index, option)) {\n <li\n #cascaderOptions\n thy-cascader-option\n [option]=\"option\"\n [multiple]=\"thyMultiple\"\n [isOnlySelectLeaf]=\"thyIsOnlySelectLeaf\"\n [labelProperty]=\"thyLabelProperty\"\n [active]=\"isActivatedOption(option, i)\"\n [halfSelected]=\"isHalfSelectedOption(option, i)\"\n [selected]=\"isSelectedOption(option, i)\"\n [optionRender]=\"thyOptionRender\"\n (toggleSelectChange)=\"clickOption(option, i, $event)\"\n (click)=\"clickOption(option, i, $event)\"\n (mouseover)=\"mouseoverOption(option, i, $event)\"></li>\n }\n </ul>\n }\n } @else {\n <div class=\"thy-cascader-empty-container\" [ngStyle]=\"{ 'width.px': triggerRect?.width }\">\n <thy-empty class=\"thy-select-empty-content\" thySize=\"sm\" [thyMessage]=\"emptyStateText\" [thyIconName]=\"emptyIcon()\"></thy-empty>\n </div>\n }\n }\n @if (isShowSearchPanel) {\n @if (searchResultList.length) {\n <ul class=\"thy-cascader-search-list py-3\" [ngStyle]=\"thySearchListStyle\">\n @for (item of searchResultList; track $index) {\n <li\n thy-cascader-search-option\n [multiple]=\"thyMultiple\"\n [isOnlySelectLeaf]=\"thyIsOnlySelectLeaf\"\n [option]=\"item\"\n [active]=\"item.selected\"\n [optionRender]=\"thyOptionRender\"\n (toggleSelectChange)=\"selectSearchResult($event)\"></li>\n }\n </ul>\n } @else {\n <div class=\"thy-cascader-empty-container\" [ngStyle]=\"{ 'width.px': triggerRect?.width }\">\n <thy-empty class=\"thy-select-empty-content\" thySize=\"sm\" [thyMessage]=\"emptyStateText\" [thyIconName]=\"emptyIcon()\"></thy-empty>\n </div>\n }\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: ThySelectControl, selector: "thy-select-control,[thySelectControl]", inputs: ["thyPanelOpened", "thyIsMultiple", "thyShowSearch", "thySelectedOptions", "thyDisabled", "customDisplayTemplate", "thyAllowClear", "thyPlaceholder", "thySize", "thyMaxTagCount", "thyBorderless", "thyPreset"], outputs: ["thyOnSearch", "thyOnRemove", "thyOnClear", "thyOnBlur"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ThyCascaderOptionComponent, selector: "[thy-cascader-option]", inputs: ["option", "multiple", "isOnlySelectLeaf", "optionRender", "active", "halfSelected", "selected", "labelProperty"], outputs: ["toggleSelectChange"] }, { kind: "component", type: ThyCascaderSearchOptionComponent, selector: "[thy-cascader-search-option]", inputs: ["option", "multiple", "isOnlySelectLeaf", "active", "optionRender"], outputs: ["toggleSelectChange"] }, { kind: "component", type: ThyEmpty, selector: "thy-empty", inputs: ["thyMessage", "thyTranslationKey", "thyTranslationValues", "thyEntityName", "thyEntityNameTranslateKey", "thyIconName", "thySize", "thyMarginTop", "thyTopAuto", "thyContainer", "thyImageUrl", "thyImageLoading", "thyImageFetchPriority", "thyDescription"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }], animations: [scaleYMotion] }); }
|
|
1328
1328
|
}
|
|
1329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCascader, decorators: [{
|
|
1330
1330
|
type: Component,
|
|
1331
1331
|
args: [{ selector: 'thy-cascader,[thy-cascader]', providers: [
|
|
1332
1332
|
{
|
|
@@ -1339,7 +1339,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1339
1339
|
'[attr.tabindex]': `tabIndex`,
|
|
1340
1340
|
'(focus)': 'onFocus($event)',
|
|
1341
1341
|
'(blur)': 'onBlur($event)'
|
|
1342
|
-
},
|
|
1342
|
+
}, imports: [
|
|
1343
1343
|
CdkOverlayOrigin,
|
|
1344
1344
|
ThySelectControl,
|
|
1345
1345
|
NgClass,
|
|
@@ -1349,7 +1349,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1349
1349
|
ThyCascaderOptionComponent,
|
|
1350
1350
|
ThyCascaderSearchOptionComponent,
|
|
1351
1351
|
ThyEmpty,
|
|
1352
|
-
ThyIcon,
|
|
1353
1352
|
ThyDivider
|
|
1354
1353
|
], animations: [scaleYMotion], template: "<div cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" #trigger>\n @if (thyShowInput) {\n <div\n thySelectControl\n [thyShowSearch]=\"thyShowSearch\"\n [thySize]=\"thySize\"\n [thyAllowClear]=\"true\"\n [thySelectedOptions]=\"selected\"\n [thyMaxTagCount]=\"thyMaxTagCount\"\n (thyOnRemove)=\"removeSelectedItem($event)\"\n (thyOnClear)=\"clearSelection($event)\"\n (thyOnBlur)=\"onBlur($event)\"\n (thyOnSearch)=\"searchFilter($event)\"\n [thyDisabled]=\"disabled\"\n [thyIsMultiple]=\"thyMultiple\"\n [thyPanelOpened]=\"menuVisible\"\n [thyPlaceholder]=\"thyPlaceholder\"\n [customDisplayTemplate]=\"customDisplayTemplate\"\n [thyPreset]=\"thyPreset\">\n <ng-template #customDisplayTemplate let-value>\n @if (!isLabelRenderTemplate) {\n <span [ngClass]=\"labelCls\">{{ value.labelText }}</span>\n } @else {\n <span [ngClass]=\"labelCls\">\n <ng-template [ngTemplateOutlet]=\"thyLabelRender\" [ngTemplateOutletContext]=\"value.labelRenderContext\"></ng-template>\n </span>\n }\n </ng-template>\n </div>\n }\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayHasBackdrop]=\"thyHasBackdrop\"\n cdkConnectedOverlayBackdropClass=\"thy-cascader-backdrop\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayMinWidth]=\"menuMinWidth\"\n cdkConnectedOverlayTransformOriginOn=\".thy-cascader-menus\"\n (backdropClick)=\"closeMenu()\"\n (detach)=\"closeMenu()\"\n (attach)=\"attached()\"\n (positionChange)=\"positionChange($event)\"\n [cdkConnectedOverlayOpen]=\"menuVisible\">\n <div\n [attr.tabindex]=\"-1\"\n #menu\n [ngClass]=\"menuCls\"\n [ngStyle]=\"thyMenuStyle\"\n (mouseleave)=\"toggleMouseLeave($event)\"\n [@scaleYMotion]=\"'enter'\">\n @if (!isShowSearchPanel) {\n @if (columns.length > 0) {\n @for (options of columns; track $index; let i = $index; let isFirst = $first) {\n <ul #cascaderOptionContainers [ngClass]=\"menuColumnCls\">\n @if (thyCustomOptions && thyCustomOptions.length > 0 && isFirst) {\n @for (customOpt of thyCustomOptions; track trackByFn($index, customOpt)) {\n <li\n #cascaderOptions\n thy-cascader-option\n [option]=\"customOpt\"\n [multiple]=\"thyMultiple\"\n [isOnlySelectLeaf]=\"thyIsOnlySelectLeaf\"\n [labelProperty]=\"thyLabelProperty\"\n [active]=\"isActivatedOption(customOpt, 0)\"\n [halfSelected]=\"isHalfSelectedOption(customOpt, 0)\"\n [selected]=\"isSelectedOption(customOpt, 0)\"\n (toggleSelectChange)=\"clickCustomOption(customOpt, 0, $event)\"\n (click)=\"clickCustomOption(customOpt, 0, $event)\"\n (mouseover)=\"mouseoverOption(customOpt, 0, $event)\"></li>\n }\n <thy-divider class=\"my-1 mx-4\"></thy-divider>\n }\n @for (option of options; track trackByFn($index, option)) {\n <li\n #cascaderOptions\n thy-cascader-option\n [option]=\"option\"\n [multiple]=\"thyMultiple\"\n [isOnlySelectLeaf]=\"thyIsOnlySelectLeaf\"\n [labelProperty]=\"thyLabelProperty\"\n [active]=\"isActivatedOption(option, i)\"\n [halfSelected]=\"isHalfSelectedOption(option, i)\"\n [selected]=\"isSelectedOption(option, i)\"\n [optionRender]=\"thyOptionRender\"\n (toggleSelectChange)=\"clickOption(option, i, $event)\"\n (click)=\"clickOption(option, i, $event)\"\n (mouseover)=\"mouseoverOption(option, i, $event)\"></li>\n }\n </ul>\n }\n } @else {\n <div class=\"thy-cascader-empty-container\" [ngStyle]=\"{ 'width.px': triggerRect?.width }\">\n <thy-empty class=\"thy-select-empty-content\" thySize=\"sm\" [thyMessage]=\"emptyStateText\" [thyIconName]=\"emptyIcon()\"></thy-empty>\n </div>\n }\n }\n @if (isShowSearchPanel) {\n @if (searchResultList.length) {\n <ul class=\"thy-cascader-search-list py-3\" [ngStyle]=\"thySearchListStyle\">\n @for (item of searchResultList; track $index) {\n <li\n thy-cascader-search-option\n [multiple]=\"thyMultiple\"\n [isOnlySelectLeaf]=\"thyIsOnlySelectLeaf\"\n [option]=\"item\"\n [active]=\"item.selected\"\n [optionRender]=\"thyOptionRender\"\n (toggleSelectChange)=\"selectSearchResult($event)\"></li>\n }\n </ul>\n } @else {\n <div class=\"thy-cascader-empty-container\" [ngStyle]=\"{ 'width.px': triggerRect?.width }\">\n <thy-empty class=\"thy-select-empty-content\" thySize=\"sm\" [thyMessage]=\"emptyStateText\" [thyIconName]=\"emptyIcon()\"></thy-empty>\n </div>\n }\n }\n </div>\n</ng-template>\n" }]
|
|
1355
1354
|
}], ctorParameters: () => [], propDecorators: { thyValueProperty: [{
|
|
@@ -1457,8 +1456,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1457
1456
|
}] } });
|
|
1458
1457
|
|
|
1459
1458
|
class ThyCascaderModule {
|
|
1460
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1461
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1459
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCascaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1460
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.2", ngImport: i0, type: ThyCascaderModule, imports: [CommonModule,
|
|
1462
1461
|
FormsModule,
|
|
1463
1462
|
OverlayModule,
|
|
1464
1463
|
ThyInputModule,
|
|
@@ -1470,7 +1469,7 @@ class ThyCascaderModule {
|
|
|
1470
1469
|
ThyCascader,
|
|
1471
1470
|
ThyCascaderOptionComponent,
|
|
1472
1471
|
ThyCascaderSearchOptionComponent], exports: [ThyCascader] }); }
|
|
1473
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
1472
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCascaderModule, imports: [CommonModule,
|
|
1474
1473
|
FormsModule,
|
|
1475
1474
|
OverlayModule,
|
|
1476
1475
|
ThyInputModule,
|
|
@@ -1483,7 +1482,7 @@ class ThyCascaderModule {
|
|
|
1483
1482
|
ThyCascaderOptionComponent,
|
|
1484
1483
|
ThyCascaderSearchOptionComponent] }); }
|
|
1485
1484
|
}
|
|
1486
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1485
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyCascaderModule, decorators: [{
|
|
1487
1486
|
type: NgModule,
|
|
1488
1487
|
args: [{
|
|
1489
1488
|
imports: [
|