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,393 +0,0 @@
|
|
|
1
|
-
import { ScrollToService } from 'ngx-tethys/core';
|
|
2
|
-
import { THY_LIST_OPTION_PARENT_COMPONENT, ThyListOption } from 'ngx-tethys/shared';
|
|
3
|
-
import { coerceBooleanProperty, dom, helpers, keycodes } from 'ngx-tethys/util';
|
|
4
|
-
import { Subscription } from 'rxjs';
|
|
5
|
-
import { startWith } from 'rxjs/operators';
|
|
6
|
-
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
7
|
-
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
8
|
-
import { SelectionModel } from '@angular/cdk/collections';
|
|
9
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, HostBinding, Input, NgZone, Output, QueryList, Renderer2, inject } from '@angular/core';
|
|
10
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
const listSizesMap = {
|
|
13
|
-
sm: 'thy-list-sm'
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* @name thy-selection-list,[thy-selection-list]
|
|
17
|
-
* @order 20
|
|
18
|
-
*/
|
|
19
|
-
export class ThySelectionList {
|
|
20
|
-
constructor() {
|
|
21
|
-
this.renderer = inject(Renderer2);
|
|
22
|
-
this.elementRef = inject(ElementRef);
|
|
23
|
-
this.ngZone = inject(NgZone);
|
|
24
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
25
|
-
this._selectionChangesUnsubscribe$ = Subscription.EMPTY;
|
|
26
|
-
this.hostRenderer = useHostRenderer();
|
|
27
|
-
this.layout = 'list';
|
|
28
|
-
this._isList = true;
|
|
29
|
-
this._isSelectionList = true;
|
|
30
|
-
this.multiple = true;
|
|
31
|
-
this.isLayoutGrid = false;
|
|
32
|
-
this.spaceEnabled = true;
|
|
33
|
-
/**
|
|
34
|
-
* 每当选项的选定状态发生更改时,都会触发更改事件
|
|
35
|
-
* @type EventEmitter<ThySelectionListChange>
|
|
36
|
-
*/
|
|
37
|
-
this.thySelectionChange = new EventEmitter();
|
|
38
|
-
this._onTouched = () => { };
|
|
39
|
-
this._onChange = (_) => { };
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* 改变 grid item 的选择模式,使其支持多选
|
|
43
|
-
* @default true
|
|
44
|
-
*/
|
|
45
|
-
set thyMultiple(value) {
|
|
46
|
-
const previousValue = this.multiple;
|
|
47
|
-
this.multiple = value;
|
|
48
|
-
if (previousValue !== this.multiple) {
|
|
49
|
-
this._instanceSelectionModel();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* grid item 的展示样式
|
|
54
|
-
* @type list | grid
|
|
55
|
-
* @default list
|
|
56
|
-
*/
|
|
57
|
-
set thyLayout(value) {
|
|
58
|
-
this.layout = value;
|
|
59
|
-
this.isLayoutGrid = value === 'grid';
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* 是否自动激活第一项
|
|
63
|
-
*/
|
|
64
|
-
set thyAutoActiveFirstItem(value) {
|
|
65
|
-
this.autoActiveFirstItem = value;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* 改变 grid item 的大小,支持默认以及 sm 两种大小
|
|
69
|
-
* @type sm | md | lg
|
|
70
|
-
*/
|
|
71
|
-
set thySize(value) {
|
|
72
|
-
this._setListSize(value);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* 是否按下空格切换聚焦选项
|
|
76
|
-
*/
|
|
77
|
-
set thySpaceKeyEnabled(value) {
|
|
78
|
-
this.spaceEnabled = value;
|
|
79
|
-
}
|
|
80
|
-
_emitChangeEvent(option, event) {
|
|
81
|
-
this.thySelectionChange.emit({
|
|
82
|
-
source: this,
|
|
83
|
-
value: option.thyValue,
|
|
84
|
-
option: option,
|
|
85
|
-
event: event,
|
|
86
|
-
selected: this.isSelected(option)
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
_emitModelValueChange() {
|
|
90
|
-
if (this.options) {
|
|
91
|
-
let selectedValues = this.selectionModel.selected;
|
|
92
|
-
if (this.thyUniqueKey) {
|
|
93
|
-
selectedValues = selectedValues.map(selectedValue => {
|
|
94
|
-
const selectedOption = this.options.find(option => {
|
|
95
|
-
return option.thyValue[this.thyUniqueKey] === selectedValue;
|
|
96
|
-
});
|
|
97
|
-
if (selectedOption) {
|
|
98
|
-
return selectedOption.thyValue;
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
return this._modelValues.find(value => {
|
|
102
|
-
return value[this.thyUniqueKey] === selectedValue;
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
this._modelValues = selectedValues;
|
|
108
|
-
let changeValue = selectedValues;
|
|
109
|
-
if (!this.multiple && selectedValues && selectedValues.length > 0) {
|
|
110
|
-
changeValue = selectedValues[0];
|
|
111
|
-
}
|
|
112
|
-
this._onChange(changeValue);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
_toggleFocusedOption(event) {
|
|
116
|
-
if (this._keyManager.activeItem) {
|
|
117
|
-
this.ngZone.run(() => {
|
|
118
|
-
this.toggleOption(this._keyManager.activeItem, event);
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
_initializeFocusKeyManager() {
|
|
123
|
-
this._keyManager = new ActiveDescendantKeyManager(this.options)
|
|
124
|
-
.withWrap()
|
|
125
|
-
// .withTypeAhead()
|
|
126
|
-
// Allow disabled items to be focusable. For accessibility reasons, there must be a way for
|
|
127
|
-
// screenreader users, that allows reading the different options of the list.
|
|
128
|
-
.skipPredicate(() => false);
|
|
129
|
-
}
|
|
130
|
-
_instanceSelectionModel() {
|
|
131
|
-
this.selectionModel = new SelectionModel(this.multiple);
|
|
132
|
-
}
|
|
133
|
-
_getElementBySelector(element) {
|
|
134
|
-
return dom.getHTMLElementBySelector(element, this.elementRef);
|
|
135
|
-
}
|
|
136
|
-
_compareValue(value1, value2) {
|
|
137
|
-
if (this.thyCompareWith) {
|
|
138
|
-
const compareFn = this.thyCompareWith;
|
|
139
|
-
return compareFn(value1, value2);
|
|
140
|
-
}
|
|
141
|
-
else if (this.thyUniqueKey) {
|
|
142
|
-
return value1 && value1[this.thyUniqueKey] === value2 && value2[this.thyUniqueKey];
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
return value1 === value2;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
_getOptionSelectionValue(option) {
|
|
149
|
-
if (option.thyValue) {
|
|
150
|
-
return this.thyUniqueKey ? option.thyValue[this.thyUniqueKey] : option.thyValue;
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
return option;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
_setSelectionByValues(values) {
|
|
157
|
-
this.selectionModel.clear();
|
|
158
|
-
values.forEach(value => {
|
|
159
|
-
if (this.thyUniqueKey) {
|
|
160
|
-
this.selectionModel.select(value[this.thyUniqueKey]);
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
this.selectionModel.select(value);
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
_setAllOptionsSelected(toIsSelected) {
|
|
168
|
-
// Keep track of whether anything changed, because we only want to
|
|
169
|
-
// emit the changed event when something actually changed.
|
|
170
|
-
let hasChanged = false;
|
|
171
|
-
this.options.forEach(option => {
|
|
172
|
-
const fromIsSelected = this.selectionModel.isSelected(option.thyValue);
|
|
173
|
-
if (fromIsSelected !== toIsSelected) {
|
|
174
|
-
hasChanged = true;
|
|
175
|
-
this.selectionModel.toggle(option.thyValue);
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
if (hasChanged) {
|
|
179
|
-
this._emitModelValueChange();
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
_getOptionByValue(value) {
|
|
183
|
-
return this.options.find(option => {
|
|
184
|
-
return this._compareValue(option.thyValue, value);
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
_getActiveOption() {
|
|
188
|
-
if (this._keyManager.activeItem) {
|
|
189
|
-
return this._getOptionByValue(this._keyManager.activeItem.thyValue);
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
return null;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
_setListSize(size) {
|
|
196
|
-
for (const key in listSizesMap) {
|
|
197
|
-
if (listSizesMap.hasOwnProperty(key)) {
|
|
198
|
-
this.hostRenderer.removeClass(listSizesMap[key]);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
if (size) {
|
|
202
|
-
this.hostRenderer.addClass(listSizesMap[size]);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
ngOnInit() {
|
|
206
|
-
const bindKeyEventElement = this._getElementBySelector(this.thyBindKeyEventContainer);
|
|
207
|
-
this.ngZone.runOutsideAngular(() => {
|
|
208
|
-
this._bindKeyEventUnsubscribe = this.renderer.listen(bindKeyEventElement, 'keydown', this.onKeydown.bind(this));
|
|
209
|
-
});
|
|
210
|
-
this._instanceSelectionModel();
|
|
211
|
-
}
|
|
212
|
-
writeValue(value) {
|
|
213
|
-
if ((typeof ngDevMode === 'undefined' || ngDevMode) && value) {
|
|
214
|
-
if (this.multiple && !helpers.isArray(value)) {
|
|
215
|
-
throw new Error(`The multiple selection ngModel must be an array.`);
|
|
216
|
-
}
|
|
217
|
-
if (!this.multiple && helpers.isArray(value)) {
|
|
218
|
-
throw new Error(`The single selection ngModel should not be an array.`);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
const values = helpers.isArray(value) ? value : value ? [value] : [];
|
|
222
|
-
this._modelValues = values;
|
|
223
|
-
if (this.options) {
|
|
224
|
-
this._setSelectionByValues(values);
|
|
225
|
-
}
|
|
226
|
-
this.changeDetectorRef.markForCheck();
|
|
227
|
-
}
|
|
228
|
-
registerOnChange(fn) {
|
|
229
|
-
this._onChange = fn;
|
|
230
|
-
}
|
|
231
|
-
registerOnTouched(fn) {
|
|
232
|
-
this._onTouched = fn;
|
|
233
|
-
}
|
|
234
|
-
setDisabledState(isDisabled) {
|
|
235
|
-
this.disabled = isDisabled;
|
|
236
|
-
}
|
|
237
|
-
onKeydown(event) {
|
|
238
|
-
if (this.thyBeforeKeydown) {
|
|
239
|
-
// stop key down event
|
|
240
|
-
const isContinue = this.thyBeforeKeydown(event);
|
|
241
|
-
if (!isContinue) {
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
const keyCode = event.keyCode || event.which;
|
|
246
|
-
const manager = this._keyManager;
|
|
247
|
-
const previousFocusIndex = manager.activeItemIndex;
|
|
248
|
-
switch (keyCode) {
|
|
249
|
-
case keycodes.SPACE:
|
|
250
|
-
case keycodes.ENTER:
|
|
251
|
-
if (keyCode === keycodes.SPACE && !this.spaceEnabled) {
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
254
|
-
this._toggleFocusedOption(event);
|
|
255
|
-
// Always prevent space from scrolling the page since the list has focus
|
|
256
|
-
event.preventDefault();
|
|
257
|
-
break;
|
|
258
|
-
default:
|
|
259
|
-
manager.onKeydown(event);
|
|
260
|
-
}
|
|
261
|
-
if ((keyCode === keycodes.UP_ARROW || keyCode === keycodes.DOWN_ARROW) &&
|
|
262
|
-
event.shiftKey &&
|
|
263
|
-
manager.activeItemIndex !== previousFocusIndex) {
|
|
264
|
-
this._toggleFocusedOption(event);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
toggleOption(option, event) {
|
|
268
|
-
if (option && !option.disabled) {
|
|
269
|
-
this.selectionModel.toggle(this._getOptionSelectionValue(option));
|
|
270
|
-
// Emit a change event because the focused option changed its state through user
|
|
271
|
-
// interaction.
|
|
272
|
-
this._emitModelValueChange();
|
|
273
|
-
this._emitChangeEvent(option, event);
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
setActiveOption(option) {
|
|
277
|
-
this._keyManager.updateActiveItem(option); // .updateActiveItemIndex(this._getOptionIndex(option));
|
|
278
|
-
}
|
|
279
|
-
scrollIntoView(option) {
|
|
280
|
-
const scrollContainerElement = dom.getHTMLElementBySelector(this.thyScrollContainer, this.elementRef);
|
|
281
|
-
ScrollToService.scrollToElement(option.element.nativeElement, scrollContainerElement);
|
|
282
|
-
}
|
|
283
|
-
isSelected(option) {
|
|
284
|
-
return this.selectionModel.isSelected(this._getOptionSelectionValue(option));
|
|
285
|
-
}
|
|
286
|
-
clearActiveItem() {
|
|
287
|
-
if (this._keyManager.activeItem) {
|
|
288
|
-
this._keyManager.setActiveItem(-1);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
determineClearActiveItem() {
|
|
292
|
-
if (!this._getActiveOption()) {
|
|
293
|
-
this.clearActiveItem();
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
/** Selects all of the options. */
|
|
297
|
-
selectAll() {
|
|
298
|
-
this._setAllOptionsSelected(true);
|
|
299
|
-
}
|
|
300
|
-
/** Deselects all of the options. */
|
|
301
|
-
deselectAll() {
|
|
302
|
-
this._setAllOptionsSelected(false);
|
|
303
|
-
}
|
|
304
|
-
ngAfterContentInit() {
|
|
305
|
-
this._initializeFocusKeyManager();
|
|
306
|
-
this.options.changes.pipe(startWith(true)).subscribe(() => {
|
|
307
|
-
if (this.autoActiveFirstItem) {
|
|
308
|
-
if (!this._keyManager.activeItem || this.options.toArray().indexOf(this._keyManager.activeItem) < 0) {
|
|
309
|
-
this._keyManager.setFirstItemActive();
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
}
|
|
314
|
-
ngOnDestroy() {
|
|
315
|
-
this._selectionChangesUnsubscribe$.unsubscribe();
|
|
316
|
-
if (this._bindKeyEventUnsubscribe) {
|
|
317
|
-
this._bindKeyEventUnsubscribe();
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThySelectionList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
321
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: ThySelectionList, isStandalone: true, selector: "thy-selection-list,[thy-selection-list]", inputs: { thyMultiple: ["thyMultiple", "thyMultiple", coerceBooleanProperty], thyBindKeyEventContainer: "thyBindKeyEventContainer", thyScrollContainer: "thyScrollContainer", thyBeforeKeydown: "thyBeforeKeydown", thyUniqueKey: "thyUniqueKey", thyCompareWith: "thyCompareWith", thyLayout: "thyLayout", thyAutoActiveFirstItem: ["thyAutoActiveFirstItem", "thyAutoActiveFirstItem", coerceBooleanProperty], thySize: "thySize", thySpaceKeyEnabled: ["thySpaceKeyEnabled", "thySpaceKeyEnabled", coerceBooleanProperty] }, outputs: { thySelectionChange: "thySelectionChange" }, host: { properties: { "class.thy-list": "this._isList", "class.thy-selection-list": "this._isSelectionList", "class.thy-multiple-selection-list": "this.multiple", "class.thy-grid-list": "this.isLayoutGrid" } }, providers: [
|
|
322
|
-
{
|
|
323
|
-
provide: THY_LIST_OPTION_PARENT_COMPONENT,
|
|
324
|
-
useExisting: ThySelectionList
|
|
325
|
-
},
|
|
326
|
-
{
|
|
327
|
-
provide: NG_VALUE_ACCESSOR,
|
|
328
|
-
useExisting: forwardRef(() => ThySelectionList),
|
|
329
|
-
multi: true
|
|
330
|
-
}
|
|
331
|
-
], queries: [{ propertyName: "options", predicate: ThyListOption, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
332
|
-
}
|
|
333
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThySelectionList, decorators: [{
|
|
334
|
-
type: Component,
|
|
335
|
-
args: [{
|
|
336
|
-
selector: 'thy-selection-list,[thy-selection-list]',
|
|
337
|
-
template: '<ng-content></ng-content>',
|
|
338
|
-
providers: [
|
|
339
|
-
{
|
|
340
|
-
provide: THY_LIST_OPTION_PARENT_COMPONENT,
|
|
341
|
-
useExisting: ThySelectionList
|
|
342
|
-
},
|
|
343
|
-
{
|
|
344
|
-
provide: NG_VALUE_ACCESSOR,
|
|
345
|
-
useExisting: forwardRef(() => ThySelectionList),
|
|
346
|
-
multi: true
|
|
347
|
-
}
|
|
348
|
-
],
|
|
349
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
350
|
-
standalone: true
|
|
351
|
-
}]
|
|
352
|
-
}], propDecorators: { _isList: [{
|
|
353
|
-
type: HostBinding,
|
|
354
|
-
args: [`class.thy-list`]
|
|
355
|
-
}], _isSelectionList: [{
|
|
356
|
-
type: HostBinding,
|
|
357
|
-
args: [`class.thy-selection-list`]
|
|
358
|
-
}], multiple: [{
|
|
359
|
-
type: HostBinding,
|
|
360
|
-
args: [`class.thy-multiple-selection-list`]
|
|
361
|
-
}], isLayoutGrid: [{
|
|
362
|
-
type: HostBinding,
|
|
363
|
-
args: [`class.thy-grid-list`]
|
|
364
|
-
}], options: [{
|
|
365
|
-
type: ContentChildren,
|
|
366
|
-
args: [ThyListOption, { descendants: true }]
|
|
367
|
-
}], thyMultiple: [{
|
|
368
|
-
type: Input,
|
|
369
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
370
|
-
}], thyBindKeyEventContainer: [{
|
|
371
|
-
type: Input
|
|
372
|
-
}], thyScrollContainer: [{
|
|
373
|
-
type: Input
|
|
374
|
-
}], thyBeforeKeydown: [{
|
|
375
|
-
type: Input
|
|
376
|
-
}], thyUniqueKey: [{
|
|
377
|
-
type: Input
|
|
378
|
-
}], thyCompareWith: [{
|
|
379
|
-
type: Input
|
|
380
|
-
}], thyLayout: [{
|
|
381
|
-
type: Input
|
|
382
|
-
}], thyAutoActiveFirstItem: [{
|
|
383
|
-
type: Input,
|
|
384
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
385
|
-
}], thySize: [{
|
|
386
|
-
type: Input
|
|
387
|
-
}], thySpaceKeyEnabled: [{
|
|
388
|
-
type: Input,
|
|
389
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
390
|
-
}], thySelectionChange: [{
|
|
391
|
-
type: Output
|
|
392
|
-
}] } });
|
|
393
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlzdC9zZWxlY3Rpb24vc2VsZWN0aW9uLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBaUMsZ0NBQWdDLEVBQWlCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xJLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFHTixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU16RSxNQUFNLFlBQVksR0FBRztJQUNqQixFQUFFLEVBQUUsYUFBYTtDQUNwQixDQUFDO0FBRUY7OztHQUdHO0FBa0JILE1BQU0sT0FBTyxnQkFBZ0I7SUFqQjdCO1FBa0JZLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0Is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RUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsZ0NBQWdDOzRCQUN6QyxXQUFXLGtCQUFrQjt5QkFDaEM7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7NEJBQy9DLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBd0JrQyxPQUFPO3NCQUFyQyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFFWSxnQkFBZ0I7c0JBQXhELFdBQVc7dUJBQUMsMEJBQTBCO2dCQUVXLFFBQVE7c0JBQXpELFdBQVc7dUJBQUMsbUNBQW1DO2dCQUVaLFlBQVk7c0JBQS9DLFdBQVc7dUJBQUMscUJBQXFCO2dCQUtxQixPQUFPO3NCQUE3RCxlQUFlO3VCQUFDLGFBQWEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBT2pELFdBQVc7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFjbEMsd0JBQXdCO3NCQUFoQyxLQUFLO2dCQU9HLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxjQUFjO3NCQUF0QixLQUFLO2dCQU9PLFNBQVM7c0JBQXJCLEtBQUs7Z0JBUTJDLHNCQUFzQjtzQkFBdEUsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFROUIsT0FBTztzQkFBbkIsS0FBSztnQkFTMkMsa0JBQWtCO3NCQUFsRSxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQVF4QixrQkFBa0I7c0JBQXBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JvbGxUb1NlcnZpY2UgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgSVRoeUxpc3RPcHRpb25QYXJlbnRDb21wb25lbnQsIFRIWV9MSVNUX09QVElPTl9QQVJFTlRfQ09NUE9ORU5ULCBUaHlMaXN0TGF5b3V0LCBUaHlMaXN0T3B0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBkb20sIGhlbHBlcnMsIGtleWNvZGVzIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcbmltcG9ydCB7IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFRoeVNlbGVjdGlvbkxpc3RDaGFuZ2UgfSBmcm9tICcuL3NlbGVjdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBUaHlMaXN0U2l6ZSA9ICdzbScgfCAnbWQnIHwgJ2xnJztcblxuY29uc3QgbGlzdFNpemVzTWFwID0ge1xuICAgIHNtOiAndGh5LWxpc3Qtc20nXG59O1xuXG4vKipcbiAqIEBuYW1lIHRoeS1zZWxlY3Rpb24tbGlzdCxbdGh5LXNlbGVjdGlvbi1saXN0XVxuICogQG9yZGVyIDIwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXNlbGVjdGlvbi1saXN0LFt0aHktc2VsZWN0aW9uLWxpc3RdJyxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUSFlfTElTVF9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUaHlTZWxlY3Rpb25MaXN0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGh5U2VsZWN0aW9uTGlzdCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeVNlbGVjdGlvbkxpc3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCwgSVRoeUxpc3RPcHRpb25QYXJlbnRDb21wb25lbnQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICBwcml2YXRlIF9rZXlNYW5hZ2VyOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxUaHlMaXN0T3B0aW9uPjtcblxuICAgIHByaXZhdGUgX3NlbGVjdGlvbkNoYW5nZXNVbnN1YnNjcmliZSQgPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgICBwcml2YXRlIF9iaW5kS2V5RXZlbnRVbnN1YnNjcmliZTogKCkgPT4gdm9pZDtcblxuICAgIHByaXZhdGUgX21vZGVsVmFsdWVzOiBhbnlbXTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBvcHRpb25zLiAqL1xuICAgIHNlbGVjdGlvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxhbnk+O1xuXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBsYXlvdXQ6IFRoeUxpc3RMYXlvdXQgPSAnbGlzdCc7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS1saXN0YCkgX2lzTGlzdCA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS1zZWxlY3Rpb24tbGlzdGApIF9pc1NlbGVjdGlvbkxpc3QgPSB0cnVlO1xuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktbXVsdGlwbGUtc2VsZWN0aW9uLWxpc3RgKSBtdWx0aXBsZSA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS1ncmlkLWxpc3RgKSBpc0xheW91dEdyaWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oVGh5TGlzdE9wdGlvbiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBvcHRpb25zOiBRdWVyeUxpc3Q8VGh5TGlzdE9wdGlvbj47XG5cbiAgICAvKipcbiAgICAgKiDmlLnlj5ggZ3JpZCBpdGVtIOeahOmAieaLqeaooeW8j++8jOS9v+WFtuaUr+aMgeWkmumAiVxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlNdWx0aXBsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gdGhpcy5tdWx0aXBsZTtcbiAgICAgICAgdGhpcy5tdWx0aXBsZSA9IHZhbHVlO1xuICAgICAgICBpZiAocHJldmlvdXNWYWx1ZSAhPT0gdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2VTZWxlY3Rpb25Nb2RlbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog57uR5a6a6ZSu55uY5LqL5Lu255qE5a655ZmoXG4gICAgICogQHR5cGUgSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgc3RyaW5nXG4gICAgICogQGRlZmF1bHQgdGh5LXNlbGVjdGlvbi1saXN0IOe7hOS7tue7keWumueahOWFg+e0oFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUJpbmRLZXlFdmVudENvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5Ye6546w5rua5Yqo5p2h55qE5a655ZmoXG4gICAgICogQHR5cGUgSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgc3RyaW5nXG4gICAgICogQGRlZmF1bHQgdGh5LXNlbGVjdGlvbi1saXN0IOe7hOS7tue7keWumueahOWFg+e0oFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNjcm9sbENvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog6ZSu55uY5LqL5Lu26Kem5Y+RIEJlZm9yZSDosIPnlKjvvIzlpoLmnpzov5Tlm54gZmFsc2Ug5YiZ5YGc5q2i57un57ut5omn6KGMXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QmVmb3JlS2V5ZG93bjogKGV2ZW50PzogS2V5Ym9hcmRFdmVudCkgPT4gYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbiBWYWx1ZSDllK/kuIDnmoQgS2V577yM55So5LqO5a2Y5YKo5ZOq5Lqb6YCJ5oup6KKr6YCJ5Lit55qE5ZSv5LiA5YC877yM5Y+q5pyJIE9wdGlvbiDnmoQgdGh5VmFsdWUg5piv5a+56LGh55qE5pe25omN5Y+v5Lul5Lyg5YWl6K+l6YCJ6aG5XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5VW5pcXVlS2V5OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmr5TovoMy5Liq6YCJ6aG555qEIFZhbHVlIOaYr+WQpuebuOWQjFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvbXBhcmVXaXRoOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIGdyaWQgaXRlbSDnmoTlsZXnpLrmoLflvI9cbiAgICAgKiBAdHlwZSBsaXN0IHwgZ3JpZFxuICAgICAqIEBkZWZhdWx0IGxpc3RcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5TGF5b3V0KHZhbHVlOiBUaHlMaXN0TGF5b3V0KSB7XG4gICAgICAgIHRoaXMubGF5b3V0ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaXNMYXlvdXRHcmlkID0gdmFsdWUgPT09ICdncmlkJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKboh6rliqjmv4DmtLvnrKzkuIDpoblcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSBzZXQgdGh5QXV0b0FjdGl2ZUZpcnN0SXRlbSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmF1dG9BY3RpdmVGaXJzdEl0ZW0gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmlLnlj5ggZ3JpZCBpdGVtIOeahOWkp+Wwj++8jOaUr+aMgem7mOiupOS7peWPiiBzbSDkuKTnp43lpKflsI9cbiAgICAgKiBAdHlwZSBzbSB8IG1kIHwgbGdcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5U2l6ZSh2YWx1ZTogVGh5TGlzdFNpemUpIHtcbiAgICAgICAgdGhpcy5fc2V0TGlzdFNpemUodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3BhY2VFbmFibGVkID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaMieS4i+epuuagvOWIh+aNouiBmueEpumAiemhuVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHNldCB0aHlTcGFjZUtleUVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zcGFjZUVuYWJsZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmr4/lvZPpgInpobnnmoTpgInlrprnirbmgIHlj5HnlJ/mm7TmlLnml7bvvIzpg73kvJrop6blj5Hmm7TmlLnkuovku7ZcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8VGh5U2VsZWN0aW9uTGlzdENoYW5nZT5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5U2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VGh5U2VsZWN0aW9uTGlzdENoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVNlbGVjdGlvbkxpc3RDaGFuZ2U+KCk7XG5cbiAgICBwcml2YXRlIGF1dG9BY3RpdmVGaXJzdEl0ZW06IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIHByaXZhdGUgX29uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9IChfOiBhbnkpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBfZW1pdENoYW5nZUV2ZW50KG9wdGlvbjogVGh5TGlzdE9wdGlvbiwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5U2VsZWN0aW9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgICAgc291cmNlOiB0aGlzLFxuICAgICAgICAgICAgdmFsdWU6IG9wdGlvbi50aHlWYWx1ZSxcbiAgICAgICAgICAgIG9wdGlvbjogb3B0aW9uLFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuaXNTZWxlY3RlZChvcHRpb24pXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2VtaXRNb2RlbFZhbHVlQ2hhbmdlKCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zKSB7XG4gICAgICAgICAgICBsZXQgc2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGVkO1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5VW5pcXVlS2V5KSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZXMgPSBzZWxlY3RlZFZhbHVlcy5tYXAoc2VsZWN0ZWRWYWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5vcHRpb25zLmZpbmQob3B0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udGh5VmFsdWVbdGhpcy50aHlVbmlxdWVLZXldID09PSBzZWxlY3RlZFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb24udGh5VmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbW9kZWxWYWx1ZXMuZmluZCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlW3RoaXMudGh5VW5pcXVlS2V5XSA9PT0gc2VsZWN0ZWRWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9tb2RlbFZhbHVlcyA9IHNlbGVjdGVkVmFsdWVzO1xuICAgICAgICAgICAgbGV0IGNoYW5nZVZhbHVlID0gc2VsZWN0ZWRWYWx1ZXM7XG4gICAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgc2VsZWN0ZWRWYWx1ZXMgJiYgc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNoYW5nZVZhbHVlID0gc2VsZWN0ZWRWYWx1ZXNbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZShjaGFuZ2VWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF90b2dnbGVGb2N1c2VkT3B0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2dnbGVPcHRpb24odGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtLCBldmVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2luaXRpYWxpemVGb2N1c0tleU1hbmFnZXIoKSB7XG4gICAgICAgIHRoaXMuX2tleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8VGh5TGlzdE9wdGlvbj4odGhpcy5vcHRpb25zKVxuICAgICAgICAgICAgLndpdGhXcmFwKClcbiAgICAgICAgICAgIC8vIC53aXRoVHlwZUFoZWFkKClcbiAgICAgICAgICAgIC8vIEFsbG93IGRpc2FibGVkIGl0ZW1zIHRvIGJlIGZvY3VzYWJsZS4gRm9yIGFjY2Vzc2liaWxpdHkgcmVhc29ucywgdGhlcmUgbXVzdCBiZSBhIHdheSBmb3JcbiAgICAgICAgICAgIC8vIHNjcmVlbnJlYWRlciB1c2VycywgdGhhdCBhbGxvd3MgcmVhZGluZyB0aGUgZGlmZmVyZW50IG9wdGlvbnMgb2YgdGhlIGxpc3QuXG4gICAgICAgICAgICAuc2tpcFByZWRpY2F0ZSgoKSA9PiBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaW5zdGFuY2VTZWxlY3Rpb25Nb2RlbCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbCA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxhbnk+KHRoaXMubXVsdGlwbGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEVsZW1lbnRCeVNlbGVjdG9yKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIGRvbS5nZXRIVE1MRWxlbWVudEJ5U2VsZWN0b3IoZWxlbWVudCwgdGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb21wYXJlVmFsdWUodmFsdWUxOiBhbnksIHZhbHVlMjogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLnRoeUNvbXBhcmVXaXRoKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wYXJlRm4gPSB0aGlzLnRoeUNvbXBhcmVXaXRoIGFzIChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuO1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVGbih2YWx1ZTEsIHZhbHVlMik7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50aHlVbmlxdWVLZXkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTEgJiYgdmFsdWUxW3RoaXMudGh5VW5pcXVlS2V5XSA9PT0gdmFsdWUyICYmIHZhbHVlMlt0aGlzLnRoeVVuaXF1ZUtleV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUxID09PSB2YWx1ZTI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRPcHRpb25TZWxlY3Rpb25WYWx1ZShvcHRpb246IFRoeUxpc3RPcHRpb24pIHtcbiAgICAgICAgaWYgKG9wdGlvbi50aHlWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGh5VW5pcXVlS2V5ID8gb3B0aW9uLnRoeVZhbHVlW3RoaXMudGh5VW5pcXVlS2V5XSA6IG9wdGlvbi50aHlWYWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb247XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRTZWxlY3Rpb25CeVZhbHVlcyh2YWx1ZXM6IGFueVtdKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuY2xlYXIoKTtcbiAgICAgICAgdmFsdWVzLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5VW5pcXVlS2V5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3QodmFsdWVbdGhpcy50aHlVbmlxdWVLZXldKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3QodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRBbGxPcHRpb25zU2VsZWN0ZWQodG9Jc1NlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgICAgIC8vIEtlZXAgdHJhY2sgb2Ygd2hldGhlciBhbnl0aGluZyBjaGFuZ2VkLCBiZWNhdXNlIHdlIG9ubHkgd2FudCB0b1xuICAgICAgICAvLyBlbWl0IHRoZSBjaGFuZ2VkIGV2ZW50IHdoZW4gc29tZXRoaW5nIGFjdHVhbGx5IGNoYW5nZWQuXG4gICAgICAgIGxldCBoYXNDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5vcHRpb25zLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZyb21Jc1NlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKG9wdGlvbi50aHlWYWx1ZSk7XG4gICAgICAgICAgICBpZiAoZnJvbUlzU2VsZWN0ZWQgIT09IHRvSXNTZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGhhc0NoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwudG9nZ2xlKG9wdGlvbi50aHlWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChoYXNDaGFuZ2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9lbWl0TW9kZWxWYWx1ZUNoYW5nZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0T3B0aW9uQnlWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmluZChvcHRpb24gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBhcmVWYWx1ZShvcHRpb24udGh5VmFsdWUsIHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0QWN0aXZlT3B0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uQnlWYWx1ZSh0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0udGh5VmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRMaXN0U2l6ZShzaXplOiBUaHlMaXN0U2l6ZSkge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBsaXN0U2l6ZXNNYXApIHtcbiAgICAgICAgICAgIGlmIChsaXN0U2l6ZXNNYXAuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnJlbW92ZUNsYXNzKGxpc3RTaXplc01hcFtrZXldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIuYWRkQ2xhc3MobGlzdFNpemVzTWFwW3NpemVdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBiaW5kS2V5RXZlbnRFbGVtZW50ID0gdGhpcy5fZ2V0RWxlbWVudEJ5U2VsZWN0b3IodGhpcy50aHlCaW5kS2V5RXZlbnRDb250YWluZXIpO1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9iaW5kS2V5RXZlbnRVbnN1YnNjcmliZSA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGJpbmRLZXlFdmVudEVsZW1lbnQsICdrZXlkb3duJywgdGhpcy5vbktleWRvd24uYmluZCh0aGlzKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9pbnN0YW5jZVNlbGVjdGlvbk1vZGVsKCk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55W10gfCBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpICYmIHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiAhaGVscGVycy5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIG11bHRpcGxlIHNlbGVjdGlvbiBuZ01vZGVsIG11c3QgYmUgYW4gYXJyYXkuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgaGVscGVycy5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHNpbmdsZSBzZWxlY3Rpb24gbmdNb2RlbCBzaG91bGQgbm90IGJlIGFuIGFycmF5LmApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IGhlbHBlcnMuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IHZhbHVlID8gW3ZhbHVlXSA6IFtdO1xuICAgICAgICB0aGlzLl9tb2RlbFZhbHVlcyA9IHZhbHVlcztcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5fc2V0U2VsZWN0aW9uQnlWYWx1ZXModmFsdWVzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy50aHlCZWZvcmVLZXlkb3duKSB7XG4gICAgICAgICAgICAvLyBzdG9wIGtleSBkb3duIGV2ZW50XG4gICAgICAgICAgICBjb25zdCBpc0NvbnRpbnVlID0gdGhpcy50aHlCZWZvcmVLZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIGlmICghaXNDb250aW51ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZSB8fCBldmVudC53aGljaDtcbiAgICAgICAgY29uc3QgbWFuYWdlciA9IHRoaXMuX2tleU1hbmFnZXI7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzRm9jdXNJbmRleCA9IG1hbmFnZXIuYWN0aXZlSXRlbUluZGV4O1xuXG4gICAgICAgIHN3aXRjaCAoa2V5Q29kZSkge1xuICAgICAgICAgICAgY2FzZSBrZXljb2Rlcy5TUEFDRTpcbiAgICAgICAgICAgIGNhc2Uga2V5Y29kZXMuRU5URVI6XG4gICAgICAgICAgICAgICAgaWYgKGtleUNvZGUgPT09IGtleWNvZGVzLlNQQUNFICYmICF0aGlzLnNwYWNlRW5hYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuX3RvZ2dsZUZvY3VzZWRPcHRpb24oZXZlbnQpO1xuICAgICAgICAgICAgICAgIC8vIEFsd2F5cyBwcmV2ZW50IHNwYWNlIGZyb20gc2Nyb2xsaW5nIHRoZSBwYWdlIHNpbmNlIHRoZSBsaXN0IGhhcyBmb2N1c1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIG1hbmFnZXIub25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoa2V5Q29kZSA9PT0ga2V5Y29kZXMuVVBfQVJST1cgfHwga2V5Q29kZSA9PT0ga2V5Y29kZXMuRE9XTl9BUlJPVykgJiZcbiAgICAgICAgICAgIGV2ZW50LnNoaWZ0S2V5ICYmXG4gICAgICAgICAgICBtYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCAhPT0gcHJldmlvdXNGb2N1c0luZGV4XG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5fdG9nZ2xlRm9jdXNlZE9wdGlvbihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVPcHRpb24ob3B0aW9uOiBUaHlMaXN0T3B0aW9uLCBldmVudD86IEV2ZW50KSB7XG4gICAgICAgIGlmIChvcHRpb24gJiYgIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC50b2dnbGUodGhpcy5fZ2V0T3B0aW9uU2VsZWN0aW9uVmFsdWUob3B0aW9uKSk7XG4gICAgICAgICAgICAvLyBFbWl0IGEgY2hhbmdlIGV2ZW50IGJlY2F1c2UgdGhlIGZvY3VzZWQgb3B0aW9uIGNoYW5nZWQgaXRzIHN0YXRlIHRocm91Z2ggdXNlclxuICAgICAgICAgICAgLy8gaW50ZXJhY3Rpb24uXG4gICAgICAgICAgICB0aGlzLl9lbWl0TW9kZWxWYWx1ZUNoYW5nZSgpO1xuICAgICAgICAgICAgdGhpcy5fZW1pdENoYW5nZUV2ZW50KG9wdGlvbiwgZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0QWN0aXZlT3B0aW9uKG9wdGlvbjogVGh5TGlzdE9wdGlvbikge1xuICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0ob3B0aW9uKTsgLy8gLnVwZGF0ZUFjdGl2ZUl0ZW1JbmRleCh0aGlzLl9nZXRPcHRpb25JbmRleChvcHRpb24pKTtcbiAgICB9XG5cbiAgICBzY3JvbGxJbnRvVmlldyhvcHRpb246IFRoeUxpc3RPcHRpb24pIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyRWxlbWVudCA9IGRvbS5nZXRIVE1MRWxlbWVudEJ5U2VsZWN0b3IodGhpcy50aHlTY3JvbGxDb250YWluZXIsIHRoaXMuZWxlbWVudFJlZik7XG4gICAgICAgIFNjcm9sbFRvU2VydmljZS5zY3JvbGxUb0VsZW1lbnQob3B0aW9uLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgc2Nyb2xsQ29udGFpbmVyRWxlbWVudCk7XG4gICAgfVxuXG4gICAgaXNTZWxlY3RlZChvcHRpb246IFRoeUxpc3RPcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZCh0aGlzLl9nZXRPcHRpb25TZWxlY3Rpb25WYWx1ZShvcHRpb24pKTtcbiAgICB9XG5cbiAgICBjbGVhckFjdGl2ZUl0ZW0oKSB7XG4gICAgICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSgtMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkZXRlcm1pbmVDbGVhckFjdGl2ZUl0ZW0oKSB7XG4gICAgICAgIGlmICghdGhpcy5fZ2V0QWN0aXZlT3B0aW9uKCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJBY3RpdmVJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2VsZWN0cyBhbGwgb2YgdGhlIG9wdGlvbnMuICovXG4gICAgc2VsZWN0QWxsKCkge1xuICAgICAgICB0aGlzLl9zZXRBbGxPcHRpb25zU2VsZWN0ZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIERlc2VsZWN0cyBhbGwgb2YgdGhlIG9wdGlvbnMuICovXG4gICAgZGVzZWxlY3RBbGwoKSB7XG4gICAgICAgIHRoaXMuX3NldEFsbE9wdGlvbnNTZWxlY3RlZChmYWxzZSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplRm9jdXNLZXlNYW5hZ2VyKCk7XG4gICAgICAgIHRoaXMub3B0aW9ucy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRydWUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0FjdGl2ZUZpcnN0SXRlbSkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtIHx8IHRoaXMub3B0aW9ucy50b0FycmF5KCkuaW5kZXhPZih0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbkNoYW5nZXNVbnN1YnNjcmliZSQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgaWYgKHRoaXMuX2JpbmRLZXlFdmVudFVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgICB0aGlzLl9iaW5kS2V5RXZlbnRVbnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saXN0L3NlbGVjdGlvbi9zZWxlY3Rpb24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlTZWxlY3Rpb25MaXN0IH0gZnJvbSAnLi9zZWxlY3Rpb24tbGlzdCc7XG5pbXBvcnQgeyBUaHlMaXN0T3B0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoeVNlbGVjdGlvbkxpc3RDaGFuZ2U8VFZhbHVlID0gYW55PiB7XG4gICAgc291cmNlOiBUaHlTZWxlY3Rpb25MaXN0O1xuICAgIG9wdGlvbjogVGh5TGlzdE9wdGlvbjtcbiAgICB2YWx1ZTogVFZhbHVlO1xuICAgIGV2ZW50OiBFdmVudDtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './loading.component';
|
|
2
|
-
export * from './loading.module';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbG9hZGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xvYWRpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGluZy5tb2R1bGUnO1xuIl19
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Component, Input, HostBinding, ChangeDetectionStrategy, ChangeDetectorRef, inject } from '@angular/core';
|
|
2
|
-
import { coerceBooleanProperty } from 'ngx-tethys/util';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* 加载组件,页面调用接口等待请求时,给用户的反馈
|
|
6
|
-
* @name thy-loading
|
|
7
|
-
* @order 10
|
|
8
|
-
*/
|
|
9
|
-
export class ThyLoading {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
12
|
-
this.loadingClassName = true;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* 数据是否加载完成
|
|
16
|
-
* @default false
|
|
17
|
-
*/
|
|
18
|
-
set thyDone(value) {
|
|
19
|
-
this.isDone = value;
|
|
20
|
-
this.changeDetectorRef.markForCheck();
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* 自定义加载提示文案
|
|
24
|
-
*/
|
|
25
|
-
set thyTip(value) {
|
|
26
|
-
this.tip = value;
|
|
27
|
-
this.changeDetectorRef.markForCheck();
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* 加载时是否启用嵌套遮罩模式,不传或传 false,没有遮罩层,加载完成出现内容
|
|
31
|
-
*/
|
|
32
|
-
set thyIsMask(value) {
|
|
33
|
-
this.isMask = value;
|
|
34
|
-
this.changeDetectorRef.markForCheck();
|
|
35
|
-
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyLoading, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ThyLoading, isStandalone: true, selector: "thy-loading", inputs: { thyDone: ["thyDone", "thyDone", coerceBooleanProperty], thyTip: "thyTip", thyIsMask: ["thyIsMask", "thyIsMask", coerceBooleanProperty] }, host: { properties: { "class.thy-loading": "this.loadingClassName" } }, ngImport: i0, template: "<div [class.thy-loading-mask]=\"isMask && !isDone\">\n @if (!isDone) {\n <div class=\"thy-loading-indicator\">\n <h4>\n <span [style.display]=\"tip ? 'inline' : 'none'\">{{ tip }}</span>\n <div class=\"thy-loading-ellipsis\">\n <span class=\"thy-spot\"></span>\n </div>\n </h4>\n </div>\n }\n @if (isMask || isDone) {\n <ng-content></ng-content>\n }\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyLoading, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{ selector: 'thy-loading', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [], template: "<div [class.thy-loading-mask]=\"isMask && !isDone\">\n @if (!isDone) {\n <div class=\"thy-loading-indicator\">\n <h4>\n <span [style.display]=\"tip ? 'inline' : 'none'\">{{ tip }}</span>\n <div class=\"thy-loading-ellipsis\">\n <span class=\"thy-spot\"></span>\n </div>\n </h4>\n </div>\n }\n @if (isMask || isDone) {\n <ng-content></ng-content>\n }\n</div>\n" }]
|
|
42
|
-
}], propDecorators: { thyDone: [{
|
|
43
|
-
type: Input,
|
|
44
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
45
|
-
}], thyTip: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], thyIsMask: [{
|
|
48
|
-
type: Input,
|
|
49
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
50
|
-
}], loadingClassName: [{
|
|
51
|
-
type: HostBinding,
|
|
52
|
-
args: ['class.thy-loading']
|
|
53
|
-
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFeEQ7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxVQUFVO0lBUHZCO1FBUVksc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFvQ3BCLHFCQUFnQixHQUFHLElBQUksQ0FBQztLQUM3RDtJQTdCRzs7O09BR0c7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFjO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLE1BQU0sQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDOytHQW5DUSxVQUFVO21HQUFWLFVBQVUseUZBYUMscUJBQXFCLDJEQWtCckIscUJBQXFCLHFHQy9DN0MsOFpBZUE7OzRGRENhLFVBQVU7a0JBUHRCLFNBQVM7K0JBQ0ksYUFBYSxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxFQUFFOzhCQWdCUCxPQUFPO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBVXZDLE1BQU07c0JBRFQsS0FBSztnQkFVRixTQUFTO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTVQsZ0JBQWdCO3NCQUFqRCxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG4vKipcbiAqIOWKoOi9vee7hOS7tu+8jOmhtemdouiwg+eUqOaOpeWPo+etieW+heivt+axguaXtu+8jOe7meeUqOaIt+eahOWPjemmiFxuICogQG5hbWUgdGh5LWxvYWRpbmdcbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1sb2FkaW5nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9hZGluZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlMb2FkaW5nIHtcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIHB1YmxpYyBpc0RvbmU6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgdGlwOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgaXNNYXNrOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5pWw5o2u5piv5ZCm5Yqg6L295a6M5oiQXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlEb25lKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNEb25lID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5Yqg6L295o+Q56S65paH5qGIXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGlwKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50aXAgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDliqDovb3ml7bmmK/lkKblkK/nlKjltYzlpZfpga7nvanmqKHlvI/vvIzkuI3kvKDmiJbkvKAgZmFsc2XvvIzmsqHmnInpga7nvanlsYLvvIzliqDovb3lrozmiJDlh7rnjrDlhoXlrrlcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlJc01hc2sodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc01hc2sgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1sb2FkaW5nJykgbG9hZGluZ0NsYXNzTmFtZSA9IHRydWU7XG59XG4iLCI8ZGl2IFtjbGFzcy50aHktbG9hZGluZy1tYXNrXT1cImlzTWFzayAmJiAhaXNEb25lXCI+XG4gIEBpZiAoIWlzRG9uZSkge1xuICAgIDxkaXYgY2xhc3M9XCJ0aHktbG9hZGluZy1pbmRpY2F0b3JcIj5cbiAgICAgIDxoND5cbiAgICAgICAgPHNwYW4gW3N0eWxlLmRpc3BsYXldPVwidGlwID8gJ2lubGluZScgOiAnbm9uZSdcIj57eyB0aXAgfX08L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aHktbG9hZGluZy1lbGxpcHNpc1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGh5LXNwb3RcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9oND5cbiAgICA8L2Rpdj5cbiAgfVxuICBAaWYgKGlzTWFzayB8fCBpc0RvbmUpIHtcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIH1cbjwvZGl2PlxuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ThyLoading } from './loading.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ThyLoadingModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ThyLoadingModule, imports: [CommonModule, ThyLoading], exports: [ThyLoading] }); }
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyLoadingModule, imports: [CommonModule] }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyLoadingModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
imports: [CommonModule, ThyLoading],
|
|
14
|
-
exports: [ThyLoading]
|
|
15
|
-
}]
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbG9hZGluZy9sb2FkaW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTWpELE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLFlBSGYsWUFBWSxFQUFFLFVBQVUsYUFDeEIsVUFBVTtnSEFFWCxnQkFBZ0IsWUFIZixZQUFZOzs0RkFHYixnQkFBZ0I7a0JBSjVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5TG9hZGluZyB9IGZyb20gJy4vbG9hZGluZy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRoeUxvYWRpbmddLFxuICAgIGV4cG9ydHM6IFtUaHlMb2FkaW5nXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlMb2FkaW5nTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRldGh5cy1sb2FkaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xvYWRpbmcvbmd4LXRldGh5cy1sb2FkaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export class MentionAdapter {
|
|
2
|
-
constructor(inputor) {
|
|
3
|
-
this.inputor = inputor;
|
|
4
|
-
}
|
|
5
|
-
lookup(event, mentions) {
|
|
6
|
-
this.matchedMention = null;
|
|
7
|
-
for (const mention of mentions) {
|
|
8
|
-
const query = this.seekQuery(event, mention);
|
|
9
|
-
if (query) {
|
|
10
|
-
this.matchedMention = {
|
|
11
|
-
query: query,
|
|
12
|
-
mention: mention
|
|
13
|
-
};
|
|
14
|
-
break;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return this.matchedMention;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tZW50aW9uL2FkYXB0ZXIvYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSxNQUFNLE9BQWdCLGNBQWM7SUFLaEMsWUFBWSxPQUE4QjtRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBTUQsTUFBTSxDQUFDLEtBQVksRUFBRSxRQUFtQjtRQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxDQUFDLGNBQWMsR0FBRztvQkFDbEIsS0FBSyxFQUFFLEtBQUs7b0JBQ1osT0FBTyxFQUFFLE9BQU87aUJBQ25CLENBQUM7Z0JBQ0YsTUFBTTtZQUNWLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnRpb25EZWZhdWx0RGF0YUl0ZW0sIE1lbnRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWVrUXVlcnlSZXN1bHQge1xuICAgIHRlcm06IHN0cmluZztcbiAgICBzdGFydDogbnVtYmVyO1xuICAgIGVuZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hdGNoZWRNZW50aW9uPFQgPSBNZW50aW9uRGVmYXVsdERhdGFJdGVtPiB7XG4gICAgcXVlcnk6IFNlZWtRdWVyeVJlc3VsdDtcbiAgICBtZW50aW9uOiBNZW50aW9uPFQ+O1xufVxuXG5leHBvcnQgdHlwZSBNZW50aW9uSW5wdXRvckVsZW1lbnQgPSBIVE1MVGV4dEFyZWFFbGVtZW50IHwgSFRNTElucHV0RWxlbWVudDtcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNZW50aW9uQWRhcHRlciB7XG4gICAgaW5wdXRvcjogTWVudGlvbklucHV0b3JFbGVtZW50O1xuXG4gICAgbWF0Y2hlZE1lbnRpb246IE1hdGNoZWRNZW50aW9uO1xuXG4gICAgY29uc3RydWN0b3IoaW5wdXRvcjogTWVudGlvbklucHV0b3JFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuaW5wdXRvciA9IGlucHV0b3I7XG4gICAgfVxuXG4gICAgYWJzdHJhY3Qgc2Vla1F1ZXJ5KGV2ZW50OiBFdmVudCwgbWVudGlvbjogTWVudGlvbik6IFNlZWtRdWVyeVJlc3VsdDtcblxuICAgIGFic3RyYWN0IGluc2VydE1lbnRpb24oaXRlbTogTWVudGlvbkRlZmF1bHREYXRhSXRlbSk6IHN0cmluZztcblxuICAgIGxvb2t1cChldmVudDogRXZlbnQsIG1lbnRpb25zOiBNZW50aW9uW10pIHtcbiAgICAgICAgdGhpcy5tYXRjaGVkTWVudGlvbiA9IG51bGw7XG4gICAgICAgIGZvciAoY29uc3QgbWVudGlvbiBvZiBtZW50aW9ucykge1xuICAgICAgICAgICAgY29uc3QgcXVlcnkgPSB0aGlzLnNlZWtRdWVyeShldmVudCwgbWVudGlvbik7XG4gICAgICAgICAgICBpZiAocXVlcnkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hdGNoZWRNZW50aW9uID0ge1xuICAgICAgICAgICAgICAgICAgICBxdWVyeTogcXVlcnksXG4gICAgICAgICAgICAgICAgICAgIG1lbnRpb246IG1lbnRpb25cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm1hdGNoZWRNZW50aW9uO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { MentionAdapter } from './adapter';
|
|
2
|
-
export class EditableMentionAdapter extends MentionAdapter {
|
|
3
|
-
constructor(inputor) {
|
|
4
|
-
super(inputor);
|
|
5
|
-
}
|
|
6
|
-
seekQuery(event, mention) {
|
|
7
|
-
const selectionStart = getSelection().focusOffset;
|
|
8
|
-
const value = this.inputor.innerText.replace(/[\r\n]/g, ' ');
|
|
9
|
-
const start = value.lastIndexOf(mention.trigger, selectionStart);
|
|
10
|
-
const fistSpaceIndexFromStart = value.indexOf(' ', selectionStart);
|
|
11
|
-
const end = fistSpaceIndexFromStart > -1 ? fistSpaceIndexFromStart : value.length;
|
|
12
|
-
const termWithTrigger = value.substring(start, end);
|
|
13
|
-
const startBeforeHasSpace = start > 0 && value[start - 1] === ' ';
|
|
14
|
-
if ((startBeforeHasSpace || start === 0) && !termWithTrigger.includes(' ') && !termWithTrigger.includes(mention.trigger, 1)) {
|
|
15
|
-
return {
|
|
16
|
-
start: start,
|
|
17
|
-
end: end,
|
|
18
|
-
term: termWithTrigger.substring(mention.trigger.length)
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
insertMention(item) {
|
|
26
|
-
if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this.matchedMention) {
|
|
27
|
-
throw new Error(`matchedMention is null`);
|
|
28
|
-
}
|
|
29
|
-
const insertValue = this.getInsertValue(item);
|
|
30
|
-
const value = this.inputor.innerText;
|
|
31
|
-
const newValue = [
|
|
32
|
-
value.slice(0, this.matchedMention.query.start),
|
|
33
|
-
insertValue,
|
|
34
|
-
value.slice(this.matchedMention.query.end, value.length)
|
|
35
|
-
].join('');
|
|
36
|
-
this.inputor.value = newValue;
|
|
37
|
-
return newValue;
|
|
38
|
-
}
|
|
39
|
-
getInsertValue(item) {
|
|
40
|
-
if (this.matchedMention.mention.insertTransform) {
|
|
41
|
-
return this.matchedMention.mention.insertTransform(item).trim() + ' ';
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return `${this.matchedMention.mention.trigger}${item['name']}`.trim() + ' ';
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tZW50aW9uL2FkYXB0ZXIvZWRpdGFibGUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUEwQyxNQUFNLFdBQVcsQ0FBQztBQUduRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsY0FBYztJQUd0RCxZQUFZLE9BQThCO1FBQ3RDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVksRUFBRSxPQUFnQjtRQUNwQyxNQUFNLGNBQWMsR0FBRyxZQUFZLEVBQUUsQ0FBQyxXQUFXLENBQUM7UUFDbEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDakUsTUFBTSx1QkFBdUIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNuRSxNQUFNLEdBQUcsR0FBRyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDbEYsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEQsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDMUgsT0FBTztnQkFDSCxLQUFLLEVBQUUsS0FBSztnQkFDWixHQUFHLEVBQUUsR0FBRztnQkFDUixJQUFJLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQzthQUMxRCxDQUFDO1FBQ04sQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUE0QjtRQUN0QyxJQUFJLENBQUMsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUM3QyxNQUFNLFFBQVEsR0FBRztZQUNiLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMvQyxXQUFXO1lBQ1gsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztTQUMzRCxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUM5QixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRU8sY0FBYyxDQUFDLElBQTRCO1FBQy9DLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDOUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQzFFLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDaEYsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnRpb25BZGFwdGVyLCBNZW50aW9uSW5wdXRvckVsZW1lbnQsIFNlZWtRdWVyeVJlc3VsdCB9IGZyb20gJy4vYWRhcHRlcic7XG5pbXBvcnQgeyBNZW50aW9uLCBNZW50aW9uRGVmYXVsdERhdGFJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBFZGl0YWJsZU1lbnRpb25BZGFwdGVyIGV4dGVuZHMgTWVudGlvbkFkYXB0ZXIge1xuICAgIGlucHV0b3I6IE1lbnRpb25JbnB1dG9yRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKGlucHV0b3I6IE1lbnRpb25JbnB1dG9yRWxlbWVudCkge1xuICAgICAgICBzdXBlcihpbnB1dG9yKTtcbiAgICB9XG5cbiAgICBzZWVrUXVlcnkoZXZlbnQ6IEV2ZW50LCBtZW50aW9uOiBNZW50aW9uKTogU2Vla1F1ZXJ5UmVzdWx0IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSBnZXRTZWxlY3Rpb24oKS5mb2N1c09mZnNldDtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmlucHV0b3IuaW5uZXJUZXh0LnJlcGxhY2UoL1tcXHJcXG5dL2csICcgJyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gdmFsdWUubGFzdEluZGV4T2YobWVudGlvbi50cmlnZ2VyLCBzZWxlY3Rpb25TdGFydCk7XG4gICAgICAgIGNvbnN0IGZpc3RTcGFjZUluZGV4RnJvbVN0YXJ0ID0gdmFsdWUuaW5kZXhPZignICcsIHNlbGVjdGlvblN0YXJ0KTtcbiAgICAgICAgY29uc3QgZW5kID0gZmlzdFNwYWNlSW5kZXhGcm9tU3RhcnQgPiAtMSA/IGZpc3RTcGFjZUluZGV4RnJvbVN0YXJ0IDogdmFsdWUubGVuZ3RoO1xuICAgICAgICBjb25zdCB0ZXJtV2l0aFRyaWdnZXIgPSB2YWx1ZS5zdWJzdHJpbmcoc3RhcnQsIGVuZCk7XG4gICAgICAgIGNvbnN0IHN0YXJ0QmVmb3JlSGFzU3BhY2UgPSBzdGFydCA+IDAgJiYgdmFsdWVbc3RhcnQgLSAxXSA9PT0gJyAnO1xuICAgICAgICBpZiAoKHN0YXJ0QmVmb3JlSGFzU3BhY2UgfHwgc3RhcnQgPT09IDApICYmICF0ZXJtV2l0aFRyaWdnZXIuaW5jbHVkZXMoJyAnKSAmJiAhdGVybVdpdGhUcmlnZ2VyLmluY2x1ZGVzKG1lbnRpb24udHJpZ2dlciwgMSkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICAgICAgICAgIGVuZDogZW5kLFxuICAgICAgICAgICAgICAgIHRlcm06IHRlcm1XaXRoVHJpZ2dlci5zdWJzdHJpbmcobWVudGlvbi50cmlnZ2VyLmxlbmd0aClcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluc2VydE1lbnRpb24oaXRlbTogTWVudGlvbkRlZmF1bHREYXRhSXRlbSk6IHN0cmluZyB7XG4gICAgICAgIGlmICgodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSAmJiAhdGhpcy5tYXRjaGVkTWVudGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBtYXRjaGVkTWVudGlvbiBpcyBudWxsYCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5zZXJ0VmFsdWUgPSB0aGlzLmdldEluc2VydFZhbHVlKGl0ZW0pO1xuICAgICAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gdGhpcy5pbnB1dG9yLmlubmVyVGV4dDtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBbXG4gICAgICAgICAgICB2YWx1ZS5zbGljZSgwLCB0aGlzLm1hdGNoZWRNZW50aW9uLnF1ZXJ5LnN0YXJ0KSxcbiAgICAgICAgICAgIGluc2VydFZhbHVlLFxuICAgICAgICAgICAgdmFsdWUuc2xpY2UodGhpcy5tYXRjaGVkTWVudGlvbi5xdWVyeS5lbmQsIHZhbHVlLmxlbmd0aClcbiAgICAgICAgXS5qb2luKCcnKTtcbiAgICAgICAgdGhpcy5pbnB1dG9yLnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIHJldHVybiBuZXdWYWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEluc2VydFZhbHVlKGl0ZW06IE1lbnRpb25EZWZhdWx0RGF0YUl0ZW0pIHtcbiAgICAgICAgaWYgKHRoaXMubWF0Y2hlZE1lbnRpb24ubWVudGlvbi5pbnNlcnRUcmFuc2Zvcm0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1hdGNoZWRNZW50aW9uLm1lbnRpb24uaW5zZXJ0VHJhbnNmb3JtKGl0ZW0pLnRyaW0oKSArICcgJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLm1hdGNoZWRNZW50aW9uLm1lbnRpb24udHJpZ2dlcn0ke2l0ZW1bJ25hbWUnXX1gLnRyaW0oKSArICcgJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|