@clr/angular 17.12.2 → 18.0.0-beta.2
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/README.md +1 -5
- package/fesm2022/clr-angular-accordion.mjs +355 -0
- package/fesm2022/clr-angular-accordion.mjs.map +1 -0
- package/fesm2022/clr-angular-button.mjs +713 -0
- package/fesm2022/clr-angular-button.mjs.map +1 -0
- package/fesm2022/clr-angular-collapsible-panel.mjs +201 -0
- package/fesm2022/clr-angular-collapsible-panel.mjs.map +1 -0
- package/fesm2022/clr-angular-data-datagrid.mjs +7587 -0
- package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -0
- package/fesm2022/clr-angular-data-stack-view.mjs +442 -0
- package/fesm2022/clr-angular-data-stack-view.mjs.map +1 -0
- package/fesm2022/clr-angular-data-tree-view.mjs +1106 -0
- package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -0
- package/fesm2022/clr-angular-data.mjs +9131 -0
- package/fesm2022/clr-angular-data.mjs.map +1 -0
- package/fesm2022/clr-angular-emphasis-alert.mjs +624 -0
- package/fesm2022/clr-angular-emphasis-alert.mjs.map +1 -0
- package/fesm2022/clr-angular-emphasis-badge.mjs +69 -0
- package/fesm2022/clr-angular-emphasis-badge.mjs.map +1 -0
- package/fesm2022/clr-angular-emphasis-common.mjs +25 -0
- package/fesm2022/clr-angular-emphasis-common.mjs.map +1 -0
- package/fesm2022/clr-angular-emphasis-label.mjs +105 -0
- package/fesm2022/clr-angular-emphasis-label.mjs.map +1 -0
- package/fesm2022/clr-angular-emphasis.mjs +807 -0
- package/fesm2022/clr-angular-emphasis.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-checkbox.mjs +270 -0
- package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-combobox.mjs +1478 -0
- package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-common.mjs +1238 -0
- package/fesm2022/clr-angular-forms-common.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-datalist.mjs +263 -0
- package/fesm2022/clr-angular-forms-datalist.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-datepicker.mjs +3222 -0
- package/fesm2022/clr-angular-forms-datepicker.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-file-input.mjs +827 -0
- package/fesm2022/clr-angular-forms-file-input.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-input.mjs +153 -0
- package/fesm2022/clr-angular-forms-input.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-number-input.mjs +237 -0
- package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-password.mjs +233 -0
- package/fesm2022/clr-angular-forms-password.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-radio.mjs +231 -0
- package/fesm2022/clr-angular-forms-radio.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-range.mjs +186 -0
- package/fesm2022/clr-angular-forms-range.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-select.mjs +153 -0
- package/fesm2022/clr-angular-forms-select.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-textarea.mjs +136 -0
- package/fesm2022/clr-angular-forms-textarea.mjs.map +1 -0
- package/fesm2022/clr-angular-forms.mjs +8492 -0
- package/fesm2022/clr-angular-forms.mjs.map +1 -0
- package/fesm2022/clr-angular-icon.mjs +7387 -0
- package/fesm2022/clr-angular-icon.mjs.map +1 -0
- package/fesm2022/clr-angular-layout-breadcrumbs.mjs +120 -0
- package/fesm2022/clr-angular-layout-breadcrumbs.mjs.map +1 -0
- package/fesm2022/clr-angular-layout-main-container.mjs +100 -0
- package/fesm2022/clr-angular-layout-main-container.mjs.map +1 -0
- package/fesm2022/clr-angular-layout-nav.mjs +580 -0
- package/fesm2022/clr-angular-layout-nav.mjs.map +1 -0
- package/fesm2022/clr-angular-layout-tabs.mjs +807 -0
- package/fesm2022/clr-angular-layout-tabs.mjs.map +1 -0
- package/fesm2022/clr-angular-layout-vertical-nav.mjs +507 -0
- package/fesm2022/clr-angular-layout-vertical-nav.mjs.map +1 -0
- package/fesm2022/clr-angular-layout.mjs +2086 -0
- package/fesm2022/clr-angular-layout.mjs.map +1 -0
- package/fesm2022/clr-angular-modal.mjs +618 -0
- package/fesm2022/clr-angular-modal.mjs.map +1 -0
- package/fesm2022/clr-angular-popover-common.mjs +1093 -0
- package/fesm2022/clr-angular-popover-common.mjs.map +1 -0
- package/fesm2022/clr-angular-popover-dropdown.mjs +492 -0
- package/fesm2022/clr-angular-popover-dropdown.mjs.map +1 -0
- package/fesm2022/clr-angular-popover-signpost.mjs +493 -0
- package/fesm2022/clr-angular-popover-signpost.mjs.map +1 -0
- package/fesm2022/clr-angular-popover-tooltip.mjs +293 -0
- package/fesm2022/clr-angular-popover-tooltip.mjs.map +1 -0
- package/fesm2022/clr-angular-popover.mjs +2355 -0
- package/fesm2022/clr-angular-popover.mjs.map +1 -0
- package/fesm2022/clr-angular-progress-progress-bars.mjs +217 -0
- package/fesm2022/clr-angular-progress-progress-bars.mjs.map +1 -0
- package/fesm2022/clr-angular-progress-spinner.mjs +132 -0
- package/fesm2022/clr-angular-progress-spinner.mjs.map +1 -0
- package/fesm2022/clr-angular-stepper.mjs +688 -0
- package/fesm2022/clr-angular-stepper.mjs.map +1 -0
- package/fesm2022/clr-angular-timeline.mjs +316 -0
- package/fesm2022/clr-angular-timeline.mjs.map +1 -0
- package/fesm2022/clr-angular-utils-conditional.mjs +351 -0
- package/fesm2022/clr-angular-utils-conditional.mjs.map +1 -0
- package/fesm2022/clr-angular-utils-loading.mjs +107 -0
- package/fesm2022/clr-angular-utils-loading.mjs.map +1 -0
- package/fesm2022/clr-angular-utils.mjs +2509 -0
- package/fesm2022/clr-angular-utils.mjs.map +1 -0
- package/fesm2022/clr-angular-wizard.mjs +2871 -0
- package/fesm2022/clr-angular-wizard.mjs.map +1 -0
- package/fesm2022/clr-angular.mjs +38714 -0
- package/fesm2022/clr-angular.mjs.map +1 -0
- package/package.json +197 -18
- package/popover/common/README.md +112 -0
- package/types/clr-angular-accordion.d.ts +100 -0
- package/types/clr-angular-button.d.ts +169 -0
- package/types/clr-angular-collapsible-panel.d.ts +73 -0
- package/types/clr-angular-data-datagrid.d.ts +1840 -0
- package/types/clr-angular-data-stack-view.d.ts +87 -0
- package/types/clr-angular-data-tree-view.d.ts +220 -0
- package/types/clr-angular-data.d.ts +2137 -0
- package/types/clr-angular-emphasis-alert.d.ts +175 -0
- package/types/clr-angular-emphasis-badge.d.ts +25 -0
- package/types/clr-angular-emphasis-common.d.ts +6 -0
- package/types/clr-angular-emphasis-label.d.ts +29 -0
- package/types/clr-angular-emphasis.d.ts +231 -0
- package/types/clr-angular-forms-checkbox.d.ts +69 -0
- package/types/clr-angular-forms-combobox.d.ts +307 -0
- package/types/clr-angular-forms-common.d.ts +336 -0
- package/types/clr-angular-forms-datalist.d.ts +59 -0
- package/types/clr-angular-forms-datepicker.d.ts +958 -0
- package/types/clr-angular-forms-file-input.d.ts +193 -0
- package/types/clr-angular-forms-input.d.ts +29 -0
- package/types/clr-angular-forms-number-input.d.ts +43 -0
- package/types/clr-angular-forms-password.d.ts +52 -0
- package/types/clr-angular-forms-radio.d.ts +50 -0
- package/types/clr-angular-forms-range.d.ts +37 -0
- package/types/clr-angular-forms-select.d.ts +36 -0
- package/types/clr-angular-forms-textarea.d.ts +29 -0
- package/types/clr-angular-forms.d.ts +2088 -0
- package/types/clr-angular-icon.d.ts +1498 -0
- package/types/clr-angular-layout-breadcrumbs.d.ts +45 -0
- package/types/clr-angular-layout-main-container.d.ts +28 -0
- package/types/clr-angular-layout-nav.d.ts +138 -0
- package/types/clr-angular-layout-tabs.d.ts +158 -0
- package/types/clr-angular-layout-vertical-nav.d.ts +128 -0
- package/types/clr-angular-layout.d.ts +476 -0
- package/types/clr-angular-modal.d.ts +160 -0
- package/types/clr-angular-popover-common.d.ts +255 -0
- package/types/clr-angular-popover-dropdown.d.ts +123 -0
- package/types/clr-angular-popover-signpost.d.ts +157 -0
- package/types/clr-angular-popover-tooltip.d.ts +83 -0
- package/types/clr-angular-popover.d.ts +602 -0
- package/{progress/progress-bars/progress-bar.d.ts → types/clr-angular-progress-progress-bars.d.ts} +15 -3
- package/{progress/spinner/spinner.d.ts → types/clr-angular-progress-spinner.d.ts} +15 -3
- package/types/clr-angular-stepper.d.ts +179 -0
- package/types/clr-angular-timeline.d.ts +86 -0
- package/types/clr-angular-utils-conditional.d.ts +132 -0
- package/types/clr-angular-utils-loading.d.ts +38 -0
- package/types/clr-angular-utils.d.ts +1065 -0
- package/types/clr-angular-wizard.d.ts +1454 -0
- package/types/clr-angular.d.ts +10289 -0
- package/accordion/accordion-content.d.ts +0 -5
- package/accordion/accordion-description.d.ts +0 -5
- package/accordion/accordion-panel.d.ts +0 -45
- package/accordion/accordion-title.d.ts +0 -5
- package/accordion/accordion.d.ts +0 -20
- package/accordion/accordion.module.d.ts +0 -16
- package/accordion/chocolate/accordion-oompa-loompa.d.ts +0 -12
- package/accordion/chocolate/accordion-willy-wonka.d.ts +0 -6
- package/accordion/enums/accordion-status.enum.d.ts +0 -5
- package/accordion/enums/accordion-strategy.enum.d.ts +0 -4
- package/accordion/index.d.ts +0 -10
- package/accordion/models/accordion.model.d.ts +0 -27
- package/accordion/providers/accordion.service.d.ts +0 -17
- package/accordion/stepper/chocolate/stepper-oompa-loompa.d.ts +0 -12
- package/accordion/stepper/chocolate/stepper-willy-wonka.d.ts +0 -6
- package/accordion/stepper/index.d.ts +0 -4
- package/accordion/stepper/models/stepper.model.d.ts +0 -29
- package/accordion/stepper/providers/stepper.service.d.ts +0 -23
- package/accordion/stepper/step-button.d.ts +0 -21
- package/accordion/stepper/stepper-panel.d.ts +0 -28
- package/accordion/stepper/stepper.d.ts +0 -26
- package/accordion/stepper/stepper.module.d.ts +0 -14
- package/accordion/utils/animation.d.ts +0 -2
- package/button/button-group/button-group.d.ts +0 -60
- package/button/button-group/button-group.module.d.ts +0 -13
- package/button/button-group/button.d.ts +0 -40
- package/button/button-group/index.d.ts +0 -3
- package/button/button-loading/index.d.ts +0 -2
- package/button/button-loading/loading-button.d.ts +0 -17
- package/button/button-loading/loading-button.module.d.ts +0 -10
- package/button/button.module.d.ts +0 -9
- package/button/index.d.ts +0 -3
- package/button/providers/button-group-focus-handler.service.d.ts +0 -32
- package/button/providers/button-group-focus.enum.d.ts +0 -4
- package/button/providers/button-in-group.service.d.ts +0 -10
- package/clr-angular.module.d.ts +0 -25
- package/data/data.module.d.ts +0 -9
- package/data/datagrid/built-in/comparators/datagrid-property-comparator.d.ts +0 -7
- package/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.d.ts +0 -37
- package/data/datagrid/built-in/filters/datagrid-numeric-filter.d.ts +0 -58
- package/data/datagrid/built-in/filters/datagrid-property-numeric-filter.d.ts +0 -8
- package/data/datagrid/built-in/filters/datagrid-property-string-filter.d.ts +0 -8
- package/data/datagrid/built-in/filters/datagrid-string-filter-impl.d.ts +0 -39
- package/data/datagrid/built-in/filters/datagrid-string-filter.d.ts +0 -60
- package/data/datagrid/built-in/nested-property.d.ts +0 -10
- package/data/datagrid/chocolate/actionable-oompa-loompa.d.ts +0 -12
- package/data/datagrid/chocolate/datagrid-willy-wonka.d.ts +0 -6
- package/data/datagrid/chocolate/expandable-oompa-loompa.d.ts +0 -12
- package/data/datagrid/datagrid-action-bar.d.ts +0 -5
- package/data/datagrid/datagrid-action-overflow.d.ts +0 -28
- package/data/datagrid/datagrid-cell.d.ts +0 -21
- package/data/datagrid/datagrid-column-separator.d.ts +0 -36
- package/data/datagrid/datagrid-column-toggle-button.d.ts +0 -16
- package/data/datagrid/datagrid-column-toggle-trackby.d.ts +0 -6
- package/data/datagrid/datagrid-column-toggle.d.ts +0 -30
- package/data/datagrid/datagrid-column.d.ts +0 -92
- package/data/datagrid/datagrid-detail-body.d.ts +0 -5
- package/data/datagrid/datagrid-detail-header.d.ts +0 -14
- package/data/datagrid/datagrid-detail-registerer.d.ts +0 -9
- package/data/datagrid/datagrid-detail.d.ts +0 -17
- package/data/datagrid/datagrid-filter.d.ts +0 -40
- package/data/datagrid/datagrid-footer.d.ts +0 -17
- package/data/datagrid/datagrid-hideable-column.d.ts +0 -41
- package/data/datagrid/datagrid-if-detail.d.ts +0 -28
- package/data/datagrid/datagrid-if-expanded.service.d.ts +0 -18
- package/data/datagrid/datagrid-items.d.ts +0 -28
- package/data/datagrid/datagrid-page-size.d.ts +0 -13
- package/data/datagrid/datagrid-pagination.d.ts +0 -73
- package/data/datagrid/datagrid-placeholder.d.ts +0 -12
- package/data/datagrid/datagrid-row-detail.d.ts +0 -34
- package/data/datagrid/datagrid-row.d.ts +0 -109
- package/data/datagrid/datagrid-selection-cell.directive.d.ts +0 -9
- package/data/datagrid/datagrid-single-selection.directive.d.ts +0 -21
- package/data/datagrid/datagrid-virtual-scroll.directive.d.ts +0 -80
- package/data/datagrid/datagrid.d.ts +0 -149
- package/data/datagrid/datagrid.module.d.ts +0 -60
- package/data/datagrid/enums/column-changes.enum.d.ts +0 -6
- package/data/datagrid/enums/display-mode.enum.d.ts +0 -4
- package/data/datagrid/enums/render-step.enum.d.ts +0 -7
- package/data/datagrid/enums/selection-type.d.ts +0 -5
- package/data/datagrid/enums/sort-order.enum.d.ts +0 -12
- package/data/datagrid/index.d.ts +0 -50
- package/data/datagrid/interfaces/column-state.interface.d.ts +0 -14
- package/data/datagrid/interfaces/comparator.interface.d.ts +0 -3
- package/data/datagrid/interfaces/filter.interface.d.ts +0 -8
- package/data/datagrid/interfaces/key-nav-grid-strategy.interface.d.ts +0 -11
- package/data/datagrid/interfaces/numeric-filter.interface.d.ts +0 -3
- package/data/datagrid/interfaces/state.interface.d.ts +0 -14
- package/data/datagrid/interfaces/string-filter.interface.d.ts +0 -3
- package/data/datagrid/interfaces/virtual-scroll-data-range.interface.d.ts +0 -5
- package/data/datagrid/providers/column-resizer.service.d.ts +0 -22
- package/data/datagrid/providers/column-state.provider.d.ts +0 -9
- package/data/datagrid/providers/columns.service.d.ts +0 -18
- package/data/datagrid/providers/custom-filter.d.ts +0 -2
- package/data/datagrid/providers/detail.service.d.ts +0 -28
- package/data/datagrid/providers/display-mode.service.d.ts +0 -14
- package/data/datagrid/providers/filters.d.ts +0 -44
- package/data/datagrid/providers/global-expandable-rows.d.ts +0 -16
- package/data/datagrid/providers/items.d.ts +0 -84
- package/data/datagrid/providers/page.d.ts +0 -62
- package/data/datagrid/providers/row-action-service.d.ts +0 -12
- package/data/datagrid/providers/selection.d.ts +0 -105
- package/data/datagrid/providers/sort.d.ts +0 -44
- package/data/datagrid/providers/state-debouncer.provider.d.ts +0 -14
- package/data/datagrid/providers/state.provider.d.ts +0 -24
- package/data/datagrid/providers/table-size.service.d.ts +0 -17
- package/data/datagrid/render/cell-renderer.d.ts +0 -18
- package/data/datagrid/render/constants.d.ts +0 -4
- package/data/datagrid/render/header-renderer.d.ts +0 -34
- package/data/datagrid/render/main-renderer.d.ts +0 -71
- package/data/datagrid/render/noop-dom-adapter.d.ts +0 -13
- package/data/datagrid/render/render-organizer.d.ts +0 -12
- package/data/datagrid/render/row-detail-renderer.d.ts +0 -11
- package/data/datagrid/render/row-renderer.d.ts +0 -17
- package/data/datagrid/utils/datagrid-filter-registrar.d.ts +0 -18
- package/data/datagrid/utils/key-navigation-grid.controller.d.ts +0 -32
- package/data/datagrid/utils/key-navigation-strategies/default.d.ts +0 -15
- package/data/datagrid/utils/key-navigation-strategies/expanded-columns-row.d.ts +0 -12
- package/data/datagrid/utils/key-navigation-strategies/expanded-row.d.ts +0 -12
- package/data/datagrid/utils/key-navigation-utils.d.ts +0 -24
- package/data/datagrid/wrapped-cell.d.ts +0 -10
- package/data/datagrid/wrapped-column.d.ts +0 -10
- package/data/datagrid/wrapped-row.d.ts +0 -10
- package/data/index.d.ts +0 -4
- package/data/stack-view/index.d.ts +0 -6
- package/data/stack-view/stack-block.d.ts +0 -37
- package/data/stack-view/stack-content-input.d.ts +0 -6
- package/data/stack-view/stack-header.d.ts +0 -8
- package/data/stack-view/stack-view-custom-tags.d.ts +0 -15
- package/data/stack-view/stack-view.d.ts +0 -5
- package/data/stack-view/stack-view.module.d.ts +0 -18
- package/data/tree-view/index.d.ts +0 -6
- package/data/tree-view/models/async-array.d.ts +0 -3
- package/data/tree-view/models/declarative-tree-node.model.d.ts +0 -9
- package/data/tree-view/models/recursive-tree-node.model.d.ts +0 -18
- package/data/tree-view/models/selected-state.enum.d.ts +0 -5
- package/data/tree-view/models/tree-node.model.d.ts +0 -23
- package/data/tree-view/recursive-children.d.ts +0 -22
- package/data/tree-view/recursive-for-of.d.ts +0 -22
- package/data/tree-view/tree-features.service.d.ts +0 -22
- package/data/tree-view/tree-focus-manager.service.d.ts +0 -32
- package/data/tree-view/tree-node-link.d.ts +0 -10
- package/data/tree-view/tree-node.d.ts +0 -59
- package/data/tree-view/tree-view.module.d.ts +0 -17
- package/data/tree-view/tree.d.ts +0 -22
- package/emphasis/alert/alert-item.d.ts +0 -8
- package/emphasis/alert/alert-text.d.ts +0 -9
- package/emphasis/alert/alert.d.ts +0 -40
- package/emphasis/alert/alert.module.d.ts +0 -18
- package/emphasis/alert/alerts-pager.d.ts +0 -31
- package/emphasis/alert/alerts.d.ts +0 -32
- package/emphasis/alert/index.d.ts +0 -6
- package/emphasis/alert/providers/icon-and-types.service.d.ts +0 -18
- package/emphasis/alert/providers/multi-alert.service.d.ts +0 -28
- package/emphasis/alert/utils/alert-info-object.d.ts +0 -5
- package/emphasis/alert/utils/alert-types.d.ts +0 -1
- package/emphasis/emphasis.module.d.ts +0 -7
- package/emphasis/index.d.ts +0 -2
- package/esm2020/accordion/accordion-content.mjs +0 -21
- package/esm2020/accordion/accordion-description.mjs +0 -22
- package/esm2020/accordion/accordion-panel.mjs +0 -141
- package/esm2020/accordion/accordion-title.mjs +0 -22
- package/esm2020/accordion/accordion.mjs +0 -62
- package/esm2020/accordion/accordion.module.mjs +0 -56
- package/esm2020/accordion/chocolate/accordion-oompa-loompa.mjs +0 -34
- package/esm2020/accordion/chocolate/accordion-willy-wonka.mjs +0 -20
- package/esm2020/accordion/enums/accordion-status.enum.mjs +0 -13
- package/esm2020/accordion/enums/accordion-strategy.enum.mjs +0 -12
- package/esm2020/accordion/index.mjs +0 -17
- package/esm2020/accordion/models/accordion.model.mjs +0 -61
- package/esm2020/accordion/providers/accordion.service.mjs +0 -48
- package/esm2020/accordion/stepper/chocolate/stepper-oompa-loompa.mjs +0 -34
- package/esm2020/accordion/stepper/chocolate/stepper-willy-wonka.mjs +0 -20
- package/esm2020/accordion/stepper/index.mjs +0 -11
- package/esm2020/accordion/stepper/models/stepper.model.mjs +0 -146
- package/esm2020/accordion/stepper/providers/stepper.service.mjs +0 -75
- package/esm2020/accordion/stepper/step-button.mjs +0 -62
- package/esm2020/accordion/stepper/stepper-panel.mjs +0 -96
- package/esm2020/accordion/stepper/stepper.mjs +0 -105
- package/esm2020/accordion/stepper/stepper.module.mjs +0 -31
- package/esm2020/accordion/utils/animation.mjs +0 -31
- package/esm2020/button/button-group/button-group.mjs +0 -164
- package/esm2020/button/button-group/button-group.module.mjs +0 -28
- package/esm2020/button/button-group/button.mjs +0 -175
- package/esm2020/button/button-group/index.mjs +0 -10
- package/esm2020/button/button-loading/index.mjs +0 -9
- package/esm2020/button/button-loading/loading-button.mjs +0 -164
- package/esm2020/button/button-loading/loading-button.module.mjs +0 -25
- package/esm2020/button/button.module.mjs +0 -26
- package/esm2020/button/index.mjs +0 -10
- package/esm2020/button/providers/button-group-focus-handler.service.mjs +0 -97
- package/esm2020/button/providers/button-group-focus.enum.mjs +0 -12
- package/esm2020/button/providers/button-in-group.service.mjs +0 -26
- package/esm2020/clr-angular.mjs +0 -5
- package/esm2020/clr-angular.module.mjs +0 -93
- package/esm2020/data/data.module.mjs +0 -23
- package/esm2020/data/datagrid/built-in/comparators/datagrid-property-comparator.mjs +0 -46
- package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.mjs +0 -93
- package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +0 -259
- package/esm2020/data/datagrid/built-in/filters/datagrid-property-numeric-filter.mjs +0 -28
- package/esm2020/data/datagrid/built-in/filters/datagrid-property-string-filter.mjs +0 -27
- package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter-impl.mjs +0 -82
- package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter.mjs +0 -185
- package/esm2020/data/datagrid/built-in/nested-property.mjs +0 -38
- package/esm2020/data/datagrid/chocolate/actionable-oompa-loompa.mjs +0 -34
- package/esm2020/data/datagrid/chocolate/datagrid-willy-wonka.mjs +0 -20
- package/esm2020/data/datagrid/chocolate/expandable-oompa-loompa.mjs +0 -34
- package/esm2020/data/datagrid/datagrid-action-bar.mjs +0 -21
- package/esm2020/data/datagrid/datagrid-action-overflow.mjs +0 -166
- package/esm2020/data/datagrid/datagrid-cell.mjs +0 -40
- package/esm2020/data/datagrid/datagrid-column-separator.mjs +0 -171
- package/esm2020/data/datagrid/datagrid-column-toggle-button.mjs +0 -65
- package/esm2020/data/datagrid/datagrid-column-toggle-trackby.mjs +0 -8
- package/esm2020/data/datagrid/datagrid-column-toggle.mjs +0 -204
- package/esm2020/data/datagrid/datagrid-column.mjs +0 -420
- package/esm2020/data/datagrid/datagrid-detail-body.mjs +0 -31
- package/esm2020/data/datagrid/datagrid-detail-header.mjs +0 -67
- package/esm2020/data/datagrid/datagrid-detail-registerer.mjs +0 -37
- package/esm2020/data/datagrid/datagrid-detail.mjs +0 -98
- package/esm2020/data/datagrid/datagrid-filter.mjs +0 -186
- package/esm2020/data/datagrid/datagrid-footer.mjs +0 -78
- package/esm2020/data/datagrid/datagrid-hideable-column.mjs +0 -106
- package/esm2020/data/datagrid/datagrid-if-detail.mjs +0 -96
- package/esm2020/data/datagrid/datagrid-if-expanded.service.mjs +0 -55
- package/esm2020/data/datagrid/datagrid-items.mjs +0 -72
- package/esm2020/data/datagrid/datagrid-page-size.mjs +0 -63
- package/esm2020/data/datagrid/datagrid-pagination.mjs +0 -388
- package/esm2020/data/datagrid/datagrid-placeholder.mjs +0 -42
- package/esm2020/data/datagrid/datagrid-row-detail.mjs +0 -116
- package/esm2020/data/datagrid/datagrid-row.mjs +0 -372
- package/esm2020/data/datagrid/datagrid-selection-cell.directive.mjs +0 -37
- package/esm2020/data/datagrid/datagrid-single-selection.directive.mjs +0 -74
- package/esm2020/data/datagrid/datagrid-virtual-scroll.directive.mjs +0 -340
- package/esm2020/data/datagrid/datagrid.mjs +0 -556
- package/esm2020/data/datagrid/datagrid.module.mjs +0 -238
- package/esm2020/data/datagrid/enums/column-changes.enum.mjs +0 -16
- package/esm2020/data/datagrid/enums/display-mode.enum.mjs +0 -12
- package/esm2020/data/datagrid/enums/render-step.enum.mjs +0 -15
- package/esm2020/data/datagrid/enums/selection-type.mjs +0 -13
- package/esm2020/data/datagrid/enums/sort-order.enum.mjs +0 -20
- package/esm2020/data/datagrid/index.mjs +0 -56
- package/esm2020/data/datagrid/interfaces/column-state.interface.mjs +0 -8
- package/esm2020/data/datagrid/interfaces/comparator.interface.mjs +0 -8
- package/esm2020/data/datagrid/interfaces/filter.interface.mjs +0 -8
- package/esm2020/data/datagrid/interfaces/key-nav-grid-strategy.interface.mjs +0 -8
- package/esm2020/data/datagrid/interfaces/numeric-filter.interface.mjs +0 -8
- package/esm2020/data/datagrid/interfaces/state.interface.mjs +0 -8
- package/esm2020/data/datagrid/interfaces/string-filter.interface.mjs +0 -8
- package/esm2020/data/datagrid/interfaces/virtual-scroll-data-range.interface.mjs +0 -8
- package/esm2020/data/datagrid/providers/column-resizer.service.mjs +0 -58
- package/esm2020/data/datagrid/providers/column-state.provider.mjs +0 -19
- package/esm2020/data/datagrid/providers/columns.service.mjs +0 -63
- package/esm2020/data/datagrid/providers/custom-filter.mjs +0 -9
- package/esm2020/data/datagrid/providers/detail.service.mjs +0 -76
- package/esm2020/data/datagrid/providers/display-mode.service.mjs +0 -36
- package/esm2020/data/datagrid/providers/filters.mjs +0 -112
- package/esm2020/data/datagrid/providers/global-expandable-rows.mjs +0 -34
- package/esm2020/data/datagrid/providers/items.mjs +0 -177
- package/esm2020/data/datagrid/providers/page.mjs +0 -156
- package/esm2020/data/datagrid/providers/row-action-service.mjs +0 -31
- package/esm2020/data/datagrid/providers/selection.mjs +0 -365
- package/esm2020/data/datagrid/providers/sort.mjs +0 -86
- package/esm2020/data/datagrid/providers/state-debouncer.provider.mjs +0 -43
- package/esm2020/data/datagrid/providers/state.provider.mjs +0 -75
- package/esm2020/data/datagrid/providers/table-size.service.mjs +0 -45
- package/esm2020/data/datagrid/render/cell-renderer.mjs +0 -59
- package/esm2020/data/datagrid/render/constants.mjs +0 -13
- package/esm2020/data/datagrid/render/header-renderer.mjs +0 -117
- package/esm2020/data/datagrid/render/main-renderer.mjs +0 -285
- package/esm2020/data/datagrid/render/noop-dom-adapter.mjs +0 -48
- package/esm2020/data/datagrid/render/render-organizer.mjs +0 -39
- package/esm2020/data/datagrid/render/row-detail-renderer.mjs +0 -31
- package/esm2020/data/datagrid/render/row-renderer.mjs +0 -62
- package/esm2020/data/datagrid/utils/datagrid-filter-registrar.mjs +0 -43
- package/esm2020/data/datagrid/utils/key-navigation-grid.controller.mjs +0 -155
- package/esm2020/data/datagrid/utils/key-navigation-strategies/default.mjs +0 -132
- package/esm2020/data/datagrid/utils/key-navigation-strategies/expanded-columns-row.mjs +0 -129
- package/esm2020/data/datagrid/utils/key-navigation-strategies/expanded-row.mjs +0 -165
- package/esm2020/data/datagrid/utils/key-navigation-utils.mjs +0 -121
- package/esm2020/data/datagrid/wrapped-cell.mjs +0 -37
- package/esm2020/data/datagrid/wrapped-column.mjs +0 -38
- package/esm2020/data/datagrid/wrapped-row.mjs +0 -38
- package/esm2020/data/index.mjs +0 -11
- package/esm2020/data/stack-view/index.mjs +0 -13
- package/esm2020/data/stack-view/stack-block.mjs +0 -236
- package/esm2020/data/stack-view/stack-content-input.mjs +0 -27
- package/esm2020/data/stack-view/stack-header.mjs +0 -37
- package/esm2020/data/stack-view/stack-view-custom-tags.mjs +0 -57
- package/esm2020/data/stack-view/stack-view.mjs +0 -23
- package/esm2020/data/stack-view/stack-view.module.mjs +0 -53
- package/esm2020/data/tree-view/index.mjs +0 -13
- package/esm2020/data/tree-view/models/async-array.mjs +0 -11
- package/esm2020/data/tree-view/models/declarative-tree-node.model.mjs +0 -37
- package/esm2020/data/tree-view/models/recursive-tree-node.model.mjs +0 -77
- package/esm2020/data/tree-view/models/selected-state.enum.mjs +0 -17
- package/esm2020/data/tree-view/models/tree-node.model.mjs +0 -116
- package/esm2020/data/tree-view/recursive-children.mjs +0 -88
- package/esm2020/data/tree-view/recursive-for-of.mjs +0 -57
- package/esm2020/data/tree-view/tree-features.service.mjs +0 -38
- package/esm2020/data/tree-view/tree-focus-manager.service.mjs +0 -190
- package/esm2020/data/tree-view/tree-node-link.mjs +0 -30
- package/esm2020/data/tree-view/tree-node.mjs +0 -348
- package/esm2020/data/tree-view/tree-view.module.mjs +0 -35
- package/esm2020/data/tree-view/tree.mjs +0 -102
- package/esm2020/emphasis/alert/alert-item.mjs +0 -52
- package/esm2020/emphasis/alert/alert-text.mjs +0 -23
- package/esm2020/emphasis/alert/alert.mjs +0 -142
- package/esm2020/emphasis/alert/alert.module.mjs +0 -36
- package/esm2020/emphasis/alert/alerts-pager.mjs +0 -87
- package/esm2020/emphasis/alert/alerts.mjs +0 -102
- package/esm2020/emphasis/alert/index.mjs +0 -13
- package/esm2020/emphasis/alert/providers/icon-and-types.service.mjs +0 -90
- package/esm2020/emphasis/alert/providers/multi-alert.service.mjs +0 -97
- package/esm2020/emphasis/alert/utils/alert-info-object.mjs +0 -8
- package/esm2020/emphasis/alert/utils/alert-types.mjs +0 -9
- package/esm2020/emphasis/emphasis.module.mjs +0 -21
- package/esm2020/emphasis/index.mjs +0 -9
- package/esm2020/forms/checkbox/checkbox-container.mjs +0 -136
- package/esm2020/forms/checkbox/checkbox-wrapper.mjs +0 -70
- package/esm2020/forms/checkbox/checkbox.mjs +0 -53
- package/esm2020/forms/checkbox/checkbox.module.mjs +0 -33
- package/esm2020/forms/checkbox/index.mjs +0 -11
- package/esm2020/forms/combobox/combobox-container.mjs +0 -106
- package/esm2020/forms/combobox/combobox.mjs +0 -360
- package/esm2020/forms/combobox/combobox.module.mjs +0 -97
- package/esm2020/forms/combobox/index.mjs +0 -15
- package/esm2020/forms/combobox/model/combobox.model.mjs +0 -9
- package/esm2020/forms/combobox/model/multi-select-combobox.model.mjs +0 -82
- package/esm2020/forms/combobox/model/pseudo-focus.model.mjs +0 -24
- package/esm2020/forms/combobox/model/single-select-combobox.model.mjs +0 -39
- package/esm2020/forms/combobox/option-group.mjs +0 -42
- package/esm2020/forms/combobox/option-items.directive.mjs +0 -110
- package/esm2020/forms/combobox/option-selected.directive.mjs +0 -25
- package/esm2020/forms/combobox/option.mjs +0 -103
- package/esm2020/forms/combobox/options.mjs +0 -156
- package/esm2020/forms/combobox/providers/combobox-container.service.mjs +0 -19
- package/esm2020/forms/combobox/providers/combobox-focus-handler.service.mjs +0 -222
- package/esm2020/forms/combobox/providers/option-selection.service.mjs +0 -85
- package/esm2020/forms/common/abstract-container.mjs +0 -135
- package/esm2020/forms/common/abstract-control.mjs +0 -51
- package/esm2020/forms/common/common.module.mjs +0 -78
- package/esm2020/forms/common/control-container.mjs +0 -84
- package/esm2020/forms/common/control.mjs +0 -31
- package/esm2020/forms/common/error.mjs +0 -38
- package/esm2020/forms/common/form.mjs +0 -54
- package/esm2020/forms/common/helper.mjs +0 -37
- package/esm2020/forms/common/if-control-state/abstract-if-state.mjs +0 -46
- package/esm2020/forms/common/if-control-state/if-control-state.service.mjs +0 -57
- package/esm2020/forms/common/if-control-state/if-error.mjs +0 -75
- package/esm2020/forms/common/if-control-state/if-success.mjs +0 -48
- package/esm2020/forms/common/index.mjs +0 -21
- package/esm2020/forms/common/label.mjs +0 -102
- package/esm2020/forms/common/layout.mjs +0 -32
- package/esm2020/forms/common/providers/container-id.service.mjs +0 -39
- package/esm2020/forms/common/providers/control-class.service.mjs +0 -53
- package/esm2020/forms/common/providers/control-id.service.mjs +0 -32
- package/esm2020/forms/common/providers/focus.service.mjs +0 -26
- package/esm2020/forms/common/providers/layout.service.mjs +0 -58
- package/esm2020/forms/common/providers/mark-control.service.mjs +0 -26
- package/esm2020/forms/common/providers/ng-control.service.mjs +0 -53
- package/esm2020/forms/common/success.mjs +0 -38
- package/esm2020/forms/common/wrapped-control.mjs +0 -191
- package/esm2020/forms/datalist/datalist-container.mjs +0 -121
- package/esm2020/forms/datalist/datalist-input.mjs +0 -63
- package/esm2020/forms/datalist/datalist.mjs +0 -49
- package/esm2020/forms/datalist/datalist.module.mjs +0 -32
- package/esm2020/forms/datalist/index.mjs +0 -11
- package/esm2020/forms/datalist/providers/datalist-id.service.mjs +0 -32
- package/esm2020/forms/datepicker/calendar.mjs +0 -175
- package/esm2020/forms/datepicker/date-container.mjs +0 -365
- package/esm2020/forms/datepicker/date-end-input.mjs +0 -60
- package/esm2020/forms/datepicker/date-input.mjs +0 -294
- package/esm2020/forms/datepicker/date-input.validator.mjs +0 -100
- package/esm2020/forms/datepicker/date-single-input.mjs +0 -63
- package/esm2020/forms/datepicker/date-start-input.mjs +0 -61
- package/esm2020/forms/datepicker/datepicker-action-buttons.mjs +0 -59
- package/esm2020/forms/datepicker/datepicker-view-manager.mjs +0 -74
- package/esm2020/forms/datepicker/datepicker.module.mjs +0 -111
- package/esm2020/forms/datepicker/day.mjs +0 -145
- package/esm2020/forms/datepicker/daypicker.mjs +0 -81
- package/esm2020/forms/datepicker/index.mjs +0 -21
- package/esm2020/forms/datepicker/interfaces/date-range.interface.mjs +0 -8
- package/esm2020/forms/datepicker/interfaces/day-of-week.interface.mjs +0 -8
- package/esm2020/forms/datepicker/model/calendar-view.model.mjs +0 -182
- package/esm2020/forms/datepicker/model/calendar.model.mjs +0 -79
- package/esm2020/forms/datepicker/model/day-view.model.mjs +0 -25
- package/esm2020/forms/datepicker/model/day.model.mjs +0 -72
- package/esm2020/forms/datepicker/model/year-range.model.mjs +0 -61
- package/esm2020/forms/datepicker/monthpicker.mjs +0 -325
- package/esm2020/forms/datepicker/providers/date-form-control.service.mjs +0 -37
- package/esm2020/forms/datepicker/providers/date-io.service.mjs +0 -195
- package/esm2020/forms/datepicker/providers/date-navigation.service.mjs +0 -195
- package/esm2020/forms/datepicker/providers/datepicker-enabled.service.mjs +0 -47
- package/esm2020/forms/datepicker/providers/datepicker-focus.service.mjs +0 -48
- package/esm2020/forms/datepicker/providers/locale-helper.service.mjs +0 -102
- package/esm2020/forms/datepicker/providers/view-manager.service.mjs +0 -42
- package/esm2020/forms/datepicker/utils/constants.mjs +0 -38
- package/esm2020/forms/datepicker/utils/date-utils.mjs +0 -50
- package/esm2020/forms/datepicker/yearpicker.mjs +0 -304
- package/esm2020/forms/file-input/file-input-container.mjs +0 -245
- package/esm2020/forms/file-input/file-input-validator-errors.mjs +0 -8
- package/esm2020/forms/file-input/file-input-validator.mjs +0 -101
- package/esm2020/forms/file-input/file-input-value-accessor.mjs +0 -53
- package/esm2020/forms/file-input/file-input.helpers.mjs +0 -22
- package/esm2020/forms/file-input/file-input.mjs +0 -77
- package/esm2020/forms/file-input/file-input.module.mjs +0 -74
- package/esm2020/forms/file-input/file-list.mjs +0 -160
- package/esm2020/forms/file-input/file-messages-template.mjs +0 -26
- package/esm2020/forms/file-input/file-messages.mjs +0 -61
- package/esm2020/forms/file-input/index.mjs +0 -16
- package/esm2020/forms/forms.module.mjs +0 -73
- package/esm2020/forms/index.mjs +0 -21
- package/esm2020/forms/input/index.mjs +0 -10
- package/esm2020/forms/input/input-container.mjs +0 -92
- package/esm2020/forms/input/input.mjs +0 -40
- package/esm2020/forms/input/input.module.mjs +0 -33
- package/esm2020/forms/number-input/index.mjs +0 -10
- package/esm2020/forms/number-input/number-input-container.mjs +0 -148
- package/esm2020/forms/number-input/number-input.mjs +0 -79
- package/esm2020/forms/number-input/number-input.module.mjs +0 -32
- package/esm2020/forms/password/index.mjs +0 -10
- package/esm2020/forms/password/password-container.mjs +0 -180
- package/esm2020/forms/password/password.mjs +0 -64
- package/esm2020/forms/password/password.module.mjs +0 -32
- package/esm2020/forms/radio/index.mjs +0 -11
- package/esm2020/forms/radio/radio-container.mjs +0 -150
- package/esm2020/forms/radio/radio-wrapper.mjs +0 -44
- package/esm2020/forms/radio/radio.mjs +0 -29
- package/esm2020/forms/radio/radio.module.mjs +0 -33
- package/esm2020/forms/range/index.mjs +0 -10
- package/esm2020/forms/range/range-container.mjs +0 -137
- package/esm2020/forms/range/range.mjs +0 -30
- package/esm2020/forms/range/range.module.mjs +0 -32
- package/esm2020/forms/select/index.mjs +0 -10
- package/esm2020/forms/select/select-container.mjs +0 -114
- package/esm2020/forms/select/select.mjs +0 -31
- package/esm2020/forms/select/select.module.mjs +0 -32
- package/esm2020/forms/textarea/index.mjs +0 -10
- package/esm2020/forms/textarea/textarea-container.mjs +0 -84
- package/esm2020/forms/textarea/textarea.mjs +0 -31
- package/esm2020/forms/textarea/textarea.module.mjs +0 -32
- package/esm2020/icon/icon.mjs +0 -29
- package/esm2020/icon/icon.module.mjs +0 -25
- package/esm2020/icon/index.mjs +0 -9
- package/esm2020/index.mjs +0 -23
- package/esm2020/layout/breadcrumbs/breadcrumb-item.mjs +0 -24
- package/esm2020/layout/breadcrumbs/breadcrumbs.constants.mjs +0 -8
- package/esm2020/layout/breadcrumbs/breadcrumbs.mjs +0 -46
- package/esm2020/layout/breadcrumbs/breadcrumbs.module.mjs +0 -28
- package/esm2020/layout/breadcrumbs/index.mjs +0 -11
- package/esm2020/layout/breadcrumbs/model/breadcrumbs.model.mjs +0 -8
- package/esm2020/layout/index.mjs +0 -13
- package/esm2020/layout/layout.module.mjs +0 -25
- package/esm2020/layout/main-container/index.mjs +0 -9
- package/esm2020/layout/main-container/main-container.mjs +0 -62
- package/esm2020/layout/main-container/main-container.module.mjs +0 -26
- package/esm2020/layout/nav/aria-current-link.mjs +0 -32
- package/esm2020/layout/nav/chocolate/index.mjs +0 -9
- package/esm2020/layout/nav/chocolate/main-container-willy-wonka.mjs +0 -20
- package/esm2020/layout/nav/chocolate/nav-detection-oompa-loompa.mjs +0 -36
- package/esm2020/layout/nav/header.mjs +0 -154
- package/esm2020/layout/nav/index.mjs +0 -12
- package/esm2020/layout/nav/nav-level.mjs +0 -197
- package/esm2020/layout/nav/navigation.module.mjs +0 -45
- package/esm2020/layout/nav/providers/responsive-navigation.service.mjs +0 -61
- package/esm2020/layout/nav/responsive-nav-codes.mjs +0 -21
- package/esm2020/layout/nav/responsive-nav-control-message.mjs +0 -19
- package/esm2020/layout/tabs/chocolate/active-oompa-loompa.mjs +0 -39
- package/esm2020/layout/tabs/chocolate/tabs-willy-wonka.mjs +0 -20
- package/esm2020/layout/tabs/enums/tabs-layout.enum.mjs +0 -12
- package/esm2020/layout/tabs/index.mjs +0 -17
- package/esm2020/layout/tabs/providers/tabs.service.mjs +0 -46
- package/esm2020/layout/tabs/tab-action.directive.mjs +0 -22
- package/esm2020/layout/tabs/tab-content.mjs +0 -87
- package/esm2020/layout/tabs/tab-link.directive.mjs +0 -105
- package/esm2020/layout/tabs/tab-overflow-content.mjs +0 -23
- package/esm2020/layout/tabs/tab.mjs +0 -47
- package/esm2020/layout/tabs/tabs-actions.mjs +0 -39
- package/esm2020/layout/tabs/tabs-id.provider.mjs +0 -17
- package/esm2020/layout/tabs/tabs.mjs +0 -327
- package/esm2020/layout/tabs/tabs.module.mjs +0 -67
- package/esm2020/layout/vertical-nav/index.mjs +0 -13
- package/esm2020/layout/vertical-nav/providers/vertical-nav-group-registration.service.mjs +0 -25
- package/esm2020/layout/vertical-nav/providers/vertical-nav-group.service.mjs +0 -26
- package/esm2020/layout/vertical-nav/providers/vertical-nav-icon.service.mjs +0 -28
- package/esm2020/layout/vertical-nav/providers/vertical-nav.service.mjs +0 -55
- package/esm2020/layout/vertical-nav/vertical-nav-group-children.mjs +0 -20
- package/esm2020/layout/vertical-nav/vertical-nav-group.mjs +0 -162
- package/esm2020/layout/vertical-nav/vertical-nav-icon.mjs +0 -28
- package/esm2020/layout/vertical-nav/vertical-nav-link.mjs +0 -57
- package/esm2020/layout/vertical-nav/vertical-nav.mjs +0 -85
- package/esm2020/layout/vertical-nav/vertical-nav.module.mjs +0 -50
- package/esm2020/modal/index.mjs +0 -14
- package/esm2020/modal/modal-body.mjs +0 -65
- package/esm2020/modal/modal-configuration.service.mjs +0 -21
- package/esm2020/modal/modal-host.component.mjs +0 -29
- package/esm2020/modal/modal-stack.service.mjs +0 -53
- package/esm2020/modal/modal.mjs +0 -185
- package/esm2020/modal/modal.module.mjs +0 -33
- package/esm2020/modal/side-panel.mjs +0 -227
- package/esm2020/modal/side-panel.module.mjs +0 -28
- package/esm2020/popover/common/abstract-popover.mjs +0 -138
- package/esm2020/popover/common/popover-host-anchor.token.mjs +0 -9
- package/esm2020/popover/common/popover-options.interface.mjs +0 -8
- package/esm2020/popover/common/popover.mjs +0 -267
- package/esm2020/popover/dropdown/dropdown-item.mjs +0 -105
- package/esm2020/popover/dropdown/dropdown-menu.mjs +0 -115
- package/esm2020/popover/dropdown/dropdown-trigger.mjs +0 -51
- package/esm2020/popover/dropdown/dropdown.mjs +0 -53
- package/esm2020/popover/dropdown/dropdown.module.mjs +0 -30
- package/esm2020/popover/dropdown/index.mjs +0 -13
- package/esm2020/popover/dropdown/menu-positions.mjs +0 -17
- package/esm2020/popover/dropdown/providers/dropdown-focus-handler.service.mjs +0 -186
- package/esm2020/popover/dropdown/providers/dropdown.service.mjs +0 -34
- package/esm2020/popover/index.mjs +0 -11
- package/esm2020/popover/popover.module.mjs +0 -23
- package/esm2020/popover/signpost/index.mjs +0 -12
- package/esm2020/popover/signpost/providers/signpost-focus-manager.service.mjs +0 -24
- package/esm2020/popover/signpost/providers/signpost-id.service.mjs +0 -26
- package/esm2020/popover/signpost/signpost-content.mjs +0 -179
- package/esm2020/popover/signpost/signpost-positions.mjs +0 -23
- package/esm2020/popover/signpost/signpost-title.mjs +0 -21
- package/esm2020/popover/signpost/signpost-trigger.mjs +0 -90
- package/esm2020/popover/signpost/signpost.mjs +0 -94
- package/esm2020/popover/signpost/signpost.module.mjs +0 -46
- package/esm2020/popover/tooltip/index.mjs +0 -11
- package/esm2020/popover/tooltip/providers/tooltip-id.service.mjs +0 -26
- package/esm2020/popover/tooltip/providers/tooltip-mouse.service.mjs +0 -44
- package/esm2020/popover/tooltip/tooltip-content.mjs +0 -135
- package/esm2020/popover/tooltip/tooltip-trigger.mjs +0 -62
- package/esm2020/popover/tooltip/tooltip.mjs +0 -29
- package/esm2020/popover/tooltip/tooltip.module.mjs +0 -29
- package/esm2020/progress/progress-bars/index.mjs +0 -9
- package/esm2020/progress/progress-bars/progress-bar.mjs +0 -177
- package/esm2020/progress/progress-bars/progress-bar.module.mjs +0 -25
- package/esm2020/progress/spinner/index.mjs +0 -9
- package/esm2020/progress/spinner/spinner.mjs +0 -95
- package/esm2020/progress/spinner/spinner.module.mjs +0 -25
- package/esm2020/timeline/enums/timeline-layout.enum.mjs +0 -12
- package/esm2020/timeline/enums/timeline-step-state.enum.mjs +0 -15
- package/esm2020/timeline/index.mjs +0 -15
- package/esm2020/timeline/interface/icon-attribute.interface.mjs +0 -8
- package/esm2020/timeline/providers/timeline-icon-attribute.service.mjs +0 -55
- package/esm2020/timeline/timeline-step-description.mjs +0 -21
- package/esm2020/timeline/timeline-step-header.mjs +0 -21
- package/esm2020/timeline/timeline-step-title.mjs +0 -31
- package/esm2020/timeline/timeline-step.mjs +0 -97
- package/esm2020/timeline/timeline.mjs +0 -36
- package/esm2020/timeline/timeline.module.mjs +0 -49
- package/esm2020/utils/animations/collapse/collapse.mjs +0 -17
- package/esm2020/utils/animations/collapse/index.mjs +0 -8
- package/esm2020/utils/animations/constants.mjs +0 -14
- package/esm2020/utils/animations/expandable-animation/base-expandable-animation.mjs +0 -46
- package/esm2020/utils/animations/expandable-animation/expandable-animation.directive.mjs +0 -56
- package/esm2020/utils/animations/expandable-animation/expandable-animation.mjs +0 -49
- package/esm2020/utils/animations/expandable-animation/expandable-animation.module.mjs +0 -26
- package/esm2020/utils/animations/expandable-animation/index.mjs +0 -12
- package/esm2020/utils/animations/fade/fade.mjs +0 -15
- package/esm2020/utils/animations/fade/index.mjs +0 -8
- package/esm2020/utils/animations/fade-slide/fade-slide.mjs +0 -31
- package/esm2020/utils/animations/fade-slide/index.mjs +0 -8
- package/esm2020/utils/animations/index.mjs +0 -12
- package/esm2020/utils/animations/slide/index.mjs +0 -8
- package/esm2020/utils/animations/slide/slide.mjs +0 -31
- package/esm2020/utils/assert/assert.helpers.mjs +0 -10
- package/esm2020/utils/breakpoints/breakpoints.mjs +0 -24
- package/esm2020/utils/cdk/cdk-drag.module.mjs +0 -58
- package/esm2020/utils/cdk/cdk-trap-focus.module.mjs +0 -53
- package/esm2020/utils/chocolate/oompa-loompa.mjs +0 -33
- package/esm2020/utils/chocolate/willy-wonka.mjs +0 -37
- package/esm2020/utils/component/is-boolean-attribute-set.mjs +0 -19
- package/esm2020/utils/conditional/conditional.module.mjs +0 -27
- package/esm2020/utils/conditional/if-active.directive.mjs +0 -98
- package/esm2020/utils/conditional/if-active.service.mjs +0 -71
- package/esm2020/utils/conditional/if-expanded.directive.mjs +0 -96
- package/esm2020/utils/conditional/if-expanded.service.mjs +0 -60
- package/esm2020/utils/conditional/if-open.directive.mjs +0 -81
- package/esm2020/utils/conditional/index.mjs +0 -11
- package/esm2020/utils/destroy/destroy.service.mjs +0 -45
- package/esm2020/utils/destroy/index.mjs +0 -8
- package/esm2020/utils/dom-adapter/dom-adapter.mjs +0 -62
- package/esm2020/utils/enums/keys.enum.mjs +0 -33
- package/esm2020/utils/focus/arrow-key-direction.enum.mjs +0 -14
- package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.mjs +0 -90
- package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.module.mjs +0 -27
- package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.provider.mjs +0 -15
- package/esm2020/utils/focus/focus-on-view-init/index.mjs +0 -10
- package/esm2020/utils/focus/focus-trap/index.mjs +0 -8
- package/esm2020/utils/focus/focus-trap/standalone-cdk-trap-focus.directive.mjs +0 -35
- package/esm2020/utils/focus/focus.service.mjs +0 -95
- package/esm2020/utils/focus/focusable-item/basic-focusable-item.service.mjs +0 -55
- package/esm2020/utils/focus/focusable-item/custom-focusable-item-provider.mjs +0 -17
- package/esm2020/utils/focus/focusable-item/focusable-item.mjs +0 -9
- package/esm2020/utils/focus/focusable-item/linkers.mjs +0 -35
- package/esm2020/utils/focus/key-focus/enums/focus-direction.enum.mjs +0 -13
- package/esm2020/utils/focus/key-focus/index.mjs +0 -9
- package/esm2020/utils/focus/key-focus/interfaces.mjs +0 -8
- package/esm2020/utils/focus/key-focus/key-focus-item.mjs +0 -35
- package/esm2020/utils/focus/key-focus/key-focus.mjs +0 -199
- package/esm2020/utils/focus/key-focus/key-focus.module.mjs +0 -27
- package/esm2020/utils/focus/key-focus/roving-tabindex.mjs +0 -103
- package/esm2020/utils/focus/key-focus/util.mjs +0 -45
- package/esm2020/utils/focus/wrap-observable.mjs +0 -20
- package/esm2020/utils/forms/validation.mjs +0 -21
- package/esm2020/utils/host-wrapping/empty-anchor.mjs +0 -19
- package/esm2020/utils/host-wrapping/host-wrapper.mjs +0 -42
- package/esm2020/utils/host-wrapping/host-wrapping.module.mjs +0 -25
- package/esm2020/utils/i18n/common-strings.default.mjs +0 -137
- package/esm2020/utils/i18n/common-strings.interface.mjs +0 -8
- package/esm2020/utils/i18n/common-strings.service.mjs +0 -48
- package/esm2020/utils/i18n/index.mjs +0 -10
- package/esm2020/utils/id-generator/id-generator.service.mjs +0 -11
- package/esm2020/utils/index.mjs +0 -15
- package/esm2020/utils/loading/index.mjs +0 -10
- package/esm2020/utils/loading/loading-listener.mjs +0 -13
- package/esm2020/utils/loading/loading.mjs +0 -58
- package/esm2020/utils/loading/loading.module.mjs +0 -25
- package/esm2020/utils/outside-click/index.mjs +0 -10
- package/esm2020/utils/outside-click/outside-click.mjs +0 -49
- package/esm2020/utils/outside-click/outside-click.module.mjs +0 -25
- package/esm2020/utils/popover/enums/alignment.enum.mjs +0 -13
- package/esm2020/utils/popover/enums/axis.enum.mjs +0 -12
- package/esm2020/utils/popover/enums/positions.enum.mjs +0 -60
- package/esm2020/utils/popover/enums/side.enum.mjs +0 -12
- package/esm2020/utils/popover/enums/viewport-violation.enum.mjs +0 -14
- package/esm2020/utils/popover/index.mjs +0 -21
- package/esm2020/utils/popover/interfaces/popover-content-offset.interface.mjs +0 -8
- package/esm2020/utils/popover/interfaces/popover-position.interface.mjs +0 -8
- package/esm2020/utils/popover/interfaces/visibility-coords.interface.mjs +0 -8
- package/esm2020/utils/popover/popover-anchor.mjs +0 -26
- package/esm2020/utils/popover/popover-close-button.mjs +0 -52
- package/esm2020/utils/popover/popover-content.mjs +0 -161
- package/esm2020/utils/popover/popover-host.directive.mjs +0 -37
- package/esm2020/utils/popover/popover-open-close-button.mjs +0 -43
- package/esm2020/utils/popover/popover.module.mjs +0 -26
- package/esm2020/utils/popover/position-operators.mjs +0 -180
- package/esm2020/utils/popover/providers/popover-events.service.mjs +0 -142
- package/esm2020/utils/popover/providers/popover-position.service.mjs +0 -230
- package/esm2020/utils/popover/providers/popover-toggle.service.mjs +0 -75
- package/esm2020/utils/popover/stop-escape-propagation.directive.mjs +0 -43
- package/esm2020/utils/scrolling/scrolling-service.mjs +0 -31
- package/esm2020/utils/template-ref/index.mjs +0 -10
- package/esm2020/utils/template-ref/template-ref-container.mjs +0 -30
- package/esm2020/utils/template-ref/template-ref.module.mjs +0 -25
- package/esm2020/wizard/heading-level.mjs +0 -8
- package/esm2020/wizard/index.mjs +0 -20
- package/esm2020/wizard/providers/button-hub.service.mjs +0 -64
- package/esm2020/wizard/providers/header-actions.service.mjs +0 -36
- package/esm2020/wizard/providers/page-collection.service.mjs +0 -360
- package/esm2020/wizard/providers/wizard-navigation.service.mjs +0 -575
- package/esm2020/wizard/wizard-button.mjs +0 -188
- package/esm2020/wizard/wizard-header-action.mjs +0 -77
- package/esm2020/wizard/wizard-page-buttons.mjs +0 -22
- package/esm2020/wizard/wizard-page-header-actions.mjs +0 -22
- package/esm2020/wizard/wizard-page-navtitle.mjs +0 -22
- package/esm2020/wizard/wizard-page-title.mjs +0 -25
- package/esm2020/wizard/wizard-page.mjs +0 -652
- package/esm2020/wizard/wizard-stepnav-item.mjs +0 -204
- package/esm2020/wizard/wizard-stepnav.mjs +0 -55
- package/esm2020/wizard/wizard-title.mjs +0 -22
- package/esm2020/wizard/wizard.mjs +0 -525
- package/esm2020/wizard/wizard.module.mjs +0 -73
- package/fesm2015/clr-angular.mjs +0 -31527
- package/fesm2015/clr-angular.mjs.map +0 -1
- package/fesm2020/clr-angular.mjs +0 -31343
- package/fesm2020/clr-angular.mjs.map +0 -1
- package/forms/checkbox/checkbox-container.d.ts +0 -25
- package/forms/checkbox/checkbox-wrapper.d.ts +0 -22
- package/forms/checkbox/checkbox.d.ts +0 -20
- package/forms/checkbox/checkbox.module.d.ts +0 -14
- package/forms/checkbox/index.d.ts +0 -4
- package/forms/combobox/combobox-container.d.ts +0 -18
- package/forms/combobox/combobox.d.ts +0 -87
- package/forms/combobox/combobox.module.d.ts +0 -22
- package/forms/combobox/index.d.ts +0 -8
- package/forms/combobox/model/combobox.model.d.ts +0 -9
- package/forms/combobox/model/multi-select-combobox.model.d.ts +0 -12
- package/forms/combobox/model/pseudo-focus.model.d.ts +0 -7
- package/forms/combobox/model/single-select-combobox.model.d.ts +0 -10
- package/forms/combobox/option-group.d.ts +0 -9
- package/forms/combobox/option-items.directive.d.ts +0 -28
- package/forms/combobox/option-selected.directive.d.ts +0 -13
- package/forms/combobox/option.d.ts +0 -25
- package/forms/combobox/options.d.ts +0 -36
- package/forms/combobox/providers/combobox-container.service.d.ts +0 -7
- package/forms/combobox/providers/combobox-focus-handler.service.d.ts +0 -48
- package/forms/combobox/providers/option-selection.service.d.ts +0 -24
- package/forms/common/abstract-container.d.ts +0 -47
- package/forms/common/abstract-control.d.ts +0 -18
- package/forms/common/common.module.d.ts +0 -19
- package/forms/common/control-container.d.ts +0 -6
- package/forms/common/control.d.ts +0 -11
- package/forms/common/error.d.ts +0 -12
- package/forms/common/form.d.ts +0 -16
- package/forms/common/helper.d.ts +0 -12
- package/forms/common/if-control-state/abstract-if-state.d.ts +0 -18
- package/forms/common/if-control-state/if-control-state.service.d.ts +0 -17
- package/forms/common/if-control-state/if-error.d.ts +0 -19
- package/forms/common/if-control-state/if-success.d.ts +0 -16
- package/forms/common/index.d.ts +0 -14
- package/forms/common/label.d.ts +0 -32
- package/forms/common/layout.d.ts +0 -11
- package/forms/common/providers/container-id.service.d.ts +0 -18
- package/forms/common/providers/control-class.service.d.ts +0 -13
- package/forms/common/providers/control-id.service.d.ts +0 -11
- package/forms/common/providers/focus.service.d.ts +0 -9
- package/forms/common/providers/layout.service.d.ts +0 -23
- package/forms/common/providers/mark-control.service.d.ts +0 -9
- package/forms/common/providers/ng-control.service.d.ts +0 -27
- package/forms/common/success.d.ts +0 -12
- package/forms/common/wrapped-control.d.ts +0 -46
- package/forms/datalist/datalist-container.d.ts +0 -14
- package/forms/datalist/datalist-input.d.ts +0 -18
- package/forms/datalist/datalist.d.ts +0 -14
- package/forms/datalist/datalist.module.d.ts +0 -13
- package/forms/datalist/index.d.ts +0 -4
- package/forms/datalist/providers/datalist-id.service.d.ts +0 -11
- package/forms/datepicker/calendar.d.ts +0 -65
- package/forms/datepicker/date-container.d.ts +0 -72
- package/forms/datepicker/date-end-input.d.ts +0 -15
- package/forms/datepicker/date-input.d.ts +0 -67
- package/forms/datepicker/date-input.validator.d.ts +0 -27
- package/forms/datepicker/date-single-input.d.ts +0 -15
- package/forms/datepicker/date-start-input.d.ts +0 -15
- package/forms/datepicker/datepicker-action-buttons.d.ts +0 -16
- package/forms/datepicker/datepicker-view-manager.d.ts +0 -30
- package/forms/datepicker/datepicker.module.d.ts +0 -29
- package/forms/datepicker/day.d.ts +0 -40
- package/forms/datepicker/daypicker.d.ts +0 -44
- package/forms/datepicker/index.d.ts +0 -14
- package/forms/datepicker/interfaces/date-range.interface.d.ts +0 -13
- package/forms/datepicker/interfaces/day-of-week.interface.d.ts +0 -4
- package/forms/datepicker/model/calendar-view.model.d.ts +0 -74
- package/forms/datepicker/model/calendar.model.d.ts +0 -35
- package/forms/datepicker/model/day-view.model.d.ts +0 -16
- package/forms/datepicker/model/day.model.d.ts +0 -30
- package/forms/datepicker/model/year-range.model.d.ts +0 -34
- package/forms/datepicker/monthpicker.d.ts +0 -87
- package/forms/datepicker/providers/date-form-control.service.d.ts +0 -14
- package/forms/datepicker/providers/date-io.service.d.ts +0 -39
- package/forms/datepicker/providers/date-navigation.service.d.ts +0 -94
- package/forms/datepicker/providers/datepicker-enabled.service.d.ts +0 -15
- package/forms/datepicker/providers/datepicker-focus.service.d.ts +0 -16
- package/forms/datepicker/providers/locale-helper.service.d.ts +0 -46
- package/forms/datepicker/providers/view-manager.service.d.ts +0 -17
- package/forms/datepicker/utils/constants.d.ts +0 -24
- package/forms/datepicker/utils/date-utils.d.ts +0 -16
- package/forms/datepicker/yearpicker.d.ts +0 -78
- package/forms/file-input/file-input-container.d.ts +0 -27
- package/forms/file-input/file-input-validator-errors.d.ts +0 -52
- package/forms/file-input/file-input-validator.d.ts +0 -14
- package/forms/file-input/file-input-value-accessor.d.ts +0 -15
- package/forms/file-input/file-input.d.ts +0 -23
- package/forms/file-input/file-input.helpers.d.ts +0 -3
- package/forms/file-input/file-input.module.d.ts +0 -17
- package/forms/file-input/file-list.d.ts +0 -18
- package/forms/file-input/file-messages-template.d.ts +0 -19
- package/forms/file-input/file-messages.d.ts +0 -17
- package/forms/file-input/index.d.ts +0 -9
- package/forms/forms.module.d.ts +0 -20
- package/forms/index.d.ts +0 -14
- package/forms/input/index.d.ts +0 -3
- package/forms/input/input-container.d.ts +0 -6
- package/forms/input/input.d.ts +0 -11
- package/forms/input/input.module.d.ts +0 -13
- package/forms/number-input/index.d.ts +0 -3
- package/forms/number-input/number-input-container.d.ts +0 -17
- package/forms/number-input/number-input.d.ts +0 -22
- package/forms/number-input/number-input.module.d.ts +0 -13
- package/forms/password/index.d.ts +0 -3
- package/forms/password/password-container.d.ts +0 -32
- package/forms/password/password.d.ts +0 -16
- package/forms/password/password.module.d.ts +0 -13
- package/forms/radio/index.d.ts +0 -4
- package/forms/radio/radio-container.d.ts +0 -28
- package/forms/radio/radio-wrapper.d.ts +0 -9
- package/forms/radio/radio.d.ts +0 -10
- package/forms/radio/radio.module.d.ts +0 -14
- package/forms/range/index.d.ts +0 -3
- package/forms/range/range-container.d.ts +0 -22
- package/forms/range/range.d.ts +0 -10
- package/forms/range/range.module.d.ts +0 -13
- package/forms/select/index.d.ts +0 -3
- package/forms/select/select-container.d.ts +0 -20
- package/forms/select/select.d.ts +0 -11
- package/forms/select/select.module.d.ts +0 -13
- package/forms/textarea/index.d.ts +0 -3
- package/forms/textarea/textarea-container.d.ts +0 -6
- package/forms/textarea/textarea.d.ts +0 -11
- package/forms/textarea/textarea.module.d.ts +0 -13
- package/icon/icon.d.ts +0 -9
- package/icon/icon.module.d.ts +0 -10
- package/icon/index.d.ts +0 -2
- package/index.d.ts +0 -16
- package/layout/breadcrumbs/breadcrumb-item.d.ts +0 -5
- package/layout/breadcrumbs/breadcrumbs.constants.d.ts +0 -1
- package/layout/breadcrumbs/breadcrumbs.d.ts +0 -17
- package/layout/breadcrumbs/breadcrumbs.module.d.ts +0 -12
- package/layout/breadcrumbs/index.d.ts +0 -4
- package/layout/breadcrumbs/model/breadcrumbs.model.d.ts +0 -9
- package/layout/index.d.ts +0 -6
- package/layout/layout.module.d.ts +0 -11
- package/layout/main-container/index.d.ts +0 -2
- package/layout/main-container/main-container.d.ts +0 -17
- package/layout/main-container/main-container.module.d.ts +0 -11
- package/layout/nav/aria-current-link.d.ts +0 -13
- package/layout/nav/chocolate/index.d.ts +0 -2
- package/layout/nav/chocolate/main-container-willy-wonka.d.ts +0 -6
- package/layout/nav/chocolate/nav-detection-oompa-loompa.d.ts +0 -12
- package/layout/nav/header.d.ts +0 -31
- package/layout/nav/index.d.ts +0 -5
- package/layout/nav/nav-level.d.ts +0 -35
- package/layout/nav/navigation.module.d.ts +0 -16
- package/layout/nav/providers/responsive-navigation.service.d.ts +0 -18
- package/layout/nav/responsive-nav-codes.d.ts +0 -14
- package/layout/nav/responsive-nav-control-message.d.ts +0 -7
- package/layout/tabs/chocolate/active-oompa-loompa.d.ts +0 -13
- package/layout/tabs/chocolate/tabs-willy-wonka.d.ts +0 -6
- package/layout/tabs/enums/tabs-layout.enum.d.ts +0 -4
- package/layout/tabs/index.d.ts +0 -11
- package/layout/tabs/providers/tabs.service.d.ts +0 -16
- package/layout/tabs/tab-action.directive.d.ts +0 -5
- package/layout/tabs/tab-content.d.ts +0 -18
- package/layout/tabs/tab-link.directive.d.ts +0 -25
- package/layout/tabs/tab-overflow-content.d.ts +0 -5
- package/layout/tabs/tab.d.ts +0 -17
- package/layout/tabs/tabs-actions.d.ts +0 -7
- package/layout/tabs/tabs-id.provider.d.ts +0 -7
- package/layout/tabs/tabs.d.ts +0 -50
- package/layout/tabs/tabs.module.d.ts +0 -23
- package/layout/vertical-nav/index.d.ts +0 -6
- package/layout/vertical-nav/providers/vertical-nav-group-registration.service.d.ts +0 -8
- package/layout/vertical-nav/providers/vertical-nav-group.service.d.ts +0 -9
- package/layout/vertical-nav/providers/vertical-nav-icon.service.d.ts +0 -9
- package/layout/vertical-nav/providers/vertical-nav.service.d.ts +0 -17
- package/layout/vertical-nav/vertical-nav-group-children.d.ts +0 -5
- package/layout/vertical-nav/vertical-nav-group.d.ts +0 -32
- package/layout/vertical-nav/vertical-nav-icon.d.ts +0 -10
- package/layout/vertical-nav/vertical-nav-link.d.ts +0 -10
- package/layout/vertical-nav/vertical-nav.d.ts +0 -28
- package/layout/vertical-nav/vertical-nav.module.d.ts +0 -18
- package/modal/index.d.ts +0 -7
- package/modal/modal-body.d.ts +0 -22
- package/modal/modal-configuration.service.d.ts +0 -7
- package/modal/modal-host.component.d.ts +0 -5
- package/modal/modal-stack.service.d.ts +0 -15
- package/modal/modal.d.ts +0 -43
- package/modal/modal.module.d.ts +0 -15
- package/modal/side-panel.d.ts +0 -53
- package/modal/side-panel.module.d.ts +0 -13
- package/popover/common/abstract-popover.d.ts +0 -35
- package/popover/common/popover-host-anchor.token.d.ts +0 -2
- package/popover/common/popover-options.interface.d.ts +0 -7
- package/popover/common/popover.d.ts +0 -30
- package/popover/dropdown/dropdown-item.d.ts +0 -27
- package/popover/dropdown/dropdown-menu.d.ts +0 -15
- package/popover/dropdown/dropdown-trigger.d.ts +0 -16
- package/popover/dropdown/dropdown.d.ts +0 -17
- package/popover/dropdown/dropdown.module.d.ts +0 -15
- package/popover/dropdown/index.d.ts +0 -6
- package/popover/dropdown/menu-positions.d.ts +0 -1
- package/popover/dropdown/providers/dropdown-focus-handler.service.d.ts +0 -49
- package/popover/dropdown/providers/dropdown.service.d.ts +0 -16
- package/popover/index.d.ts +0 -4
- package/popover/popover.module.d.ts +0 -9
- package/popover/signpost/index.d.ts +0 -5
- package/popover/signpost/providers/signpost-focus-manager.service.d.ts +0 -8
- package/popover/signpost/providers/signpost-id.service.d.ts +0 -9
- package/popover/signpost/signpost-content.d.ts +0 -57
- package/popover/signpost/signpost-positions.d.ts +0 -10
- package/popover/signpost/signpost-title.d.ts +0 -5
- package/popover/signpost/signpost-trigger.d.ts +0 -29
- package/popover/signpost/signpost.d.ts +0 -27
- package/popover/signpost/signpost.module.d.ts +0 -17
- package/popover/tooltip/index.d.ts +0 -4
- package/popover/tooltip/providers/tooltip-id.service.d.ts +0 -9
- package/popover/tooltip/providers/tooltip-mouse.service.d.ts +0 -15
- package/popover/tooltip/tooltip-content.d.ts +0 -25
- package/popover/tooltip/tooltip-trigger.d.ts +0 -18
- package/popover/tooltip/tooltip.d.ts +0 -6
- package/popover/tooltip/tooltip.module.d.ts +0 -14
- package/progress/progress-bars/index.d.ts +0 -2
- package/progress/progress-bars/progress-bar.module.d.ts +0 -10
- package/progress/spinner/index.d.ts +0 -2
- package/progress/spinner/spinner.module.d.ts +0 -10
- package/src/utils/popover/README.md +0 -139
- package/timeline/enums/timeline-layout.enum.d.ts +0 -4
- package/timeline/enums/timeline-step-state.enum.d.ts +0 -7
- package/timeline/index.d.ts +0 -8
- package/timeline/interface/icon-attribute.interface.d.ts +0 -6
- package/timeline/providers/timeline-icon-attribute.service.d.ts +0 -12
- package/timeline/timeline-step-description.d.ts +0 -5
- package/timeline/timeline-step-header.d.ts +0 -5
- package/timeline/timeline-step-title.d.ts +0 -15
- package/timeline/timeline-step.d.ts +0 -19
- package/timeline/timeline.d.ts +0 -8
- package/timeline/timeline.module.d.ts +0 -15
- package/utils/animations/collapse/collapse.d.ts +0 -2
- package/utils/animations/collapse/index.d.ts +0 -1
- package/utils/animations/constants.d.ts +0 -2
- package/utils/animations/expandable-animation/base-expandable-animation.d.ts +0 -16
- package/utils/animations/expandable-animation/expandable-animation.d.ts +0 -16
- package/utils/animations/expandable-animation/expandable-animation.directive.d.ts +0 -16
- package/utils/animations/expandable-animation/expandable-animation.module.d.ts +0 -9
- package/utils/animations/expandable-animation/index.d.ts +0 -4
- package/utils/animations/fade/fade.d.ts +0 -2
- package/utils/animations/fade/index.d.ts +0 -1
- package/utils/animations/fade-slide/fade-slide.d.ts +0 -2
- package/utils/animations/fade-slide/index.d.ts +0 -1
- package/utils/animations/index.d.ts +0 -5
- package/utils/animations/slide/index.d.ts +0 -1
- package/utils/animations/slide/slide.d.ts +0 -2
- package/utils/assert/assert.helpers.d.ts +0 -1
- package/utils/breakpoints/breakpoints.d.ts +0 -15
- package/utils/cdk/cdk-drag.module.d.ts +0 -25
- package/utils/cdk/cdk-trap-focus.module.d.ts +0 -24
- package/utils/chocolate/oompa-loompa.d.ts +0 -13
- package/utils/chocolate/willy-wonka.d.ts +0 -11
- package/utils/component/is-boolean-attribute-set.d.ts +0 -1
- package/utils/conditional/conditional.module.d.ts +0 -12
- package/utils/conditional/if-active.directive.d.ts +0 -38
- package/utils/conditional/if-active.service.d.ts +0 -45
- package/utils/conditional/if-expanded.directive.d.ts +0 -24
- package/utils/conditional/if-expanded.service.d.ts +0 -20
- package/utils/conditional/if-open.directive.d.ts +0 -36
- package/utils/conditional/index.d.ts +0 -4
- package/utils/destroy/destroy.service.d.ts +0 -32
- package/utils/destroy/index.d.ts +0 -1
- package/utils/dom-adapter/dom-adapter.d.ts +0 -12
- package/utils/enums/keys.enum.d.ts +0 -24
- package/utils/focus/arrow-key-direction.enum.d.ts +0 -6
- package/utils/focus/focus-on-view-init/focus-on-view-init.d.ts +0 -19
- package/utils/focus/focus-on-view-init/focus-on-view-init.module.d.ts +0 -10
- package/utils/focus/focus-on-view-init/focus-on-view-init.provider.d.ts +0 -6
- package/utils/focus/focus-on-view-init/index.d.ts +0 -3
- package/utils/focus/focus-trap/index.d.ts +0 -1
- package/utils/focus/focus-trap/standalone-cdk-trap-focus.directive.d.ts +0 -13
- package/utils/focus/focus.service.d.ts +0 -26
- package/utils/focus/focusable-item/basic-focusable-item.service.d.ts +0 -20
- package/utils/focus/focusable-item/custom-focusable-item-provider.d.ts +0 -6
- package/utils/focus/focusable-item/focusable-item.d.ts +0 -12
- package/utils/focus/focusable-item/linkers.d.ts +0 -13
- package/utils/focus/key-focus/enums/focus-direction.enum.d.ts +0 -5
- package/utils/focus/key-focus/index.d.ts +0 -2
- package/utils/focus/key-focus/interfaces.d.ts +0 -5
- package/utils/focus/key-focus/key-focus-item.d.ts +0 -11
- package/utils/focus/key-focus/key-focus.d.ts +0 -44
- package/utils/focus/key-focus/key-focus.module.d.ts +0 -10
- package/utils/focus/key-focus/roving-tabindex.d.ts +0 -19
- package/utils/focus/key-focus/util.d.ts +0 -3
- package/utils/focus/wrap-observable.d.ts +0 -2
- package/utils/forms/validation.d.ts +0 -2
- package/utils/host-wrapping/empty-anchor.d.ts +0 -5
- package/utils/host-wrapping/host-wrapper.d.ts +0 -11
- package/utils/host-wrapping/host-wrapping.module.d.ts +0 -10
- package/utils/i18n/common-strings.default.d.ts +0 -2
- package/utils/i18n/common-strings.interface.d.ts +0 -309
- package/utils/i18n/common-strings.service.d.ts +0 -21
- package/utils/i18n/index.d.ts +0 -3
- package/utils/id-generator/id-generator.service.d.ts +0 -1
- package/utils/index.d.ts +0 -8
- package/utils/loading/index.d.ts +0 -3
- package/utils/loading/loading-listener.d.ts +0 -8
- package/utils/loading/loading.d.ts +0 -20
- package/utils/loading/loading.module.d.ts +0 -10
- package/utils/outside-click/index.d.ts +0 -3
- package/utils/outside-click/outside-click.d.ts +0 -11
- package/utils/outside-click/outside-click.module.d.ts +0 -8
- package/utils/popover/enums/alignment.enum.d.ts +0 -5
- package/utils/popover/enums/axis.enum.d.ts +0 -4
- package/utils/popover/enums/positions.enum.d.ts +0 -23
- package/utils/popover/enums/side.enum.d.ts +0 -4
- package/utils/popover/enums/viewport-violation.enum.d.ts +0 -6
- package/utils/popover/index.d.ts +0 -14
- package/utils/popover/interfaces/popover-content-offset.interface.d.ts +0 -4
- package/utils/popover/interfaces/popover-position.interface.d.ts +0 -16
- package/utils/popover/interfaces/visibility-coords.interface.d.ts +0 -6
- package/utils/popover/popover-anchor.d.ts +0 -8
- package/utils/popover/popover-close-button.d.ts +0 -17
- package/utils/popover/popover-content.d.ts +0 -42
- package/utils/popover/popover-host.directive.d.ts +0 -6
- package/utils/popover/popover-open-close-button.d.ts +0 -13
- package/utils/popover/popover.module.d.ts +0 -10
- package/utils/popover/position-operators.d.ts +0 -10
- package/utils/popover/providers/popover-events.service.d.ts +0 -34
- package/utils/popover/providers/popover-position.service.d.ts +0 -24
- package/utils/popover/providers/popover-toggle.service.d.ts +0 -28
- package/utils/popover/stop-escape-propagation.directive.d.ts +0 -14
- package/utils/scrolling/scrolling-service.d.ts +0 -9
- package/utils/template-ref/index.d.ts +0 -3
- package/utils/template-ref/template-ref-container.d.ts +0 -7
- package/utils/template-ref/template-ref.module.d.ts +0 -8
- package/wizard/heading-level.d.ts +0 -1
- package/wizard/index.d.ts +0 -13
- package/wizard/providers/button-hub.service.d.ts +0 -20
- package/wizard/providers/header-actions.service.d.ts +0 -15
- package/wizard/providers/page-collection.service.d.ts +0 -196
- package/wizard/providers/wizard-navigation.service.d.ts +0 -366
- package/wizard/wizard-button.d.ts +0 -28
- package/wizard/wizard-header-action.d.ts +0 -12
- package/wizard/wizard-page-buttons.d.ts +0 -8
- package/wizard/wizard-page-header-actions.d.ts +0 -8
- package/wizard/wizard-page-navtitle.d.ts +0 -8
- package/wizard/wizard-page-title.d.ts +0 -10
- package/wizard/wizard-page.d.ts +0 -494
- package/wizard/wizard-stepnav-item.d.ts +0 -42
- package/wizard/wizard-stepnav.d.ts +0 -9
- package/wizard/wizard-title.d.ts +0 -7
- package/wizard/wizard.d.ts +0 -256
- package/wizard/wizard.module.d.ts +0 -22
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2025 Broadcom. All Rights Reserved.
|
|
3
|
-
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
4
|
-
* This software is released under MIT license.
|
|
5
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
|
-
*/
|
|
7
|
-
import { Injectable } from '@angular/core';
|
|
8
|
-
import { Subject } from 'rxjs';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "./state-debouncer.provider";
|
|
11
|
-
export class Page {
|
|
12
|
-
constructor(stateDebouncer) {
|
|
13
|
-
this.stateDebouncer = stateDebouncer;
|
|
14
|
-
this.activated = false;
|
|
15
|
-
/**
|
|
16
|
-
* Page size, a value of 0 means no pagination
|
|
17
|
-
*/
|
|
18
|
-
this._size = 0;
|
|
19
|
-
/**
|
|
20
|
-
* Current page
|
|
21
|
-
*/
|
|
22
|
-
this._current = 1;
|
|
23
|
-
/**
|
|
24
|
-
* The Observable that lets other classes subscribe to page changes
|
|
25
|
-
*/
|
|
26
|
-
this._change = new Subject();
|
|
27
|
-
this.preventEmit = false;
|
|
28
|
-
this._sizeChange = new Subject();
|
|
29
|
-
}
|
|
30
|
-
get size() {
|
|
31
|
-
return this._size;
|
|
32
|
-
}
|
|
33
|
-
set size(size) {
|
|
34
|
-
const oldSize = this._size;
|
|
35
|
-
if (size !== oldSize) {
|
|
36
|
-
if (!this.preventEmit) {
|
|
37
|
-
this.stateDebouncer.changeStart();
|
|
38
|
-
}
|
|
39
|
-
this._size = size;
|
|
40
|
-
if (size === 0) {
|
|
41
|
-
this._current = 1;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
// Yeap. That's the formula to keep the first item from the old page still
|
|
45
|
-
// displayed in the new one.
|
|
46
|
-
this._current = Math.floor((oldSize / size) * (this._current - 1)) + 1;
|
|
47
|
-
}
|
|
48
|
-
// We always emit an event even if the current page index didn't change, because
|
|
49
|
-
// the size changing means the items inside the page are different
|
|
50
|
-
if (!this.preventEmit) {
|
|
51
|
-
this._change.next(this._current);
|
|
52
|
-
this._sizeChange.next(this._size);
|
|
53
|
-
this.stateDebouncer.changeDone();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
this.preventEmit = false;
|
|
57
|
-
}
|
|
58
|
-
get totalItems() {
|
|
59
|
-
return this._totalItems || 0; // remains 0 if not set to avoid breaking change
|
|
60
|
-
}
|
|
61
|
-
set totalItems(total) {
|
|
62
|
-
this._totalItems = total;
|
|
63
|
-
// If we have less items than before, we might need to change the current page
|
|
64
|
-
if (this.current > this.last) {
|
|
65
|
-
this.current = this.last;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
get last() {
|
|
69
|
-
if (this._last) {
|
|
70
|
-
return this._last;
|
|
71
|
-
}
|
|
72
|
-
// If the last page isn't known, we compute it from the last item's index
|
|
73
|
-
if (this.size > 0 && this.totalItems) {
|
|
74
|
-
return Math.ceil(this.totalItems / this.size);
|
|
75
|
-
}
|
|
76
|
-
return 1;
|
|
77
|
-
}
|
|
78
|
-
set last(page) {
|
|
79
|
-
this._last = page;
|
|
80
|
-
}
|
|
81
|
-
// We do not want to expose the Subject itself, but the Observable which is read-only
|
|
82
|
-
get change() {
|
|
83
|
-
return this._change.asObservable();
|
|
84
|
-
}
|
|
85
|
-
get sizeChange() {
|
|
86
|
-
return this._sizeChange.asObservable();
|
|
87
|
-
}
|
|
88
|
-
get current() {
|
|
89
|
-
return this._current;
|
|
90
|
-
}
|
|
91
|
-
set current(page) {
|
|
92
|
-
if (page !== this._current) {
|
|
93
|
-
this.stateDebouncer.changeStart();
|
|
94
|
-
this._current = page;
|
|
95
|
-
this._change.next(page);
|
|
96
|
-
this.stateDebouncer.changeDone();
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Index of the first item displayed on the current page, starting at 0, -1 if none displayed
|
|
101
|
-
*/
|
|
102
|
-
get firstItem() {
|
|
103
|
-
if (this._totalItems === 0) {
|
|
104
|
-
return -1;
|
|
105
|
-
}
|
|
106
|
-
if (this.size === 0) {
|
|
107
|
-
return 0;
|
|
108
|
-
}
|
|
109
|
-
return (this.current - 1) * this.size;
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Index of the last item displayed on the current page, starting at 0, -1 if none displayed
|
|
113
|
-
*/
|
|
114
|
-
get lastItem() {
|
|
115
|
-
if (this._totalItems === 0) {
|
|
116
|
-
return -1;
|
|
117
|
-
}
|
|
118
|
-
if (this.size === 0) {
|
|
119
|
-
return this.totalItems - 1;
|
|
120
|
-
}
|
|
121
|
-
let lastInPage = this.current * this.size - 1;
|
|
122
|
-
if (this.totalItems) {
|
|
123
|
-
lastInPage = Math.min(lastInPage, this.totalItems - 1);
|
|
124
|
-
}
|
|
125
|
-
return lastInPage;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Moves to the previous page if it exists
|
|
129
|
-
*/
|
|
130
|
-
previous() {
|
|
131
|
-
if (this.current > 1) {
|
|
132
|
-
this.current--;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Moves to the next page if it exists
|
|
137
|
-
*/
|
|
138
|
-
next() {
|
|
139
|
-
if (this.current < this.last) {
|
|
140
|
-
this.current++;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Resets the page size to 0
|
|
145
|
-
*/
|
|
146
|
-
resetPageSize(preventEmit = false) {
|
|
147
|
-
this.preventEmit = preventEmit;
|
|
148
|
-
this.size = 0;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
Page.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Page, deps: [{ token: i1.StateDebouncer }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
152
|
-
Page.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Page });
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Page, decorators: [{
|
|
154
|
-
type: Injectable
|
|
155
|
-
}], ctorParameters: function () { return [{ type: i1.StateDebouncer }]; } });
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2RhdGEvZGF0YWdyaWQvcHJvdmlkZXJzL3BhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUsvQixNQUFNLE9BQU8sSUFBSTtJQStCZixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUE5QmxELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEI7O1dBRUc7UUFDSyxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBWWxCOztXQUVHO1FBQ0ssYUFBUSxHQUFHLENBQUMsQ0FBQztRQUVyQjs7V0FFRztRQUNLLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRWhDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUVTLENBQUM7SUFFdEQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxJQUFZO1FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ25DO1lBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFO2dCQUNkLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO2FBQ25CO2lCQUFNO2dCQUNMLDBF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LEtBQUssQ0FBQyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDWDtRQUVELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUM1QjtRQUNELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDOUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQzVCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxXQUFXLEdBQUcsS0FBSztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNoQixDQUFDOztpR0FuS1UsSUFBSTtxR0FBSixJQUFJOzJGQUFKLElBQUk7a0JBRGhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjUgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU3RhdGVEZWJvdW5jZXIgfSBmcm9tICcuL3N0YXRlLWRlYm91bmNlci5wcm92aWRlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQYWdlIHtcbiAgYWN0aXZhdGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFBhZ2Ugc2l6ZSwgYSB2YWx1ZSBvZiAwIG1lYW5zIG5vIHBhZ2luYXRpb25cbiAgICovXG4gIHByaXZhdGUgX3NpemUgPSAwO1xuXG4gIC8qKlxuICAgKiBUb3RhbCBpdGVtcyAobmVlZGVkIHRvIGd1ZXNzIHRoZSBsYXN0IHBhZ2UpXG4gICAqL1xuICBwcml2YXRlIF90b3RhbEl0ZW1zPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBMYXN0IHBhZ2VcbiAgICovXG4gIHByaXZhdGUgX2xhc3Q6IG51bWJlcjtcblxuICAvKipcbiAgICogQ3VycmVudCBwYWdlXG4gICAqL1xuICBwcml2YXRlIF9jdXJyZW50ID0gMTtcblxuICAvKipcbiAgICogVGhlIE9ic2VydmFibGUgdGhhdCBsZXRzIG90aGVyIGNsYXNzZXMgc3Vic2NyaWJlIHRvIHBhZ2UgY2hhbmdlc1xuICAgKi9cbiAgcHJpdmF0ZSBfY2hhbmdlID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgcHJldmVudEVtaXQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc2l6ZUNoYW5nZSA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0YXRlRGVib3VuY2VyOiBTdGF0ZURlYm91bmNlcikge31cblxuICBnZXQgc2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zaXplO1xuICB9XG4gIHNldCBzaXplKHNpemU6IG51bWJlcikge1xuICAgIGNvbnN0IG9sZFNpemUgPSB0aGlzLl9zaXplO1xuICAgIGlmIChzaXplICE9PSBvbGRTaXplKSB7XG4gICAgICBpZiAoIXRoaXMucHJldmVudEVtaXQpIHtcbiAgICAgICAgdGhpcy5zdGF0ZURlYm91bmNlci5jaGFuZ2VTdGFydCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5fc2l6ZSA9IHNpemU7XG4gICAgICBpZiAoc2l6ZSA9PT0gMCkge1xuICAgICAgICB0aGlzLl9jdXJyZW50ID0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFllYXAuIFRoYXQncyB0aGUgZm9ybXVsYSB0byBrZWVwIHRoZSBmaXJzdCBpdGVtIGZyb20gdGhlIG9sZCBwYWdlIHN0aWxsXG4gICAgICAgIC8vIGRpc3BsYXllZCBpbiB0aGUgbmV3IG9uZS5cbiAgICAgICAgdGhpcy5fY3VycmVudCA9IE1hdGguZmxvb3IoKG9sZFNpemUgLyBzaXplKSAqICh0aGlzLl9jdXJyZW50IC0gMSkpICsgMTtcbiAgICAgIH1cbiAgICAgIC8vIFdlIGFsd2F5cyBlbWl0IGFuIGV2ZW50IGV2ZW4gaWYgdGhlIGN1cnJlbnQgcGFnZSBpbmRleCBkaWRuJ3QgY2hhbmdlLCBiZWNhdXNlXG4gICAgICAvLyB0aGUgc2l6ZSBjaGFuZ2luZyBtZWFucyB0aGUgaXRlbXMgaW5zaWRlIHRoZSBwYWdlIGFyZSBkaWZmZXJlbnRcbiAgICAgIGlmICghdGhpcy5wcmV2ZW50RW1pdCkge1xuICAgICAgICB0aGlzLl9jaGFuZ2UubmV4dCh0aGlzLl9jdXJyZW50KTtcbiAgICAgICAgdGhpcy5fc2l6ZUNoYW5nZS5uZXh0KHRoaXMuX3NpemUpO1xuICAgICAgICB0aGlzLnN0YXRlRGVib3VuY2VyLmNoYW5nZURvbmUoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5wcmV2ZW50RW1pdCA9IGZhbHNlO1xuICB9XG5cbiAgZ2V0IHRvdGFsSXRlbXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdG90YWxJdGVtcyB8fCAwOyAvLyByZW1haW5zIDAgaWYgbm90IHNldCB0byBhdm9pZCBicmVha2luZyBjaGFuZ2VcbiAgfVxuICBzZXQgdG90YWxJdGVtcyh0b3RhbDogbnVtYmVyKSB7XG4gICAgdGhpcy5fdG90YWxJdGVtcyA9IHRvdGFsO1xuICAgIC8vIElmIHdlIGhhdmUgbGVzcyBpdGVtcyB0aGFuIGJlZm9yZSwgd2UgbWlnaHQgbmVlZCB0byBjaGFuZ2UgdGhlIGN1cnJlbnQgcGFnZVxuICAgIGlmICh0aGlzLmN1cnJlbnQgPiB0aGlzLmxhc3QpIHtcbiAgICAgIHRoaXMuY3VycmVudCA9IHRoaXMubGFzdDtcbiAgICB9XG4gIH1cblxuICBnZXQgbGFzdCgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLl9sYXN0KSB7XG4gICAgICByZXR1cm4gdGhpcy5fbGFzdDtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGxhc3QgcGFnZSBpc24ndCBrbm93biwgd2UgY29tcHV0ZSBpdCBmcm9tIHRoZSBsYXN0IGl0ZW0ncyBpbmRleFxuICAgIGlmICh0aGlzLnNpemUgPiAwICYmIHRoaXMudG90YWxJdGVtcykge1xuICAgICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnRvdGFsSXRlbXMgLyB0aGlzLnNpemUpO1xuICAgIH1cbiAgICByZXR1cm4gMTtcbiAgfVxuICBzZXQgbGFzdChwYWdlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9sYXN0ID0gcGFnZTtcbiAgfVxuXG4gIC8vIFdlIGRvIG5vdCB3YW50IHRvIGV4cG9zZSB0aGUgU3ViamVjdCBpdHNlbGYsIGJ1dCB0aGUgT2JzZXJ2YWJsZSB3aGljaCBpcyByZWFkLW9ubHlcbiAgZ2V0IGNoYW5nZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLl9jaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc2l6ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLl9zaXplQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudDtcbiAgfVxuICBzZXQgY3VycmVudChwYWdlOiBudW1iZXIpIHtcbiAgICBpZiAocGFnZSAhPT0gdGhpcy5fY3VycmVudCkge1xuICAgICAgdGhpcy5zdGF0ZURlYm91bmNlci5jaGFuZ2VTdGFydCgpO1xuICAgICAgdGhpcy5fY3VycmVudCA9IHBhZ2U7XG4gICAgICB0aGlzLl9jaGFuZ2UubmV4dChwYWdlKTtcbiAgICAgIHRoaXMuc3RhdGVEZWJvdW5jZXIuY2hhbmdlRG9uZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRleCBvZiB0aGUgZmlyc3QgaXRlbSBkaXNwbGF5ZWQgb24gdGhlIGN1cnJlbnQgcGFnZSwgc3RhcnRpbmcgYXQgMCwgLTEgaWYgbm9uZSBkaXNwbGF5ZWRcbiAgICovXG4gIGdldCBmaXJzdEl0ZW0oKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5fdG90YWxJdGVtcyA9PT0gMCkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNpemUgPT09IDApIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gKHRoaXMuY3VycmVudCAtIDEpICogdGhpcy5zaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGV4IG9mIHRoZSBsYXN0IGl0ZW0gZGlzcGxheWVkIG9uIHRoZSBjdXJyZW50IHBhZ2UsIHN0YXJ0aW5nIGF0IDAsIC0xIGlmIG5vbmUgZGlzcGxheWVkXG4gICAqL1xuICBnZXQgbGFzdEl0ZW0oKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5fdG90YWxJdGVtcyA9PT0gMCkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNpemUgPT09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLnRvdGFsSXRlbXMgLSAxO1xuICAgIH1cbiAgICBsZXQgbGFzdEluUGFnZSA9IHRoaXMuY3VycmVudCAqIHRoaXMuc2l6ZSAtIDE7XG4gICAgaWYgKHRoaXMudG90YWxJdGVtcykge1xuICAgICAgbGFzdEluUGFnZSA9IE1hdGgubWluKGxhc3RJblBhZ2UsIHRoaXMudG90YWxJdGVtcyAtIDEpO1xuICAgIH1cbiAgICByZXR1cm4gbGFzdEluUGFnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyB0byB0aGUgcHJldmlvdXMgcGFnZSBpZiBpdCBleGlzdHNcbiAgICovXG4gIHByZXZpb3VzKCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnQgPiAxKSB7XG4gICAgICB0aGlzLmN1cnJlbnQtLTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdG8gdGhlIG5leHQgcGFnZSBpZiBpdCBleGlzdHNcbiAgICovXG4gIG5leHQoKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudCA8IHRoaXMubGFzdCkge1xuICAgICAgdGhpcy5jdXJyZW50Kys7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgcGFnZSBzaXplIHRvIDBcbiAgICovXG4gIHJlc2V0UGFnZVNpemUocHJldmVudEVtaXQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMucHJldmVudEVtaXQgPSBwcmV2ZW50RW1pdDtcbiAgICB0aGlzLnNpemUgPSAwO1xuICB9XG59XG4iXX0=
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2025 Broadcom. All Rights Reserved.
|
|
3
|
-
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
4
|
-
* This software is released under MIT license.
|
|
5
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
|
-
*/
|
|
7
|
-
import { Injectable } from '@angular/core';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class RowActionService {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.actionableCount = 0;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* false means no rows with action
|
|
15
|
-
*/
|
|
16
|
-
get hasActionableRow() {
|
|
17
|
-
return this.actionableCount > 0;
|
|
18
|
-
}
|
|
19
|
-
register() {
|
|
20
|
-
this.actionableCount++;
|
|
21
|
-
}
|
|
22
|
-
unregister() {
|
|
23
|
-
this.actionableCount--;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
RowActionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RowActionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27
|
-
RowActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RowActionService });
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RowActionService, decorators: [{
|
|
29
|
-
type: Injectable
|
|
30
|
-
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWFjdGlvbi1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9wcm92aWRlcnMvcm93LWFjdGlvbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUVVLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO0tBZ0I3QjtJQWRDOztPQUVHO0lBQ0gsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs2R0FoQlUsZ0JBQWdCO2lIQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBCcm9hZGNvbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoZSB0ZXJtIFwiQnJvYWRjb21cIiByZWZlcnMgdG8gQnJvYWRjb20gSW5jLiBhbmQvb3IgaXRzIHN1YnNpZGlhcmllcy5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUm93QWN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgYWN0aW9uYWJsZUNvdW50ID0gMDtcblxuICAvKipcbiAgICogZmFsc2UgbWVhbnMgbm8gcm93cyB3aXRoIGFjdGlvblxuICAgKi9cbiAgZ2V0IGhhc0FjdGlvbmFibGVSb3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uYWJsZUNvdW50ID4gMDtcbiAgfVxuXG4gIHJlZ2lzdGVyKCkge1xuICAgIHRoaXMuYWN0aW9uYWJsZUNvdW50Kys7XG4gIH1cblxuICB1bnJlZ2lzdGVyKCkge1xuICAgIHRoaXMuYWN0aW9uYWJsZUNvdW50LS07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,365 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2025 Broadcom. All Rights Reserved.
|
|
3
|
-
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
4
|
-
* This software is released under MIT license.
|
|
5
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
|
-
*/
|
|
7
|
-
import { Injectable } from '@angular/core';
|
|
8
|
-
import { Subject } from 'rxjs';
|
|
9
|
-
import { debounceTime, delay } from 'rxjs/operators';
|
|
10
|
-
import { SelectionType } from '../enums/selection-type';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "./items";
|
|
13
|
-
import * as i2 from "./filters";
|
|
14
|
-
let nbSelection = 0;
|
|
15
|
-
export class Selection {
|
|
16
|
-
constructor(_items, filters, differs) {
|
|
17
|
-
this._items = _items;
|
|
18
|
-
this.differs = differs;
|
|
19
|
-
this.preserveSelection = false;
|
|
20
|
-
/**
|
|
21
|
-
* Shift key state, for use in range selection.
|
|
22
|
-
*/
|
|
23
|
-
this.shiftPressed = false;
|
|
24
|
-
/** @deprecated since 2.0, remove in 3.0 */
|
|
25
|
-
this.rowSelectionMode = false;
|
|
26
|
-
this.lockedRefs = []; // Ref of locked items
|
|
27
|
-
this._currentSelectionRefs = [];
|
|
28
|
-
this.valueCollector = new Subject();
|
|
29
|
-
this._selectionType = SelectionType.None;
|
|
30
|
-
/**
|
|
31
|
-
* The Observable that lets other classes subscribe to selection changes
|
|
32
|
-
*/
|
|
33
|
-
this._change = new Subject();
|
|
34
|
-
/**
|
|
35
|
-
* Subscriptions to the other providers changes.
|
|
36
|
-
*/
|
|
37
|
-
this.subscriptions = [];
|
|
38
|
-
this.id = 'clr-dg-selection' + nbSelection++;
|
|
39
|
-
this.trackBy = _items.trackBy;
|
|
40
|
-
this._differ = differs.find(this._current || []).create(this.trackBy);
|
|
41
|
-
this.subscriptions.push(filters.change.subscribe(() => {
|
|
42
|
-
if (!this._selectable || this.preserveSelection) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
this.clearSelection();
|
|
46
|
-
}));
|
|
47
|
-
this.subscriptions.push(_items.allChanges.pipe(delay(0)).subscribe(updatedItems => {
|
|
48
|
-
// Reset the lockedRefs;
|
|
49
|
-
const updateLockedRef = [];
|
|
50
|
-
switch (this.selectionType) {
|
|
51
|
-
case SelectionType.None: {
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
case SelectionType.Single: {
|
|
55
|
-
let newSingle;
|
|
56
|
-
let selectionUpdated = false;
|
|
57
|
-
updatedItems.forEach(item => {
|
|
58
|
-
const ref = _items.trackBy(item);
|
|
59
|
-
// If one of the updated items is the previously selectedSingle, set it as the new one
|
|
60
|
-
if (this.currentSingleSelectionRef === ref) {
|
|
61
|
-
newSingle = item;
|
|
62
|
-
selectionUpdated = true;
|
|
63
|
-
}
|
|
64
|
-
if (this.lockedRefs.indexOf(ref) > -1) {
|
|
65
|
-
updateLockedRef.push(ref);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
// If we're using smart datagrids, we expect all items to be present in the updatedItems array.
|
|
69
|
-
// Therefore, we should delete the currentSingle if it used to be defined but doesn't exist anymore.
|
|
70
|
-
// No explicit "delete" is required, since newSingle would be undefined at this point.
|
|
71
|
-
// Marking it as selectionUpdated here will set currentSingle to undefined below in the setTimeout.
|
|
72
|
-
if (_items.smart && !newSingle) {
|
|
73
|
-
selectionUpdated = true;
|
|
74
|
-
}
|
|
75
|
-
if (selectionUpdated) {
|
|
76
|
-
this.currentSingle = newSingle;
|
|
77
|
-
}
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
case SelectionType.Multi: {
|
|
81
|
-
let leftOver = this.current.slice();
|
|
82
|
-
let selectionUpdated = false;
|
|
83
|
-
// Duplicate loop, when the issue is issue#2342 is revisited keep in mind that
|
|
84
|
-
// we need to go over every updated item and check to see if there are valid to be
|
|
85
|
-
// locked or not and update it. When only add items that are found in the lockedRefs back.
|
|
86
|
-
//
|
|
87
|
-
// The both loops below that goes over updatedItems could be combined into one.
|
|
88
|
-
updatedItems.forEach(item => {
|
|
89
|
-
const ref = _items.trackBy(item);
|
|
90
|
-
if (this.lockedRefs.indexOf(ref) > -1) {
|
|
91
|
-
updateLockedRef.push(ref);
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
// TODO: revisit this when we work on https://github.com/vmware/clarity/issues/2342
|
|
95
|
-
// currently, the selection is cleared when filter is applied, so the logic inside
|
|
96
|
-
// the if statement below results in broken behavior.
|
|
97
|
-
if (leftOver.length > 0) {
|
|
98
|
-
updatedItems.forEach(item => {
|
|
99
|
-
const ref = _items.trackBy(item);
|
|
100
|
-
// Look in current selected refs array if item is selected, and update actual value
|
|
101
|
-
const selectedIndex = this.currentSelectionRefs.indexOf(ref);
|
|
102
|
-
if (selectedIndex > -1) {
|
|
103
|
-
leftOver[selectedIndex] = item;
|
|
104
|
-
selectionUpdated = true;
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
// Filter out any unmatched items if we're using smart datagrids where we expect all items to be
|
|
108
|
-
// present
|
|
109
|
-
if (_items.smart) {
|
|
110
|
-
leftOver = leftOver.filter(selected => updatedItems.indexOf(selected) > -1);
|
|
111
|
-
if (this.current.length !== leftOver.length) {
|
|
112
|
-
selectionUpdated = true;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
if (selectionUpdated) {
|
|
116
|
-
this.current = leftOver;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
break;
|
|
120
|
-
}
|
|
121
|
-
default: {
|
|
122
|
-
break;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
// Sync locked items
|
|
126
|
-
this.lockedRefs = updateLockedRef;
|
|
127
|
-
}));
|
|
128
|
-
this.subscriptions.push(this.valueCollector.pipe(debounceTime(0)).subscribe(() => this.emitChange()));
|
|
129
|
-
}
|
|
130
|
-
get selectionType() {
|
|
131
|
-
return this._selectionType;
|
|
132
|
-
}
|
|
133
|
-
set selectionType(value) {
|
|
134
|
-
if (value === this.selectionType) {
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
this._selectionType = value;
|
|
138
|
-
if ([SelectionType.None, SelectionType.Single].includes(value)) {
|
|
139
|
-
delete this.current;
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
this.updateCurrent([], false);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
get current() {
|
|
146
|
-
return this._current;
|
|
147
|
-
}
|
|
148
|
-
set current(value) {
|
|
149
|
-
this.updateCurrent(value, true);
|
|
150
|
-
this.updateCurrentSelectionRefs();
|
|
151
|
-
}
|
|
152
|
-
get currentSingle() {
|
|
153
|
-
return this._currentSingle;
|
|
154
|
-
}
|
|
155
|
-
set currentSingle(value) {
|
|
156
|
-
if (value === this._currentSingle) {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
this._currentSingle = value;
|
|
160
|
-
this.emitChange();
|
|
161
|
-
}
|
|
162
|
-
// We do not want to expose the Subject itself, but the Observable which is read-only
|
|
163
|
-
get change() {
|
|
164
|
-
return this._change.asObservable();
|
|
165
|
-
}
|
|
166
|
-
get _selectable() {
|
|
167
|
-
return this._selectionType === SelectionType.Multi || this._selectionType === SelectionType.Single;
|
|
168
|
-
}
|
|
169
|
-
// Refs of currently selected items
|
|
170
|
-
get currentSelectionRefs() {
|
|
171
|
-
return this._currentSelectionRefs;
|
|
172
|
-
}
|
|
173
|
-
// Ref of currently selected item
|
|
174
|
-
get currentSingleSelectionRef() {
|
|
175
|
-
return this._currentSingle && this._items.trackBy(this._currentSingle);
|
|
176
|
-
}
|
|
177
|
-
checkForChanges() {
|
|
178
|
-
const changes = this._differ.diff(this._current);
|
|
179
|
-
// @TODO move the trackBy from items to selection as it's used only here and is not needed in items
|
|
180
|
-
if (this.trackBy !== this._items.trackBy) {
|
|
181
|
-
this.trackBy = this._items.trackBy;
|
|
182
|
-
}
|
|
183
|
-
if (changes) {
|
|
184
|
-
this.updateCurrentSelectionRefs();
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
clearSelection() {
|
|
188
|
-
this._current = [];
|
|
189
|
-
this._currentSelectionRefs = [];
|
|
190
|
-
this._currentSingle = null;
|
|
191
|
-
this.emitChange();
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Cleans up our subscriptions to other providers
|
|
195
|
-
*/
|
|
196
|
-
destroy() {
|
|
197
|
-
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
198
|
-
}
|
|
199
|
-
updateCurrent(value, emit) {
|
|
200
|
-
this._current = value;
|
|
201
|
-
if (emit) {
|
|
202
|
-
this.valueCollector.next(value);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Checks if an item is currently selected
|
|
207
|
-
*/
|
|
208
|
-
isSelected(item) {
|
|
209
|
-
const ref = this._items.trackBy(item);
|
|
210
|
-
if (this._selectionType === SelectionType.Single) {
|
|
211
|
-
return this.currentSingleSelectionRef === ref;
|
|
212
|
-
}
|
|
213
|
-
else if (this._selectionType === SelectionType.Multi) {
|
|
214
|
-
return this.currentSelectionRefs.indexOf(ref) >= 0;
|
|
215
|
-
}
|
|
216
|
-
return false;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Selects or deselects an item
|
|
220
|
-
*/
|
|
221
|
-
setSelected(item, selected) {
|
|
222
|
-
const ref = this._items.trackBy(item);
|
|
223
|
-
const index = this.currentSelectionRefs ? this.currentSelectionRefs.indexOf(ref) : -1;
|
|
224
|
-
switch (this._selectionType) {
|
|
225
|
-
case SelectionType.None:
|
|
226
|
-
break;
|
|
227
|
-
case SelectionType.Single:
|
|
228
|
-
if (selected) {
|
|
229
|
-
this.currentSingle = item;
|
|
230
|
-
}
|
|
231
|
-
// in single selection, set currentSingle method should be used
|
|
232
|
-
break;
|
|
233
|
-
case SelectionType.Multi:
|
|
234
|
-
if (index >= 0 && !selected) {
|
|
235
|
-
this.deselectItem(index);
|
|
236
|
-
}
|
|
237
|
-
else if (index < 0 && selected) {
|
|
238
|
-
this.selectItem(item);
|
|
239
|
-
}
|
|
240
|
-
break;
|
|
241
|
-
default:
|
|
242
|
-
break;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Checks if all currently displayed items are selected
|
|
247
|
-
*/
|
|
248
|
-
isAllSelected() {
|
|
249
|
-
if (this._selectionType !== SelectionType.Multi || !this._items.displayed) {
|
|
250
|
-
return false;
|
|
251
|
-
}
|
|
252
|
-
// make sure to exclude the locked items from the list when counting
|
|
253
|
-
const displayedItems = this._items.displayed.filter(item => {
|
|
254
|
-
return this.isLocked(item) === false;
|
|
255
|
-
});
|
|
256
|
-
const nbDisplayed = displayedItems.length;
|
|
257
|
-
if (nbDisplayed < 1) {
|
|
258
|
-
return false;
|
|
259
|
-
}
|
|
260
|
-
const temp = displayedItems.filter(item => {
|
|
261
|
-
const ref = this._items.trackBy(item);
|
|
262
|
-
return this.currentSelectionRefs.indexOf(ref) > -1;
|
|
263
|
-
});
|
|
264
|
-
return temp.length === displayedItems.length;
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* Lock and unlock item
|
|
268
|
-
*/
|
|
269
|
-
lockItem(item, lock) {
|
|
270
|
-
if (this.canItBeLocked()) {
|
|
271
|
-
const ref = this._items.trackBy(item);
|
|
272
|
-
if (lock === true) {
|
|
273
|
-
// Add to lockedRef
|
|
274
|
-
this.lockedRefs.push(ref);
|
|
275
|
-
}
|
|
276
|
-
else {
|
|
277
|
-
// Remove from lockedRef
|
|
278
|
-
this.lockedRefs = this.lockedRefs.filter(lockedItem => ref !== lockedItem);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
/**
|
|
283
|
-
* Check is item locked or not by searching into lockedRefs for entry
|
|
284
|
-
*/
|
|
285
|
-
isLocked(item) {
|
|
286
|
-
/**
|
|
287
|
-
* The check for selectionType will boost the performance by NOT searching
|
|
288
|
-
* into the array when there is no need for that.
|
|
289
|
-
*/
|
|
290
|
-
if (this.canItBeLocked()) {
|
|
291
|
-
const ref = this._items.trackBy(item);
|
|
292
|
-
return this.lockedRefs.indexOf(ref) > -1;
|
|
293
|
-
}
|
|
294
|
-
return false;
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* Selects or deselects all currently displayed items
|
|
298
|
-
*/
|
|
299
|
-
toggleAll() {
|
|
300
|
-
if (this._selectionType === SelectionType.None || this._selectionType === SelectionType.Single) {
|
|
301
|
-
return;
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* If every currently displayed item is already selected, we clear them.
|
|
305
|
-
* If at least one item isn't selected, we select every currently displayed item.
|
|
306
|
-
*/
|
|
307
|
-
if (this.isAllSelected()) {
|
|
308
|
-
this._items.displayed.forEach(item => {
|
|
309
|
-
const ref = this._items.trackBy(item);
|
|
310
|
-
const currentIndex = this.currentSelectionRefs.indexOf(ref);
|
|
311
|
-
if (currentIndex > -1 && this.isLocked(item) === false) {
|
|
312
|
-
this.deselectItem(currentIndex);
|
|
313
|
-
}
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
else {
|
|
317
|
-
this._items.displayed.forEach(item => {
|
|
318
|
-
if (!this.isSelected(item) && this.isLocked(item) === false) {
|
|
319
|
-
this.selectItem(item);
|
|
320
|
-
}
|
|
321
|
-
});
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
/**
|
|
325
|
-
* Selects an item
|
|
326
|
-
*/
|
|
327
|
-
selectItem(item) {
|
|
328
|
-
this.current = this.current.concat(item);
|
|
329
|
-
}
|
|
330
|
-
/**
|
|
331
|
-
* Deselects an item
|
|
332
|
-
*/
|
|
333
|
-
deselectItem(indexOfItem) {
|
|
334
|
-
this.current = this.current.slice(0, indexOfItem).concat(this.current.slice(indexOfItem + 1));
|
|
335
|
-
if (indexOfItem < this.currentSelectionRefs.length) {
|
|
336
|
-
// Keep selected refs array in sync
|
|
337
|
-
const removedItems = this.currentSelectionRefs[indexOfItem];
|
|
338
|
-
// locked reference is no longer needed (if any)
|
|
339
|
-
this.lockedRefs = this.lockedRefs.filter(locked => locked !== removedItems[0]);
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
/**
|
|
343
|
-
* Make sure that it could be locked
|
|
344
|
-
*/
|
|
345
|
-
canItBeLocked() {
|
|
346
|
-
return this._selectionType !== SelectionType.None;
|
|
347
|
-
}
|
|
348
|
-
emitChange() {
|
|
349
|
-
if (this._selectionType === SelectionType.Single) {
|
|
350
|
-
this._change.next(this.currentSingle);
|
|
351
|
-
}
|
|
352
|
-
else if (this._selectionType === SelectionType.Multi) {
|
|
353
|
-
this._change.next(this.current);
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
updateCurrentSelectionRefs() {
|
|
357
|
-
this._currentSelectionRefs = this._current?.map(item => this._items.trackBy(item)) || [];
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
Selection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Selection, deps: [{ token: i1.Items }, { token: i2.FiltersProvider }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
361
|
-
Selection.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Selection });
|
|
362
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Selection, decorators: [{
|
|
363
|
-
type: Injectable
|
|
364
|
-
}], ctorParameters: function () { return [{ type: i1.Items }, { type: i2.FiltersProvider }, { type: i0.IterableDiffers }]; } });
|
|
365
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9wcm92aWRlcnMvc2VsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBb0QsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFJeEQsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBR3BCLE1BQU0sT0FBTyxTQUFTO0lBZ0RwQixZQUFvQixNQUFnQixFQUFFLE9BQTJCLEVBQVUsT0FBd0I7UUFBL0UsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUF1QyxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQTlDbkcsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBTzFCOztXQUVHO1FBQ0gsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsMkNBQTJDO1FBQzNDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUVqQixlQUFVLEdBQVEsRUFBRSxDQUFDLENBQUMsc0JBQXNCO1FBQzVDLDBCQUFxQixHQUFRLEVBQUUsQ0FBQztRQUNoQyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDcEMsbUJBQWMsR0FBa0IsYUFBYSxDQUFDLElBQUksQ0FBQztRQVkzRDs7V0FFRztRQUNLLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRXpDOztXQUVHO1FBQ0ssa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBU3pDLElBQUksQ0FBQyxFQUFFLEdBQUcsa0JBQWtCLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBSSxJQUFJLENBQUMsT0FBNkIsQ0FBQyxDQUFDO1FBRS9GLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMvQyxPQUFPO2FBQ1I7WUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDeEQsd0JBQXdCO1lBQ3hCLE1BQU0sZUFBZSxHQUFRLEVBQUUsQ0FBQztZQUVoQyxRQUFRLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQzFCLEtBQUssYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN2QixNQUFNO2lCQUNQO2dCQUVELEtBQUssYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN6QixJQUFJLFNBQWMsQ0FBQztvQkFDbkIsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7b0JBRTdCLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQzFCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ2pDLHNGQUFzRjt3QkFDdEYsSUFBSSxJQUFJLENBQUMseUJBQXlCLEtBQUssR0FBRyxFQUFFOzRCQUMxQyxTQUFTLEdBQUcsSUFBSSxDQUFDOzRCQUNqQixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7eUJBQ3pCO3dCQUNELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7NEJBQ3JDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7eUJBQzNCO29CQUNILENBQUMsQ0FBQyxDQUFDO29CQUVILCtGQUErRjtvQkFDL0Ysb0dBQW9HO29CQUNwRyxzRkFBc0Y7b0JBQ3RGLG1HQUFtRztvQkFDbkcsSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO3dCQUM5QixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7cUJBQ3pCO29CQUVELElBQUksZ0JBQWdCLEVBQUU7d0JBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO3FCQUNoQztvQkFDRCxNQUFNO2lCQUNQO2dCQUVELEtBQUssYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN4QixJQUFJLFFBQVEsR0FBVSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUMzQyxJQUFJLGdCQUFnQixHQUFHLEtBQUssQ0FBQztvQkFFN0IsOEVBQThFO29CQUM5RSxrRkFBa0Y7b0JBQ2xGLDBGQUEwRjtvQkFDMUYsRUFBRTtvQkFDRiwrRUFBK0U7b0JBQy9FLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQzFCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ2pDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7NEJBQ3JDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7eUJBQzNCO29CQUNILENBQUMsQ0FBQyxDQUFDO29CQUVILG1GQUFtRjtvQkFDbkYsa0ZBQWtGO29CQUNsRixxREFBcUQ7b0JBQ3JELElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7d0JBQ3ZCLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7NEJBQzFCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ2pDLG1GQUFtRjs0QkFDbkYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDN0QsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0NBQ3RCLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7Z0NBQy9CLGdCQUFnQixHQUFHLElBQUksQ0FBQzs2QkFDekI7d0JBQ0gsQ0FBQyxDQUFDLENBQUM7d0JBRUgsZ0dBQWdHO3dCQUNoRyxVQUFVO3dCQUNWLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTs0QkFDaEIsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQzVFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE1BQU0sRUFBRTtnQ0FDM0MsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDOzZCQUN6Qjt5QkFDRjt3QkFFRCxJQUFJLGdCQUFnQixFQUFFOzRCQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQzt5QkFDekI7cUJBQ0Y7b0JBQ0QsTUFBTTtpQkFDUDtnQkFFRCxPQUFPLENBQUMsQ0FBQztvQkFDUCxNQUFNO2lCQUNQO2FBQ0Y7WUFDRCxvQkFBb0I7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQUksYUFBYSxDQUFDLEtBQW9CO1FBQ3BDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM5RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDckI7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFRO1FBQ3hCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxxRkFBcUY7SUFDckYsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFZLFdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLGFBQWEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ3JHLENBQUM7SUFFRCxtQ0FBbUM7SUFDbkMsSUFBWSxvQkFBb0I7UUFDOUIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELGlDQUFpQztJQUNqQyxJQUFZLHlCQUF5QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELG1HQUFtRztRQUNuRyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUNwQztRQUNELElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVSxFQUFFLElBQWE7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxJQUFPO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQ2hELE9BQU8sSUFBSSxDQUFDLHlCQUF5QixLQUFLLEdBQUcsQ0FBQztTQUMvQzthQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxhQUFhLENBQUMsS0FBSyxFQUFFO1lBQ3RELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEQ7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVcsQ0FBQyxJQUFPLEVBQUUsUUFBaUI7UUFDcEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0RixRQUFRLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDM0IsS0FBSyxhQUFhLENBQUMsSUFBSTtnQkFDckIsTUFBTTtZQUNSLEtBQUssYUFBYSxDQUFDLE1BQU07Z0JBQ3ZCLElBQUksUUFBUSxFQUFFO29CQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2lCQUMzQjtnQkFDRCwrREFBK0Q7Z0JBQy9ELE1BQU07WUFDUixLQUFLLGFBQWEsQ0FBQyxLQUFLO2dCQUN0QixJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzFCO3FCQUFNLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxRQUFRLEVBQUU7b0JBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3ZCO2dCQUNELE1BQU07WUFDUjtnQkFDRSxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLGFBQWEsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUN6RSxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0Qsb0VBQW9FO1FBQ3BFLE1BQU0sY0FBYyxHQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUMxQyxJQUFJLFdBQVcsR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE1BQU0sSUFBSSxHQUFRLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLElBQU8sRUFBRSxJQUFhO1FBQzdCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtnQkFDakIsbUJBQW1CO2dCQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMzQjtpQkFBTTtnQkFDTCx3QkFBd0I7Z0JBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUFDLENBQUM7YUFDNUU7U0FDRjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVEsQ0FBQyxJQUFPO1FBQ2Q7OztXQUdHO1FBQ0gsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDeEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMxQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxhQUFhLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUM5RixPQUFPO1NBQ1I7UUFDRDs7O1dBR0c7UUFDSCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ25DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRTtvQkFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDakM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFO29CQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN2QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxVQUFVLENBQUMsSUFBTztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNLLFlBQVksQ0FBQyxXQUFtQjtRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUYsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRTtZQUNsRCxtQ0FBbUM7WUFDbkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzVELGdEQUFnRDtZQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hGO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxjQUFjLEtBQUssYUFBYSxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkM7YUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssYUFBYSxDQUFDLEtBQUssRUFBRTtZQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNGLENBQUM7O3NHQXRaVSxTQUFTOzBHQUFULFNBQVM7MkZBQVQsU0FBUztrQkFEckIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBCcm9hZGNvbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoZSB0ZXJtIFwiQnJvYWRjb21cIiByZWZlcnMgdG8gQnJvYWRjb20gSW5jLiBhbmQvb3IgaXRzIHN1YnNpZGlhcmllcy5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSXRlcmFibGVEaWZmZXIsIEl0ZXJhYmxlRGlmZmVycywgVHJhY2tCeUZ1bmN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGVsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNlbGVjdGlvblR5cGUgfSBmcm9tICcuLi9lbnVtcy9zZWxlY3Rpb24tdHlwZSc7XG5pbXBvcnQgeyBGaWx0ZXJzUHJvdmlkZXIgfSBmcm9tICcuL2ZpbHRlcnMnO1xuaW1wb3J0IHsgQ2xyRGF0YWdyaWRJdGVtc1RyYWNrQnlGdW5jdGlvbiwgSXRlbXMgfSBmcm9tICcuL2l0ZW1zJztcblxubGV0IG5iU2VsZWN0aW9uID0gMDtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbjxUID0gYW55PiB7XG4gIGlkOiBzdHJpbmc7XG4gIHByZXNlcnZlU2VsZWN0aW9uID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIExhc3Qgc2VsZWN0aW9uLCBmb3IgdXNlIGluIHJhbmdlIHNlbGVjdGlvbi5cbiAgICovXG4gIHJhbmdlU3RhcnQ6IFQ7XG5cbiAgLyoqXG4gICAqIFNoaWZ0IGtleSBzdGF0ZSwgZm9yIHVzZSBpbiByYW5nZSBzZWxlY3Rpb24uXG4gICAqL1xuICBzaGlmdFByZXNzZWQgPSBmYWxzZTtcblxuICAvKiogQGRlcHJlY2F0ZWQgc2luY2UgMi4wLCByZW1vdmUgaW4gMy4wICovXG4gIHJvd1NlbGVjdGlvbk1vZGUgPSBmYWxzZTtcblxuICBwcml2YXRlIGxvY2tlZFJlZnM6IFRbXSA9IFtdOyAvLyBSZWYgb2YgbG9ja2VkIGl0ZW1zXG4gIHByaXZhdGUgX2N1cnJlbnRTZWxlY3Rpb25SZWZzOiBUW10gPSBbXTtcbiAgcHJpdmF0ZSB2YWx1ZUNvbGxlY3RvciA9IG5ldyBTdWJqZWN0PFRbXT4oKTtcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uVHlwZTogU2VsZWN0aW9uVHlwZSA9IFNlbGVjdGlvblR5cGUuTm9uZTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc2VsZWN0aW9uXG4gICAqL1xuICBwcml2YXRlIF9jdXJyZW50OiBUW107XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHNlbGVjdGlvbiBpbiBzaW5nbGUgc2VsZWN0aW9uIHR5cGVcbiAgICovXG4gIHByaXZhdGUgX2N1cnJlbnRTaW5nbGU6IFQ7XG5cbiAgLyoqXG4gICAqIFRoZSBPYnNlcnZhYmxlIHRoYXQgbGV0cyBvdGhlciBjbGFzc2VzIHN1YnNjcmliZSB0byBzZWxlY3Rpb24gY2hhbmdlc1xuICAgKi9cbiAgcHJpdmF0ZSBfY2hhbmdlID0gbmV3IFN1YmplY3Q8VFtdIHwgVD4oKTtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9ucyB0byB0aGUgb3RoZXIgcHJvdmlkZXJzIGNoYW5nZXMuXG4gICAqL1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgLyoqXG4gICAqIERpZmZlciB0byB0cmFjayBjaGFuZ2VzIG9mIG11bHRpIHNlbGVjdGlvbi5cbiAgICovXG4gIHByaXZhdGUgX2RpZmZlciE6IEl0ZXJhYmxlRGlmZmVyPFQ+O1xuICBwcml2YXRlIHRyYWNrQnk6IENsckRhdGFncmlkSXRlbXNUcmFja0J5RnVuY3Rpb248VD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaXRlbXM6IEl0ZW1zPFQ+LCBmaWx0ZXJzOiBGaWx0ZXJzUHJvdmlkZXI8VD4sIHByaXZhdGUgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzKSB7XG4gICAgdGhpcy5pZCA9ICdjbHItZGctc2VsZWN0aW9uJyArIG5iU2VsZWN0aW9uKys7XG4gICAgdGhpcy50cmFja0J5ID0gX2l0ZW1zLnRyYWNrQnk7XG4gICAgdGhpcy5fZGlmZmVyID0gZGlmZmVycy5maW5kKHRoaXMuX2N1cnJlbnQgfHwgW10pLmNyZWF0ZTxUPih0aGlzLnRyYWNrQnkgYXMgVHJhY2tCeUZ1bmN0aW9uPFQ+KTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgZmlsdGVycy5jaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLl9zZWxlY3RhYmxlIHx8IHRoaXMucHJlc2VydmVTZWxlY3Rpb24pIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbigpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICBfaXRlbXMuYWxsQ2hhbmdlcy5waXBlKGRlbGF5KDApKS5zdWJzY3JpYmUodXBkYXRlZEl0ZW1zID0+IHtcbiAgICAgICAgLy8gUmVzZXQgdGhlIGxvY2tlZFJlZnM7XG4gICAgICAgIGNvbnN0IHVwZGF0ZUxvY2tlZFJlZjogVFtdID0gW107XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLnNlbGVjdGlvblR5cGUpIHtcbiAgICAgICAgICBjYXNlIFNlbGVjdGlvblR5cGUuTm9uZToge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSBTZWxlY3Rpb25UeXBlLlNpbmdsZToge1xuICAgICAgICAgICAgbGV0IG5ld1NpbmdsZTogYW55O1xuICAgICAgICAgICAgbGV0IHNlbGVjdGlvblVwZGF0ZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgdXBkYXRlZEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlZiA9IF9pdGVtcy50cmFja0J5KGl0ZW0pO1xuICAgICAgICAgICAgICAvLyBJZiBvbmUgb2YgdGhlIHVwZGF0ZWQgaXRlbXMgaXMgdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWRTaW5nbGUsIHNldCBpdCBhcyB0aGUgbmV3IG9uZVxuICAgICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50U2luZ2xlU2VsZWN0aW9uUmVmID09PSByZWYpIHtcbiAgICAgICAgICAgICAgICBuZXdTaW5nbGUgPSBpdGVtO1xuICAgICAgICAgICAgICAgIHNlbGVjdGlvblVwZGF0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmICh0aGlzLmxvY2tlZFJlZnMuaW5kZXhPZihyZWYpID4gLTEpIHtcbiAgICAgICAgICAgICAgICB1cGRhdGVMb2NrZWRSZWYucHVzaChyZWYpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gSWYgd2UncmUgdXNpbmcgc21hcnQgZGF0YWdyaWRzLCB3ZSBleHBlY3QgYWxsIGl0ZW1zIHRvIGJlIHByZXNlbnQgaW4gdGhlIHVwZGF0ZWRJdGVtcyBhcnJheS5cbiAgICAgICAgICAgIC8vIFRoZXJlZm9yZSwgd2Ugc2hvdWxkIGRlbGV0ZSB0aGUgY3VycmVudFNpbmdsZSBpZiBpdCB1c2VkIHRvIGJlIGRlZmluZWQgYnV0IGRvZXNuJ3QgZXhpc3QgYW55bW9yZS5cbiAgICAgICAgICAgIC8vIE5vIGV4cGxpY2l0IFwiZGVsZXRlXCIgaXMgcmVxdWlyZWQsIHNpbmNlIG5ld1NpbmdsZSB3b3VsZCBiZSB1bmRlZmluZWQgYXQgdGhpcyBwb2ludC5cbiAgICAgICAgICAgIC8vIE1hcmtpbmcgaXQgYXMgc2VsZWN0aW9uVXBkYXRlZCBoZXJlIHdpbGwgc2V0IGN1cnJlbnRTaW5nbGUgdG8gdW5kZWZpbmVkIGJlbG93IGluIHRoZSBzZXRUaW1lb3V0LlxuICAgICAgICAgICAgaWYgKF9pdGVtcy5zbWFydCAmJiAhbmV3U2luZ2xlKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGlvblVwZGF0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc2VsZWN0aW9uVXBkYXRlZCkge1xuICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTaW5nbGUgPSBuZXdTaW5nbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlIFNlbGVjdGlvblR5cGUuTXVsdGk6IHtcbiAgICAgICAgICAgIGxldCBsZWZ0T3ZlcjogYW55W10gPSB0aGlzLmN1cnJlbnQuc2xpY2UoKTtcbiAgICAgICAgICAgIGxldCBzZWxlY3Rpb25VcGRhdGVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIC8vIER1cGxpY2F0ZSBsb29wLCB3aGVuIHRoZSBpc3N1ZSBpcyBpc3N1ZSMyMzQyIGlzIHJldmlzaXRlZCBrZWVwIGluIG1pbmQgdGhhdFxuICAgICAgICAgICAgLy8gd2UgbmVlZCB0byBnbyBvdmVyIGV2ZXJ5IHVwZGF0ZWQgaXRlbSBhbmQgY2hlY2sgdG8gc2VlIGlmIHRoZXJlIGFyZSB2YWxpZCB0byBiZVxuICAgICAgICAgICAgLy8gbG9ja2VkIG9yIG5vdCBhbmQgdXBkYXRlIGl0LiBXaGVuIG9ubHkgYWRkIGl0ZW1zIHRoYXQgYXJlIGZvdW5kIGluIHRoZSBsb2NrZWRSZWZzIGJhY2suXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gVGhlIGJvdGggbG9vcHMgYmVsb3cgdGhhdCBnb2VzIG92ZXIgdXBkYXRlZEl0ZW1zIGNvdWxkIGJlIGNvbWJpbmVkIGludG8gb25lLlxuICAgICAgICAgICAgdXBkYXRlZEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlZiA9IF9pdGVtcy50cmFja0J5KGl0ZW0pO1xuICAgICAgICAgICAgICBpZiAodGhpcy5sb2NrZWRSZWZzLmluZGV4T2YocmVmKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgdXBkYXRlTG9ja2VkUmVmLnB1c2gocmVmKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIHdvcmsgb24gaHR0cHM6Ly9naXRodWIuY29tL3Ztd2FyZS9jbGFyaXR5L2lzc3Vlcy8yMzQyXG4gICAgICAgICAgICAvLyBjdXJyZW50bHksIHRoZSBzZWxlY3Rpb24gaXMgY2xlYXJlZCB3aGVuIGZpbHRlciBpcyBhcHBsaWVkLCBzbyB0aGUgbG9naWMgaW5zaWRlXG4gICAgICAgICAgICAvLyB0aGUgaWYgc3RhdGVtZW50IGJlbG93IHJlc3VsdHMgaW4gYnJva2VuIGJlaGF2aW9yLlxuICAgICAgICAgICAgaWYgKGxlZnRPdmVyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgdXBkYXRlZEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVmID0gX2l0ZW1zLnRyYWNrQnkoaXRlbSk7XG4gICAgICAgICAgICAgICAgLy8gTG9vayBpbiBjdXJyZW50IHNlbGVjdGVkIHJlZnMgYXJyYXkgaWYgaXRlbSBpcyBzZWxlY3RlZCwgYW5kIHVwZGF0ZSBhY3R1YWwgdmFsdWVcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEluZGV4ID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uUmVmcy5pbmRleE9mKHJlZik7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgICAgbGVmdE92ZXJbc2VsZWN0ZWRJbmRleF0gPSBpdGVtO1xuICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uVXBkYXRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAvLyBGaWx0ZXIgb3V0IGFueSB1bm1hdGNoZWQgaXRlbXMgaWYgd2UncmUgdXNpbmcgc21hcnQgZGF0YWdyaWRzIHdoZXJlIHdlIGV4cGVjdCBhbGwgaXRlbXMgdG8gYmVcbiAgICAgICAgICAgICAgLy8gcHJlc2VudFxuICAgICAgICAgICAgICBpZiAoX2l0ZW1zLnNtYXJ0KSB7XG4gICAgICAgICAgICAgICAgbGVmdE92ZXIgPSBsZWZ0T3Zlci5maWx0ZXIoc2VsZWN0ZWQgPT4gdXBkYXRlZEl0ZW1zLmluZGV4T2Yoc2VsZWN0ZWQpID4gLTEpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnQubGVuZ3RoICE9PSBsZWZ0T3Zlci5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGlvblVwZGF0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChzZWxlY3Rpb25VcGRhdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50ID0gbGVmdE92ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBTeW5jIGxvY2tlZCBpdGVtc1xuICAgICAgICB0aGlzLmxvY2tlZFJlZnMgPSB1cGRhdGVMb2NrZWRSZWY7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnZhbHVlQ29sbGVjdG9yLnBpcGUoZGVib3VuY2VUaW1lKDApKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbWl0Q2hhbmdlKCkpKTtcbiAgfVxuXG4gIGdldCBzZWxlY3Rpb25UeXBlKCk6IFNlbGVjdGlvblR5cGUge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25UeXBlO1xuICB9XG4gIHNldCBzZWxlY3Rpb25UeXBlKHZhbHVlOiBTZWxlY3Rpb25UeXBlKSB7XG4gICAgaWYgKHZhbHVlID09PSB0aGlzLnNlbGVjdGlvblR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc2VsZWN0aW9uVHlwZSA9IHZhbHVlO1xuICAgIGlmIChbU2VsZWN0aW9uVHlwZS5Ob25lLCBTZWxlY3Rpb25UeXBlLlNpbmdsZV0uaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICBkZWxldGUgdGhpcy5jdXJyZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZUN1cnJlbnQoW10sIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY3VycmVudCgpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50O1xuICB9XG4gIHNldCBjdXJyZW50KHZhbHVlOiBUW10pIHtcbiAgICB0aGlzLnVwZGF0ZUN1cnJlbnQodmFsdWUsIHRydWUpO1xuICAgIHRoaXMudXBkYXRlQ3VycmVudFNlbGVjdGlvblJlZnMoKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50U2luZ2xlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50U2luZ2xlO1xuICB9XG4gIHNldCBjdXJyZW50U2luZ2xlKHZhbHVlOiBUKSB7XG4gICAgaWYgKHZhbHVlID09PSB0aGlzLl9jdXJyZW50U2luZ2xlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2N1cnJlbnRTaW5nbGUgPSB2YWx1ZTtcbiAgICB0aGlzLmVtaXRDaGFuZ2UoKTtcbiAgfVxuXG4gIC8vIFdlIGRvIG5vdCB3YW50IHRvIGV4cG9zZSB0aGUgU3ViamVjdCBpdHNlbGYsIGJ1dCB0aGUgT2JzZXJ2YWJsZSB3aGljaCBpcyByZWFkLW9ubHlcbiAgZ2V0IGNoYW5nZSgpOiBPYnNlcnZhYmxlPFRbXSB8IFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX3NlbGVjdGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvblR5cGUgPT09IFNlbGVjdGlvblR5cGUuTXVsdGkgfHwgdGhpcy5fc2VsZWN0aW9uVHlwZSA9PT0gU2VsZWN0aW9uVHlwZS5TaW5nbGU7XG4gIH1cblxuICAvLyBSZWZzIG9mIGN1cnJlbnRseSBzZWxlY3RlZCBpdGVtc1xuICBwcml2YXRlIGdldCBjdXJyZW50U2VsZWN0aW9uUmVmcygpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50U2VsZWN0aW9uUmVmcztcbiAgfVxuXG4gIC8vIFJlZiBvZiBjdXJyZW50bHkgc2VsZWN0ZWQgaXRlbVxuICBwcml2YXRlIGdldCBjdXJyZW50U2luZ2xlU2VsZWN0aW9uUmVmKCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50U2luZ2xlICYmIHRoaXMuX2l0ZW1zLnRyYWNrQnkodGhpcy5fY3VycmVudFNpbmdsZSk7XG4gIH1cblxuICBjaGVja0ZvckNoYW5nZXMoKTogdm9pZCB7XG4gICAgY29uc3QgY2hhbmdlcyA9IHRoaXMuX2RpZmZlci5kaWZmKHRoaXMuX2N1cnJlbnQpO1xuICAgIC8vIEBUT0RPIG1vdmUgdGhlIHRyYWNrQnkgZnJvbSBpdGVtcyB0byBzZWxlY3Rpb24gYXMgaXQncyB1c2VkIG9ubHkgaGVyZSBhbmQgaXMgbm90IG5lZWRlZCBpbiBpdGVtc1xuICAgIGlmICh0aGlzLnRyYWNrQnkgIT09IHRoaXMuX2l0ZW1zLnRyYWNrQnkpIHtcbiAgICAgIHRoaXMudHJhY2tCeSA9IHRoaXMuX2l0ZW1zLnRyYWNrQnk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICB0aGlzLnVwZGF0ZUN1cnJlbnRTZWxlY3Rpb25SZWZzKCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fY3VycmVudCA9IFtdO1xuICAgIHRoaXMuX2N1cnJlbnRTZWxlY3Rpb25SZWZzID0gW107XG4gICAgdGhpcy5fY3VycmVudFNpbmdsZSA9IG51bGw7XG4gICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW5zIHVwIG91ciBzdWJzY3JpcHRpb25zIHRvIG90aGVyIHByb3ZpZGVyc1xuICAgKi9cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgdXBkYXRlQ3VycmVudCh2YWx1ZTogVFtdLCBlbWl0OiBib29sZWFuKSB7XG4gICAgdGhpcy5fY3VycmVudCA9IHZhbHVlO1xuICAgIGlmIChlbWl0KSB7XG4gICAgICB0aGlzLnZhbHVlQ29sbGVjdG9yLm5leHQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYW4gaXRlbSBpcyBjdXJyZW50bHkgc2VsZWN0ZWRcbiAgICovXG4gIGlzU2VsZWN0ZWQoaXRlbTogVCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZiA9IHRoaXMuX2l0ZW1zLnRyYWNrQnkoaXRlbSk7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGlvblR5cGUgPT09IFNlbGVjdGlvblR5cGUuU2luZ2xlKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50U2luZ2xlU2VsZWN0aW9uUmVmID09PSByZWY7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9zZWxlY3Rpb25UeXBlID09PSBTZWxlY3Rpb25UeXBlLk11bHRpKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50U2VsZWN0aW9uUmVmcy5pbmRleE9mKHJlZikgPj0gMDtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgb3IgZGVzZWxlY3RzIGFuIGl0ZW1cbiAgICovXG4gIHNldFNlbGVjdGVkKGl0ZW06IFQsIHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgY29uc3QgcmVmID0gdGhpcy5faXRlbXMudHJhY2tCeShpdGVtKTtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY3VycmVudFNlbGVjdGlvblJlZnMgPyB0aGlzLmN1cnJlbnRTZWxlY3Rpb25SZWZzLmluZGV4T2YocmVmKSA6IC0xO1xuXG4gICAgc3dpdGNoICh0aGlzLl9zZWxlY3Rpb25UeXBlKSB7XG4gICAgICBjYXNlIFNlbGVjdGlvblR5cGUuTm9uZTpcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNlbGVjdGlvblR5cGUuU2luZ2xlOlxuICAgICAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRTaW5nbGUgPSBpdGVtO1xuICAgICAgICB9XG4gICAgICAgIC8vIGluIHNpbmdsZSBzZWxlY3Rpb24sIHNldCBjdXJyZW50U2luZ2xlIG1ldGhvZCBzaG91bGQgYmUgdXNlZFxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2VsZWN0aW9uVHlwZS5NdWx0aTpcbiAgICAgICAgaWYgKGluZGV4ID49IDAgJiYgIXNlbGVjdGVkKSB7XG4gICAgICAgICAgdGhpcy5kZXNlbGVjdEl0ZW0oaW5kZXgpO1xuICAgICAgICB9IGVsc2UgaWYgKGluZGV4IDwgMCAmJiBzZWxlY3RlZCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0SXRlbShpdGVtKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYWxsIGN1cnJlbnRseSBkaXNwbGF5ZWQgaXRlbXMgYXJlIHNlbGVjdGVkXG4gICAqL1xuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9zZWxlY3Rpb25UeXBlICE9PSBTZWxlY3Rpb25UeXBlLk11bHRpIHx8ICF0aGlzLl9pdGVtcy5kaXNwbGF5ZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLy8gbWFrZSBzdXJlIHRvIGV4Y2x1ZGUgdGhlIGxvY2tlZCBpdGVtcyBmcm9tIHRoZSBsaXN0IHdoZW4gY291bnRpbmdcbiAgICBjb25zdCBkaXNwbGF5ZWRJdGVtczogVFtdID0gdGhpcy5faXRlbXMuZGlzcGxheWVkLmZpbHRlcihpdGVtID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmlzTG9ja2VkKGl0ZW0pID09PSBmYWxzZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG5iRGlzcGxheWVkID0gZGlzcGxheWVkSXRlbXMubGVuZ3RoO1xuICAgIGlmIChuYkRpc3BsYXllZCA8IDEpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgdGVtcDogVFtdID0gZGlzcGxheWVkSXRlbXMuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgcmVmID0gdGhpcy5faXRlbXMudHJhY2tCeShpdGVtKTtcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRTZWxlY3Rpb25SZWZzLmluZGV4T2YocmVmKSA+IC0xO1xuICAgIH0pO1xuICAgIHJldHVybiB0ZW1wLmxlbmd0aCA9PT0gZGlzcGxheWVkSXRlbXMubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIExvY2sgYW5kIHVubG9jayBpdGVtXG4gICAqL1xuICBsb2NrSXRlbShpdGVtOiBULCBsb2NrOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuY2FuSXRCZUxvY2tlZCgpKSB7XG4gICAgICBjb25zdCByZWYgPSB0aGlzLl9pdGVtcy50cmFja0J5KGl0ZW0pO1xuICAgICAgaWYgKGxvY2sgPT09IHRydWUpIHtcbiAgICAgICAgLy8gQWRkIHRvIGxvY2tlZFJlZlxuICAgICAgICB0aGlzLmxvY2tlZFJlZnMucHVzaChyZWYpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIGZyb20gbG9ja2VkUmVmXG4gICAgICAgIHRoaXMubG9ja2VkUmVmcyA9IHRoaXMubG9ja2VkUmVmcy5maWx0ZXIobG9ja2VkSXRlbSA9PiByZWYgIT09IGxvY2tlZEl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpcyBpdGVtIGxvY2tlZCBvciBub3QgYnkgc2VhcmNoaW5nIGludG8gbG9ja2VkUmVmcyBmb3IgZW50cnlcbiAgICovXG4gIGlzTG9ja2VkKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICAvKipcbiAgICAgKiBUaGUgY2hlY2sgZm9yIHNlbGVjdGlvblR5cGUgd2lsbCBib29zdCB0aGUgcGVyZm9ybWFuY2UgYnkgTk9UIHNlYXJjaGluZ1xuICAgICAqIGludG8gdGhlIGFycmF5IHdoZW4gdGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhhdC5cbiAgICAgKi9cbiAgICBpZiAodGhpcy5jYW5JdEJlTG9ja2VkKCkpIHtcbiAgICAgIGNvbnN0IHJlZiA9IHRoaXMuX2l0ZW1zLnRyYWNrQnkoaXRlbSk7XG4gICAgICByZXR1cm4gdGhpcy5sb2NrZWRSZWZzLmluZGV4T2YocmVmKSA+IC0xO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIG9yIGRlc2VsZWN0cyBhbGwgY3VycmVudGx5IGRpc3BsYXllZCBpdGVtc1xuICAgKi9cbiAgdG9nZ2xlQWxsKCkge1xuICAgIGlmICh0aGlzLl9zZWxlY3Rpb25UeXBlID09PSBTZWxlY3Rpb25UeXBlLk5vbmUgfHwgdGhpcy5fc2VsZWN0aW9uVHlwZSA9PT0gU2VsZWN0aW9uVHlwZS5TaW5nbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSWYgZXZlcnkgY3VycmVudGx5IGRpc3BsYXllZCBpdGVtIGlzIGFscmVhZHkgc2VsZWN0ZWQsIHdlIGNsZWFyIHRoZW0uXG4gICAgICogSWYgYXQgbGVhc3Qgb25lIGl0ZW0gaXNuJ3Qgc2VsZWN0ZWQsIHdlIHNlbGVjdCBldmVyeSBjdXJyZW50bHkgZGlzcGxheWVkIGl0ZW0uXG4gICAgICovXG4gICAgaWYgKHRoaXMuaXNBbGxTZWxlY3RlZCgpKSB7XG4gICAgICB0aGlzLl9pdGVtcy5kaXNwbGF5ZWQuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgcmVmID0gdGhpcy5faXRlbXMudHJhY2tCeShpdGVtKTtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uUmVmcy5pbmRleE9mKHJlZik7XG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPiAtMSAmJiB0aGlzLmlzTG9ja2VkKGl0ZW0pID09PSBmYWxzZSkge1xuICAgICAgICAgIHRoaXMuZGVzZWxlY3RJdGVtKGN1cnJlbnRJbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pdGVtcy5kaXNwbGF5ZWQuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQoaXRlbSkgJiYgdGhpcy5pc0xvY2tlZChpdGVtKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdEl0ZW0oaXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGFuIGl0ZW1cbiAgICovXG4gIHByaXZhdGUgc2VsZWN0SXRlbShpdGVtOiBUKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50ID0gdGhpcy5jdXJyZW50LmNvbmNhdChpdGVtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgYW4gaXRlbVxuICAgKi9cbiAgcHJpdmF0ZSBkZXNlbGVjdEl0ZW0oaW5kZXhPZkl0ZW06IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudCA9IHRoaXMuY3VycmVudC5zbGljZSgwLCBpbmRleE9mSXRlbSkuY29uY2F0KHRoaXMuY3VycmVudC5zbGljZShpbmRleE9mSXRlbSArIDEpKTtcbiAgICBpZiAoaW5kZXhPZkl0ZW0gPCB0aGlzLmN1cnJlbnRTZWxlY3Rpb25SZWZzLmxlbmd0aCkge1xuICAgICAgLy8gS2VlcCBzZWxlY3RlZCByZWZzIGFycmF5IGluIHN5bmNcbiAgICAgIGNvbnN0IHJlbW92ZWRJdGVtcyA9IHRoaXMuY3VycmVudFNlbGVjdGlvblJlZnNbaW5kZXhPZkl0ZW1dO1xuICAgICAgLy8gbG9ja2VkIHJlZmVyZW5jZSBpcyBubyBsb25nZXIgbmVlZGVkIChpZiBhbnkpXG4gICAgICB0aGlzLmxvY2tlZFJlZnMgPSB0aGlzLmxvY2tlZFJlZnMuZmlsdGVyKGxvY2tlZCA9PiBsb2NrZWQgIT09IHJlbW92ZWRJdGVtc1swXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1ha2Ugc3VyZSB0aGF0IGl0IGNvdWxkIGJlIGxvY2tlZFxuICAgKi9cbiAgcHJpdmF0ZSBjYW5JdEJlTG9ja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25UeXBlICE9PSBTZWxlY3Rpb25UeXBlLk5vbmU7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDaGFuZ2UoKSB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGlvblR5cGUgPT09IFNlbGVjdGlvblR5cGUuU2luZ2xlKSB7XG4gICAgICB0aGlzLl9jaGFuZ2UubmV4dCh0aGlzLmN1cnJlbnRTaW5nbGUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fc2VsZWN0aW9uVHlwZSA9PT0gU2VsZWN0aW9uVHlwZS5NdWx0aSkge1xuICAgICAgdGhpcy5fY2hhbmdlLm5leHQodGhpcy5jdXJyZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUN1cnJlbnRTZWxlY3Rpb25SZWZzKCkge1xuICAgIHRoaXMuX2N1cnJlbnRTZWxlY3Rpb25SZWZzID0gdGhpcy5fY3VycmVudD8ubWFwKGl0ZW0gPT4gdGhpcy5faXRlbXMudHJhY2tCeShpdGVtKSkgfHwgW107XG4gIH1cbn1cbiJdfQ==
|