ngx-tethys 18.2.7 → 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 +10 -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 +3 -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 +63 -64
- 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/input/input.component.d.ts +1 -1
- package/layout/header.component.d.ts +21 -3
- 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 -134
- package/esm2022/i18n/locales/en-us.mjs +0 -155
- package/esm2022/i18n/locales/ja-jp.mjs +0 -134
- package/esm2022/i18n/locales/zh-hans.mjs +0 -134
- package/esm2022/i18n/locales/zh-hant.mjs +0 -134
- 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 -405
- 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,6 +1,6 @@
|
|
|
1
1
|
import { NgTemplateOutlet, NgClass, CommonModule } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { EventEmitter,
|
|
3
|
+
import { EventEmitter, Output, Input, Component, inject, ChangeDetectorRef, TemplateRef, forwardRef, numberAttribute, HostBinding, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
4
4
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
5
5
|
import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
|
|
6
6
|
import { ThyStopPropagationDirective, ThySharedModule } from 'ngx-tethys/shared';
|
|
@@ -24,8 +24,8 @@ class ThyRateItem {
|
|
|
24
24
|
clickRateItem(isHalf) {
|
|
25
25
|
this.itemClick.next(isHalf && this.allowHalf);
|
|
26
26
|
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyRateItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.2", type: ThyRateItem, isStandalone: true, selector: "thy-rate-item, [thy-rate-item]", inputs: { allowHalf: ["allowHalf", "allowHalf", coerceBooleanProperty], iconValue: "iconValue", iconTemplate: "iconTemplate" }, outputs: { itemHover: "itemHover", itemClick: "itemClick" }, ngImport: i0, template: `
|
|
29
29
|
<div class="thy-rate-item-left" thyStopPropagation (mouseover)="hoverRateItem(true)" (click)="clickRateItem(true)">
|
|
30
30
|
<ng-template [ngTemplateOutlet]="iconTemplate || (iconValue && character) || defaultTemplate"></ng-template>
|
|
31
31
|
</div>
|
|
@@ -42,7 +42,7 @@ class ThyRateItem {
|
|
|
42
42
|
</ng-template>
|
|
43
43
|
`, isInline: true, dependencies: [{ kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyRateItem, decorators: [{
|
|
46
46
|
type: Component,
|
|
47
47
|
args: [{
|
|
48
48
|
selector: 'thy-rate-item, [thy-rate-item]',
|
|
@@ -62,7 +62,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
62
62
|
<thy-icon [thyIconName]="iconValue"></thy-icon>
|
|
63
63
|
</ng-template>
|
|
64
64
|
`,
|
|
65
|
-
standalone: true,
|
|
66
65
|
imports: [ThyStopPropagationDirective, NgTemplateOutlet, ThyIcon]
|
|
67
66
|
}]
|
|
68
67
|
}], ctorParameters: () => [], propDecorators: { allowHalf: [{
|
|
@@ -268,8 +267,8 @@ class ThyRate extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
268
267
|
trackByFn(index, item) {
|
|
269
268
|
return item || index;
|
|
270
269
|
}
|
|
271
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
272
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
270
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyRate, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
271
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: ThyRate, isStandalone: true, selector: "thy-rate", inputs: { thyCount: ["thyCount", "thyCount", numberAttribute], thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], thyAllowHalf: ["thyAllowHalf", "thyAllowHalf", coerceBooleanProperty], thyAllowClear: ["thyAllowClear", "thyAllowClear", coerceBooleanProperty], thyTooltips: "thyTooltips", thyIconTemplate: "thyIconTemplate" }, outputs: { thyItemHoverChange: "thyItemHoverChange" }, host: { properties: { "attr.tabindex": "tabIndex", "class.thy-rate": "this.className" }, classAttribute: "thy-rate" }, providers: [
|
|
273
272
|
{
|
|
274
273
|
provide: NG_VALUE_ACCESSOR,
|
|
275
274
|
useExisting: forwardRef(() => ThyRate),
|
|
@@ -277,7 +276,7 @@ class ThyRate extends TabIndexDisabledControlValueAccessorMixin {
|
|
|
277
276
|
}
|
|
278
277
|
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-rate-container\" [class.thy-rate-container--disabled]=\"thyDisabled\" (mouseleave)=\"onRateLeave($event)\">\n @for (star of rateArray; track trackByFn(index, star); let index = $index) {\n <div\n thyStopPropagation\n class=\"thy-rate-star\"\n [ngClass]=\"rateStyleArray[index] || ''\"\n thy-rate-item\n [allowHalf]=\"thyAllowHalf\"\n [iconValue]=\"iconValue\"\n [iconTemplate]=\"iconTemplate\"\n (itemHover)=\"itemHover($event, index)\"\n (itemClick)=\"itemClick($event, index)\"\n [thyTooltip]=\"thyTooltips[index]\"\n thyTooltipPlacement=\"top\"\n ></div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "component", type: ThyRateItem, selector: "thy-rate-item, [thy-rate-item]", inputs: ["allowHalf", "iconValue", "iconTemplate"], outputs: ["itemHover", "itemClick"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
279
278
|
}
|
|
280
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyRate, decorators: [{
|
|
281
280
|
type: Component,
|
|
282
281
|
args: [{ selector: 'thy-rate', providers: [
|
|
283
282
|
{
|
|
@@ -288,7 +287,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
288
287
|
], host: {
|
|
289
288
|
'[attr.tabindex]': `tabIndex`,
|
|
290
289
|
class: 'thy-rate'
|
|
291
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush,
|
|
290
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, imports: [ThyStopPropagationDirective, ThyRateItem, NgClass, ThyTooltipDirective], template: "<div class=\"thy-rate-container\" [class.thy-rate-container--disabled]=\"thyDisabled\" (mouseleave)=\"onRateLeave($event)\">\n @for (star of rateArray; track trackByFn(index, star); let index = $index) {\n <div\n thyStopPropagation\n class=\"thy-rate-star\"\n [ngClass]=\"rateStyleArray[index] || ''\"\n thy-rate-item\n [allowHalf]=\"thyAllowHalf\"\n [iconValue]=\"iconValue\"\n [iconTemplate]=\"iconTemplate\"\n (itemHover)=\"itemHover($event, index)\"\n (itemClick)=\"itemClick($event, index)\"\n [thyTooltip]=\"thyTooltips[index]\"\n thyTooltipPlacement=\"top\"\n ></div>\n }\n</div>\n" }]
|
|
292
291
|
}], ctorParameters: () => [], propDecorators: { thyCount: [{
|
|
293
292
|
type: Input,
|
|
294
293
|
args: [{ transform: numberAttribute }]
|
|
@@ -314,11 +313,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
314
313
|
}] } });
|
|
315
314
|
|
|
316
315
|
class ThyRateModule {
|
|
317
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
318
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
319
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
316
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyRateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
317
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.2", ngImport: i0, type: ThyRateModule, imports: [CommonModule, FormsModule, ThySharedModule, ThyIconModule, ThyTooltipModule, ThyRate, ThyRateItem], exports: [ThyRate] }); }
|
|
318
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyRateModule, imports: [CommonModule, FormsModule, ThySharedModule, ThyIconModule, ThyTooltipModule, ThyRate, ThyRateItem] }); }
|
|
320
319
|
}
|
|
321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
320
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyRateModule, decorators: [{
|
|
322
321
|
type: NgModule,
|
|
323
322
|
args: [{
|
|
324
323
|
imports: [CommonModule, FormsModule, ThySharedModule, ThyIconModule, ThyTooltipModule, ThyRate, ThyRateItem],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-rate.mjs","sources":["../../../src/rate/rate-item.component.ts","../../../src/rate/rate.component.ts","../../../src/rate/rate.component.html","../../../src/rate/module.ts","../../../src/rate/ngx-tethys-rate.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output, TemplateRef } from '@angular/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ThyStopPropagationDirective } from 'ngx-tethys/shared';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-rate-item, [thy-rate-item]',\n template: `\n <div class=\"thy-rate-item-left\" thyStopPropagation (mouseover)=\"hoverRateItem(true)\" (click)=\"clickRateItem(true)\">\n <ng-template [ngTemplateOutlet]=\"iconTemplate || (iconValue && character) || defaultTemplate\"></ng-template>\n </div>\n <div class=\"thy-rate-item-all\" thyStopPropagation (mouseover)=\"hoverRateItem(false)\" (click)=\"clickRateItem(false)\">\n <ng-template [ngTemplateOutlet]=\"iconTemplate || (iconValue && character) || defaultTemplate\"></ng-template>\n </div>\n\n <ng-template #defaultTemplate>\n <thy-icon thyIconName=\"star-fill\"></thy-icon>\n </ng-template>\n\n <ng-template #character>\n <thy-icon [thyIconName]=\"iconValue\"></thy-icon>\n </ng-template>\n `,\n standalone: true,\n imports: [ThyStopPropagationDirective, NgTemplateOutlet, ThyIcon]\n})\nexport class ThyRateItem implements OnInit {\n @Input({ transform: coerceBooleanProperty }) allowHalf = false;\n\n @Input() iconValue: string;\n\n @Input() iconTemplate: TemplateRef<any>;\n\n @Output() readonly itemHover = new EventEmitter<boolean>();\n\n @Output() readonly itemClick = new EventEmitter<boolean>();\n\n constructor() {}\n\n ngOnInit() {}\n\n hoverRateItem(isHalf: boolean): void {\n this.itemHover.next(isHalf && this.allowHalf);\n }\n\n clickRateItem(isHalf: boolean): void {\n this.itemClick.next(isHalf && this.allowHalf);\n }\n}\n","import { TabIndexDisabledControlValueAccessorMixin } from 'ngx-tethys/core';\nimport { coerceBooleanProperty, helpers } from 'ngx-tethys/util';\n\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n numberAttribute,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n inject\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThyStopPropagationDirective } from 'ngx-tethys/shared';\nimport { ThyTooltipDirective } from 'ngx-tethys/tooltip';\nimport { ThyRateItem } from './rate-item.component';\n\nconst noop = () => {};\n\n/**\n * 评分组件\n * @name thy-rate\n * @order 10\n */\n@Component({\n selector: 'thy-rate',\n templateUrl: './rate.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThyRate),\n multi: true\n }\n ],\n host: {\n '[attr.tabindex]': `tabIndex`,\n class: 'thy-rate'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ThyStopPropagationDirective, ThyRateItem, NgClass, ThyTooltipDirective]\n})\nexport class ThyRate extends TabIndexDisabledControlValueAccessorMixin implements ControlValueAccessor, OnInit, OnChanges {\n private cdr = inject(ChangeDetectorRef);\n\n private _value = 0;\n\n private currentValue = 0;\n\n private hasHalf = false;\n\n public rateArray: number[] = [];\n\n public rateStyleArray: Record<string, boolean>[] = [];\n\n private icons: string | TemplateRef<any> | string[] | TemplateRef<any>[] = null;\n\n public iconValue: string = null;\n\n public iconTemplate: TemplateRef<any> = null;\n\n private onTouchedCallback: () => void = noop;\n\n private onChangeCallback: (_: any) => void = noop;\n\n /**\n * 自定义评分的总数\n */\n @Input({ transform: numberAttribute }) thyCount = 5;\n\n /**\n * 是否只读\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n override set thyDisabled(value: boolean) {\n this.disabled = value;\n }\n override get thyDisabled(): boolean {\n return this.disabled;\n }\n\n disabled = false;\n\n /**\n * 是否允许半选\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyAllowHalf = false;\n\n /**\n * 是否允许再次点击后清除\n */\n @Input({ transform: coerceBooleanProperty }) thyAllowClear = true;\n\n /**\n * 自定义每项的提示信息\n * @type string[]\n */\n @Input() thyTooltips: string[] = [];\n\n /**\n * 自定义模板,目前支持传单个模板或图标名称、数组(模板 | 图标名称)\n * @type string | TemplateRef<any> | string[] | TemplateRef<any>[]\n */\n @Input('thyIconTemplate')\n set thyIconTemplate(value: string | TemplateRef<any> | string[] | TemplateRef<any>[]) {\n this.icons = value;\n if (!this.icons) {\n this.iconValue = null;\n this.iconTemplate = null;\n } else {\n this.setIconTemplate();\n }\n }\n\n /**\n * 当前值hover时的回调\n */\n @Output() readonly thyItemHoverChange = new EventEmitter<number>();\n\n @HostBinding('class.thy-rate') className = true;\n\n constructor() {\n super();\n }\n\n get thyValue(): number {\n return this._value;\n }\n\n set thyValue(value: number) {\n if (this._value === value) {\n return;\n }\n this._value = value;\n this.hasHalf = !Number.isInteger(value);\n this.currentValue = Math.ceil(value);\n }\n\n writeValue(value: number): void {\n this.thyValue = value || 0;\n this.updateRateArray();\n this.cdr.markForCheck();\n }\n\n ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyCount, thyValue } = changes;\n if (thyCount) {\n this.updateRateArray();\n }\n\n if (thyValue) {\n this.updateItemStyle();\n }\n this.cdr.detectChanges();\n }\n\n itemHover(isHalf: boolean, index: number): void {\n if (this.thyDisabled || (this.currentValue === index + 1 && this.hasHalf === isHalf)) {\n return;\n }\n this.currentValue = index + 1;\n this.hasHalf = isHalf;\n const _value = isHalf ? Number(this.currentValue - 0.5) : this.currentValue;\n this.thyItemHoverChange.emit(_value);\n this.updateItemStyle();\n }\n\n itemClick(isHalf: boolean, index: number) {\n if (this.thyDisabled) {\n return;\n }\n this.currentValue = index + 1;\n const _value = isHalf ? index + 1 - 0.5 : index + 1;\n if (this.thyValue === _value) {\n if (this.thyAllowClear) {\n this.thyValue = 0;\n this.onChangeCallback(this.thyValue);\n this.onTouchedCallback();\n }\n } else {\n this.thyValue = _value;\n this.onChangeCallback(this.thyValue);\n this.onTouchedCallback();\n }\n this.updateItemStyle();\n }\n\n onRateLeave(event: Event): void {\n event.stopPropagation();\n this.hasHalf = !Number.isInteger(this.thyValue);\n this.currentValue = Math.ceil(this.thyValue);\n this.updateItemStyle();\n }\n\n updateRateArray(): void {\n this.rateArray = Array(this.thyCount)\n .fill(0)\n .map((_, i) => {\n return i;\n });\n this.updateItemStyle();\n }\n\n updateItemStyle(): void {\n this.updateIcon();\n const rateStyle = 'thy-rate-star';\n this.rateStyleArray = this.rateArray.map(i => {\n const value = i + 1;\n return {\n [`${rateStyle}--full`]: value < this.currentValue || (value === this.currentValue && !this.hasHalf),\n [`${rateStyle}--half`]: this.hasHalf && value === this.currentValue,\n [`${rateStyle}--active`]: this.hasHalf && value === this.currentValue,\n [`${rateStyle}--zero`]: value > this.currentValue\n };\n });\n }\n\n updateIcon(): void {\n if (!this.icons) {\n this.iconValue = null;\n this.iconTemplate = null;\n } else {\n this.setIconTemplate();\n }\n }\n\n setIconTemplate(): void {\n if (helpers.isArray(this.icons) && this.icons.length > 0) {\n const currentIcon = (this.currentValue && this.currentValue - 1) || 0;\n if (this.icons[currentIcon] instanceof TemplateRef) {\n this.iconTemplate = this.icons[currentIcon] as TemplateRef<any>;\n } else {\n this.iconValue = this.icons[currentIcon] as string;\n }\n } else if (!helpers.isArray(this.icons)) {\n if (this.icons instanceof TemplateRef) {\n this.iconTemplate = this.icons;\n } else {\n this.iconValue = this.icons;\n }\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n trackByFn(index: number, item: any) {\n return item || index;\n }\n}\n","<div class=\"thy-rate-container\" [class.thy-rate-container--disabled]=\"thyDisabled\" (mouseleave)=\"onRateLeave($event)\">\n @for (star of rateArray; track trackByFn(index, star); let index = $index) {\n <div\n thyStopPropagation\n class=\"thy-rate-star\"\n [ngClass]=\"rateStyleArray[index] || ''\"\n thy-rate-item\n [allowHalf]=\"thyAllowHalf\"\n [iconValue]=\"iconValue\"\n [iconTemplate]=\"iconTemplate\"\n (itemHover)=\"itemHover($event, index)\"\n (itemClick)=\"itemClick($event, index)\"\n [thyTooltip]=\"thyTooltips[index]\"\n thyTooltipPlacement=\"top\"\n ></div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyTooltipModule } from 'ngx-tethys/tooltip';\nimport { ThyRateItem } from './rate-item.component';\nimport { ThyRate } from './rate.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ThySharedModule, ThyIconModule, ThyTooltipModule, ThyRate, ThyRateItem],\n exports: [ThyRate],\n providers: []\n})\nexport class ThyRateModule {}\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-rate.mjs","sources":["../../../src/rate/rate-item.component.ts","../../../src/rate/rate.component.ts","../../../src/rate/rate.component.html","../../../src/rate/module.ts","../../../src/rate/ngx-tethys-rate.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output, TemplateRef } from '@angular/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ThyStopPropagationDirective } from 'ngx-tethys/shared';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * @private\n */\n@Component({\n selector: 'thy-rate-item, [thy-rate-item]',\n template: `\n <div class=\"thy-rate-item-left\" thyStopPropagation (mouseover)=\"hoverRateItem(true)\" (click)=\"clickRateItem(true)\">\n <ng-template [ngTemplateOutlet]=\"iconTemplate || (iconValue && character) || defaultTemplate\"></ng-template>\n </div>\n <div class=\"thy-rate-item-all\" thyStopPropagation (mouseover)=\"hoverRateItem(false)\" (click)=\"clickRateItem(false)\">\n <ng-template [ngTemplateOutlet]=\"iconTemplate || (iconValue && character) || defaultTemplate\"></ng-template>\n </div>\n\n <ng-template #defaultTemplate>\n <thy-icon thyIconName=\"star-fill\"></thy-icon>\n </ng-template>\n\n <ng-template #character>\n <thy-icon [thyIconName]=\"iconValue\"></thy-icon>\n </ng-template>\n `,\n imports: [ThyStopPropagationDirective, NgTemplateOutlet, ThyIcon]\n})\nexport class ThyRateItem implements OnInit {\n @Input({ transform: coerceBooleanProperty }) allowHalf = false;\n\n @Input() iconValue: string;\n\n @Input() iconTemplate: TemplateRef<any>;\n\n @Output() readonly itemHover = new EventEmitter<boolean>();\n\n @Output() readonly itemClick = new EventEmitter<boolean>();\n\n constructor() {}\n\n ngOnInit() {}\n\n hoverRateItem(isHalf: boolean): void {\n this.itemHover.next(isHalf && this.allowHalf);\n }\n\n clickRateItem(isHalf: boolean): void {\n this.itemClick.next(isHalf && this.allowHalf);\n }\n}\n","import { TabIndexDisabledControlValueAccessorMixin } from 'ngx-tethys/core';\nimport { coerceBooleanProperty, helpers } from 'ngx-tethys/util';\n\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n numberAttribute,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n inject\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThyStopPropagationDirective } from 'ngx-tethys/shared';\nimport { ThyTooltipDirective } from 'ngx-tethys/tooltip';\nimport { ThyRateItem } from './rate-item.component';\n\nconst noop = () => {};\n\n/**\n * 评分组件\n * @name thy-rate\n * @order 10\n */\n@Component({\n selector: 'thy-rate',\n templateUrl: './rate.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThyRate),\n multi: true\n }\n ],\n host: {\n '[attr.tabindex]': `tabIndex`,\n class: 'thy-rate'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThyStopPropagationDirective, ThyRateItem, NgClass, ThyTooltipDirective]\n})\nexport class ThyRate extends TabIndexDisabledControlValueAccessorMixin implements ControlValueAccessor, OnInit, OnChanges {\n private cdr = inject(ChangeDetectorRef);\n\n private _value = 0;\n\n private currentValue = 0;\n\n private hasHalf = false;\n\n public rateArray: number[] = [];\n\n public rateStyleArray: Record<string, boolean>[] = [];\n\n private icons: string | TemplateRef<any> | string[] | TemplateRef<any>[] = null;\n\n public iconValue: string = null;\n\n public iconTemplate: TemplateRef<any> = null;\n\n private onTouchedCallback: () => void = noop;\n\n private onChangeCallback: (_: any) => void = noop;\n\n /**\n * 自定义评分的总数\n */\n @Input({ transform: numberAttribute }) thyCount = 5;\n\n /**\n * 是否只读\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n override set thyDisabled(value: boolean) {\n this.disabled = value;\n }\n override get thyDisabled(): boolean {\n return this.disabled;\n }\n\n disabled = false;\n\n /**\n * 是否允许半选\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyAllowHalf = false;\n\n /**\n * 是否允许再次点击后清除\n */\n @Input({ transform: coerceBooleanProperty }) thyAllowClear = true;\n\n /**\n * 自定义每项的提示信息\n * @type string[]\n */\n @Input() thyTooltips: string[] = [];\n\n /**\n * 自定义模板,目前支持传单个模板或图标名称、数组(模板 | 图标名称)\n * @type string | TemplateRef<any> | string[] | TemplateRef<any>[]\n */\n @Input('thyIconTemplate')\n set thyIconTemplate(value: string | TemplateRef<any> | string[] | TemplateRef<any>[]) {\n this.icons = value;\n if (!this.icons) {\n this.iconValue = null;\n this.iconTemplate = null;\n } else {\n this.setIconTemplate();\n }\n }\n\n /**\n * 当前值hover时的回调\n */\n @Output() readonly thyItemHoverChange = new EventEmitter<number>();\n\n @HostBinding('class.thy-rate') className = true;\n\n constructor() {\n super();\n }\n\n get thyValue(): number {\n return this._value;\n }\n\n set thyValue(value: number) {\n if (this._value === value) {\n return;\n }\n this._value = value;\n this.hasHalf = !Number.isInteger(value);\n this.currentValue = Math.ceil(value);\n }\n\n writeValue(value: number): void {\n this.thyValue = value || 0;\n this.updateRateArray();\n this.cdr.markForCheck();\n }\n\n ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const { thyCount, thyValue } = changes;\n if (thyCount) {\n this.updateRateArray();\n }\n\n if (thyValue) {\n this.updateItemStyle();\n }\n this.cdr.detectChanges();\n }\n\n itemHover(isHalf: boolean, index: number): void {\n if (this.thyDisabled || (this.currentValue === index + 1 && this.hasHalf === isHalf)) {\n return;\n }\n this.currentValue = index + 1;\n this.hasHalf = isHalf;\n const _value = isHalf ? Number(this.currentValue - 0.5) : this.currentValue;\n this.thyItemHoverChange.emit(_value);\n this.updateItemStyle();\n }\n\n itemClick(isHalf: boolean, index: number) {\n if (this.thyDisabled) {\n return;\n }\n this.currentValue = index + 1;\n const _value = isHalf ? index + 1 - 0.5 : index + 1;\n if (this.thyValue === _value) {\n if (this.thyAllowClear) {\n this.thyValue = 0;\n this.onChangeCallback(this.thyValue);\n this.onTouchedCallback();\n }\n } else {\n this.thyValue = _value;\n this.onChangeCallback(this.thyValue);\n this.onTouchedCallback();\n }\n this.updateItemStyle();\n }\n\n onRateLeave(event: Event): void {\n event.stopPropagation();\n this.hasHalf = !Number.isInteger(this.thyValue);\n this.currentValue = Math.ceil(this.thyValue);\n this.updateItemStyle();\n }\n\n updateRateArray(): void {\n this.rateArray = Array(this.thyCount)\n .fill(0)\n .map((_, i) => {\n return i;\n });\n this.updateItemStyle();\n }\n\n updateItemStyle(): void {\n this.updateIcon();\n const rateStyle = 'thy-rate-star';\n this.rateStyleArray = this.rateArray.map(i => {\n const value = i + 1;\n return {\n [`${rateStyle}--full`]: value < this.currentValue || (value === this.currentValue && !this.hasHalf),\n [`${rateStyle}--half`]: this.hasHalf && value === this.currentValue,\n [`${rateStyle}--active`]: this.hasHalf && value === this.currentValue,\n [`${rateStyle}--zero`]: value > this.currentValue\n };\n });\n }\n\n updateIcon(): void {\n if (!this.icons) {\n this.iconValue = null;\n this.iconTemplate = null;\n } else {\n this.setIconTemplate();\n }\n }\n\n setIconTemplate(): void {\n if (helpers.isArray(this.icons) && this.icons.length > 0) {\n const currentIcon = (this.currentValue && this.currentValue - 1) || 0;\n if (this.icons[currentIcon] instanceof TemplateRef) {\n this.iconTemplate = this.icons[currentIcon] as TemplateRef<any>;\n } else {\n this.iconValue = this.icons[currentIcon] as string;\n }\n } else if (!helpers.isArray(this.icons)) {\n if (this.icons instanceof TemplateRef) {\n this.iconTemplate = this.icons;\n } else {\n this.iconValue = this.icons;\n }\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n trackByFn(index: number, item: any) {\n return item || index;\n }\n}\n","<div class=\"thy-rate-container\" [class.thy-rate-container--disabled]=\"thyDisabled\" (mouseleave)=\"onRateLeave($event)\">\n @for (star of rateArray; track trackByFn(index, star); let index = $index) {\n <div\n thyStopPropagation\n class=\"thy-rate-star\"\n [ngClass]=\"rateStyleArray[index] || ''\"\n thy-rate-item\n [allowHalf]=\"thyAllowHalf\"\n [iconValue]=\"iconValue\"\n [iconTemplate]=\"iconTemplate\"\n (itemHover)=\"itemHover($event, index)\"\n (itemClick)=\"itemClick($event, index)\"\n [thyTooltip]=\"thyTooltips[index]\"\n thyTooltipPlacement=\"top\"\n ></div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyTooltipModule } from 'ngx-tethys/tooltip';\nimport { ThyRateItem } from './rate-item.component';\nimport { ThyRate } from './rate.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ThySharedModule, ThyIconModule, ThyTooltipModule, ThyRate, ThyRateItem],\n exports: [ThyRate],\n providers: []\n})\nexport class ThyRateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, NgZone, Injectable, ElementRef, Renderer2, ChangeDetectorRef, EventEmitter, DestroyRef, numberAttribute,
|
|
2
|
+
import { inject, NgZone, Injectable, ElementRef, Renderer2, ChangeDetectorRef, EventEmitter, DestroyRef, numberAttribute, Output, Input, Directive, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
4
4
|
import { isTouchEvent, coerceBooleanProperty } from 'ngx-tethys/util';
|
|
5
5
|
import { Subject, fromEvent, merge } from 'rxjs';
|
|
@@ -64,10 +64,10 @@ class ThyResizableService {
|
|
|
64
64
|
this.mouseEnteredOutsideAngular$.complete();
|
|
65
65
|
this.clearListeners();
|
|
66
66
|
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
68
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
67
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyResizableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
68
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyResizableService }); }
|
|
69
69
|
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyResizableService, decorators: [{
|
|
71
71
|
type: Injectable
|
|
72
72
|
}], ctorParameters: () => [] });
|
|
73
73
|
|
|
@@ -384,10 +384,10 @@ class ThyResizableDirective {
|
|
|
384
384
|
this.ghostElement = null;
|
|
385
385
|
this.sizeCache = null;
|
|
386
386
|
}
|
|
387
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
388
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "
|
|
387
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
388
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.2", type: ThyResizableDirective, isStandalone: true, selector: "[thyResizable]", inputs: { thyBounds: "thyBounds", thyMaxHeight: ["thyMaxHeight", "thyMaxHeight", numberAttribute], thyMaxWidth: ["thyMaxWidth", "thyMaxWidth", numberAttribute], thyMinHeight: ["thyMinHeight", "thyMinHeight", numberAttribute], thyMinWidth: ["thyMinWidth", "thyMinWidth", numberAttribute], thyGridColumnCount: ["thyGridColumnCount", "thyGridColumnCount", numberAttribute], thyMaxColumn: ["thyMaxColumn", "thyMaxColumn", numberAttribute], thyMinColumn: ["thyMinColumn", "thyMinColumn", numberAttribute], thyLockAspectRatio: ["thyLockAspectRatio", "thyLockAspectRatio", coerceBooleanProperty], thyPreview: ["thyPreview", "thyPreview", coerceBooleanProperty], thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, outputs: { thyResize: "thyResize", thyResizeStart: "thyResizeStart", thyResizeEnd: "thyResizeEnd" }, host: { properties: { "class.thy-resizable-resizing": "resizing", "class.thy-resizable-disabled": "thyDisabled" }, classAttribute: "thy-resizable" }, providers: [ThyResizableService], ngImport: i0 }); }
|
|
389
389
|
}
|
|
390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
390
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyResizableDirective, decorators: [{
|
|
391
391
|
type: Directive,
|
|
392
392
|
args: [{
|
|
393
393
|
selector: '[thyResizable]',
|
|
@@ -491,15 +491,15 @@ class ThyResizeHandle {
|
|
|
491
491
|
});
|
|
492
492
|
});
|
|
493
493
|
}
|
|
494
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
495
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
494
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyResizeHandle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
495
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: ThyResizeHandle, isStandalone: true, selector: "thy-resize-handle, [thy-resize-handle]", inputs: { thyDirection: "thyDirection", thyLine: ["thyLine", "thyLine", coerceBooleanProperty] }, outputs: { thyMouseDown: "thyMouseDown" }, host: { properties: { "class.thy-resizable-handle-top": "thyDirection === 'top'", "class.thy-resizable-handle-right": "thyDirection === 'right'", "class.thy-resizable-handle-bottom": "thyDirection === 'bottom'", "class.thy-resizable-handle-left": "thyDirection === 'left'", "class.thy-resizable-handle-topRight": "thyDirection === 'topRight'", "class.thy-resizable-handle-bottomRight": "thyDirection === 'bottomRight'", "class.thy-resizable-handle-bottomLeft": "thyDirection === 'bottomLeft'", "class.thy-resizable-handle-topLeft": "thyDirection === 'topLeft'", "class.thy-resizable-handle-box-hover": "entered" }, classAttribute: "thy-resizable-handle" }, exportAs: ["thyResizeHandle"], ngImport: i0, template: `
|
|
496
496
|
<ng-content></ng-content>
|
|
497
497
|
@if (thyLine) {
|
|
498
498
|
<div class="thy-resizable-handle-line"></div>
|
|
499
499
|
}
|
|
500
500
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
501
501
|
}
|
|
502
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
502
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyResizeHandle, decorators: [{
|
|
503
503
|
type: Component,
|
|
504
504
|
args: [{
|
|
505
505
|
selector: 'thy-resize-handle, [thy-resize-handle]',
|
|
@@ -523,7 +523,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
523
523
|
'[class.thy-resizable-handle-topLeft]': `thyDirection === 'topLeft'`,
|
|
524
524
|
'[class.thy-resizable-handle-box-hover]': 'entered'
|
|
525
525
|
},
|
|
526
|
-
standalone: true,
|
|
527
526
|
imports: []
|
|
528
527
|
}]
|
|
529
528
|
}], propDecorators: { thyDirection: [{
|
|
@@ -567,14 +566,14 @@ class ThyResizeHandles {
|
|
|
567
566
|
this.directions = new Set(changes.thyDirections.currentValue);
|
|
568
567
|
}
|
|
569
568
|
}
|
|
570
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
571
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
569
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyResizeHandles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
570
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: ThyResizeHandles, isStandalone: true, selector: "thy-resize-handles", inputs: { thyDirections: "thyDirections", thyLine: ["thyLine", "thyLine", coerceBooleanProperty] }, exportAs: ["thyResizeHandles"], usesOnChanges: true, ngImport: i0, template: `
|
|
572
571
|
@for (dir of directions; track $index) {
|
|
573
572
|
<thy-resize-handle [thyLine]="thyLine" [thyDirection]="dir"></thy-resize-handle>
|
|
574
573
|
}
|
|
575
574
|
`, isInline: true, dependencies: [{ kind: "component", type: ThyResizeHandle, selector: "thy-resize-handle, [thy-resize-handle]", inputs: ["thyDirection", "thyLine"], outputs: ["thyMouseDown"], exportAs: ["thyResizeHandle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
576
575
|
}
|
|
577
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
576
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyResizeHandles, decorators: [{
|
|
578
577
|
type: Component,
|
|
579
578
|
args: [{
|
|
580
579
|
selector: 'thy-resize-handles',
|
|
@@ -585,7 +584,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
585
584
|
}
|
|
586
585
|
`,
|
|
587
586
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
588
|
-
standalone: true,
|
|
589
587
|
imports: [ThyResizeHandle]
|
|
590
588
|
}]
|
|
591
589
|
}], propDecorators: { thyDirections: [{
|
|
@@ -596,11 +594,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
596
594
|
}] } });
|
|
597
595
|
|
|
598
596
|
class ThyResizableModule {
|
|
599
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
600
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
601
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
597
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyResizableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
598
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.2", ngImport: i0, type: ThyResizableModule, imports: [CommonModule, ThyResizableDirective, ThyResizeHandle, ThyResizeHandles], exports: [ThyResizableDirective, ThyResizeHandle, ThyResizeHandles] }); }
|
|
599
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyResizableModule, imports: [CommonModule] }); }
|
|
602
600
|
}
|
|
603
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
601
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ThyResizableModule, decorators: [{
|
|
604
602
|
type: NgModule,
|
|
605
603
|
args: [{
|
|
606
604
|
imports: [CommonModule, ThyResizableDirective, ThyResizeHandle, ThyResizeHandles],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-resizable.mjs","sources":["../../../src/resizable/resizable.service.ts","../../../src/resizable/utils.ts","../../../src/resizable/resizable.directive.ts","../../../src/resizable/resize-handle.component.ts","../../../src/resizable/resize-handles.component.ts","../../../src/resizable/module.ts","../../../src/resizable/ngx-tethys-resizable.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { Injectable, NgZone, OnDestroy, inject } from '@angular/core';\nimport { isTouchEvent } from 'ngx-tethys/util';\nimport { Subject } from 'rxjs';\nimport { ThyResizeHandleMouseDownEvent } from './resize-handle.component';\n\n/**\n * @internal\n */\n@Injectable()\nexport class ThyResizableService implements OnDestroy {\n private ngZone = inject(NgZone);\n\n private document: Document;\n private listeners = new Map<string, (event: MouseEvent | TouchEvent) => void>();\n\n /**\n * The `OutsideAngular` prefix means that the subject will emit events outside of the Angular zone,\n * so that becomes a bit more descriptive for those who'll maintain the code in the future:\n * ```ts\n * thyResizableService.handleMouseDownOutsideAngular$.subscribe(event => {\n * console.log(Zone.current); // <root>\n * console.log(NgZone.isInAngularZone()); // false\n * });\n * ```\n */\n\n handleMouseDownOutsideAngular$ = new Subject<ThyResizeHandleMouseDownEvent>();\n documentMouseUpOutsideAngular$ = new Subject<MouseEvent | TouchEvent>();\n documentMouseMoveOutsideAngular$ = new Subject<MouseEvent | TouchEvent>();\n mouseEnteredOutsideAngular$ = new Subject<boolean>();\n\n constructor() {\n const document = inject(DOCUMENT);\n\n this.document = document;\n }\n\n startResizing(event: MouseEvent | TouchEvent): void {\n const _isTouchEvent = isTouchEvent(event);\n this.clearListeners();\n const moveEvent = _isTouchEvent ? 'touchmove' : 'mousemove';\n const upEvent = _isTouchEvent ? 'touchend' : 'mouseup';\n const moveEventHandler = (e: MouseEvent | TouchEvent) => {\n this.documentMouseMoveOutsideAngular$.next(e);\n };\n const upEventHandler = (e: MouseEvent | TouchEvent) => {\n this.documentMouseUpOutsideAngular$.next(e);\n this.clearListeners();\n };\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 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 ngOnDestroy(): void {\n this.handleMouseDownOutsideAngular$.complete();\n this.documentMouseUpOutsideAngular$.complete();\n this.documentMouseMoveOutsideAngular$.complete();\n this.mouseEnteredOutsideAngular$.complete();\n this.clearListeners();\n }\n}\n","import { isTouchEvent } from 'ngx-tethys/util';\n\nexport function getEventWithPoint(event: MouseEvent | TouchEvent): MouseEvent | Touch {\n return isTouchEvent(event) ? event.touches[0] || event.changedTouches[0] : (event as MouseEvent);\n}\n\nexport function ensureInBounds(value: number, boundValue: number): number {\n return value ? (value < boundValue ? value : boundValue) : boundValue;\n}\n\nexport function setCompatibleStyle(element: HTMLElement, key: string, value: string) {\n element.style[key] = value;\n element.style[`-webkit-${key}`] = value;\n element.style[`-moz-${key}`] = value;\n element.style[`-ms-${key}`] = value;\n}\n","import {\n Directive,\n AfterViewInit,\n OnDestroy,\n ElementRef,\n Renderer2,\n NgZone,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n inject,\n DestroyRef,\n numberAttribute\n} from '@angular/core';\nimport { ThyResizableService } from './resizable.service';\nimport { Platform } from '@angular/cdk/platform';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ThyResizeHandleMouseDownEvent } from './resize-handle.component';\nimport { ThyResizeEvent } from './interface';\nimport { getEventWithPoint, ensureInBounds, setCompatibleStyle } from './utils';\nimport { fromEvent } from 'rxjs';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 调整尺寸\n * @name thyResizable\n */\n@Directive({\n selector: '[thyResizable]',\n providers: [ThyResizableService],\n host: {\n class: 'thy-resizable',\n '[class.thy-resizable-resizing]': 'resizing',\n '[class.thy-resizable-disabled]': 'thyDisabled'\n },\n standalone: true\n})\nexport class ThyResizableDirective implements AfterViewInit, OnDestroy {\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private renderer = inject(Renderer2);\n private platform = inject(Platform);\n private ngZone = inject(NgZone);\n private thyResizableService = inject(ThyResizableService);\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n /**\n * 调整尺寸的边界\n * @default parent\n * @type 'window' | 'parent' | ElementRef<HTMLElement>\n */\n @Input() thyBounds: 'window' | 'parent' | ElementRef<HTMLElement> = 'parent';\n\n /**\n * 最大高度(超过边界部分忽略)\n */\n @Input({ transform: numberAttribute }) thyMaxHeight?: number;\n\n /**\n * 最大宽度(超过边界部分忽略)\n */\n @Input({ transform: numberAttribute }) thyMaxWidth?: number;\n\n /**\n * 最小高度\n */\n @Input({ transform: numberAttribute }) thyMinHeight: number = 40;\n\n /**\n * 最小宽度\n */\n @Input({ transform: numberAttribute }) thyMinWidth: number = 40;\n\n /**\n * 栅格列数(-1 为不栅格)\n */\n @Input({ transform: numberAttribute }) thyGridColumnCount: number = -1;\n\n /**\n * 栅格最大列数\n */\n @Input({ transform: numberAttribute }) thyMaxColumn: number = -1;\n\n /**\n * 栅格最小列数\n */\n @Input({ transform: numberAttribute }) thyMinColumn: number = -1;\n\n /**\n * 锁定宽高比\n */\n @Input({ transform: coerceBooleanProperty }) thyLockAspectRatio: boolean = false;\n\n /**\n * 是否预览模式\n */\n @Input({ transform: coerceBooleanProperty }) thyPreview: boolean = false;\n\n /**\n * 是否禁用调整大小\n */\n @Input({ transform: coerceBooleanProperty }) thyDisabled: boolean = false;\n\n /**\n * 调整尺寸时的事件\n */\n @Output() readonly thyResize = new EventEmitter<ThyResizeEvent>();\n\n /**\n * 开始调整尺寸时的事件\n */\n @Output() readonly thyResizeStart = new EventEmitter<ThyResizeEvent>();\n\n /**\n * 结束调整尺寸时的事件\n */\n @Output() readonly thyResizeEnd = new EventEmitter<ThyResizeEvent>();\n\n resizing = false;\n private nativeElement!: HTMLElement;\n private nativeElementRect!: ClientRect | DOMRect;\n private sizeCache: ThyResizeEvent | null = null;\n private ghostElement: HTMLDivElement | null = null;\n private currentHandleEvent: ThyResizeHandleMouseDownEvent | null = null;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor() {\n this.thyResizableService.handleMouseDownOutsideAngular$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(event => {\n if (this.thyDisabled) {\n return;\n }\n this.resizing = true;\n const { mouseEvent } = event;\n this.thyResizableService.startResizing(mouseEvent);\n this.currentHandleEvent = event;\n this.setCursor();\n // Re-enter the Angular zone and run the change detection only if there're any `thyResizeStart` listeners,\n // e.g.: `<div thyResizable (thyResizeStart)=\"...\"></div>`.\n if (this.thyResizeStart.observers.length) {\n this.ngZone.run(() => this.thyResizeStart.emit({ mouseEvent }));\n }\n this.nativeElementRect = this.nativeElement.getBoundingClientRect();\n });\n\n this.thyResizableService.documentMouseUpOutsideAngular$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(event => {\n if (this.resizing) {\n this.ngZone.run(() => {\n this.resizing = false;\n this.changeDetectorRef.markForCheck();\n });\n this.thyResizableService.documentMouseUpOutsideAngular$.next(event);\n this.endResize(event);\n }\n });\n\n this.thyResizableService.documentMouseMoveOutsideAngular$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(event => {\n if (this.resizing) {\n this.resize(event);\n }\n });\n }\n\n ngAfterViewInit(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.nativeElement = this.elementRef.nativeElement;\n this.ngZone.runOutsideAngular(() => {\n fromEvent(this.nativeElement, 'mouseenter')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.thyResizableService.mouseEnteredOutsideAngular$.next(true);\n });\n\n fromEvent(this.nativeElement, 'mouseleave')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.thyResizableService.mouseEnteredOutsideAngular$.next(false);\n });\n });\n }\n\n setCursor(): void {\n switch (this.currentHandleEvent!.direction) {\n case 'left':\n case 'right':\n this.renderer.setStyle(document.body, 'cursor', 'ew-resize');\n break;\n case 'top':\n case 'bottom':\n this.renderer.setStyle(document.body, 'cursor', 'ns-resize');\n break;\n case 'topLeft':\n case 'bottomRight':\n this.renderer.setStyle(document.body, 'cursor', 'nwse-resize');\n break;\n case 'topRight':\n case 'bottomLeft':\n this.renderer.setStyle(document.body, 'cursor', 'nesw-resize');\n break;\n }\n setCompatibleStyle(document.body, 'user-select', 'none');\n }\n\n endResize(event: MouseEvent | TouchEvent): void {\n this.renderer.setStyle(document.body, 'cursor', '');\n setCompatibleStyle(document.body, 'user-select', '');\n this.removeGhostElement();\n const size = this.sizeCache\n ? { ...this.sizeCache }\n : {\n width: this.nativeElementRect.width,\n height: this.nativeElementRect.height\n };\n // Re-enter the Angular zone and run the change detection only if there're any `thyResizeEnd` listeners,\n // e.g.: `<div thyResizable (thyResizeEnd)=\"...\"></div>`.\n if (this.thyResizeEnd.observers.length) {\n this.ngZone.run(() => {\n this.thyResizeEnd.emit({\n ...size,\n mouseEvent: event\n });\n });\n }\n this.sizeCache = null;\n this.currentHandleEvent = null;\n }\n\n resize(event: MouseEvent | TouchEvent): void {\n const nativeElementRect = this.nativeElementRect;\n const resizeEvent = getEventWithPoint(event);\n const handleEvent = getEventWithPoint(this.currentHandleEvent!.mouseEvent);\n let width = nativeElementRect.width;\n let height = nativeElementRect.height;\n const ratio = this.thyLockAspectRatio ? width / height : -1;\n switch (this.currentHandleEvent!.direction) {\n case 'bottomRight':\n width = resizeEvent.clientX - nativeElementRect.left;\n height = resizeEvent.clientY - nativeElementRect.top;\n break;\n case 'bottomLeft':\n width = nativeElementRect.width + (handleEvent.clientX - resizeEvent.clientX);\n height = resizeEvent.clientY - nativeElementRect.top;\n break;\n case 'topRight':\n width = resizeEvent.clientX - nativeElementRect.left;\n height = nativeElementRect.height + (handleEvent.clientY - resizeEvent.clientY);\n break;\n case 'topLeft':\n width = nativeElementRect.width + (handleEvent.clientX - resizeEvent.clientX);\n height = nativeElementRect.height + (handleEvent.clientY - resizeEvent.clientY);\n break;\n case 'top':\n height = nativeElementRect.height + (handleEvent.clientY - resizeEvent.clientY);\n break;\n case 'right':\n width = resizeEvent.clientX - nativeElementRect.left;\n break;\n case 'bottom':\n height = resizeEvent.clientY - nativeElementRect.top;\n break;\n case 'left':\n width = nativeElementRect.width + (handleEvent.clientX - resizeEvent.clientX);\n }\n const size = this.calcSize(width, height, ratio);\n this.sizeCache = { ...size };\n // Re-enter the Angular zone and run the change detection only if there're any `thyResize` listeners,\n // e.g.: `<div thyResizable (thyResize)=\"...\"></div>`.\n if (this.thyResize.observers.length) {\n this.ngZone.run(() => {\n this.thyResize.emit({\n ...size,\n mouseEvent: event\n });\n });\n }\n\n if (this.thyPreview) {\n this.previewResize(size);\n }\n }\n\n calcSize(width: number, height: number, ratio: number): ThyResizeEvent {\n let newWidth: number;\n let newHeight: number;\n let maxWidth: number;\n let maxHeight: number;\n let col = 0;\n let spanWidth = 0;\n let minWidth = this.thyMinWidth;\n let boundWidth = Infinity;\n let boundHeight = Infinity;\n if (this.thyBounds === 'parent') {\n const parent = this.renderer.parentNode(this.nativeElement);\n if (parent instanceof HTMLElement) {\n const parentRect = parent.getBoundingClientRect();\n boundWidth = parentRect.width;\n boundHeight = parentRect.height;\n }\n } else if (this.thyBounds === 'window') {\n if (typeof window !== 'undefined') {\n boundWidth = window.innerWidth;\n boundHeight = window.innerHeight;\n }\n } else if (this.thyBounds && this.thyBounds.nativeElement && this.thyBounds.nativeElement instanceof HTMLElement) {\n const boundsRect = this.thyBounds.nativeElement.getBoundingClientRect();\n boundWidth = boundsRect.width;\n boundHeight = boundsRect.height;\n }\n\n maxWidth = ensureInBounds(this.thyMaxWidth!, boundWidth);\n maxHeight = ensureInBounds(this.thyMaxHeight!, boundHeight);\n\n if (this.thyGridColumnCount !== -1) {\n spanWidth = maxWidth / this.thyGridColumnCount;\n minWidth = this.thyMinColumn !== -1 ? spanWidth * this.thyMinColumn : minWidth;\n maxWidth = this.thyMaxColumn !== -1 ? spanWidth * this.thyMaxColumn : maxWidth;\n }\n\n if (ratio !== -1) {\n if (/(left|right)/i.test(this.currentHandleEvent!.direction)) {\n newWidth = Math.min(Math.max(width, minWidth), maxWidth);\n newHeight = Math.min(Math.max(newWidth / ratio, this.thyMinHeight), maxHeight);\n if (newHeight >= maxHeight || newHeight <= this.thyMinHeight) {\n newWidth = Math.min(Math.max(newHeight * ratio, minWidth), maxWidth);\n }\n } else {\n newHeight = Math.min(Math.max(height, this.thyMinHeight), maxHeight);\n newWidth = Math.min(Math.max(newHeight * ratio, minWidth), maxWidth);\n if (newWidth >= maxWidth || newWidth <= minWidth) {\n newHeight = Math.min(Math.max(newWidth / ratio, this.thyMinHeight), maxHeight);\n }\n }\n } else {\n newWidth = Math.min(Math.max(width, minWidth), maxWidth);\n newHeight = Math.min(Math.max(height, this.thyMinHeight), maxHeight);\n }\n\n if (this.thyGridColumnCount !== -1) {\n col = Math.round(newWidth / spanWidth);\n newWidth = col * spanWidth;\n }\n\n return {\n col,\n width: newWidth,\n height: newHeight\n };\n }\n\n previewResize({ width, height }: ThyResizeEvent): void {\n this.createGhostElement();\n this.renderer.setStyle(this.ghostElement, 'width', `${width}px`);\n this.renderer.setStyle(this.ghostElement, 'height', `${height}px`);\n }\n\n createGhostElement(): void {\n if (!this.ghostElement) {\n this.ghostElement = this.renderer.createElement('div');\n this.renderer.setAttribute(this.ghostElement, 'class', 'thy-resizable-preview');\n }\n this.renderer.appendChild(this.nativeElement, this.ghostElement);\n }\n\n removeGhostElement(): void {\n if (this.ghostElement) {\n this.renderer.removeChild(this.nativeElement, this.ghostElement);\n }\n }\n\n ngOnDestroy(): void {\n this.ghostElement = null;\n this.sizeCache = null;\n }\n}\n","import {\n OnInit,\n Component,\n ChangeDetectionStrategy,\n Input,\n Output,\n NgZone,\n EventEmitter,\n ElementRef,\n inject,\n DestroyRef\n} from '@angular/core';\nimport { normalizePassiveListenerOptions } from '@angular/cdk/platform';\nimport { ThyResizeDirection } from './interface';\nimport { ThyResizableService } from './resizable.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, merge } from 'rxjs';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport class ThyResizeHandleMouseDownEvent {\n constructor(\n public direction: ThyResizeDirection,\n public mouseEvent: MouseEvent | TouchEvent\n ) {}\n}\n\nconst passiveEventListenerOptions = <AddEventListenerOptions>normalizePassiveListenerOptions({ passive: true });\n\n/**\n * 定义调整手柄及方向\n * @name thy-resize-handle\n */\n@Component({\n selector: 'thy-resize-handle, [thy-resize-handle]',\n exportAs: 'thyResizeHandle',\n template: `\n <ng-content></ng-content>\n @if (thyLine) {\n <div class=\"thy-resizable-handle-line\"></div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-resizable-handle',\n '[class.thy-resizable-handle-top]': `thyDirection === 'top'`,\n '[class.thy-resizable-handle-right]': `thyDirection === 'right'`,\n '[class.thy-resizable-handle-bottom]': `thyDirection === 'bottom'`,\n '[class.thy-resizable-handle-left]': `thyDirection === 'left'`,\n '[class.thy-resizable-handle-topRight]': `thyDirection === 'topRight'`,\n '[class.thy-resizable-handle-bottomRight]': `thyDirection === 'bottomRight'`,\n '[class.thy-resizable-handle-bottomLeft]': `thyDirection === 'bottomLeft'`,\n '[class.thy-resizable-handle-topLeft]': `thyDirection === 'topLeft'`,\n '[class.thy-resizable-handle-box-hover]': 'entered'\n },\n standalone: true,\n imports: []\n})\nexport class ThyResizeHandle implements OnInit {\n private ngZone = inject(NgZone);\n private thyResizableService = inject(ThyResizableService);\n private host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * 调整方向\n * @type top | right | bottom | left | topRight | bottomRight | bottomLeft | topLeft\n */\n @Input() thyDirection: ThyResizeDirection = 'bottomRight';\n\n /**\n * 是否展示拖拽线\n */\n @Input({ transform: coerceBooleanProperty }) thyLine = false;\n\n /**\n * MouseDown 回调事件\n */\n @Output() readonly thyMouseDown = new EventEmitter<ThyResizeHandleMouseDownEvent>();\n\n private hostRenderer = useHostRenderer();\n\n private readonly destroyRef = inject(DestroyRef);\n\n ngOnInit(): void {\n this.thyResizableService.mouseEnteredOutsideAngular$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(entered => {\n if (entered) {\n this.hostRenderer.addClass('thy-resizable-handle-box-hover');\n } else {\n this.hostRenderer.removeClass('thy-resizable-handle-box-hover');\n }\n });\n this.ngZone.runOutsideAngular(() => {\n // Note: since Chrome 56 defaults document level `touchstart` listener to passive.\n // The element `touchstart` listener is not passive by default\n // We never call `preventDefault()` on it, so we're safe making it passive too.\n merge(\n fromEvent<MouseEvent>(this.host.nativeElement, 'mousedown', passiveEventListenerOptions),\n fromEvent<TouchEvent>(this.host.nativeElement, 'touchstart', passiveEventListenerOptions)\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event: MouseEvent | TouchEvent) => {\n this.thyResizableService.handleMouseDownOutsideAngular$.next(\n new ThyResizeHandleMouseDownEvent(this.thyDirection, event)\n );\n });\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { ThyResizeDirection } from './interface';\nimport { ThyResizeHandle } from './resize-handle.component';\n\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport const DEFAULT_RESIZE_DIRECTION: ThyResizeDirection[] = [\n 'bottomRight',\n 'topRight',\n 'bottomLeft',\n 'topLeft',\n 'bottom',\n 'right',\n 'top',\n 'left'\n];\n\n/**\n * 定义调整手柄的快捷组件\n * @name thy-resize-handles\n */\n@Component({\n selector: 'thy-resize-handles',\n exportAs: 'thyResizeHandles',\n template: `\n @for (dir of directions; track $index) {\n <thy-resize-handle [thyLine]=\"thyLine\" [thyDirection]=\"dir\"></thy-resize-handle>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ThyResizeHandle]\n})\nexport class ThyResizeHandles implements OnChanges {\n /**\n * 定义调整手柄的方向\n * @type ThyResizeDirection[]\n */\n @Input() thyDirections: ThyResizeDirection[] = DEFAULT_RESIZE_DIRECTION;\n\n /**\n * 是否展示拖拽线\n */\n @Input({ transform: coerceBooleanProperty }) thyLine = false;\n\n directions = new Set<ThyResizeDirection>(this.thyDirections);\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.thyDirections) {\n this.directions = new Set(changes.thyDirections.currentValue);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ThyResizableDirective } from './resizable.directive';\nimport { ThyResizeHandle } from './resize-handle.component';\nimport { ThyResizeHandles } from './resize-handles.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [CommonModule, ThyResizableDirective, ThyResizeHandle, ThyResizeHandles],\n exports: [ThyResizableDirective, ThyResizeHandle, ThyResizeHandles]\n})\nexport class ThyResizableModule {}\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-resizable.mjs","sources":["../../../src/resizable/resizable.service.ts","../../../src/resizable/utils.ts","../../../src/resizable/resizable.directive.ts","../../../src/resizable/resize-handle.component.ts","../../../src/resizable/resize-handles.component.ts","../../../src/resizable/module.ts","../../../src/resizable/ngx-tethys-resizable.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { Injectable, NgZone, OnDestroy, inject } from '@angular/core';\nimport { isTouchEvent } from 'ngx-tethys/util';\nimport { Subject } from 'rxjs';\nimport { ThyResizeHandleMouseDownEvent } from './resize-handle.component';\n\n/**\n * @internal\n */\n@Injectable()\nexport class ThyResizableService implements OnDestroy {\n private ngZone = inject(NgZone);\n\n private document: Document;\n private listeners = new Map<string, (event: MouseEvent | TouchEvent) => void>();\n\n /**\n * The `OutsideAngular` prefix means that the subject will emit events outside of the Angular zone,\n * so that becomes a bit more descriptive for those who'll maintain the code in the future:\n * ```ts\n * thyResizableService.handleMouseDownOutsideAngular$.subscribe(event => {\n * console.log(Zone.current); // <root>\n * console.log(NgZone.isInAngularZone()); // false\n * });\n * ```\n */\n\n handleMouseDownOutsideAngular$ = new Subject<ThyResizeHandleMouseDownEvent>();\n documentMouseUpOutsideAngular$ = new Subject<MouseEvent | TouchEvent>();\n documentMouseMoveOutsideAngular$ = new Subject<MouseEvent | TouchEvent>();\n mouseEnteredOutsideAngular$ = new Subject<boolean>();\n\n constructor() {\n const document = inject(DOCUMENT);\n\n this.document = document;\n }\n\n startResizing(event: MouseEvent | TouchEvent): void {\n const _isTouchEvent = isTouchEvent(event);\n this.clearListeners();\n const moveEvent = _isTouchEvent ? 'touchmove' : 'mousemove';\n const upEvent = _isTouchEvent ? 'touchend' : 'mouseup';\n const moveEventHandler = (e: MouseEvent | TouchEvent) => {\n this.documentMouseMoveOutsideAngular$.next(e);\n };\n const upEventHandler = (e: MouseEvent | TouchEvent) => {\n this.documentMouseUpOutsideAngular$.next(e);\n this.clearListeners();\n };\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 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 ngOnDestroy(): void {\n this.handleMouseDownOutsideAngular$.complete();\n this.documentMouseUpOutsideAngular$.complete();\n this.documentMouseMoveOutsideAngular$.complete();\n this.mouseEnteredOutsideAngular$.complete();\n this.clearListeners();\n }\n}\n","import { isTouchEvent } from 'ngx-tethys/util';\n\nexport function getEventWithPoint(event: MouseEvent | TouchEvent): MouseEvent | Touch {\n return isTouchEvent(event) ? event.touches[0] || event.changedTouches[0] : (event as MouseEvent);\n}\n\nexport function ensureInBounds(value: number, boundValue: number): number {\n return value ? (value < boundValue ? value : boundValue) : boundValue;\n}\n\nexport function setCompatibleStyle(element: HTMLElement, key: string, value: string) {\n element.style[key] = value;\n element.style[`-webkit-${key}`] = value;\n element.style[`-moz-${key}`] = value;\n element.style[`-ms-${key}`] = value;\n}\n","import {\n Directive,\n AfterViewInit,\n OnDestroy,\n ElementRef,\n Renderer2,\n NgZone,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n inject,\n DestroyRef,\n numberAttribute\n} from '@angular/core';\nimport { ThyResizableService } from './resizable.service';\nimport { Platform } from '@angular/cdk/platform';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ThyResizeHandleMouseDownEvent } from './resize-handle.component';\nimport { ThyResizeEvent } from './interface';\nimport { getEventWithPoint, ensureInBounds, setCompatibleStyle } from './utils';\nimport { fromEvent } from 'rxjs';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 调整尺寸\n * @name thyResizable\n */\n@Directive({\n selector: '[thyResizable]',\n providers: [ThyResizableService],\n host: {\n class: 'thy-resizable',\n '[class.thy-resizable-resizing]': 'resizing',\n '[class.thy-resizable-disabled]': 'thyDisabled'\n },\n standalone: true\n})\nexport class ThyResizableDirective implements AfterViewInit, OnDestroy {\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private renderer = inject(Renderer2);\n private platform = inject(Platform);\n private ngZone = inject(NgZone);\n private thyResizableService = inject(ThyResizableService);\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n /**\n * 调整尺寸的边界\n * @default parent\n * @type 'window' | 'parent' | ElementRef<HTMLElement>\n */\n @Input() thyBounds: 'window' | 'parent' | ElementRef<HTMLElement> = 'parent';\n\n /**\n * 最大高度(超过边界部分忽略)\n */\n @Input({ transform: numberAttribute }) thyMaxHeight?: number;\n\n /**\n * 最大宽度(超过边界部分忽略)\n */\n @Input({ transform: numberAttribute }) thyMaxWidth?: number;\n\n /**\n * 最小高度\n */\n @Input({ transform: numberAttribute }) thyMinHeight: number = 40;\n\n /**\n * 最小宽度\n */\n @Input({ transform: numberAttribute }) thyMinWidth: number = 40;\n\n /**\n * 栅格列数(-1 为不栅格)\n */\n @Input({ transform: numberAttribute }) thyGridColumnCount: number = -1;\n\n /**\n * 栅格最大列数\n */\n @Input({ transform: numberAttribute }) thyMaxColumn: number = -1;\n\n /**\n * 栅格最小列数\n */\n @Input({ transform: numberAttribute }) thyMinColumn: number = -1;\n\n /**\n * 锁定宽高比\n */\n @Input({ transform: coerceBooleanProperty }) thyLockAspectRatio: boolean = false;\n\n /**\n * 是否预览模式\n */\n @Input({ transform: coerceBooleanProperty }) thyPreview: boolean = false;\n\n /**\n * 是否禁用调整大小\n */\n @Input({ transform: coerceBooleanProperty }) thyDisabled: boolean = false;\n\n /**\n * 调整尺寸时的事件\n */\n @Output() readonly thyResize = new EventEmitter<ThyResizeEvent>();\n\n /**\n * 开始调整尺寸时的事件\n */\n @Output() readonly thyResizeStart = new EventEmitter<ThyResizeEvent>();\n\n /**\n * 结束调整尺寸时的事件\n */\n @Output() readonly thyResizeEnd = new EventEmitter<ThyResizeEvent>();\n\n resizing = false;\n private nativeElement!: HTMLElement;\n private nativeElementRect!: ClientRect | DOMRect;\n private sizeCache: ThyResizeEvent | null = null;\n private ghostElement: HTMLDivElement | null = null;\n private currentHandleEvent: ThyResizeHandleMouseDownEvent | null = null;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor() {\n this.thyResizableService.handleMouseDownOutsideAngular$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(event => {\n if (this.thyDisabled) {\n return;\n }\n this.resizing = true;\n const { mouseEvent } = event;\n this.thyResizableService.startResizing(mouseEvent);\n this.currentHandleEvent = event;\n this.setCursor();\n // Re-enter the Angular zone and run the change detection only if there're any `thyResizeStart` listeners,\n // e.g.: `<div thyResizable (thyResizeStart)=\"...\"></div>`.\n if (this.thyResizeStart.observers.length) {\n this.ngZone.run(() => this.thyResizeStart.emit({ mouseEvent }));\n }\n this.nativeElementRect = this.nativeElement.getBoundingClientRect();\n });\n\n this.thyResizableService.documentMouseUpOutsideAngular$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(event => {\n if (this.resizing) {\n this.ngZone.run(() => {\n this.resizing = false;\n this.changeDetectorRef.markForCheck();\n });\n this.thyResizableService.documentMouseUpOutsideAngular$.next(event);\n this.endResize(event);\n }\n });\n\n this.thyResizableService.documentMouseMoveOutsideAngular$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(event => {\n if (this.resizing) {\n this.resize(event);\n }\n });\n }\n\n ngAfterViewInit(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.nativeElement = this.elementRef.nativeElement;\n this.ngZone.runOutsideAngular(() => {\n fromEvent(this.nativeElement, 'mouseenter')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.thyResizableService.mouseEnteredOutsideAngular$.next(true);\n });\n\n fromEvent(this.nativeElement, 'mouseleave')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.thyResizableService.mouseEnteredOutsideAngular$.next(false);\n });\n });\n }\n\n setCursor(): void {\n switch (this.currentHandleEvent!.direction) {\n case 'left':\n case 'right':\n this.renderer.setStyle(document.body, 'cursor', 'ew-resize');\n break;\n case 'top':\n case 'bottom':\n this.renderer.setStyle(document.body, 'cursor', 'ns-resize');\n break;\n case 'topLeft':\n case 'bottomRight':\n this.renderer.setStyle(document.body, 'cursor', 'nwse-resize');\n break;\n case 'topRight':\n case 'bottomLeft':\n this.renderer.setStyle(document.body, 'cursor', 'nesw-resize');\n break;\n }\n setCompatibleStyle(document.body, 'user-select', 'none');\n }\n\n endResize(event: MouseEvent | TouchEvent): void {\n this.renderer.setStyle(document.body, 'cursor', '');\n setCompatibleStyle(document.body, 'user-select', '');\n this.removeGhostElement();\n const size = this.sizeCache\n ? { ...this.sizeCache }\n : {\n width: this.nativeElementRect.width,\n height: this.nativeElementRect.height\n };\n // Re-enter the Angular zone and run the change detection only if there're any `thyResizeEnd` listeners,\n // e.g.: `<div thyResizable (thyResizeEnd)=\"...\"></div>`.\n if (this.thyResizeEnd.observers.length) {\n this.ngZone.run(() => {\n this.thyResizeEnd.emit({\n ...size,\n mouseEvent: event\n });\n });\n }\n this.sizeCache = null;\n this.currentHandleEvent = null;\n }\n\n resize(event: MouseEvent | TouchEvent): void {\n const nativeElementRect = this.nativeElementRect;\n const resizeEvent = getEventWithPoint(event);\n const handleEvent = getEventWithPoint(this.currentHandleEvent!.mouseEvent);\n let width = nativeElementRect.width;\n let height = nativeElementRect.height;\n const ratio = this.thyLockAspectRatio ? width / height : -1;\n switch (this.currentHandleEvent!.direction) {\n case 'bottomRight':\n width = resizeEvent.clientX - nativeElementRect.left;\n height = resizeEvent.clientY - nativeElementRect.top;\n break;\n case 'bottomLeft':\n width = nativeElementRect.width + (handleEvent.clientX - resizeEvent.clientX);\n height = resizeEvent.clientY - nativeElementRect.top;\n break;\n case 'topRight':\n width = resizeEvent.clientX - nativeElementRect.left;\n height = nativeElementRect.height + (handleEvent.clientY - resizeEvent.clientY);\n break;\n case 'topLeft':\n width = nativeElementRect.width + (handleEvent.clientX - resizeEvent.clientX);\n height = nativeElementRect.height + (handleEvent.clientY - resizeEvent.clientY);\n break;\n case 'top':\n height = nativeElementRect.height + (handleEvent.clientY - resizeEvent.clientY);\n break;\n case 'right':\n width = resizeEvent.clientX - nativeElementRect.left;\n break;\n case 'bottom':\n height = resizeEvent.clientY - nativeElementRect.top;\n break;\n case 'left':\n width = nativeElementRect.width + (handleEvent.clientX - resizeEvent.clientX);\n }\n const size = this.calcSize(width, height, ratio);\n this.sizeCache = { ...size };\n // Re-enter the Angular zone and run the change detection only if there're any `thyResize` listeners,\n // e.g.: `<div thyResizable (thyResize)=\"...\"></div>`.\n if (this.thyResize.observers.length) {\n this.ngZone.run(() => {\n this.thyResize.emit({\n ...size,\n mouseEvent: event\n });\n });\n }\n\n if (this.thyPreview) {\n this.previewResize(size);\n }\n }\n\n calcSize(width: number, height: number, ratio: number): ThyResizeEvent {\n let newWidth: number;\n let newHeight: number;\n let maxWidth: number;\n let maxHeight: number;\n let col = 0;\n let spanWidth = 0;\n let minWidth = this.thyMinWidth;\n let boundWidth = Infinity;\n let boundHeight = Infinity;\n if (this.thyBounds === 'parent') {\n const parent = this.renderer.parentNode(this.nativeElement);\n if (parent instanceof HTMLElement) {\n const parentRect = parent.getBoundingClientRect();\n boundWidth = parentRect.width;\n boundHeight = parentRect.height;\n }\n } else if (this.thyBounds === 'window') {\n if (typeof window !== 'undefined') {\n boundWidth = window.innerWidth;\n boundHeight = window.innerHeight;\n }\n } else if (this.thyBounds && this.thyBounds.nativeElement && this.thyBounds.nativeElement instanceof HTMLElement) {\n const boundsRect = this.thyBounds.nativeElement.getBoundingClientRect();\n boundWidth = boundsRect.width;\n boundHeight = boundsRect.height;\n }\n\n maxWidth = ensureInBounds(this.thyMaxWidth!, boundWidth);\n maxHeight = ensureInBounds(this.thyMaxHeight!, boundHeight);\n\n if (this.thyGridColumnCount !== -1) {\n spanWidth = maxWidth / this.thyGridColumnCount;\n minWidth = this.thyMinColumn !== -1 ? spanWidth * this.thyMinColumn : minWidth;\n maxWidth = this.thyMaxColumn !== -1 ? spanWidth * this.thyMaxColumn : maxWidth;\n }\n\n if (ratio !== -1) {\n if (/(left|right)/i.test(this.currentHandleEvent!.direction)) {\n newWidth = Math.min(Math.max(width, minWidth), maxWidth);\n newHeight = Math.min(Math.max(newWidth / ratio, this.thyMinHeight), maxHeight);\n if (newHeight >= maxHeight || newHeight <= this.thyMinHeight) {\n newWidth = Math.min(Math.max(newHeight * ratio, minWidth), maxWidth);\n }\n } else {\n newHeight = Math.min(Math.max(height, this.thyMinHeight), maxHeight);\n newWidth = Math.min(Math.max(newHeight * ratio, minWidth), maxWidth);\n if (newWidth >= maxWidth || newWidth <= minWidth) {\n newHeight = Math.min(Math.max(newWidth / ratio, this.thyMinHeight), maxHeight);\n }\n }\n } else {\n newWidth = Math.min(Math.max(width, minWidth), maxWidth);\n newHeight = Math.min(Math.max(height, this.thyMinHeight), maxHeight);\n }\n\n if (this.thyGridColumnCount !== -1) {\n col = Math.round(newWidth / spanWidth);\n newWidth = col * spanWidth;\n }\n\n return {\n col,\n width: newWidth,\n height: newHeight\n };\n }\n\n previewResize({ width, height }: ThyResizeEvent): void {\n this.createGhostElement();\n this.renderer.setStyle(this.ghostElement, 'width', `${width}px`);\n this.renderer.setStyle(this.ghostElement, 'height', `${height}px`);\n }\n\n createGhostElement(): void {\n if (!this.ghostElement) {\n this.ghostElement = this.renderer.createElement('div');\n this.renderer.setAttribute(this.ghostElement, 'class', 'thy-resizable-preview');\n }\n this.renderer.appendChild(this.nativeElement, this.ghostElement);\n }\n\n removeGhostElement(): void {\n if (this.ghostElement) {\n this.renderer.removeChild(this.nativeElement, this.ghostElement);\n }\n }\n\n ngOnDestroy(): void {\n this.ghostElement = null;\n this.sizeCache = null;\n }\n}\n","import {\n OnInit,\n Component,\n ChangeDetectionStrategy,\n Input,\n Output,\n NgZone,\n EventEmitter,\n ElementRef,\n inject,\n DestroyRef\n} from '@angular/core';\nimport { normalizePassiveListenerOptions } from '@angular/cdk/platform';\nimport { ThyResizeDirection } from './interface';\nimport { ThyResizableService } from './resizable.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, merge } from 'rxjs';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport class ThyResizeHandleMouseDownEvent {\n constructor(\n public direction: ThyResizeDirection,\n public mouseEvent: MouseEvent | TouchEvent\n ) {}\n}\n\nconst passiveEventListenerOptions = <AddEventListenerOptions>normalizePassiveListenerOptions({ passive: true });\n\n/**\n * 定义调整手柄及方向\n * @name thy-resize-handle\n */\n@Component({\n selector: 'thy-resize-handle, [thy-resize-handle]',\n exportAs: 'thyResizeHandle',\n template: `\n <ng-content></ng-content>\n @if (thyLine) {\n <div class=\"thy-resizable-handle-line\"></div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-resizable-handle',\n '[class.thy-resizable-handle-top]': `thyDirection === 'top'`,\n '[class.thy-resizable-handle-right]': `thyDirection === 'right'`,\n '[class.thy-resizable-handle-bottom]': `thyDirection === 'bottom'`,\n '[class.thy-resizable-handle-left]': `thyDirection === 'left'`,\n '[class.thy-resizable-handle-topRight]': `thyDirection === 'topRight'`,\n '[class.thy-resizable-handle-bottomRight]': `thyDirection === 'bottomRight'`,\n '[class.thy-resizable-handle-bottomLeft]': `thyDirection === 'bottomLeft'`,\n '[class.thy-resizable-handle-topLeft]': `thyDirection === 'topLeft'`,\n '[class.thy-resizable-handle-box-hover]': 'entered'\n },\n imports: []\n})\nexport class ThyResizeHandle implements OnInit {\n private ngZone = inject(NgZone);\n private thyResizableService = inject(ThyResizableService);\n private host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * 调整方向\n * @type top | right | bottom | left | topRight | bottomRight | bottomLeft | topLeft\n */\n @Input() thyDirection: ThyResizeDirection = 'bottomRight';\n\n /**\n * 是否展示拖拽线\n */\n @Input({ transform: coerceBooleanProperty }) thyLine = false;\n\n /**\n * MouseDown 回调事件\n */\n @Output() readonly thyMouseDown = new EventEmitter<ThyResizeHandleMouseDownEvent>();\n\n private hostRenderer = useHostRenderer();\n\n private readonly destroyRef = inject(DestroyRef);\n\n ngOnInit(): void {\n this.thyResizableService.mouseEnteredOutsideAngular$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(entered => {\n if (entered) {\n this.hostRenderer.addClass('thy-resizable-handle-box-hover');\n } else {\n this.hostRenderer.removeClass('thy-resizable-handle-box-hover');\n }\n });\n this.ngZone.runOutsideAngular(() => {\n // Note: since Chrome 56 defaults document level `touchstart` listener to passive.\n // The element `touchstart` listener is not passive by default\n // We never call `preventDefault()` on it, so we're safe making it passive too.\n merge(\n fromEvent<MouseEvent>(this.host.nativeElement, 'mousedown', passiveEventListenerOptions),\n fromEvent<TouchEvent>(this.host.nativeElement, 'touchstart', passiveEventListenerOptions)\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event: MouseEvent | TouchEvent) => {\n this.thyResizableService.handleMouseDownOutsideAngular$.next(\n new ThyResizeHandleMouseDownEvent(this.thyDirection, event)\n );\n });\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { ThyResizeDirection } from './interface';\nimport { ThyResizeHandle } from './resize-handle.component';\n\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport const DEFAULT_RESIZE_DIRECTION: ThyResizeDirection[] = [\n 'bottomRight',\n 'topRight',\n 'bottomLeft',\n 'topLeft',\n 'bottom',\n 'right',\n 'top',\n 'left'\n];\n\n/**\n * 定义调整手柄的快捷组件\n * @name thy-resize-handles\n */\n@Component({\n selector: 'thy-resize-handles',\n exportAs: 'thyResizeHandles',\n template: `\n @for (dir of directions; track $index) {\n <thy-resize-handle [thyLine]=\"thyLine\" [thyDirection]=\"dir\"></thy-resize-handle>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThyResizeHandle]\n})\nexport class ThyResizeHandles implements OnChanges {\n /**\n * 定义调整手柄的方向\n * @type ThyResizeDirection[]\n */\n @Input() thyDirections: ThyResizeDirection[] = DEFAULT_RESIZE_DIRECTION;\n\n /**\n * 是否展示拖拽线\n */\n @Input({ transform: coerceBooleanProperty }) thyLine = false;\n\n directions = new Set<ThyResizeDirection>(this.thyDirections);\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.thyDirections) {\n this.directions = new Set(changes.thyDirections.currentValue);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ThyResizableDirective } from './resizable.directive';\nimport { ThyResizeHandle } from './resize-handle.component';\nimport { ThyResizeHandles } from './resize-handles.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [CommonModule, ThyResizableDirective, ThyResizeHandle, ThyResizeHandles],\n exports: [ThyResizableDirective, ThyResizeHandle, ThyResizeHandles]\n})\nexport class ThyResizableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|