@clr/angular 17.13.0 → 18.0.0-beta.10
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 +7593 -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 +40 -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 +41 -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 +1775 -0
- package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-common.mjs +1240 -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 +826 -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 +100 -0
- package/fesm2022/clr-angular-forms.mjs.map +1 -0
- package/fesm2022/clr-angular-icon.mjs +7397 -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 +582 -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 +44 -0
- package/fesm2022/clr-angular-layout.mjs.map +1 -0
- package/fesm2022/clr-angular-modal.mjs +617 -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 +41 -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 +2079 -0
- package/fesm2022/clr-angular-utils.mjs.map +1 -0
- package/fesm2022/clr-angular-wizard.mjs +3074 -0
- package/fesm2022/clr-angular-wizard.mjs.map +1 -0
- package/fesm2022/clr-angular.mjs +125 -0
- package/fesm2022/clr-angular.mjs.map +1 -0
- package/package.json +202 -18
- package/popover/common/README.md +112 -0
- package/schematics/collection.json +14 -0
- package/schematics/ng-update/index.d.ts +2 -0
- package/schematics/ng-update/index.js +69 -0
- package/schematics/ng-update/index.js.map +1 -0
- package/schematics/ng-update/migrations/css-migration.d.ts +6 -0
- package/schematics/ng-update/migrations/css-migration.js +177 -0
- package/schematics/ng-update/migrations/css-migration.js.map +1 -0
- package/schematics/ng-update/migrations/import-migration.d.ts +4 -0
- package/schematics/ng-update/migrations/import-migration.js +187 -0
- package/schematics/ng-update/migrations/import-migration.js.map +1 -0
- package/schematics/ng-update/migrations/template-migration.d.ts +6 -0
- package/schematics/ng-update/migrations/template-migration.js +261 -0
- package/schematics/ng-update/migrations/template-migration.js.map +1 -0
- package/schematics/ng-update/replacements/css-replacements.d.ts +17 -0
- package/schematics/ng-update/replacements/css-replacements.js +74 -0
- package/schematics/ng-update/replacements/css-replacements.js.map +1 -0
- package/schematics/ng-update/replacements/import-replacements.d.ts +13 -0
- package/schematics/ng-update/replacements/import-replacements.js +108 -0
- package/schematics/ng-update/replacements/import-replacements.js.map +1 -0
- package/schematics/ng-update/replacements/symbol-replacements.d.ts +12 -0
- package/schematics/ng-update/replacements/symbol-replacements.js +67 -0
- package/schematics/ng-update/replacements/symbol-replacements.js.map +1 -0
- package/schematics/ng-update/replacements/template-replacements.d.ts +19 -0
- package/schematics/ng-update/replacements/template-replacements.js +57 -0
- package/schematics/ng-update/replacements/template-replacements.js.map +1 -0
- package/schematics/ng-update/tests/test-helpers.d.ts +6 -0
- package/schematics/ng-update/tests/test-helpers.js +34 -0
- package/schematics/ng-update/tests/test-helpers.js.map +1 -0
- package/schematics/ng-update/utils/file-visitor.d.ts +8 -0
- package/schematics/ng-update/utils/file-visitor.js +44 -0
- package/schematics/ng-update/utils/file-visitor.js.map +1 -0
- package/schematics/ng-update/utils/regexp-utils.d.ts +16 -0
- package/schematics/ng-update/utils/regexp-utils.js +34 -0
- package/schematics/ng-update/utils/regexp-utils.js.map +1 -0
- package/schematics/vitest.config.d.ts +2 -0
- package/schematics/vitest.config.js +17 -0
- package/schematics/vitest.config.js.map +1 -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 +229 -0
- package/types/clr-angular-data.d.ts +15 -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 +15 -0
- package/types/clr-angular-forms-checkbox.d.ts +69 -0
- package/types/clr-angular-forms-combobox.d.ts +353 -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 +36 -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 +142 -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 +19 -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 +16 -0
- package/types/clr-angular-progress-progress-bars.d.ts +57 -0
- package/types/clr-angular-progress-spinner.d.ts +44 -0
- 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 +913 -0
- package/types/clr-angular-wizard.d.ts +1508 -0
- package/types/clr-angular.d.ts +41 -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 -56
- package/esm2020/forms/file-input/file-input.helpers.mjs +0 -22
- package/esm2020/forms/file-input/file-input.mjs +0 -71
- 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 -535
- package/esm2020/wizard/wizard.module.mjs +0 -73
- package/fesm2015/clr-angular.mjs +0 -31534
- package/fesm2015/clr-angular.mjs.map +0 -1
- package/fesm2020/clr-angular.mjs +0 -31350
- 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 -16
- package/forms/file-input/file-input.d.ts +0 -22
- 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.d.ts +0 -45
- package/progress/progress-bars/progress-bar.module.d.ts +0 -10
- package/progress/spinner/index.d.ts +0 -2
- package/progress/spinner/spinner.d.ts +0 -32
- package/progress/spinner/spinner.module.d.ts +0 -10
- 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 -259
- package/wizard/wizard.module.d.ts +0 -22
|
@@ -1,535 +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 { isPlatformBrowser } from '@angular/common';
|
|
8
|
-
import { Component, ContentChild, ContentChildren, EventEmitter, Inject, Input, Output, PLATFORM_ID, ViewChild, } from '@angular/core';
|
|
9
|
-
import { filter } from 'rxjs/operators';
|
|
10
|
-
import { ClrModal } from '../modal/modal';
|
|
11
|
-
import { uniqueIdFactory } from '../utils/id-generator/id-generator.service';
|
|
12
|
-
import { ButtonHubService } from './providers/button-hub.service';
|
|
13
|
-
import { HeaderActionService } from './providers/header-actions.service';
|
|
14
|
-
import { PageCollectionService } from './providers/page-collection.service';
|
|
15
|
-
import { WizardNavigationService } from './providers/wizard-navigation.service';
|
|
16
|
-
import { ClrWizardHeaderAction } from './wizard-header-action';
|
|
17
|
-
import { ClrWizardPage } from './wizard-page';
|
|
18
|
-
import { ClrWizardTitle } from './wizard-title';
|
|
19
|
-
import * as i0 from "@angular/core";
|
|
20
|
-
import * as i1 from "../utils";
|
|
21
|
-
import * as i2 from "./providers/wizard-navigation.service";
|
|
22
|
-
import * as i3 from "./providers/page-collection.service";
|
|
23
|
-
import * as i4 from "./providers/button-hub.service";
|
|
24
|
-
import * as i5 from "./providers/header-actions.service";
|
|
25
|
-
import * as i6 from "@angular/common";
|
|
26
|
-
import * as i7 from "../modal/modal";
|
|
27
|
-
import * as i8 from "../modal/modal-body";
|
|
28
|
-
import * as i9 from "../icon/icon";
|
|
29
|
-
import * as i10 from "./wizard-stepnav";
|
|
30
|
-
export class ClrWizard {
|
|
31
|
-
constructor(platformId, commonStrings, navService, pageCollection, buttonService, headerActionService, elementRef, differs) {
|
|
32
|
-
this.platformId = platformId;
|
|
33
|
-
this.commonStrings = commonStrings;
|
|
34
|
-
this.navService = navService;
|
|
35
|
-
this.pageCollection = pageCollection;
|
|
36
|
-
this.buttonService = buttonService;
|
|
37
|
-
this.headerActionService = headerActionService;
|
|
38
|
-
this.elementRef = elementRef;
|
|
39
|
-
/**
|
|
40
|
-
* Set the aria-label for the stepnav section of the wizard. Set using `[clrWizardStepnavAriaLabel]` input.
|
|
41
|
-
*/
|
|
42
|
-
this.stepnavAriaLabel = this.commonStrings.keys.wizardStepnavAriaLabel;
|
|
43
|
-
/**
|
|
44
|
-
* Set the modal size of the wizard. Set using `[clrWizardSize]` input.
|
|
45
|
-
*/
|
|
46
|
-
this.size = 'xl';
|
|
47
|
-
/**
|
|
48
|
-
* Enable "in page" wizard. Set using `[clrWizardInPage]` input.
|
|
49
|
-
*/
|
|
50
|
-
this.inPage = false;
|
|
51
|
-
/**
|
|
52
|
-
* Make an "in page" wizard fill the `.content-area`. Set using `[clrWizardInPageFillContentArea]` input.
|
|
53
|
-
* If you can't use this option, you will likely need to provide custom CSS to set the wizard's height and margins.
|
|
54
|
-
*/
|
|
55
|
-
this.inPageFillContentArea = false;
|
|
56
|
-
/**
|
|
57
|
-
* Tells the modal part of the wizard whether it should have a close "X"
|
|
58
|
-
* in the top right corner. Set using `[clrWizardClosable]` input.
|
|
59
|
-
*/
|
|
60
|
-
this.closable = true;
|
|
61
|
-
/**
|
|
62
|
-
* Used to communicate to the underlying modal that animations are not
|
|
63
|
-
* wanted. Primary use is for the display of static/inline wizards.
|
|
64
|
-
* Set using `[clrWizardPreventModalAnimation]` input.
|
|
65
|
-
*/
|
|
66
|
-
this._stopModalAnimations = false;
|
|
67
|
-
/**
|
|
68
|
-
* Emits when the wizard is opened or closed.
|
|
69
|
-
* Listen via `(clrWizardOpenChange)` event.
|
|
70
|
-
*/
|
|
71
|
-
this._openChanged = new EventEmitter(false);
|
|
72
|
-
/**
|
|
73
|
-
* Emits when the wizard is canceled. Listen via `(clrWizardOnCancel)` event.
|
|
74
|
-
* Can be combined with the `[clrWizardPreventDefaultCancel]` input to create
|
|
75
|
-
* wizard-level custom cancel routines.
|
|
76
|
-
*/
|
|
77
|
-
this.onCancel = new EventEmitter(false);
|
|
78
|
-
/**
|
|
79
|
-
* Emits when the wizard is completed. Listen via `(clrWizardOnFinish)` event.
|
|
80
|
-
* Can be combined with the `[clrWizardPreventDefaultNext]` input to create
|
|
81
|
-
* wizard-level custom completion routines.
|
|
82
|
-
*/
|
|
83
|
-
this.wizardFinished = new EventEmitter(false);
|
|
84
|
-
/**
|
|
85
|
-
* Emits when the wizard is reset. Listen via `(clrWizardOnReset)` event.
|
|
86
|
-
*/
|
|
87
|
-
this.onReset = new EventEmitter(false);
|
|
88
|
-
/**
|
|
89
|
-
* Emits when the current page has changed. Listen via `(clrWizardCurrentPageChanged)` event.
|
|
90
|
-
* output. Useful for non-blocking validation.
|
|
91
|
-
*/
|
|
92
|
-
this.currentPageChanged = new EventEmitter(false);
|
|
93
|
-
/**
|
|
94
|
-
* Emits when the wizard moves to the next page. Listen via `(clrWizardOnNext)` event.
|
|
95
|
-
* Can be combined with the `[clrWizardPreventDefaultNext]` input to create
|
|
96
|
-
* wizard-level custom navigation routines, which are useful for validation.
|
|
97
|
-
*/
|
|
98
|
-
this.onMoveNext = new EventEmitter(false);
|
|
99
|
-
/**
|
|
100
|
-
* Emits when the wizard moves to the previous page. Can be useful for validation.
|
|
101
|
-
* Listen via `(clrWizardOnPrevious)` event.
|
|
102
|
-
*/
|
|
103
|
-
this.onMovePrevious = new EventEmitter(false);
|
|
104
|
-
this._open = false;
|
|
105
|
-
this.wizardId = uniqueIdFactory();
|
|
106
|
-
this._forceForward = false;
|
|
107
|
-
this._stopNext = false;
|
|
108
|
-
this._stopCancel = false;
|
|
109
|
-
this._stopNavigation = false;
|
|
110
|
-
this._disableStepnav = false;
|
|
111
|
-
this.subscriptions = [];
|
|
112
|
-
this.subscriptions.push(this.listenForNextPageChanges(), this.listenForPreviousPageChanges(), this.listenForCancelChanges(), this.listenForFinishedChanges(), this.listenForPageChanges());
|
|
113
|
-
this.differ = differs.find([]).create(null);
|
|
114
|
-
}
|
|
115
|
-
get title() {
|
|
116
|
-
return this._title;
|
|
117
|
-
}
|
|
118
|
-
set title(title) {
|
|
119
|
-
this._title = title;
|
|
120
|
-
this.modal.title = title;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Resets page completed states when navigating backwards.
|
|
124
|
-
* Set using `[clrWizardForceForwardNavigation]` input.
|
|
125
|
-
*/
|
|
126
|
-
get forceForward() {
|
|
127
|
-
return this._forceForward;
|
|
128
|
-
}
|
|
129
|
-
set forceForward(value) {
|
|
130
|
-
this._forceForward = !!value;
|
|
131
|
-
this.navService.forceForwardNavigation = value;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Toggles open/close of the wizard component.
|
|
135
|
-
* Set using the `[clrWizardOpen]` input.
|
|
136
|
-
*/
|
|
137
|
-
set clrWizardOpen(open) {
|
|
138
|
-
if (open) {
|
|
139
|
-
this.buttonService.buttonsReady = true;
|
|
140
|
-
}
|
|
141
|
-
this._open = open;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Prevents ClrWizard from moving to the next page or closing itself on finishing.
|
|
145
|
-
* Set using the `[clrWizardPreventDefaultNext]` input. Note that using stopNext
|
|
146
|
-
* will require you to create your own calls to .next() and .finish() in your
|
|
147
|
-
* host component to make the ClrWizard work as expected.
|
|
148
|
-
*/
|
|
149
|
-
get stopNext() {
|
|
150
|
-
return this._stopNext;
|
|
151
|
-
}
|
|
152
|
-
set stopNext(value) {
|
|
153
|
-
this._stopNext = !!value;
|
|
154
|
-
this.navService.wizardHasAltNext = value;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Prevents ClrWizard from closing when the cancel button or close "X" is clicked.
|
|
158
|
-
* Set using the `[clrWizardPreventDefaultCancel]` input.
|
|
159
|
-
*
|
|
160
|
-
* Note that using stopCancel will require you to create your own calls to `close()` in your host compone`nt
|
|
161
|
-
* to make the ClrWizard work as expected. Useful for doing checks or prompts
|
|
162
|
-
* before closing a ClrWizard.
|
|
163
|
-
*/
|
|
164
|
-
get stopCancel() {
|
|
165
|
-
return this._stopCancel;
|
|
166
|
-
}
|
|
167
|
-
set stopCancel(value) {
|
|
168
|
-
this._stopCancel = !!value;
|
|
169
|
-
this.navService.wizardHasAltCancel = value;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Prevents ClrWizard from performing any form of navigation away from the current
|
|
173
|
-
* page. Set using the `[clrWizardPreventNavigation]` input.
|
|
174
|
-
* Note that stopNavigation is meant to freeze the wizard in place, typically
|
|
175
|
-
* during a long validation or background action where you want the wizard to
|
|
176
|
-
* display loading content but not allow the user to execute navigation in
|
|
177
|
-
* the stepnav, close X, or the back, finish, or next buttons.
|
|
178
|
-
*/
|
|
179
|
-
get stopNavigation() {
|
|
180
|
-
return this._stopNavigation;
|
|
181
|
-
}
|
|
182
|
-
set stopNavigation(value) {
|
|
183
|
-
this._stopNavigation = !!value;
|
|
184
|
-
this.navService.wizardStopNavigation = value;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Prevents clicks on the links in the stepnav from working.
|
|
188
|
-
* Set using `[clrWizardDisableStepnav]` input.
|
|
189
|
-
* A more granular bypassing of navigation which can be useful when your
|
|
190
|
-
* ClrWizard is in a state of completion and you don't want users to be
|
|
191
|
-
* able to jump backwards and change things.
|
|
192
|
-
*/
|
|
193
|
-
get disableStepnav() {
|
|
194
|
-
return this._disableStepnav;
|
|
195
|
-
}
|
|
196
|
-
set disableStepnav(value) {
|
|
197
|
-
this._disableStepnav = !!value;
|
|
198
|
-
this.navService.wizardDisableStepnav = value;
|
|
199
|
-
}
|
|
200
|
-
get currentPage() {
|
|
201
|
-
return this.navService.currentPage;
|
|
202
|
-
}
|
|
203
|
-
set currentPage(page) {
|
|
204
|
-
this.navService.goTo(page, true);
|
|
205
|
-
}
|
|
206
|
-
get isLast() {
|
|
207
|
-
return this.navService.currentPageIsLast;
|
|
208
|
-
}
|
|
209
|
-
get isFirst() {
|
|
210
|
-
return this.navService.currentPageIsFirst;
|
|
211
|
-
}
|
|
212
|
-
get isInline() {
|
|
213
|
-
return this.elementRef.nativeElement.classList.contains('clr-wizard--inline');
|
|
214
|
-
}
|
|
215
|
-
get stopModalAnimations() {
|
|
216
|
-
return this._stopModalAnimations;
|
|
217
|
-
}
|
|
218
|
-
ngAfterContentInit() {
|
|
219
|
-
this.pageCollection.pages = this.pages;
|
|
220
|
-
this.headerActionService.wizardHeaderActions = this.headerActions;
|
|
221
|
-
if (this.inPage) {
|
|
222
|
-
this.open();
|
|
223
|
-
}
|
|
224
|
-
this.initializeButtons();
|
|
225
|
-
}
|
|
226
|
-
ngDoCheck() {
|
|
227
|
-
this.updateNavOnPageChanges();
|
|
228
|
-
}
|
|
229
|
-
ngOnDestroy() {
|
|
230
|
-
this.subscriptions.forEach(s => s.unsubscribe());
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Marks Wizard as finished. By default it does not execute event
|
|
234
|
-
* emissions or checks before completing and closing. This method is commonly
|
|
235
|
-
* used as part of an alternative navigation with `[clrWizardPreventDefaultNext]`.
|
|
236
|
-
*
|
|
237
|
-
* If `skipChecksAndEmits` is true, the wizard will complete and close
|
|
238
|
-
* regardless of the state of its current page. This is useful for alternative
|
|
239
|
-
* navigation where event emissions have already been done and firing them again
|
|
240
|
-
* may cause an event loop.
|
|
241
|
-
*/
|
|
242
|
-
finish(skipChecksAndEmits = true) {
|
|
243
|
-
if (skipChecksAndEmits) {
|
|
244
|
-
this.forceFinish();
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
this.navService.finish();
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Marks the wizard as finished but does run checks and emissions.
|
|
252
|
-
* Good for a last step in an alternate workflow. Does the same thing as
|
|
253
|
-
* calling `ClrWizard.finish(true)` or `ClrWizard.finish()` without a parameter.
|
|
254
|
-
*/
|
|
255
|
-
forceFinish() {
|
|
256
|
-
if (this.stopNavigation) {
|
|
257
|
-
return;
|
|
258
|
-
}
|
|
259
|
-
this.close();
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Opens the wizard. If there is no current page defined, sets the first page in the wizard to be current.
|
|
263
|
-
*/
|
|
264
|
-
open() {
|
|
265
|
-
this._open = true;
|
|
266
|
-
if (!this.currentPage) {
|
|
267
|
-
this.navService.setFirstPageCurrent();
|
|
268
|
-
}
|
|
269
|
-
// Only render buttons when wizard is opened, to avoid chocolate errors
|
|
270
|
-
this.buttonService.buttonsReady = true;
|
|
271
|
-
this._openChanged.emit(true);
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Closes the wizard. Call this directly instead of `cancel()` to implement alternative cancel functionality.
|
|
275
|
-
*/
|
|
276
|
-
close() {
|
|
277
|
-
if (this.stopNavigation) {
|
|
278
|
-
return;
|
|
279
|
-
}
|
|
280
|
-
this._open = false;
|
|
281
|
-
this._openChanged.emit(false);
|
|
282
|
-
}
|
|
283
|
-
/**
|
|
284
|
-
* Used to open and close the wizard. By default the wizard will
|
|
285
|
-
* close if invoked with no parameter. If parameter is true wizard will open
|
|
286
|
-
* else if false will close.
|
|
287
|
-
*/
|
|
288
|
-
toggle(open) {
|
|
289
|
-
if (open) {
|
|
290
|
-
this.open();
|
|
291
|
-
}
|
|
292
|
-
else {
|
|
293
|
-
this.close();
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* Moves the wizard to the previous page.
|
|
298
|
-
*/
|
|
299
|
-
previous() {
|
|
300
|
-
this.navService.previous();
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* By default, `next()` does not execute event emissions.
|
|
304
|
-
* This method is commonly called as part of an alternative navigation
|
|
305
|
-
* with `[clrWizardPreventDefaultNext]`. The wizard will move to the next page
|
|
306
|
-
* regardless of the state of its current page. This is useful for alternative
|
|
307
|
-
* navigation where event emissions have already been done and firing them again
|
|
308
|
-
* may cause an event loop.
|
|
309
|
-
*
|
|
310
|
-
* If `skipChecksAndEmits` is false, the wizard will execute default checks
|
|
311
|
-
* and emit events as normal. This is useful for custom buttons or programmatic
|
|
312
|
-
* workflows that are not executing the wizards default checks and emissions.
|
|
313
|
-
* It is another way to navigate without having to rewrite the wizard’s default
|
|
314
|
-
* functionality from scratch.
|
|
315
|
-
*/
|
|
316
|
-
next(skipChecksAndEmits = true) {
|
|
317
|
-
if (skipChecksAndEmits) {
|
|
318
|
-
this.forceNext();
|
|
319
|
-
}
|
|
320
|
-
else {
|
|
321
|
-
this.navService.next();
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
/**
|
|
325
|
-
* Moves the wizard to the next page without the checks and emissions.
|
|
326
|
-
* Good for a last step in an alternate workflow.
|
|
327
|
-
* Alias for `ClrWizard.next(true)` or `ClrWizard.next()`
|
|
328
|
-
*/
|
|
329
|
-
forceNext() {
|
|
330
|
-
this.navService.forceNext();
|
|
331
|
-
}
|
|
332
|
-
/**
|
|
333
|
-
* Cancels and closes the wizard. Do not use this for an override of the cancel
|
|
334
|
-
* the functionality with `[clrWizardPreventDefaultCancel]`, `[clrWizardPreventPageDefaultCancel]`,
|
|
335
|
-
* or `[clrWizardPagePreventDefault]` because it will initiate the same checks
|
|
336
|
-
* and event emissions that invoked your event handler. Use `ClrWizard.close()` instead.
|
|
337
|
-
*/
|
|
338
|
-
cancel() {
|
|
339
|
-
this.navService.cancel();
|
|
340
|
-
}
|
|
341
|
-
/**
|
|
342
|
-
* Overrides behavior of the underlying modal to avoid collisions with
|
|
343
|
-
* alternative cancel functionality. In most cases, use `ClrWizard.cancel()` instead.
|
|
344
|
-
*/
|
|
345
|
-
modalCancel() {
|
|
346
|
-
if (this.closable) {
|
|
347
|
-
this.checkAndCancel();
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
/**
|
|
351
|
-
* Checks for alternative cancel flows defined at the current page or
|
|
352
|
-
* wizard level. Performs a canceled if not. Emits events that initiate
|
|
353
|
-
* the alternative cancel outputs `(clrWizardPageOnCancel)` and `(clrWizardOnCancel)`.
|
|
354
|
-
*/
|
|
355
|
-
checkAndCancel() {
|
|
356
|
-
const currentPage = this.currentPage;
|
|
357
|
-
const currentPageHasOverrides = currentPage.stopCancel || currentPage.preventDefault;
|
|
358
|
-
if (this.stopNavigation) {
|
|
359
|
-
return;
|
|
360
|
-
}
|
|
361
|
-
currentPage.pageOnCancel.emit();
|
|
362
|
-
if (!currentPageHasOverrides) {
|
|
363
|
-
this.onCancel.emit();
|
|
364
|
-
}
|
|
365
|
-
if (!this.stopCancel && !currentPageHasOverrides) {
|
|
366
|
-
this.close();
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* Navigates to a given page in the Wizard. Navigation will invoke the wizard’s default
|
|
371
|
-
* checks and event emissions.
|
|
372
|
-
*
|
|
373
|
-
* The format of the expected ID parameter can be found in the return of the
|
|
374
|
-
* ClrWizardPage.id getter, usually prefixed with `clr-wizard-page-` and then either a
|
|
375
|
-
* numeric ID or the ID specified for the `ClrWizardPage` component’s `id` input.
|
|
376
|
-
*/
|
|
377
|
-
goTo(pageId) {
|
|
378
|
-
if (!pageId) {
|
|
379
|
-
return;
|
|
380
|
-
}
|
|
381
|
-
this.navService.goTo(pageId);
|
|
382
|
-
}
|
|
383
|
-
/**
|
|
384
|
-
* Reset sets all WizardPages to incomplete and sets the first page in the `ClrWizard` to
|
|
385
|
-
* be the current page, resetting the wizard navigation.
|
|
386
|
-
* Use `(clrWizardOnReset)` event to reset the data or model of your wizard.
|
|
387
|
-
*/
|
|
388
|
-
reset() {
|
|
389
|
-
this.pageCollection.reset();
|
|
390
|
-
this.onReset.emit();
|
|
391
|
-
}
|
|
392
|
-
listenForNextPageChanges() {
|
|
393
|
-
return this.navService.movedToNextPage.pipe(filter(() => isPlatformBrowser(this.platformId))).subscribe(() => {
|
|
394
|
-
this.onMoveNext.emit();
|
|
395
|
-
this.pageTitle?.nativeElement.focus();
|
|
396
|
-
});
|
|
397
|
-
}
|
|
398
|
-
listenForPreviousPageChanges() {
|
|
399
|
-
return this.navService.movedToPreviousPage.pipe(filter(() => isPlatformBrowser(this.platformId))).subscribe(() => {
|
|
400
|
-
this.onMovePrevious.emit();
|
|
401
|
-
this.pageTitle?.nativeElement.focus();
|
|
402
|
-
});
|
|
403
|
-
}
|
|
404
|
-
listenForCancelChanges() {
|
|
405
|
-
return this.navService.notifyWizardCancel.subscribe(() => this.checkAndCancel());
|
|
406
|
-
}
|
|
407
|
-
listenForFinishedChanges() {
|
|
408
|
-
return this.navService.wizardFinished.subscribe(() => this.emitWizardFinished());
|
|
409
|
-
}
|
|
410
|
-
listenForPageChanges() {
|
|
411
|
-
return this.navService.currentPageChanged.subscribe(() => {
|
|
412
|
-
// Added to address VPAT-749:
|
|
413
|
-
// When clicking on a wizard tab, focus should move to that
|
|
414
|
-
// tabs content to make the wizard more accessible.
|
|
415
|
-
this.pageTitle?.nativeElement.focus();
|
|
416
|
-
this.currentPageChanged.emit();
|
|
417
|
-
// scroll to top of page in case there is long page content
|
|
418
|
-
this.bodyElementRef?.nativeElement.scrollTo(0, 0);
|
|
419
|
-
});
|
|
420
|
-
}
|
|
421
|
-
updateNavOnPageChanges() {
|
|
422
|
-
const changes = this.differ.diff(this.pages);
|
|
423
|
-
if (changes) {
|
|
424
|
-
changes.forEachAddedItem(() => this.navService.updateNavigation());
|
|
425
|
-
changes.forEachRemovedItem(() => this.navService.updateNavigation());
|
|
426
|
-
}
|
|
427
|
-
}
|
|
428
|
-
initializeButtons() {
|
|
429
|
-
// Only trigger buttons ready if default is open (inlined)
|
|
430
|
-
if (this._open) {
|
|
431
|
-
this.buttonService.buttonsReady = true;
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
emitWizardFinished() {
|
|
435
|
-
if (!this.stopNext) {
|
|
436
|
-
this.forceFinish();
|
|
437
|
-
}
|
|
438
|
-
this.wizardFinished.emit();
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
ClrWizard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ClrWizard, deps: [{ token: PLATFORM_ID }, { token: i1.ClrCommonStringsService }, { token: i2.WizardNavigationService }, { token: i3.PageCollectionService }, { token: i4.ButtonHubService }, { token: i5.HeaderActionService }, { token: i0.ElementRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
|
|
442
|
-
ClrWizard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ClrWizard, selector: "clr-wizard", inputs: { stepnavAriaLabel: ["clrWizardStepnavAriaLabel", "stepnavAriaLabel"], size: ["clrWizardSize", "size"], inPage: ["clrWizardInPage", "inPage"], inPageFillContentArea: ["clrWizardInPageFillContentArea", "inPageFillContentArea"], closable: ["clrWizardClosable", "closable"], _stopModalAnimations: ["clrWizardPreventModalAnimation", "_stopModalAnimations"], forceForward: ["clrWizardForceForwardNavigation", "forceForward"], clrWizardOpen: "clrWizardOpen", stopNext: ["clrWizardPreventDefaultNext", "stopNext"], stopCancel: ["clrWizardPreventDefaultCancel", "stopCancel"], stopNavigation: ["clrWizardPreventNavigation", "stopNavigation"], disableStepnav: ["clrWizardDisableStepnav", "disableStepnav"] }, outputs: { _openChanged: "clrWizardOpenChange", onCancel: "clrWizardOnCancel", wizardFinished: "clrWizardOnFinish", onReset: "clrWizardOnReset", currentPageChanged: "clrWizardCurrentPageChanged", onMoveNext: "clrWizardOnNext", onMovePrevious: "clrWizardOnPrevious" }, host: { properties: { "class.clr-wizard": "true", "class.wizard-md": "size == 'md'", "class.wizard-lg": "size == 'lg'", "class.wizard-xl": "size == 'xl'", "class.wizard-in-page": "inPage", "class.wizard-in-page--fill-content-area": "inPage && inPageFillContentArea" } }, providers: [WizardNavigationService, PageCollectionService, ButtonHubService, HeaderActionService], queries: [{ propertyName: "wizardTitle", first: true, predicate: ClrWizardTitle, descendants: true }, { propertyName: "pages", predicate: ClrWizardPage, descendants: true }, { propertyName: "headerActions", predicate: ClrWizardHeaderAction }], viewQueries: [{ propertyName: "pageTitle", first: true, predicate: ["pageTitle"], descendants: true }, { propertyName: "bodyElementRef", first: true, predicate: ["body"], descendants: true }, { propertyName: "modal", first: true, predicate: ClrModal, descendants: true }, { propertyName: "title", first: true, predicate: ["title"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2025 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<ng-container *ngIf=\"inPage; then wizardTemplate; else wizardModalTemplate\"></ng-container>\n\n<ng-template #wizardModalTemplate>\n <clr-modal\n [clrModalOpen]=\"_open\"\n [clrModalSize]=\"size\"\n [clrModalClosable]=\"closable\"\n [clrModalStaticBackdrop]=\"true\"\n [clrModalSkipAnimation]=\"stopModalAnimations\"\n [clrModalOverrideScrollService]=\"isInline\"\n [clrModalPreventClose]=\"true\"\n (clrModalAlternateClose)=\"modalCancel()\"\n [clrModalLabelledById]=\"wizardId\"\n >\n <ng-template #clrInternalModalContentTemplate>\n <ng-container [ngTemplateOutlet]=\"wizardTemplate\"></ng-container>\n </ng-template>\n </clr-modal>\n</ng-template>\n\n<!-- This template is tightly coupled to the modal styles. -->\n<ng-template #wizardTemplate>\n <div class=\"modal-content-wrapper\">\n <div class=\"modal-nav clr-wizard-stepnav-wrapper\" role=\"region\">\n <div class=\"clr-wizard-title\" [id]=\"wizardId\" role=\"heading\" [attr.aria-level]=\"wizardTitle.headingLevel || 1\">\n <ng-content select=\"clr-wizard-title\"></ng-content>\n </div>\n <clr-wizard-stepnav [label]=\"stepnavAriaLabel\"></clr-wizard-stepnav>\n </div>\n\n <div class=\"modal-content\">\n <div class=\"modal-header--accessible\">\n <div class=\"modal-title-wrapper\" #title cdkFocusInitial tabindex=\"-1\">\n <div\n class=\"modal-title\"\n role=\"heading\"\n [attr.aria-level]=\"navService.currentPage?.pageTitle.headingLevel || 2\"\n >\n <span tabindex=\"-1\" #pageTitle class=\"modal-title-text\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPageTitle\"></ng-template>\n </span>\n </div>\n </div>\n <div class=\"modal-header-actions-wrapper\" *ngIf=\"headerActionService.displayHeaderActionsWrapper\">\n <div *ngIf=\"headerActionService.showWizardHeaderActions\">\n <ng-content select=\"clr-wizard-header-action\"></ng-content>\n </div>\n <div *ngIf=\"headerActionService.currentPageHasHeaderActions\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.headerActions\"></ng-template>\n </div>\n </div>\n <button\n *ngIf=\"closable && !inPage\"\n type=\"button\"\n class=\"close\"\n [attr.aria-label]=\"commonStrings.keys.close\"\n (click)=\"modalCancel()\"\n >\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n </div>\n <div #body class=\"modal-body-wrapper\">\n <div class=\"modal-body\">\n <main clr-wizard-pages-wrapper class=\"clr-wizard-content\">\n <ng-content></ng-content>\n </main>\n </div>\n </div>\n <div class=\"modal-footer clr-wizard-footer\">\n <div class=\"clr-wizard-footer-buttons\">\n <div\n *ngIf=\"navService.currentPage && !navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-content select=\"clr-wizard-button\"></ng-content>\n </div>\n <div\n *ngIf=\"navService.currentPage && navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.buttons\"></ng-template>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.ClrModal, selector: "clr-modal", inputs: ["clrModalOpen", "clrModalClosable", "clrModalCloseButtonAriaLabel", "clrModalSize", "clrModalStaticBackdrop", "clrModalSkipAnimation", "clrModalPreventClose", "clrModalLabelledById", "clrModalOverrideScrollService"], outputs: ["clrModalOpenChange", "clrModalAlternateClose"] }, { kind: "directive", type: i8.ClrModalBody, selector: ".modal-body" }, { kind: "directive", type: i9.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i10.ClrWizardStepnav, selector: "clr-wizard-stepnav", inputs: ["label"] }] });
|
|
443
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ClrWizard, decorators: [{
|
|
444
|
-
type: Component,
|
|
445
|
-
args: [{ selector: 'clr-wizard', providers: [WizardNavigationService, PageCollectionService, ButtonHubService, HeaderActionService], host: {
|
|
446
|
-
'[class.clr-wizard]': 'true',
|
|
447
|
-
'[class.wizard-md]': "size == 'md'",
|
|
448
|
-
'[class.wizard-lg]': "size == 'lg'",
|
|
449
|
-
'[class.wizard-xl]': "size == 'xl'",
|
|
450
|
-
'[class.wizard-in-page]': 'inPage',
|
|
451
|
-
'[class.wizard-in-page--fill-content-area]': 'inPage && inPageFillContentArea',
|
|
452
|
-
}, template: "<!--\n ~ Copyright (c) 2016-2025 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<ng-container *ngIf=\"inPage; then wizardTemplate; else wizardModalTemplate\"></ng-container>\n\n<ng-template #wizardModalTemplate>\n <clr-modal\n [clrModalOpen]=\"_open\"\n [clrModalSize]=\"size\"\n [clrModalClosable]=\"closable\"\n [clrModalStaticBackdrop]=\"true\"\n [clrModalSkipAnimation]=\"stopModalAnimations\"\n [clrModalOverrideScrollService]=\"isInline\"\n [clrModalPreventClose]=\"true\"\n (clrModalAlternateClose)=\"modalCancel()\"\n [clrModalLabelledById]=\"wizardId\"\n >\n <ng-template #clrInternalModalContentTemplate>\n <ng-container [ngTemplateOutlet]=\"wizardTemplate\"></ng-container>\n </ng-template>\n </clr-modal>\n</ng-template>\n\n<!-- This template is tightly coupled to the modal styles. -->\n<ng-template #wizardTemplate>\n <div class=\"modal-content-wrapper\">\n <div class=\"modal-nav clr-wizard-stepnav-wrapper\" role=\"region\">\n <div class=\"clr-wizard-title\" [id]=\"wizardId\" role=\"heading\" [attr.aria-level]=\"wizardTitle.headingLevel || 1\">\n <ng-content select=\"clr-wizard-title\"></ng-content>\n </div>\n <clr-wizard-stepnav [label]=\"stepnavAriaLabel\"></clr-wizard-stepnav>\n </div>\n\n <div class=\"modal-content\">\n <div class=\"modal-header--accessible\">\n <div class=\"modal-title-wrapper\" #title cdkFocusInitial tabindex=\"-1\">\n <div\n class=\"modal-title\"\n role=\"heading\"\n [attr.aria-level]=\"navService.currentPage?.pageTitle.headingLevel || 2\"\n >\n <span tabindex=\"-1\" #pageTitle class=\"modal-title-text\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPageTitle\"></ng-template>\n </span>\n </div>\n </div>\n <div class=\"modal-header-actions-wrapper\" *ngIf=\"headerActionService.displayHeaderActionsWrapper\">\n <div *ngIf=\"headerActionService.showWizardHeaderActions\">\n <ng-content select=\"clr-wizard-header-action\"></ng-content>\n </div>\n <div *ngIf=\"headerActionService.currentPageHasHeaderActions\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.headerActions\"></ng-template>\n </div>\n </div>\n <button\n *ngIf=\"closable && !inPage\"\n type=\"button\"\n class=\"close\"\n [attr.aria-label]=\"commonStrings.keys.close\"\n (click)=\"modalCancel()\"\n >\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n </div>\n <div #body class=\"modal-body-wrapper\">\n <div class=\"modal-body\">\n <main clr-wizard-pages-wrapper class=\"clr-wizard-content\">\n <ng-content></ng-content>\n </main>\n </div>\n </div>\n <div class=\"modal-footer clr-wizard-footer\">\n <div class=\"clr-wizard-footer-buttons\">\n <div\n *ngIf=\"navService.currentPage && !navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-content select=\"clr-wizard-button\"></ng-content>\n </div>\n <div\n *ngIf=\"navService.currentPage && navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.buttons\"></ng-template>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n" }]
|
|
453
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
454
|
-
type: Inject,
|
|
455
|
-
args: [PLATFORM_ID]
|
|
456
|
-
}] }, { type: i1.ClrCommonStringsService }, { type: i2.WizardNavigationService }, { type: i3.PageCollectionService }, { type: i4.ButtonHubService }, { type: i5.HeaderActionService }, { type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, propDecorators: { stepnavAriaLabel: [{
|
|
457
|
-
type: Input,
|
|
458
|
-
args: ['clrWizardStepnavAriaLabel']
|
|
459
|
-
}], size: [{
|
|
460
|
-
type: Input,
|
|
461
|
-
args: ['clrWizardSize']
|
|
462
|
-
}], inPage: [{
|
|
463
|
-
type: Input,
|
|
464
|
-
args: ['clrWizardInPage']
|
|
465
|
-
}], inPageFillContentArea: [{
|
|
466
|
-
type: Input,
|
|
467
|
-
args: ['clrWizardInPageFillContentArea']
|
|
468
|
-
}], closable: [{
|
|
469
|
-
type: Input,
|
|
470
|
-
args: ['clrWizardClosable']
|
|
471
|
-
}], _stopModalAnimations: [{
|
|
472
|
-
type: Input,
|
|
473
|
-
args: ['clrWizardPreventModalAnimation']
|
|
474
|
-
}], _openChanged: [{
|
|
475
|
-
type: Output,
|
|
476
|
-
args: ['clrWizardOpenChange']
|
|
477
|
-
}], onCancel: [{
|
|
478
|
-
type: Output,
|
|
479
|
-
args: ['clrWizardOnCancel']
|
|
480
|
-
}], wizardFinished: [{
|
|
481
|
-
type: Output,
|
|
482
|
-
args: ['clrWizardOnFinish']
|
|
483
|
-
}], onReset: [{
|
|
484
|
-
type: Output,
|
|
485
|
-
args: ['clrWizardOnReset']
|
|
486
|
-
}], currentPageChanged: [{
|
|
487
|
-
type: Output,
|
|
488
|
-
args: ['clrWizardCurrentPageChanged']
|
|
489
|
-
}], onMoveNext: [{
|
|
490
|
-
type: Output,
|
|
491
|
-
args: ['clrWizardOnNext']
|
|
492
|
-
}], onMovePrevious: [{
|
|
493
|
-
type: Output,
|
|
494
|
-
args: ['clrWizardOnPrevious']
|
|
495
|
-
}], pageTitle: [{
|
|
496
|
-
type: ViewChild,
|
|
497
|
-
args: ['pageTitle']
|
|
498
|
-
}], pages: [{
|
|
499
|
-
type: ContentChildren,
|
|
500
|
-
args: [ClrWizardPage, { descendants: true }]
|
|
501
|
-
}], headerActions: [{
|
|
502
|
-
type: ContentChildren,
|
|
503
|
-
args: [ClrWizardHeaderAction]
|
|
504
|
-
}], wizardTitle: [{
|
|
505
|
-
type: ContentChild,
|
|
506
|
-
args: [ClrWizardTitle]
|
|
507
|
-
}], bodyElementRef: [{
|
|
508
|
-
type: ViewChild,
|
|
509
|
-
args: ['body']
|
|
510
|
-
}], modal: [{
|
|
511
|
-
type: ViewChild,
|
|
512
|
-
args: [ClrModal]
|
|
513
|
-
}], title: [{
|
|
514
|
-
type: ViewChild,
|
|
515
|
-
args: ['title']
|
|
516
|
-
}], forceForward: [{
|
|
517
|
-
type: Input,
|
|
518
|
-
args: ['clrWizardForceForwardNavigation']
|
|
519
|
-
}], clrWizardOpen: [{
|
|
520
|
-
type: Input,
|
|
521
|
-
args: ['clrWizardOpen']
|
|
522
|
-
}], stopNext: [{
|
|
523
|
-
type: Input,
|
|
524
|
-
args: ['clrWizardPreventDefaultNext']
|
|
525
|
-
}], stopCancel: [{
|
|
526
|
-
type: Input,
|
|
527
|
-
args: ['clrWizardPreventDefaultCancel']
|
|
528
|
-
}], stopNavigation: [{
|
|
529
|
-
type: Input,
|
|
530
|
-
args: ['clrWizardPreventNavigation']
|
|
531
|
-
}], disableStepnav: [{
|
|
532
|
-
type: Input,
|
|
533
|
-
args: ['clrWizardDisableStepnav']
|
|
534
|
-
}] } });
|
|
535
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvd2l6YXJkL3dpemFyZC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3dpemFyZC93aXphcmQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFHZixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sV0FBVyxFQUVYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBZWhELE1BQU0sT0FBTyxTQUFTO0lBb0dwQixZQUMrQixVQUFlLEVBQ3JDLGFBQXNDLEVBQ3RDLFVBQW1DLEVBQ25DLGNBQXFDLEVBQ3JDLGFB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LDZCQUE2QjtnQkFPVixVQUFVO3NCQUFwQyxNQUFNO3VCQUFDLGlCQUFpQjtnQkFNTSxjQUFjO3NCQUE1QyxNQUFNO3VCQUFDLHFCQUFxQjtnQkFFTCxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ2lDLEtBQUs7c0JBQTNELGVBQWU7dUJBQUMsYUFBYSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFDYixhQUFhO3NCQUFwRCxlQUFlO3VCQUFDLHFCQUFxQjtnQkFLRSxXQUFXO3NCQUFsRCxZQUFZO3VCQUFDLGNBQWM7Z0JBQ1EsY0FBYztzQkFBakQsU0FBUzt1QkFBQyxNQUFNO2dCQVdxQixLQUFLO3NCQUExQyxTQUFTO3VCQUFDLFFBQVE7Z0JBd0JmLEtBQUs7c0JBRFIsU0FBUzt1QkFBQyxPQUFPO2dCQWVkLFlBQVk7c0JBRGYsS0FBSzt1QkFBQyxpQ0FBaUM7Z0JBY3BDLGFBQWE7c0JBRGhCLEtBQUs7dUJBQUMsZUFBZTtnQkFlbEIsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLDZCQUE2QjtnQkFrQmhDLFVBQVU7c0JBRGIsS0FBSzt1QkFBQywrQkFBK0I7Z0JBa0JsQyxjQUFjO3NCQURqQixLQUFLO3VCQUFDLDRCQUE0QjtnQkFpQi9CLGNBQWM7c0JBRGpCLEtBQUs7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIEl0ZXJhYmxlRGlmZmVycyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ2xyTW9kYWwgfSBmcm9tICcuLi9tb2RhbC9tb2RhbCc7XG5pbXBvcnQgeyBDbHJDb21tb25TdHJpbmdzU2VydmljZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHVuaXF1ZUlkRmFjdG9yeSB9IGZyb20gJy4uL3V0aWxzL2lkLWdlbmVyYXRvci9pZC1nZW5lcmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBCdXR0b25IdWJTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvYnV0dG9uLWh1Yi5zZXJ2aWNlJztcbmltcG9ydCB7IEhlYWRlckFjdGlvblNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9oZWFkZXItYWN0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFBhZ2VDb2xsZWN0aW9uU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL3BhZ2UtY29sbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFdpemFyZE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvd2l6YXJkLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDbHJXaXphcmRIZWFkZXJBY3Rpb24gfSBmcm9tICcuL3dpemFyZC1oZWFkZXItYWN0aW9uJztcbmltcG9ydCB7IENscldpemFyZFBhZ2UgfSBmcm9tICcuL3dpemFyZC1wYWdlJztcbmltcG9ydCB7IENscldpemFyZFRpdGxlIH0gZnJvbSAnLi93aXphcmQtdGl0bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItd2l6YXJkJyxcbiAgcHJvdmlkZXJzOiBbV2l6YXJkTmF2aWdhdGlvblNlcnZpY2UsIFBhZ2VDb2xsZWN0aW9uU2VydmljZSwgQnV0dG9uSHViU2VydmljZSwgSGVhZGVyQWN0aW9uU2VydmljZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi93aXphcmQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmNsci13aXphcmRdJzogJ3RydWUnLFxuICAgICdbY2xhc3Mud2l6YXJkLW1kXSc6IFwic2l6ZSA9PSAnbWQnXCIsXG4gICAgJ1tjbGFzcy53aXphcmQtbGddJzogXCJzaXplID09ICdsZydcIixcbiAgICAnW2NsYXNzLndpemFyZC14bF0nOiBcInNpemUgPT0gJ3hsJ1wiLFxuICAgICdbY2xhc3Mud2l6YXJkLWluLXBhZ2VdJzogJ2luUGFnZScsXG4gICAgJ1tjbGFzcy53aXphcmQtaW4tcGFnZS0tZmlsbC1jb250ZW50LWFyZWFdJzogJ2luUGFnZSAmJiBpblBhZ2VGaWxsQ29udGVudEFyZWEnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDbHJXaXphcmQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQsIERvQ2hlY2sge1xuICAvKipcbiAgICogU2V0IHRoZSBhcmlhLWxhYmVsIGZvciB0aGUgc3RlcG5hdiBzZWN0aW9uIG9mIHRoZSB3aXphcmQuIFNldCB1c2luZyBgW2NscldpemFyZFN0ZXBuYXZBcmlhTGFiZWxdYCBpbnB1dC5cbiAgICovXG4gIEBJbnB1dCgnY2xyV2l6YXJkU3RlcG5hdkFyaWFMYWJlbCcpIHN0ZXBuYXZBcmlhTGFiZWwgPSB0aGlzLmNvbW1vblN0cmluZ3Mua2V5cy53aXphcmRTdGVwbmF2QXJpYUxhYmVsO1xuXG4gIC8qKlxuICAgKiBTZXQgdGhlIG1vZGFsIHNpemUgb2YgdGhlIHdpemFyZC4gU2V0IHVzaW5nIGBbY2xyV2l6YXJkU2l6ZV1gIGlucHV0LlxuICAgKi9cbiAgQElucHV0KCdjbHJXaXphcmRTaXplJykgc2l6ZSA9ICd4bCc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBcImluIHBhZ2VcIiB3aXphcmQuIFNldCB1c2luZyBgW2NscldpemFyZEluUGFnZV1gIGlucHV0LlxuICAgKi9cbiAgQElucHV0KCdjbHJXaXphcmRJblBhZ2UnKSBpblBhZ2UgPSBmYWxzZTtcblxuICAvKipcbiAgICogTWFrZSBhbiBcImluIHBhZ2VcIiB3aXphcmQgZmlsbCB0aGUgYC5jb250ZW50LWFyZWFgLiBTZXQgdXNpbmcgYFtjbHJXaXphcmRJblBhZ2VGaWxsQ29udGVudEFyZWFdYCBpbnB1dC5cbiAgICogSWYgeW91IGNhbid0IHVzZSB0aGlzIG9wdGlvbiwgeW91IHdpbGwgbGlrZWx5IG5lZWQgdG8gcHJvdmlkZSBjdXN0b20gQ1NTIHRvIHNldCB0aGUgd2l6YXJkJ3MgaGVpZ2h0IGFuZCBtYXJnaW5zLlxuICAgKi9cbiAgQElucHV0KCdjbHJXaXphcmRJblBhZ2VGaWxsQ29udGVudEFyZWEnKSBpblBhZ2VGaWxsQ29udGVudEFyZWEgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGVsbHMgdGhlIG1vZGFsIHBhcnQgb2YgdGhlIHdpemFyZCB3aGV0aGVyIGl0IHNob3VsZCBoYXZlIGEgY2xvc2UgXCJYXCJcbiAgICogaW4gdGhlIHRvcCByaWdodCBjb3JuZXIuIFNldCB1c2luZyBgW2NscldpemFyZENsb3NhYmxlXWAgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoJ2NscldpemFyZENsb3NhYmxlJykgY2xvc2FibGUgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGNvbW11bmljYXRlIHRvIHRoZSB1bmRlcmx5aW5nIG1vZGFsIHRoYXQgYW5pbWF0aW9ucyBhcmUgbm90XG4gICAqIHdhbnRlZC4gUHJpbWFyeSB1c2UgaXMgZm9yIHRoZSBkaXNwbGF5IG9mIHN0YXRpYy9pbmxpbmUgd2l6YXJkcy5cbiAgICogU2V0IHVzaW5nIGBbY2xyV2l6YXJkUHJldmVudE1vZGFsQW5pbWF0aW9uXWAgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoJ2NscldpemFyZFByZXZlbnRNb2RhbEFuaW1hdGlvbicpIF9zdG9wTW9kYWxBbmltYXRpb25zID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIHdpemFyZCBpcyBvcGVuZWQgb3IgY2xvc2VkLlxuICAgKiBMaXN0ZW4gdmlhIGAoY2xyV2l6YXJkT3BlbkNoYW5nZSlgIGV2ZW50LlxuICAgKi9cbiAgQE91dHB1dCgnY2xyV2l6YXJkT3BlbkNoYW5nZScpIF9vcGVuQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSB3aXphcmQgaXMgY2FuY2VsZWQuIExpc3RlbiB2aWEgYChjbHJXaXphcmRPbkNhbmNlbClgIGV2ZW50LlxuICAgKiBDYW4gYmUgY29tYmluZWQgd2l0aCB0aGUgYFtjbHJXaXphcmRQcmV2ZW50RGVmYXVsdENhbmNlbF1gIGlucHV0IHRvIGNyZWF0ZVxuICAgKiB3aXphcmQtbGV2ZWwgY3VzdG9tIGNhbmNlbCByb3V0aW5lcy5cbiAgICovXG4gIEBPdXRwdXQoJ2NscldpemFyZE9uQ2FuY2VsJykgb25DYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSB3aXphcmQgaXMgY29tcGxldGVkLiBMaXN0ZW4gdmlhIGAoY2xyV2l6YXJkT25GaW5pc2gpYCBldmVudC5cbiAgICogQ2FuIGJlIGNvbWJpbmVkIHdpdGggdGhlIGBbY2xyV2l6YXJkUHJldmVudERlZmF1bHROZXh0XWAgaW5wdXQgdG8gY3JlYXRlXG4gICAqIHdpemFyZC1sZXZlbCBjdXN0b20gY29tcGxldGlvbiByb3V0aW5lcy5cbiAgICovXG4gIEBPdXRwdXQoJ2NscldpemFyZE9uRmluaXNoJykgd2l6YXJkRmluaXNoZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSB3aXphcmQgaXMgcmVzZXQuIExpc3RlbiB2aWEgYChjbHJXaXphcmRPblJlc2V0KWAgZXZlbnQuXG4gICAqL1xuICBAT3V0cHV0KCdjbHJXaXphcmRPblJlc2V0Jykgb25SZXNldCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PihmYWxzZSk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGN1cnJlbnQgcGFnZSBoYXMgY2hhbmdlZC4gTGlzdGVuIHZpYSBgKGNscldpemFyZEN1cnJlbnRQYWdlQ2hhbmdlZClgIGV2ZW50LlxuICAgKiBvdXRwdXQuIFVzZWZ1bCBmb3Igbm9uLWJsb2NraW5nIHZhbGlkYXRpb24uXG4gICAqL1xuICBAT3V0cHV0KCdjbHJXaXphcmRDdXJyZW50UGFnZUNoYW5nZWQnKSBjdXJyZW50UGFnZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSB3aXphcmQgbW92ZXMgdG8gdGhlIG5leHQgcGFnZS4gTGlzdGVuIHZpYSBgKGNscldpemFyZE9uTmV4dClgIGV2ZW50LlxuICAgKiBDYW4gYmUgY29tYmluZWQgd2l0aCB0aGUgYFtjbHJXaXphcmRQcmV2ZW50RGVmYXVsdE5leHRdYCBpbnB1dCB0byBjcmVhdGVcbiAgICogd2l6YXJkLWxldmVsIGN1c3RvbSBuYXZpZ2F0aW9uIHJvdXRpbmVzLCB3aGljaCBhcmUgdXNlZnVsIGZvciB2YWxpZGF0aW9uLlxuICAgKi9cbiAgQE91dHB1dCgnY2xyV2l6YXJkT25OZXh0Jykgb25Nb3ZlTmV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PihmYWxzZSk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIHdpemFyZCBtb3ZlcyB0byB0aGUgcHJldmlvdXMgcGFnZS4gQ2FuIGJlIHVzZWZ1bCBmb3IgdmFsaWRhdGlvbi5cbiAgICogTGlzdGVuIHZpYSBgKGNscldpemFyZE9uUHJldmlvdXMpYCBldmVudC5cbiAgICovXG4gIEBPdXRwdXQoJ2NscldpemFyZE9uUHJldmlvdXMnKSBvbk1vdmVQcmV2aW91cyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PihmYWxzZSk7XG5cbiAgQFZpZXdDaGlsZCgncGFnZVRpdGxlJykgcGFnZVRpdGxlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihDbHJXaXphcmRQYWdlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHBhZ2VzOiBRdWVyeUxpc3Q8Q2xyV2l6YXJkUGFnZT47XG4gIEBDb250ZW50Q2hpbGRyZW4oQ2xyV2l6YXJkSGVhZGVyQWN0aW9uKSBoZWFkZXJBY3Rpb25zOiBRdWVyeUxpc3Q8Q2xyV2l6YXJkSGVhZGVyQWN0aW9uPjtcblxuICBfb3BlbiA9IGZhbHNlO1xuICB3aXphcmRJZCA9IHVuaXF1ZUlkRmFjdG9yeSgpO1xuXG4gIEBDb250ZW50Q2hpbGQoQ2xyV2l6YXJkVGl0bGUpIHByb3RlY3RlZCB3aXphcmRUaXRsZTogQ2xyV2l6YXJkVGl0bGU7XG4gIEBWaWV3Q2hpbGQoJ2JvZHknKSBwcml2YXRlIHJlYWRvbmx5IGJvZHlFbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwcml2YXRlIF90aXRsZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIHByaXZhdGUgX2ZvcmNlRm9yd2FyZCA9IGZhbHNlO1xuICBwcml2YXRlIF9zdG9wTmV4dCA9IGZhbHNlO1xuICBwcml2YXRlIF9zdG9wQ2FuY2VsID0gZmFsc2U7XG4gIHByaXZhdGUgX3N0b3BOYXZpZ2F0aW9uID0gZmFsc2U7XG4gIHByaXZhdGUgX2Rpc2FibGVTdGVwbmF2ID0gZmFsc2U7XG4gIHByaXZhdGUgZGlmZmVyOiBhbnk7IC8vIGZvciBtYXJraW5nIHdoZW4gdGhlIGNvbGxlY3Rpb24gb2Ygd2l6YXJkIHBhZ2VzIGhhcyBiZWVuIGFkZGVkIHRvIG9yIGRlbGV0ZWQgZnJvbVxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgQFZpZXdDaGlsZChDbHJNb2RhbCkgcHJpdmF0ZSByZWFkb25seSBtb2RhbDogQ2xyTW9kYWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksXG4gICAgcHVibGljIGNvbW1vblN0cmluZ3M6IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlLFxuICAgIHB1YmxpYyBuYXZTZXJ2aWNlOiBXaXphcmROYXZpZ2F0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgcGFnZUNvbGxlY3Rpb246IFBhZ2VDb2xsZWN0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgYnV0dG9uU2VydmljZTogQnV0dG9uSHViU2VydmljZSxcbiAgICBwdWJsaWMgaGVhZGVyQWN0aW9uU2VydmljZTogSGVhZGVyQWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIGRpZmZlcnM6IEl0ZXJhYmxlRGlmZmVyc1xuICApIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMubGlzdGVuRm9yTmV4dFBhZ2VDaGFuZ2VzKCksXG4gICAgICB0aGlzLmxpc3RlbkZvclByZXZpb3VzUGFnZUNoYW5nZXMoKSxcbiAgICAgIHRoaXMubGlzdGVuRm9yQ2FuY2VsQ2hhbmdlcygpLFxuICAgICAgdGhpcy5saXN0ZW5Gb3JGaW5pc2hlZENoYW5nZXMoKSxcbiAgICAgIHRoaXMubGlzdGVuRm9yUGFnZUNoYW5nZXMoKVxuICAgICk7XG5cbiAgICB0aGlzLmRpZmZlciA9IGRpZmZlcnMuZmluZChbXSkuY3JlYXRlKG51bGwpO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgndGl0bGUnKVxuICBnZXQgdGl0bGUoKTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4ge1xuICAgIHJldHVybiB0aGlzLl90aXRsZTtcbiAgfVxuICBzZXQgdGl0bGUodGl0bGU6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgdGhpcy5fdGl0bGUgPSB0aXRsZTtcblxuICAgIHRoaXMubW9kYWwudGl0bGUgPSB0aXRsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgcGFnZSBjb21wbGV0ZWQgc3RhdGVzIHdoZW4gbmF2aWdhdGluZyBiYWNrd2FyZHMuXG4gICAqIFNldCB1c2luZyBgW2NscldpemFyZEZvcmNlRm9yd2FyZE5hdmlnYXRpb25dYCBpbnB1dC5cbiAgICovXG4gIEBJbnB1dCgnY2xyV2l6YXJkRm9yY2VGb3J3YXJkTmF2aWdhdGlvbicpXG4gIGdldCBmb3JjZUZvcndhcmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvcmNlRm9yd2FyZDtcbiAgfVxuICBzZXQgZm9yY2VGb3J3YXJkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZm9yY2VGb3J3YXJkID0gISF2YWx1ZTtcbiAgICB0aGlzLm5hdlNlcnZpY2UuZm9yY2VGb3J3YXJkTmF2aWdhdGlvbiA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgb3Blbi9jbG9zZSBvZiB0aGUgd2l6YXJkIGNvbXBvbmVudC5cbiAgICogU2V0IHVzaW5nIHRoZSBgW2NscldpemFyZE9wZW5dYCBpbnB1dC5cbiAgICovXG4gIEBJbnB1dCgnY2xyV2l6YXJkT3BlbicpXG4gIHNldCBjbHJXaXphcmRPcGVuKG9wZW46IGJvb2xlYW4pIHtcbiAgICBpZiAob3Blbikge1xuICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLmJ1dHRvbnNSZWFkeSA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuX29wZW4gPSBvcGVuO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnRzIENscldpemFyZCBmcm9tIG1vdmluZyB0byB0aGUgbmV4dCBwYWdlIG9yIGNsb3NpbmcgaXRzZWxmIG9uIGZpbmlzaGluZy5cbiAgICogU2V0IHVzaW5nIHRoZSBgW2NscldpemFyZFByZXZlbnREZWZhdWx0TmV4dF1gIGlucHV0LiBOb3RlIHRoYXQgdXNpbmcgc3RvcE5leHRcbiAgICogd2lsbCByZXF1aXJlIHlvdSB0byBjcmVhdGUgeW91ciBvd24gY2FsbHMgdG8gLm5leHQoKSBhbmQgLmZpbmlzaCgpIGluIHlvdXJcbiAgICogaG9zdCBjb21wb25lbnQgdG8gbWFrZSB0aGUgQ2xyV2l6YXJkIHdvcmsgYXMgZXhwZWN0ZWQuXG4gICAqL1xuICBASW5wdXQoJ2NscldpemFyZFByZXZlbnREZWZhdWx0TmV4dCcpXG4gIGdldCBzdG9wTmV4dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcE5leHQ7XG4gIH1cbiAgc2V0IHN0b3BOZXh0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc3RvcE5leHQgPSAhIXZhbHVlO1xuICAgIHRoaXMubmF2U2VydmljZS53aXphcmRIYXNBbHROZXh0ID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudHMgQ2xyV2l6YXJkIGZyb20gY2xvc2luZyB3aGVuIHRoZSBjYW5jZWwgYnV0dG9uIG9yIGNsb3NlIFwiWFwiIGlzIGNsaWNrZWQuXG4gICAqIFNldCB1c2luZyB0aGUgYFtjbHJXaXphcmRQcmV2ZW50RGVmYXVsdENhbmNlbF1gIGlucHV0LlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdXNpbmcgc3RvcENhbmNlbCB3aWxsIHJlcXVpcmUgeW91IHRvIGNyZWF0ZSB5b3VyIG93biBjYWxscyB0byBgY2xvc2UoKWAgaW4geW91ciBob3N0IGNvbXBvbmVgbnRcbiAgICogdG8gbWFrZSB0aGUgQ2xyV2l6YXJkIHdvcmsgYXMgZXhwZWN0ZWQuIFVzZWZ1bCBmb3IgZG9pbmcgY2hlY2tzIG9yIHByb21wdHNcbiAgICogYmVmb3JlIGNsb3NpbmcgYSBDbHJXaXphcmQuXG4gICAqL1xuICBASW5wdXQoJ2NscldpemFyZFByZXZlbnREZWZhdWx0Q2FuY2VsJylcbiAgZ2V0IHN0b3BDYW5jZWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3BDYW5jZWw7XG4gIH1cbiAgc2V0IHN0b3BDYW5jZWwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zdG9wQ2FuY2VsID0gISF2YWx1ZTtcbiAgICB0aGlzLm5hdlNlcnZpY2Uud2l6YXJkSGFzQWx0Q2FuY2VsID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudHMgQ2xyV2l6YXJkIGZyb20gcGVyZm9ybWluZyBhbnkgZm9ybSBvZiBuYXZpZ2F0aW9uIGF3YXkgZnJvbSB0aGUgY3VycmVudFxuICAgKiBwYWdlLiBTZXQgdXNpbmcgdGhlIGBbY2xyV2l6YXJkUHJldmVudE5hdmlnYXRpb25dYCBpbnB1dC5cbiAgICogTm90ZSB0aGF0IHN0b3BOYXZpZ2F0aW9uIGlzIG1lYW50IHRvIGZyZWV6ZSB0aGUgd2l6YXJkIGluIHBsYWNlLCB0eXBpY2FsbHlcbiAgICogZHVyaW5nIGEgbG9uZyB2YWxpZGF0aW9uIG9yIGJhY2tncm91bmQgYWN0aW9uIHdoZXJlIHlvdSB3YW50IHRoZSB3aXphcmQgdG9cbiAgICogZGlzcGxheSBsb2FkaW5nIGNvbnRlbnQgYnV0IG5vdCBhbGxvdyB0aGUgdXNlciB0byBleGVjdXRlIG5hdmlnYXRpb24gaW5cbiAgICogdGhlIHN0ZXBuYXYsIGNsb3NlIFgsIG9yIHRoZSAgYmFjaywgZmluaXNoLCBvciBuZXh0IGJ1dHRvbnMuXG4gICAqL1xuICBASW5wdXQoJ2NscldpemFyZFByZXZlbnROYXZpZ2F0aW9uJylcbiAgZ2V0IHN0b3BOYXZpZ2F0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zdG9wTmF2aWdhdGlvbjtcbiAgfVxuICBzZXQgc3RvcE5hdmlnYXRpb24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zdG9wTmF2aWdhdGlvbiA9ICEhdmFsdWU7XG4gICAgdGhpcy5uYXZTZXJ2aWNlLndpemFyZFN0b3BOYXZpZ2F0aW9uID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudHMgY2xpY2tzIG9uIHRoZSBsaW5rcyBpbiB0aGUgc3RlcG5hdiBmcm9tIHdvcmtpbmcuXG4gICAqIFNldCB1c2luZyBgW2NscldpemFyZERpc2FibGVTdGVwbmF2XWAgaW5wdXQuXG4gICAqIEEgbW9yZSBncmFudWxhciBieXBhc3Npbmcgb2YgbmF2aWdhdGlvbiB3aGljaCBjYW4gYmUgdXNlZnVsIHdoZW4geW91clxuICAgKiBDbHJXaXphcmQgaXMgaW4gYSBzdGF0ZSBvZiBjb21wbGV0aW9uIGFuZCB5b3UgZG9uJ3Qgd2FudCB1c2VycyB0byBiZVxuICAgKiBhYmxlIHRvIGp1bXAgYmFja3dhcmRzIGFuZCBjaGFuZ2UgdGhpbmdzLlxuICAgKi9cbiAgQElucHV0KCdjbHJXaXphcmREaXNhYmxlU3RlcG5hdicpXG4gIGdldCBkaXNhYmxlU3RlcG5hdigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZVN0ZXBuYXY7XG4gIH1cbiAgc2V0IGRpc2FibGVTdGVwbmF2KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZVN0ZXBuYXYgPSAhIXZhbHVlO1xuICAgIHRoaXMubmF2U2VydmljZS53aXphcmREaXNhYmxlU3RlcG5hdiA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRQYWdlKCk6IENscldpemFyZFBhZ2Uge1xuICAgIHJldHVybiB0aGlzLm5hdlNlcnZpY2UuY3VycmVudFBhZ2U7XG4gIH1cbiAgc2V0IGN1cnJlbnRQYWdlKHBhZ2U6IENscldpemFyZFBhZ2UpIHtcbiAgICB0aGlzLm5hdlNlcnZpY2UuZ29UbyhwYWdlLCB0cnVlKTtcbiAgfVxuXG4gIGdldCBpc0xhc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubmF2U2VydmljZS5jdXJyZW50UGFnZUlzTGFzdDtcbiAgfVxuXG4gIGdldCBpc0ZpcnN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5hdlNlcnZpY2UuY3VycmVudFBhZ2VJc0ZpcnN0O1xuICB9XG5cbiAgZ2V0IGlzSW5saW5lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2Nsci13aXphcmQtLWlubGluZScpO1xuICB9XG5cbiAgZ2V0IHN0b3BNb2RhbEFuaW1hdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3BNb2RhbEFuaW1hdGlvbnM7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlQ29sbGVjdGlvbi5wYWdlcyA9IHRoaXMucGFnZXM7XG4gICAgdGhpcy5oZWFkZXJBY3Rpb25TZXJ2aWNlLndpemFyZEhlYWRlckFjdGlvbnMgPSB0aGlzLmhlYWRlckFjdGlvbnM7XG5cbiAgICBpZiAodGhpcy5pblBhZ2UpIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdGlhbGl6ZUJ1dHRvbnMoKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZU5hdk9uUGFnZUNoYW5nZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXJrcyBXaXphcmQgYXMgZmluaXNoZWQuIEJ5IGRlZmF1bHQgaXQgZG9lcyBub3QgZXhlY3V0ZSBldmVudFxuICAgKiBlbWlzc2lvbnMgb3IgY2hlY2tzIGJlZm9yZSBjb21wbGV0aW5nIGFuZCBjbG9zaW5nLiBUaGlzIG1ldGhvZCBpcyBjb21tb25seVxuICAgKiB1c2VkIGFzIHBhcnQgb2YgYW4gYWx0ZXJuYXRpdmUgbmF2aWdhdGlvbiB3aXRoIGBbY2xyV2l6YXJkUHJldmVudERlZmF1bHROZXh0XWAuXG4gICAqXG4gICAqIElmIGBza2lwQ2hlY2tzQW5kRW1pdHNgIGlzIHRydWUsIHRoZSB3aXphcmQgd2lsbCBjb21wbGV0ZSBhbmQgY2xvc2VcbiAgICogcmVnYXJkbGVzcyBvZiB0aGUgc3RhdGUgb2YgaXRzIGN1cnJlbnQgcGFnZS4gVGhpcyBpcyB1c2VmdWwgZm9yIGFsdGVybmF0aXZlXG4gICAqIG5hdmlnYXRpb24gd2hlcmUgZXZlbnQgZW1pc3Npb25zIGhhdmUgYWxyZWFkeSBiZWVuIGRvbmUgYW5kIGZpcmluZyB0aGVtIGFnYWluXG4gICAqIG1heSBjYXVzZSBhbiBldmVudCBsb29wLlxuICAgKi9cbiAgZmluaXNoKHNraXBDaGVja3NBbmRFbWl0cyA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoc2tpcENoZWNrc0FuZEVtaXRzKSB7XG4gICAgICB0aGlzLmZvcmNlRmluaXNoKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmF2U2VydmljZS5maW5pc2goKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWFya3MgdGhlIHdpemFyZCBhcyBmaW5pc2hlZCBidXQgZG9lcyBydW4gY2hlY2tzIGFuZCBlbWlzc2lvbnMuXG4gICAqIEdvb2QgZm9yIGEgbGFzdCBzdGVwIGluIGFuIGFsdGVybmF0ZSB3b3JrZmxvdy4gRG9lcyB0aGUgc2FtZSB0aGluZyBhc1xuICAgKiBjYWxsaW5nIGBDbHJXaXphcmQuZmluaXNoKHRydWUpYCBvciBgQ2xyV2l6YXJkLmZpbmlzaCgpYCB3aXRob3V0IGEgcGFyYW1ldGVyLlxuICAgKi9cbiAgZm9yY2VGaW5pc2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcE5hdmlnYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIHdpemFyZC4gSWYgdGhlcmUgaXMgbm8gY3VycmVudCBwYWdlIGRlZmluZWQsIHNldHMgdGhlIGZpcnN0IHBhZ2UgaW4gdGhlIHdpemFyZCB0byBiZSBjdXJyZW50LlxuICAgKi9cbiAgb3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9vcGVuID0gdHJ1ZTtcblxuICAgIGlmICghdGhpcy5jdXJyZW50UGFnZSkge1xuICAgICAgdGhpcy5uYXZTZXJ2aWNlLnNldEZpcnN0UGFnZUN1cnJlbnQoKTtcbiAgICB9XG5cbiAgICAvLyBPbmx5IHJlbmRlciBidXR0b25zIHdoZW4gd2l6YXJkIGlzIG9wZW5lZCwgdG8gYXZvaWQgY2hvY29sYXRlIGVycm9yc1xuICAgIHRoaXMuYnV0dG9uU2VydmljZS5idXR0b25zUmVhZHkgPSB0cnVlO1xuXG4gICAgdGhpcy5fb3BlbkNoYW5nZWQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIHdpemFyZC4gQ2FsbCB0aGlzIGRpcmVjdGx5IGluc3RlYWQgb2YgYGNhbmNlbCgpYCB0byBpbXBsZW1lbnQgYWx0ZXJuYXRpdmUgY2FuY2VsIGZ1bmN0aW9uYWxpdHkuXG4gICAqL1xuICBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9wTmF2aWdhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX29wZW4gPSBmYWxzZTtcbiAgICB0aGlzLl9vcGVuQ2hhbmdlZC5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIG9wZW4gYW5kIGNsb3NlIHRoZSB3aXphcmQuIEJ5IGRlZmF1bHQgdGhlIHdpemFyZCB3aWxsXG4gICAqIGNsb3NlIGlmIGludm9rZWQgd2l0aCBubyBwYXJhbWV0ZXIuIElmIHBhcmFtZXRlciBpcyB0cnVlIHdpemFyZCB3aWxsIG9wZW5cbiAgICogZWxzZSBpZiBmYWxzZSB3aWxsIGNsb3NlLlxuICAgKi9cbiAgdG9nZ2xlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAob3Blbikge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIHdpemFyZCB0byB0aGUgcHJldmlvdXMgcGFnZS5cbiAgICovXG4gIHByZXZpb3VzKCk6IHZvaWQge1xuICAgIHRoaXMubmF2U2VydmljZS5wcmV2aW91cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIGBuZXh0KClgIGRvZXMgbm90IGV4ZWN1dGUgZXZlbnQgZW1pc3Npb25zLlxuICAgKiBUaGlzIG1ldGhvZCBpcyBjb21tb25seSBjYWxsZWQgYXMgcGFydCBvZiBhbiBhbHRlcm5hdGl2ZSBuYXZpZ2F0aW9uXG4gICAqIHdpdGggYFtjbHJXaXphcmRQcmV2ZW50RGVmYXVsdE5leHRdYC4gVGhlIHdpemFyZCB3aWxsIG1vdmUgdG8gdGhlIG5leHQgcGFnZVxuICAgKiByZWdhcmRsZXNzIG9mIHRoZSBzdGF0ZSBvZiBpdHMgY3VycmVudCBwYWdlLiBUaGlzIGlzIHVzZWZ1bCBmb3IgYWx0ZXJuYXRpdmVcbiAgICogbmF2aWdhdGlvbiB3aGVyZSBldmVudCBlbWlzc2lvbnMgaGF2ZSBhbHJlYWR5IGJlZW4gZG9uZSBhbmQgZmlyaW5nIHRoZW0gYWdhaW5cbiAgICogbWF5IGNhdXNlIGFuIGV2ZW50IGxvb3AuXG4gICAqXG4gICAqIElmIGBza2lwQ2hlY2tzQW5kRW1pdHNgIGlzIGZhbHNlLCB0aGUgd2l6YXJkIHdpbGwgZXhlY3V0ZSBkZWZhdWx0IGNoZWNrc1xuICAgKiBhbmQgZW1pdCBldmVudHMgYXMgbm9ybWFsLiBUaGlzIGlzIHVzZWZ1bCBmb3IgY3VzdG9tIGJ1dHRvbnMgb3IgcHJvZ3JhbW1hdGljXG4gICAqIHdvcmtmbG93cyB0aGF0IGFyZSBub3QgZXhlY3V0aW5nIHRoZSB3aXphcmRzIGRlZmF1bHQgY2hlY2tzIGFuZCBlbWlzc2lvbnMuXG4gICAqIEl0IGlzIGFub3RoZXIgd2F5IHRvIG5hdmlnYXRlIHdpdGhvdXQgaGF2aW5nIHRvIHJld3JpdGUgdGhlIHdpemFyZOKAmXMgZGVmYXVsdFxuICAgKiBmdW5jdGlvbmFsaXR5IGZyb20gc2NyYXRjaC5cbiAgICovXG4gIG5leHQoc2tpcENoZWNrc0FuZEVtaXRzID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChza2lwQ2hlY2tzQW5kRW1pdHMpIHtcbiAgICAgIHRoaXMuZm9yY2VOZXh0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmF2U2VydmljZS5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIHRoZSB3aXphcmQgdG8gdGhlIG5leHQgcGFnZSB3aXRob3V0IHRoZSBjaGVja3MgYW5kIGVtaXNzaW9ucy5cbiAgICogR29vZCBmb3IgYSBsYXN0IHN0ZXAgaW4gYW4gYWx0ZXJuYXRlIHdvcmtmbG93LlxuICAgKiBBbGlhcyBmb3IgYENscldpemFyZC5uZXh0KHRydWUpYCBvciBgQ2xyV2l6YXJkLm5leHQoKWBcbiAgICovXG4gIGZvcmNlTmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLm5hdlNlcnZpY2UuZm9yY2VOZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FuY2VscyBhbmQgY2xvc2VzIHRoZSB3aXphcmQuIERvIG5vdCB1c2UgdGhpcyBmb3IgYW4gb3ZlcnJpZGUgb2YgdGhlIGNhbmNlbFxuICAgKiB0aGUgZnVuY3Rpb25hbGl0eSB3aXRoIGBbY2xyV2l6YXJkUHJldmVudERlZmF1bHRDYW5jZWxdYCwgYFtjbHJXaXphcmRQcmV2ZW50UGFnZURlZmF1bHRDYW5jZWxdYCxcbiAgICogb3IgYFtjbHJXaXphcmRQYWdlUHJldmVudERlZmF1bHRdYCBiZWNhdXNlIGl0IHdpbGwgaW5pdGlhdGUgdGhlIHNhbWUgY2hlY2tzXG4gICAqIGFuZCBldmVudCBlbWlzc2lvbnMgdGhhdCBpbnZva2VkIHlvdXIgZXZlbnQgaGFuZGxlci4gVXNlIGBDbHJXaXphcmQuY2xvc2UoKWAgaW5zdGVhZC5cbiAgICovXG4gIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLm5hdlNlcnZpY2UuY2FuY2VsKCk7XG4gIH1cblxuICAvKipcbiAgICogT3ZlcnJpZGVzIGJlaGF2aW9yIG9mIHRoZSB1bmRlcmx5aW5nIG1vZGFsIHRvIGF2b2lkIGNvbGxpc2lvbnMgd2l0aFxuICAgKiBhbHRlcm5hdGl2ZSBjYW5jZWwgZnVuY3Rpb25hbGl0eS4gSW4gbW9zdCBjYXNlcywgdXNlIGBDbHJXaXphcmQuY2FuY2VsKClgIGluc3RlYWQuXG4gICAqL1xuICBtb2RhbENhbmNlbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zYWJsZSkge1xuICAgICAgdGhpcy5jaGVja0FuZENhbmNlbCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgZm9yIGFsdGVybmF0aXZlIGNhbmNlbCBmbG93cyBkZWZpbmVkIGF0IHRoZSBjdXJyZW50IHBhZ2Ugb3JcbiAgICogd2l6YXJkIGxldmVsLiBQZXJmb3JtcyBhIGNhbmNlbGVkIGlmIG5vdC4gRW1pdHMgZXZlbnRzIHRoYXQgaW5pdGlhdGVcbiAgICogdGhlIGFsdGVybmF0aXZlIGNhbmNlbCBvdXRwdXRzIGAoY2xyV2l6YXJkUGFnZU9uQ2FuY2VsKWAgYW5kIGAoY2xyV2l6YXJkT25DYW5jZWwpYC5cbiAgICovXG4gIGNoZWNrQW5kQ2FuY2VsKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gdGhpcy5jdXJyZW50UGFnZTtcbiAgICBjb25zdCBjdXJyZW50UGFnZUhhc092ZXJyaWRlcyA9IGN1cnJlbnRQYWdlLnN0b3BDYW5jZWwgfHwgY3VycmVudFBhZ2UucHJldmVudERlZmF1bHQ7XG5cbiAgICBpZiAodGhpcy5zdG9wTmF2aWdhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGN1cnJlbnRQYWdlLnBhZ2VPbkNhbmNlbC5lbWl0KCk7XG4gICAgaWYgKCFjdXJyZW50UGFnZUhhc092ZXJyaWRlcykge1xuICAgICAgdGhpcy5vbkNhbmNlbC5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnN0b3BDYW5jZWwgJiYgIWN1cnJlbnRQYWdlSGFzT3ZlcnJpZGVzKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byBhIGdpdmVuIHBhZ2UgaW4gdGhlIFdpemFyZC4gTmF2aWdhdGlvbiB3aWxsIGludm9rZSB0aGUgd2l6YXJk4oCZcyBkZWZhdWx0XG4gICAqIGNoZWNrcyBhbmQgZXZlbnQgZW1pc3Npb25zLlxuICAgKlxuICAgKiBUaGUgZm9ybWF0IG9mIHRoZSBleHBlY3RlZCBJRCBwYXJhbWV0ZXIgY2FuIGJlIGZvdW5kIGluIHRoZSByZXR1cm4gb2YgdGhlXG4gICAqIENscldpemFyZFBhZ2UuaWQgZ2V0dGVyLCB1c3VhbGx5IHByZWZpeGVkIHdpdGggYGNsci13aXphcmQtcGFnZS1gIGFuZCB0aGVuIGVpdGhlciBhXG4gICAqIG51bWVyaWMgSUQgb3IgdGhlIElEIHNwZWNpZmllZCBmb3IgdGhlIGBDbHJXaXphcmRQYWdlYCBjb21wb25lbnTigJlzIGBpZGAgaW5wdXQuXG4gICAqL1xuICBnb1RvKHBhZ2VJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCFwYWdlSWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5uYXZTZXJ2aWNlLmdvVG8ocGFnZUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBzZXRzIGFsbCBXaXphcmRQYWdlcyB0byBpbmNvbXBsZXRlIGFuZCBzZXRzIHRoZSBmaXJzdCBwYWdlIGluIHRoZSBgQ2xyV2l6YXJkYCB0b1xuICAgKiBiZSB0aGUgY3VycmVudCBwYWdlLCByZXNldHRpbmcgdGhlIHdpemFyZCBuYXZpZ2F0aW9uLlxuICAgKiBVc2UgYChjbHJXaXphcmRPblJlc2V0KWAgZXZlbnQgdG8gcmVzZXQgdGhlIGRhdGEgb3IgbW9kZWwgb2YgeW91ciB3aXphcmQuXG4gICAqL1xuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2VDb2xsZWN0aW9uLnJlc2V0KCk7XG4gICAgdGhpcy5vblJlc2V0LmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9yTmV4dFBhZ2VDaGFuZ2VzKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMubmF2U2VydmljZS5tb3ZlZFRvTmV4dFBhZ2UucGlwZShmaWx0ZXIoKCkgPT4gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm9uTW92ZU5leHQuZW1pdCgpO1xuICAgICAgdGhpcy5wYWdlVGl0bGU/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9yUHJldmlvdXNQYWdlQ2hhbmdlcygpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLm5hdlNlcnZpY2UubW92ZWRUb1ByZXZpb3VzUGFnZS5waXBlKGZpbHRlcigoKSA9PiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMub25Nb3ZlUHJldmlvdXMuZW1pdCgpO1xuICAgICAgdGhpcy5wYWdlVGl0bGU/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9yQ2FuY2VsQ2hhbmdlcygpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLm5hdlNlcnZpY2Uubm90aWZ5V2l6YXJkQ2FuY2VsLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoZWNrQW5kQ2FuY2VsKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Gb3JGaW5pc2hlZENoYW5nZXMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5uYXZTZXJ2aWNlLndpemFyZEZpbmlzaGVkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVtaXRXaXphcmRGaW5pc2hlZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9yUGFnZUNoYW5nZXMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5uYXZTZXJ2aWNlLmN1cnJlbnRQYWdlQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgLy8gQWRkZWQgdG8gYWRkcmVzcyBWUEFULTc0OTpcbiAgICAgIC8vICAgV2hlbiBjbGlja2luZyBvbiBhIHdpemFyZCB0YWIsIGZvY3VzIHNob3VsZCBtb3ZlIHRvIHRoYXRcbiAgICAgIC8vICAgdGFicyBjb250ZW50IHRvIG1ha2UgdGhlIHdpemFyZCBtb3JlIGFjY2Vzc2libGUuXG4gICAgICB0aGlzLnBhZ2VUaXRsZT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgdGhpcy5jdXJyZW50UGFnZUNoYW5nZWQuZW1pdCgpO1xuXG4gICAgICAvLyBzY3JvbGwgdG8gdG9wIG9mIHBhZ2UgaW4gY2FzZSB0aGVyZSBpcyBsb25nIHBhZ2UgY29udGVudFxuICAgICAgdGhpcy5ib2R5RWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5zY3JvbGxUbygwLCAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTmF2T25QYWdlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5kaWZmZXIuZGlmZih0aGlzLnBhZ2VzKTtcbiAgICBpZiAoY2hhbmdlcykge1xuICAgICAgY2hhbmdlcy5mb3JFYWNoQWRkZWRJdGVtKCgpID0+IHRoaXMubmF2U2VydmljZS51cGRhdGVOYXZpZ2F0aW9uKCkpO1xuICAgICAgY2hhbmdlcy5mb3JFYWNoUmVtb3ZlZEl0ZW0oKCkgPT4gdGhpcy5uYXZTZXJ2aWNlLnVwZGF0ZU5hdmlnYXRpb24oKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQnV0dG9ucygpOiB2b2lkIHtcbiAgICAvLyBPbmx5IHRyaWdnZXIgYnV0dG9ucyByZWFkeSBpZiBkZWZhdWx0IGlzIG9wZW4gKGlubGluZWQpXG4gICAgaWYgKHRoaXMuX29wZW4pIHtcbiAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5idXR0b25zUmVhZHkgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW1pdFdpemFyZEZpbmlzaGVkKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zdG9wTmV4dCkge1xuICAgICAgdGhpcy5mb3JjZUZpbmlzaCgpO1xuICAgIH1cbiAgICB0aGlzLndpemFyZEZpbmlzaGVkLmVtaXQoKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAoYykgMjAxNi0yMDI1IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICB+IFRoZSB0ZXJtIFwiQnJvYWRjb21cIiByZWZlcnMgdG8gQnJvYWRjb20gSW5jLiBhbmQvb3IgaXRzIHN1YnNpZGlhcmllcy5cbiAgfiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICB+IFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAgLS0+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpblBhZ2U7IHRoZW4gd2l6YXJkVGVtcGxhdGU7IGVsc2Ugd2l6YXJkTW9kYWxUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3dpemFyZE1vZGFsVGVtcGxhdGU+XG4gIDxjbHItbW9kYWxcbiAgICBbY2xyTW9kYWxPcGVuXT1cIl9vcGVuXCJcbiAgICBbY2xyTW9kYWxTaXplXT1cInNpemVcIlxuICAgIFtjbHJNb2RhbENsb3NhYmxlXT1cImNsb3NhYmxlXCJcbiAgICBbY2xyTW9kYWxTdGF0aWNCYWNrZHJvcF09XCJ0cnVlXCJcbiAgICBbY2xyTW9kYWxTa2lwQW5pbWF0aW9uXT1cInN0b3BNb2RhbEFuaW1hdGlvbnNcIlxuICAgIFtjbHJNb2RhbE92ZXJyaWRlU2Nyb2xsU2VydmljZV09XCJpc0lubGluZVwiXG4gICAgW2Nsck1vZGFsUHJldmVudENsb3NlXT1cInRydWVcIlxuICAgIChjbHJNb2RhbEFsdGVybmF0ZUNsb3NlKT1cIm1vZGFsQ2FuY2VsKClcIlxuICAgIFtjbHJNb2RhbExhYmVsbGVkQnlJZF09XCJ3aXphcmRJZFwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgI2NsckludGVybmFsTW9kYWxDb250ZW50VGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIndpemFyZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9jbHItbW9kYWw+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIFRoaXMgdGVtcGxhdGUgaXMgdGlnaHRseSBjb3VwbGVkIHRvIHRoZSBtb2RhbCBzdHlsZXMuIC0tPlxuPG5nLXRlbXBsYXRlICN3aXphcmRUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1uYXYgY2xyLXdpemFyZC1zdGVwbmF2LXdyYXBwZXJcIiByb2xlPVwicmVnaW9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xyLXdpemFyZC10aXRsZVwiIFtpZF09XCJ3aXphcmRJZFwiIHJvbGU9XCJoZWFkaW5nXCIgW2F0dHIuYXJpYS1sZXZlbF09XCJ3aXphcmRUaXRsZS5oZWFkaW5nTGV2ZWwgfHwgMVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjbHItd2l6YXJkLXRpdGxlXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8Y2xyLXdpemFyZC1zdGVwbmF2IFtsYWJlbF09XCJzdGVwbmF2QXJpYUxhYmVsXCI+PC9jbHItd2l6YXJkLXN0ZXBuYXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlci0tYWNjZXNzaWJsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtdGl0bGUtd3JhcHBlclwiICN0aXRsZSBjZGtGb2N1c0luaXRpYWwgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibW9kYWwtdGl0bGVcIlxuICAgICAgICAgICAgcm9sZT1cImhlYWRpbmdcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sZXZlbF09XCJuYXZTZXJ2aWNlLmN1cnJlbnRQYWdlPy5wYWdlVGl0bGUuaGVhZGluZ0xldmVsIHx8IDJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIHRhYmluZGV4PVwiLTFcIiAjcGFnZVRpdGxlIGNsYXNzPVwibW9kYWwtdGl0bGUtdGV4dFwiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibmF2U2VydmljZS5jdXJyZW50UGFnZVRpdGxlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXItYWN0aW9ucy13cmFwcGVyXCIgKm5nSWY9XCJoZWFkZXJBY3Rpb25TZXJ2aWNlLmRpc3BsYXlIZWFkZXJBY3Rpb25zV3JhcHBlclwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJBY3Rpb25TZXJ2aWNlLnNob3dXaXphcmRIZWFkZXJBY3Rpb25zXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjbHItd2l6YXJkLWhlYWRlci1hY3Rpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlckFjdGlvblNlcnZpY2UuY3VycmVudFBhZ2VIYXNIZWFkZXJBY3Rpb25zXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibmF2U2VydmljZS5jdXJyZW50UGFnZS5oZWFkZXJBY3Rpb25zXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cImNsb3NhYmxlICYmICFpblBhZ2VcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29tbW9uU3RyaW5ncy5rZXlzLmNsb3NlXCJcbiAgICAgICAgICAoY2xpY2spPVwibW9kYWxDYW5jZWwoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8Y2RzLWljb24gc2hhcGU9XCJ3aW5kb3ctY2xvc2VcIj48L2Nkcy1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAjYm9keSBjbGFzcz1cIm1vZGFsLWJvZHktd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgICAgICAgIDxtYWluIGNsci13aXphcmQtcGFnZXMtd3JhcHBlciBjbGFzcz1cImNsci13aXphcmQtY29udGVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgIDwvbWFpbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXIgY2xyLXdpemFyZC1mb290ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNsci13aXphcmQtZm9vdGVyLWJ1dHRvbnNcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cIm5hdlNlcnZpY2UuY3VycmVudFBhZ2UgJiYgIW5hdlNlcnZpY2UuY3VycmVudFBhZ2UuaGFzQnV0dG9uc1wiXG4gICAgICAgICAgICBjbGFzcz1cImNsci13aXphcmQtZm9vdGVyLWJ1dHRvbnMtd3JhcHBlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2xyLXdpemFyZC1idXR0b25cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJuYXZTZXJ2aWNlLmN1cnJlbnRQYWdlICYmIG5hdlNlcnZpY2UuY3VycmVudFBhZ2UuaGFzQnV0dG9uc1wiXG4gICAgICAgICAgICBjbGFzcz1cImNsci13aXphcmQtZm9vdGVyLWJ1dHRvbnMtd3JhcHBlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5hdlNlcnZpY2UuY3VycmVudFBhZ2UuYnV0dG9uc1wiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|