@ethlete/cdk 2.6.2 → 2.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/esm2022/lib/components/accordion/components/accordion/accordion.component.mjs +13 -25
- package/esm2022/lib/components/accordion/components/accordion-group/accordion-group.component.mjs +9 -16
- package/esm2022/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.mjs +5 -6
- package/esm2022/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.mjs +5 -6
- package/esm2022/lib/components/accordion/partials/accordion-label/accordion-label.directive.mjs +5 -6
- package/esm2022/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.mjs +5 -6
- package/esm2022/lib/components/bracket/components/bracket/bracket.component.mjs +5 -6
- package/esm2022/lib/components/bracket/directives/bracket-match/bracket-match.directive.mjs +5 -6
- package/esm2022/lib/components/bracket/directives/bracket-round/bracket-round.directive.mjs +5 -6
- package/esm2022/lib/components/bracket/partials/bracket-match/bracket-match.component.mjs +5 -6
- package/esm2022/lib/components/bracket/partials/bracket-round-header/bracket-round-header.component.mjs +5 -6
- package/esm2022/lib/components/button/components/button/button.component.mjs +5 -6
- package/esm2022/lib/components/button/components/query-button/query-button.component.mjs +5 -6
- package/esm2022/lib/components/button/directives/button/button.directive.mjs +8 -10
- package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/checkbox/components/checkbox/checkbox.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/components/email-input/email-input.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/components/input-field/input-field.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/components/number-input/number-input.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/components/password-input/password-input.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/components/search-input/search-input.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/components/text-input/text-input.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/components/textarea-input/textarea-input.component.mjs +12 -24
- package/esm2022/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/directives/email-input/email-input.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/directives/number-input/number-input.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/directives/password-input/password-input.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/directives/search-input/search-input.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/directives/text-input/text-input.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/label/components/label/label.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/label/directives/label-suffix/label-suffix.directive.mjs +9 -16
- package/esm2022/lib/components/forms/components/radio/components/radio/radio.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/radio/components/radio-field/radio-field.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/radio/components/radio-group/radio-group.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +7 -9
- package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button/segmented-button.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +7 -9
- package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.mjs +10 -12
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-option/native-select-option.directive.mjs +12 -24
- package/esm2022/lib/components/forms/components/select/components/native-select/partials/native-select-option/native-select-option.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/select/components/select/components/select/select.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +7 -9
- package/esm2022/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.mjs +7 -9
- package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/select/components/select/partials/select-option/select-option.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/select/components/select-field/select-field.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/select/directives/select-field/select-field.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle/slide-toggle.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.mjs +5 -6
- package/esm2022/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.mjs +5 -6
- package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +12 -14
- package/esm2022/lib/components/forms/components/slider/components/slider-field/slider-field.component.mjs +5 -6
- package/esm2022/lib/components/forms/directives/dynamic-form-field/dynamic-form-field.directive.mjs +7 -9
- package/esm2022/lib/components/forms/directives/dynamic-form-group/dynamic-form-group.directive.mjs +7 -9
- package/esm2022/lib/components/forms/directives/if-input-empty/if-input-empty.directive.mjs +5 -6
- package/esm2022/lib/components/forms/directives/if-input-filled/if-input-filled.directive.mjs +5 -6
- package/esm2022/lib/components/forms/directives/input/input.directive.mjs +5 -6
- package/esm2022/lib/components/forms/directives/input-prefix/input-prefix.directive.mjs +5 -6
- package/esm2022/lib/components/forms/directives/input-suffix/input-suffix.directive.mjs +5 -6
- package/esm2022/lib/components/forms/directives/native-input-ref/native-input-ref.directive.mjs +5 -6
- package/esm2022/lib/components/forms/directives/static-form-field/static-form-field.directive.mjs +5 -6
- package/esm2022/lib/components/forms/directives/static-form-group/static-form-group.directive.mjs +5 -6
- package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +5 -6
- package/esm2022/lib/components/forms/services/default-validator-errors.service.mjs +5 -6
- package/esm2022/lib/components/forms/services/form-field-state.service.mjs +5 -6
- package/esm2022/lib/components/forms/services/form-group-state.service.mjs +5 -6
- package/esm2022/lib/components/forms/services/input-state.service.mjs +5 -6
- package/esm2022/lib/components/forms/utils/decorated-form-field.base.mjs +5 -6
- package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +5 -6
- package/esm2022/lib/components/forms/utils/input.base.mjs +5 -6
- package/esm2022/lib/components/icons/chevron-icon/chevron-icon.component.mjs +5 -6
- package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +9 -11
- package/esm2022/lib/components/masonry/partials/masonry-item/masonry-item.component.mjs +5 -6
- package/esm2022/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/bottom-sheet-container.component.mjs +5 -6
- package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/bottom-sheet-container-base.component.mjs +5 -6
- package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.mjs +5 -6
- package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/bottom-sheet-title.directive.mjs +5 -6
- package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.mjs +5 -6
- package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-swipe-handler.service.mjs +5 -6
- package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet.service.mjs +5 -6
- package/esm2022/lib/components/overlay/components/dialog/components/dialog-container/dialog-container.component.mjs +5 -6
- package/esm2022/lib/components/overlay/components/dialog/partials/dialog-close/dialog-close.directive.mjs +5 -6
- package/esm2022/lib/components/overlay/components/dialog/partials/dialog-container-base/dialog-container-base.component.mjs +5 -6
- package/esm2022/lib/components/overlay/components/dialog/partials/dialog-title/dialog-title.directive.mjs +5 -6
- package/esm2022/lib/components/overlay/components/dialog/services/dialog-base.service.mjs +5 -6
- package/esm2022/lib/components/overlay/components/dialog/services/dialog.service.mjs +5 -6
- package/esm2022/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.mjs +5 -6
- package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.mjs +7 -9
- package/esm2022/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.mjs +5 -6
- package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.mjs +5 -6
- package/esm2022/lib/components/overlay/services/dynamic-overlay.service.mjs +11 -14
- package/esm2022/lib/components/pagination/components/pagination/pagination.component.mjs +10 -11
- package/esm2022/lib/components/pagination/partials/pagination-link/pagination-link.directive.mjs +5 -6
- package/esm2022/lib/components/pagination/services/pagination-head.service.mjs +5 -6
- package/esm2022/lib/components/picture/picture-data.directive.mjs +9 -16
- package/esm2022/lib/components/picture/picture.component.mjs +5 -6
- package/esm2022/lib/components/progress-spinner/progress-spinner.component.mjs +14 -26
- package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +163 -93
- package/esm2022/lib/components/scrollable/types/scrollable.types.mjs +1 -1
- package/esm2022/lib/components/skeleton/components/skeleton/skeleton.component.mjs +9 -16
- package/esm2022/lib/components/skeleton/partials/skeleton-item/skeleton-item.component.mjs +5 -6
- package/esm2022/lib/components/sort/components/sort-header/sort-header.component.mjs +25 -51
- package/esm2022/lib/components/sort/partials/sort/sort.directive.mjs +19 -38
- package/esm2022/lib/components/sort/services/sort-header-intl.mjs +5 -6
- package/esm2022/lib/components/table/components/table/table.component.mjs +8 -10
- package/esm2022/lib/components/table/partials/cells/cell/cell.directive.mjs +5 -6
- package/esm2022/lib/components/table/partials/cells/cell-def/cell-def.directive.mjs +5 -6
- package/esm2022/lib/components/table/partials/cells/column-def/column-def.directive.mjs +5 -6
- package/esm2022/lib/components/table/partials/cells/footer-cell/footer-cell.directive.mjs +5 -6
- package/esm2022/lib/components/table/partials/cells/footer-cell-def/footer-cell-def.directive.mjs +5 -6
- package/esm2022/lib/components/table/partials/cells/header-cell/header-cell.directive.mjs +5 -6
- package/esm2022/lib/components/table/partials/cells/header-cell-def/header-cell-def.directive.mjs +5 -6
- package/esm2022/lib/components/table/partials/cells/text-column/text-column.component.mjs +5 -6
- package/esm2022/lib/components/table/partials/rows/footer-row/footer-row.component.mjs +5 -6
- package/esm2022/lib/components/table/partials/rows/footer-row-def/footer-row-def.directive.mjs +5 -6
- package/esm2022/lib/components/table/partials/rows/header-row/header-row.component.mjs +5 -6
- package/esm2022/lib/components/table/partials/rows/header-row-def/header-row-def.directive.mjs +5 -6
- package/esm2022/lib/components/table/partials/rows/no-data-row/no-data-row.directive.mjs +5 -6
- package/esm2022/lib/components/table/partials/rows/recycle-rows/recycle-rows.directive.mjs +5 -6
- package/esm2022/lib/components/table/partials/rows/row/row.component.mjs +5 -6
- package/esm2022/lib/components/table/partials/rows/row-def/row-def.directive.mjs +5 -6
- package/esm2022/lib/components/table/partials/table-busy/table-busy.directive.mjs +9 -10
- package/esm2022/lib/components/table/partials/table-busy-outlet/table-busy-outlet.directive.mjs +10 -11
- package/esm2022/lib/components/tabs/components/inline-tabs/inline-tabs.component.mjs +42 -72
- package/esm2022/lib/components/tabs/components/nav-tabs/nav-tabs.component.mjs +11 -20
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.mjs +12 -24
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body/inline-tab-body.component.mjs +16 -19
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/inline-tab-body-host.directive.mjs +5 -6
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-content/inline-tab-content.directive.mjs +9 -10
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.mjs +7 -17
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label/inline-tab-label.directive.mjs +5 -6
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/inline-tab-label-wrapper.directive.mjs +12 -19
- package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tab-link/nav-tab-link.directive.mjs +25 -45
- package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/nav-tabs-outlet.component.mjs +5 -6
- package/esm2022/lib/components/tabs/utils/active-tab-underline.util.mjs +7 -9
- package/esm2022/lib/components/tabs/utils/paginated-tab-header.directive.mjs +26 -47
- package/esm2022/lib/services/swipe-handler.service.mjs +5 -6
- package/fesm2022/ethlete-cdk.mjs +847 -957
- package/fesm2022/ethlete-cdk.mjs.map +1 -1
- package/lib/components/accordion/components/accordion/accordion.component.d.ts +5 -8
- package/lib/components/accordion/components/accordion-group/accordion-group.component.d.ts +3 -5
- package/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.d.ts +1 -1
- package/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.d.ts +1 -1
- package/lib/components/accordion/partials/accordion-label/accordion-label.directive.d.ts +1 -1
- package/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.d.ts +1 -1
- package/lib/components/bracket/components/bracket/bracket.component.d.ts +1 -1
- package/lib/components/bracket/directives/bracket-match/bracket-match.directive.d.ts +1 -1
- package/lib/components/bracket/directives/bracket-round/bracket-round.directive.d.ts +1 -1
- package/lib/components/bracket/partials/bracket-match/bracket-match.component.d.ts +1 -1
- package/lib/components/bracket/partials/bracket-round-header/bracket-round-header.component.d.ts +1 -1
- package/lib/components/button/components/button/button.component.d.ts +1 -1
- package/lib/components/button/components/query-button/query-button.component.d.ts +1 -1
- package/lib/components/button/directives/button/button.directive.d.ts +3 -4
- package/lib/components/button/directives/query-button/query-button.directive.d.ts +1 -1
- package/lib/components/forms/components/checkbox/components/checkbox/checkbox.component.d.ts +1 -1
- package/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.d.ts +1 -1
- package/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.d.ts +1 -1
- package/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.d.ts +1 -1
- package/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.d.ts +1 -1
- package/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.d.ts +1 -1
- package/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.d.ts +1 -1
- package/lib/components/forms/components/error/components/error/error.component.d.ts +1 -1
- package/lib/components/forms/components/input/components/email-input/email-input.component.d.ts +1 -1
- package/lib/components/forms/components/input/components/input-field/input-field.component.d.ts +1 -1
- package/lib/components/forms/components/input/components/number-input/number-input.component.d.ts +1 -1
- package/lib/components/forms/components/input/components/password-input/password-input.component.d.ts +1 -1
- package/lib/components/forms/components/input/components/search-input/search-input.component.d.ts +1 -1
- package/lib/components/forms/components/input/components/text-input/text-input.component.d.ts +1 -1
- package/lib/components/forms/components/input/components/textarea-input/textarea-input.component.d.ts +5 -8
- package/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.d.ts +1 -1
- package/lib/components/forms/components/input/directives/email-input/email-input.directive.d.ts +1 -1
- package/lib/components/forms/components/input/directives/number-input/number-input.directive.d.ts +1 -1
- package/lib/components/forms/components/input/directives/password-input/password-input.directive.d.ts +1 -1
- package/lib/components/forms/components/input/directives/search-input/search-input.directive.d.ts +1 -1
- package/lib/components/forms/components/input/directives/text-input/text-input.directive.d.ts +1 -1
- package/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.d.ts +1 -1
- package/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.d.ts +1 -1
- package/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.d.ts +1 -1
- package/lib/components/forms/components/label/components/label/label.component.d.ts +1 -1
- package/lib/components/forms/components/label/directives/label-suffix/label-suffix.directive.d.ts +3 -5
- package/lib/components/forms/components/radio/components/radio/radio.component.d.ts +1 -1
- package/lib/components/forms/components/radio/components/radio-field/radio-field.component.d.ts +1 -1
- package/lib/components/forms/components/radio/components/radio-group/radio-group.component.d.ts +1 -1
- package/lib/components/forms/components/radio/directives/radio/radio.directive.d.ts +2 -3
- package/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.d.ts +1 -1
- package/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.d.ts +1 -1
- package/lib/components/forms/components/segmented-button/components/segmented-button/segmented-button.component.d.ts +1 -1
- package/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.d.ts +1 -1
- package/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.d.ts +1 -1
- package/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.d.ts +2 -3
- package/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.d.ts +1 -1
- package/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.d.ts +1 -1
- package/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.d.ts +5 -6
- package/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.d.ts +1 -1
- package/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.d.ts +1 -1
- package/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.d.ts +1 -1
- package/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.d.ts +1 -1
- package/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.d.ts +1 -1
- package/lib/components/forms/components/select/components/native-select/directives/native-select-option/native-select-option.directive.d.ts +5 -8
- package/lib/components/forms/components/select/components/native-select/partials/native-select-option/native-select-option.component.d.ts +1 -1
- package/lib/components/forms/components/select/components/select/components/select/select.component.d.ts +1 -1
- package/lib/components/forms/components/select/components/select/directives/select/select.directive.d.ts +2 -3
- package/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.d.ts +1 -1
- package/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.d.ts +2 -3
- package/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.d.ts +1 -1
- package/lib/components/forms/components/select/components/select/partials/select-option/select-option.component.d.ts +1 -1
- package/lib/components/forms/components/select/components/select-field/select-field.component.d.ts +1 -1
- package/lib/components/forms/components/select/directives/select-field/select-field.directive.d.ts +1 -1
- package/lib/components/forms/components/slide-toggle/components/slide-toggle/slide-toggle.component.d.ts +1 -1
- package/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.d.ts +1 -1
- package/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.d.ts +1 -1
- package/lib/components/forms/components/slider/components/slider/slider.component.d.ts +6 -7
- package/lib/components/forms/components/slider/components/slider-field/slider-field.component.d.ts +1 -1
- package/lib/components/forms/directives/dynamic-form-field/dynamic-form-field.directive.d.ts +2 -3
- package/lib/components/forms/directives/dynamic-form-group/dynamic-form-group.directive.d.ts +2 -3
- package/lib/components/forms/directives/if-input-empty/if-input-empty.directive.d.ts +1 -1
- package/lib/components/forms/directives/if-input-filled/if-input-filled.directive.d.ts +1 -1
- package/lib/components/forms/directives/input/input.directive.d.ts +1 -1
- package/lib/components/forms/directives/input-prefix/input-prefix.directive.d.ts +1 -1
- package/lib/components/forms/directives/input-suffix/input-suffix.directive.d.ts +1 -1
- package/lib/components/forms/directives/native-input-ref/native-input-ref.directive.d.ts +1 -1
- package/lib/components/forms/directives/static-form-field/static-form-field.directive.d.ts +1 -1
- package/lib/components/forms/directives/static-form-group/static-form-group.directive.d.ts +1 -1
- package/lib/components/forms/directives/writeable-input/writeable-input.directive.d.ts +1 -1
- package/lib/components/forms/utils/decorated-form-field.base.d.ts +1 -1
- package/lib/components/forms/utils/decorated-input.base.d.ts +1 -1
- package/lib/components/forms/utils/input.base.d.ts +1 -1
- package/lib/components/icons/chevron-icon/chevron-icon.component.d.ts +1 -1
- package/lib/components/masonry/components/masonry/masonry.component.d.ts +3 -4
- package/lib/components/masonry/partials/masonry-item/masonry-item.component.d.ts +1 -1
- package/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/bottom-sheet-container.component.d.ts +1 -1
- package/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/bottom-sheet-container-base.component.d.ts +1 -1
- package/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.d.ts +1 -1
- package/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/bottom-sheet-title.directive.d.ts +1 -1
- package/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.d.ts +1 -1
- package/lib/components/overlay/components/dialog/components/dialog-container/dialog-container.component.d.ts +1 -1
- package/lib/components/overlay/components/dialog/partials/dialog-close/dialog-close.directive.d.ts +1 -1
- package/lib/components/overlay/components/dialog/partials/dialog-container-base/dialog-container-base.component.d.ts +1 -1
- package/lib/components/overlay/components/dialog/partials/dialog-title/dialog-title.directive.d.ts +1 -1
- package/lib/components/overlay/components/dialog/services/dialog-base.service.d.ts +1 -1
- package/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.d.ts +1 -1
- package/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.d.ts +2 -3
- package/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.d.ts +1 -1
- package/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/components/overlay/services/dynamic-overlay.service.d.ts +3 -6
- package/lib/components/pagination/components/pagination/pagination.component.d.ts +4 -4
- package/lib/components/pagination/partials/pagination-link/pagination-link.directive.d.ts +1 -1
- package/lib/components/picture/picture-data.directive.d.ts +3 -5
- package/lib/components/picture/picture.component.d.ts +1 -1
- package/lib/components/progress-spinner/progress-spinner.component.d.ts +7 -10
- package/lib/components/scrollable/components/scrollable/scrollable.component.d.ts +29 -27
- package/lib/components/scrollable/types/scrollable.types.d.ts +6 -0
- package/lib/components/skeleton/components/skeleton/skeleton.component.d.ts +3 -5
- package/lib/components/skeleton/partials/skeleton-item/skeleton-item.component.d.ts +1 -1
- package/lib/components/sort/components/sort-header/sort-header.component.d.ts +18 -22
- package/lib/components/sort/partials/sort/sort.directive.d.ts +8 -12
- package/lib/components/table/components/table/table.component.d.ts +2 -3
- package/lib/components/table/partials/cells/cell/cell.directive.d.ts +1 -1
- package/lib/components/table/partials/cells/cell-def/cell-def.directive.d.ts +1 -1
- package/lib/components/table/partials/cells/column-def/column-def.directive.d.ts +1 -1
- package/lib/components/table/partials/cells/footer-cell/footer-cell.directive.d.ts +1 -1
- package/lib/components/table/partials/cells/footer-cell-def/footer-cell-def.directive.d.ts +1 -1
- package/lib/components/table/partials/cells/header-cell/header-cell.directive.d.ts +1 -1
- package/lib/components/table/partials/cells/header-cell-def/header-cell-def.directive.d.ts +1 -1
- package/lib/components/table/partials/cells/text-column/text-column.component.d.ts +1 -1
- package/lib/components/table/partials/rows/footer-row/footer-row.component.d.ts +1 -1
- package/lib/components/table/partials/rows/footer-row-def/footer-row-def.directive.d.ts +1 -1
- package/lib/components/table/partials/rows/header-row/header-row.component.d.ts +1 -1
- package/lib/components/table/partials/rows/header-row-def/header-row-def.directive.d.ts +1 -1
- package/lib/components/table/partials/rows/no-data-row/no-data-row.directive.d.ts +1 -1
- package/lib/components/table/partials/rows/recycle-rows/recycle-rows.directive.d.ts +1 -1
- package/lib/components/table/partials/rows/row/row.component.d.ts +1 -1
- package/lib/components/table/partials/rows/row-def/row-def.directive.d.ts +1 -1
- package/lib/components/table/partials/table-busy/table-busy.directive.d.ts +2 -3
- package/lib/components/table/partials/table-busy-outlet/table-busy-outlet.directive.d.ts +2 -3
- package/lib/components/tabs/components/inline-tabs/inline-tabs.component.d.ts +15 -24
- package/lib/components/tabs/components/nav-tabs/nav-tabs.component.d.ts +3 -8
- package/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.d.ts +5 -8
- package/lib/components/tabs/partials/inline-tabs/inline-tab-body/inline-tab-body.component.d.ts +6 -5
- package/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/inline-tab-body-host.directive.d.ts +1 -1
- package/lib/components/tabs/partials/inline-tabs/inline-tab-content/inline-tab-content.directive.d.ts +2 -3
- package/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.d.ts +3 -6
- package/lib/components/tabs/partials/inline-tabs/inline-tab-label/inline-tab-label.directive.d.ts +1 -1
- package/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/inline-tab-label-wrapper.directive.d.ts +4 -7
- package/lib/components/tabs/partials/nav-tabs/nav-tab-link/nav-tab-link.directive.d.ts +14 -18
- package/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/nav-tabs-outlet.component.d.ts +1 -1
- package/lib/components/tabs/utils/active-tab-underline.util.d.ts +2 -3
- package/lib/components/tabs/utils/paginated-tab-header.directive.d.ts +12 -17
- package/package.json +4 -5
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
2
|
-
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
3
2
|
import { PortalModule } from '@angular/cdk/portal';
|
|
4
3
|
import { NgClass, NgForOf, NgIf } from '@angular/common';
|
|
5
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren,
|
|
4
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, booleanAttribute, inject, numberAttribute, } from '@angular/core';
|
|
6
5
|
import { TypedQueryList } from '@ethlete/core';
|
|
7
6
|
import { Subscription, merge, startWith } from 'rxjs';
|
|
8
7
|
import { InlineTabBodyComponent, InlineTabComponent, InlineTabHeaderComponent, InlineTabLabelWrapperDirective, TAB_GROUP, } from '../../partials';
|
|
@@ -12,58 +11,22 @@ import * as i2 from "@angular/cdk/portal";
|
|
|
12
11
|
let nextId = 0;
|
|
13
12
|
export class InlineTabChangeEvent {
|
|
14
13
|
}
|
|
15
|
-
class InlineTabsComponent {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
this.
|
|
21
|
-
}
|
|
22
|
-
get contentTabIndex() {
|
|
23
|
-
return this._contentTabIndex;
|
|
24
|
-
}
|
|
25
|
-
set contentTabIndex(value) {
|
|
26
|
-
this._contentTabIndex = coerceNumberProperty(value, null);
|
|
27
|
-
}
|
|
28
|
-
get preserveContent() {
|
|
29
|
-
return this._preserveContent;
|
|
30
|
-
}
|
|
31
|
-
set preserveContent(value) {
|
|
32
|
-
this._preserveContent = coerceBooleanProperty(value);
|
|
33
|
-
}
|
|
34
|
-
get renderMasks() {
|
|
35
|
-
return this._renderMasks;
|
|
36
|
-
}
|
|
37
|
-
set renderMasks(value) {
|
|
38
|
-
this._renderMasks = coerceBooleanProperty(value);
|
|
39
|
-
}
|
|
40
|
-
get renderButtons() {
|
|
41
|
-
return this._renderButtons;
|
|
42
|
-
}
|
|
43
|
-
set renderButtons(value) {
|
|
44
|
-
this._renderButtons = coerceBooleanProperty(value);
|
|
45
|
-
}
|
|
46
|
-
get renderScrollbars() {
|
|
47
|
-
return this._renderScrollbars;
|
|
48
|
-
}
|
|
49
|
-
set renderScrollbars(value) {
|
|
50
|
-
this._renderScrollbars = coerceBooleanProperty(value);
|
|
51
|
-
}
|
|
52
|
-
constructor(_cdr) {
|
|
53
|
-
this._cdr = _cdr;
|
|
54
|
-
this._selectedIndex = null;
|
|
55
|
-
this._contentTabIndex = null;
|
|
56
|
-
this._preserveContent = false;
|
|
14
|
+
export class InlineTabsComponent {
|
|
15
|
+
constructor() {
|
|
16
|
+
this._cdr = inject(ChangeDetectorRef);
|
|
17
|
+
this.selectedIndex = null;
|
|
18
|
+
this.contentTabIndex = null;
|
|
19
|
+
this.preserveContent = false;
|
|
57
20
|
this.itemSize = 'auto';
|
|
58
|
-
this.
|
|
59
|
-
this.
|
|
60
|
-
this.
|
|
21
|
+
this.renderMasks = true;
|
|
22
|
+
this.renderButtons = true;
|
|
23
|
+
this.renderScrollbars = false;
|
|
61
24
|
this.selectedIndexChange = new EventEmitter();
|
|
62
25
|
this.focusChange = new EventEmitter();
|
|
63
26
|
this.selectedTabChange = new EventEmitter(true);
|
|
27
|
+
this._tabBodyWrapper = null;
|
|
64
28
|
this._tabs = new TypedQueryList();
|
|
65
29
|
this._groupId = nextId++;
|
|
66
|
-
this._indexToSelect = 0;
|
|
67
30
|
this._lastFocusedTabIndex = null;
|
|
68
31
|
this._tabsSubscription = Subscription.EMPTY;
|
|
69
32
|
this._tabLabelSubscription = Subscription.EMPTY;
|
|
@@ -73,13 +36,13 @@ class InlineTabsComponent {
|
|
|
73
36
|
this._subscribeToAllTabChanges();
|
|
74
37
|
this._subscribeToTabLabels();
|
|
75
38
|
this._tabsSubscription = this._tabs.changes.subscribe(() => {
|
|
76
|
-
const indexToSelect = this._clampTabIndex(this.
|
|
77
|
-
if (indexToSelect === this.
|
|
39
|
+
const indexToSelect = this._clampTabIndex(this.selectedIndex);
|
|
40
|
+
if (indexToSelect === this.selectedIndex) {
|
|
78
41
|
const tabs = this._tabs.toArray();
|
|
79
42
|
let selectedTab;
|
|
80
43
|
for (let i = 0; i < tabs.length; i++) {
|
|
81
44
|
if (tabs[i]?.isActive) {
|
|
82
|
-
this.
|
|
45
|
+
this.selectedIndex = i;
|
|
83
46
|
this._lastFocusedTabIndex = null;
|
|
84
47
|
selectedTab = tabs[i];
|
|
85
48
|
break;
|
|
@@ -99,12 +62,12 @@ class InlineTabsComponent {
|
|
|
99
62
|
});
|
|
100
63
|
}
|
|
101
64
|
ngAfterContentChecked() {
|
|
102
|
-
const indexToSelect = (this.
|
|
103
|
-
if (this.
|
|
104
|
-
const isFirstRun = this.
|
|
65
|
+
const indexToSelect = (this.selectedIndex = this._clampTabIndex(this.selectedIndex));
|
|
66
|
+
if (this.selectedIndex != indexToSelect && this._tabBodyWrapper) {
|
|
67
|
+
const isFirstRun = this.selectedIndex == null;
|
|
105
68
|
if (!isFirstRun) {
|
|
106
69
|
this.selectedTabChange.emit(this._createChangeEvent(indexToSelect));
|
|
107
|
-
const wrapper = this._tabBodyWrapper
|
|
70
|
+
const wrapper = this._tabBodyWrapper?.nativeElement;
|
|
108
71
|
wrapper.style.minHeight = wrapper.clientHeight + 'px';
|
|
109
72
|
}
|
|
110
73
|
Promise.resolve().then(() => {
|
|
@@ -113,7 +76,9 @@ class InlineTabsComponent {
|
|
|
113
76
|
.forEach((tab, index) => (tab.isActive = index === indexToSelect));
|
|
114
77
|
if (!isFirstRun) {
|
|
115
78
|
this.selectedIndexChange.emit(indexToSelect);
|
|
116
|
-
this._tabBodyWrapper
|
|
79
|
+
if (this._tabBodyWrapper) {
|
|
80
|
+
this._tabBodyWrapper.nativeElement.style.minHeight = '';
|
|
81
|
+
}
|
|
117
82
|
}
|
|
118
83
|
});
|
|
119
84
|
}
|
|
@@ -121,12 +86,12 @@ class InlineTabsComponent {
|
|
|
121
86
|
if (!tab)
|
|
122
87
|
return;
|
|
123
88
|
tab.position = index - indexToSelect;
|
|
124
|
-
if (this.
|
|
125
|
-
tab.origin = indexToSelect - this.
|
|
89
|
+
if (this.selectedIndex != null && tab.position == 0 && !tab.origin) {
|
|
90
|
+
tab.origin = indexToSelect - this.selectedIndex;
|
|
126
91
|
}
|
|
127
92
|
});
|
|
128
|
-
if (this.
|
|
129
|
-
this.
|
|
93
|
+
if (this.selectedIndex !== indexToSelect) {
|
|
94
|
+
this.selectedIndex = indexToSelect;
|
|
130
95
|
this._lastFocusedTabIndex = null;
|
|
131
96
|
this._cdr.markForCheck();
|
|
132
97
|
}
|
|
@@ -209,16 +174,15 @@ class InlineTabsComponent {
|
|
|
209
174
|
}
|
|
210
175
|
return event;
|
|
211
176
|
}
|
|
212
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
|
213
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
|
177
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: InlineTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
178
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: InlineTabsComponent, isStandalone: true, selector: "et-inline-tabs", inputs: { selectedIndex: ["selectedIndex", "selectedIndex", numberAttribute], contentTabIndex: ["contentTabIndex", "contentTabIndex", numberAttribute], preserveContent: ["preserveContent", "preserveContent", booleanAttribute], tabHeaderClasses: "tabHeaderClasses", itemSize: "itemSize", scrollableClass: "scrollableClass", renderMasks: ["renderMasks", "renderMasks", booleanAttribute], renderButtons: ["renderButtons", "renderButtons", booleanAttribute], renderScrollbars: ["renderScrollbars", "renderScrollbars", booleanAttribute] }, outputs: { selectedIndexChange: "selectedIndexChange", focusChange: "focusChange", selectedTabChange: "selectedTabChange" }, host: { classAttribute: "et-inline-tabs" }, providers: [
|
|
214
179
|
{
|
|
215
180
|
provide: TAB_GROUP,
|
|
216
181
|
useExisting: InlineTabsComponent,
|
|
217
182
|
},
|
|
218
183
|
], queries: [{ propertyName: "_allTabs", predicate: InlineTabComponent, descendants: true }], viewQueries: [{ propertyName: "_tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "_tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], ngImport: i0, template: "<et-inline-tab-header\n #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [ngClass]=\"tabHeaderClasses\"\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\"\n>\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events -->\n <div\n *ngFor=\"let tab of _tabs; let i = index; trackBy: trackByTabFn\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"!tab.ariaLabel && tab.ariaLabelledby ? tab.ariaLabelledby : null\"\n [disabled]=\"tab.disabled\"\n [class.et-inline-tab-label--active]=\"selectedIndex === i\"\n [class.et-inline-tab-label--is-text]=\"!!tab.textLabel\"\n [fitUnderlineToContent]=\"tab.fitUnderlineToContent\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\"\n role=\"tab\"\n etInlineTabLabelWrapper\n cdkMonitorElementFocus\n >\n <span class=\"et-tab-content\">\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\" />\n </ng-template>\n\n <ng-template #tabTextLabel>{{ tab.textLabel }}</ng-template>\n </span>\n </div>\n</et-inline-tab-header>\n\n<div #tabBodyWrapper>\n <et-inline-tab-body\n *ngFor=\"let tab of _tabs; let i = index; trackBy: trackByTabFn\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"contentTabIndex !== null && selectedIndex === i ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.cdk-visually-hidden]=\"selectedIndex !== i\"\n [ngClass]=\"tab.bodyClass\"\n [class.sr-only]=\"selectedIndex !== i\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [preserveContent]=\"preserveContent\"\n role=\"tabpanel\"\n animationDuration=\"0ms\"\n />\n</div>\n", styles: [".et-inline-tabs{display:block}.et-inline-tabs .et-inline-tab-label--is-text{white-space:nowrap}.et-inline-tabs .et-inline-tab-label-wrapper:not([aria-disabled=true]){cursor:pointer}.et-inline-tabs .et-scrollable-container{position:relative}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InlineTabHeaderComponent, selector: "et-inline-tab-header" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: InlineTabLabelWrapperDirective, selector: "[etInlineTabLabelWrapper]", inputs: ["disabled"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: InlineTabBodyComponent, selector: "et-inline-tab-body", inputs: ["content", "origin", "animationDuration", "preserveContent", "position"], outputs: ["_onCentering", "_beforeCentering", "_afterLeavingCenter", "_onCentered"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
219
184
|
}
|
|
220
|
-
|
|
221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: InlineTabsComponent, decorators: [{
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: InlineTabsComponent, decorators: [{
|
|
222
186
|
type: Component,
|
|
223
187
|
args: [{ selector: 'et-inline-tabs', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, providers: [
|
|
224
188
|
{
|
|
@@ -237,12 +201,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
237
201
|
], host: {
|
|
238
202
|
class: 'et-inline-tabs',
|
|
239
203
|
}, template: "<et-inline-tab-header\n #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [ngClass]=\"tabHeaderClasses\"\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\"\n>\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events -->\n <div\n *ngFor=\"let tab of _tabs; let i = index; trackBy: trackByTabFn\"\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"!tab.ariaLabel && tab.ariaLabelledby ? tab.ariaLabelledby : null\"\n [disabled]=\"tab.disabled\"\n [class.et-inline-tab-label--active]=\"selectedIndex === i\"\n [class.et-inline-tab-label--is-text]=\"!!tab.textLabel\"\n [fitUnderlineToContent]=\"tab.fitUnderlineToContent\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\"\n role=\"tab\"\n etInlineTabLabelWrapper\n cdkMonitorElementFocus\n >\n <span class=\"et-tab-content\">\n <ng-template [ngIf]=\"tab.templateLabel\" [ngIfElse]=\"tabTextLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\" />\n </ng-template>\n\n <ng-template #tabTextLabel>{{ tab.textLabel }}</ng-template>\n </span>\n </div>\n</et-inline-tab-header>\n\n<div #tabBodyWrapper>\n <et-inline-tab-body\n *ngFor=\"let tab of _tabs; let i = index; trackBy: trackByTabFn\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"contentTabIndex !== null && selectedIndex === i ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [class.cdk-visually-hidden]=\"selectedIndex !== i\"\n [ngClass]=\"tab.bodyClass\"\n [class.sr-only]=\"selectedIndex !== i\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [preserveContent]=\"preserveContent\"\n role=\"tabpanel\"\n animationDuration=\"0ms\"\n />\n</div>\n", styles: [".et-inline-tabs{display:block}.et-inline-tabs .et-inline-tab-label--is-text{white-space:nowrap}.et-inline-tabs .et-inline-tab-label-wrapper:not([aria-disabled=true]){cursor:pointer}.et-inline-tabs .et-scrollable-container{position:relative}\n"] }]
|
|
240
|
-
}],
|
|
241
|
-
type: Input
|
|
204
|
+
}], propDecorators: { selectedIndex: [{
|
|
205
|
+
type: Input,
|
|
206
|
+
args: [{ transform: numberAttribute }]
|
|
242
207
|
}], contentTabIndex: [{
|
|
243
|
-
type: Input
|
|
208
|
+
type: Input,
|
|
209
|
+
args: [{ transform: numberAttribute }]
|
|
244
210
|
}], preserveContent: [{
|
|
245
|
-
type: Input
|
|
211
|
+
type: Input,
|
|
212
|
+
args: [{ transform: booleanAttribute }]
|
|
246
213
|
}], tabHeaderClasses: [{
|
|
247
214
|
type: Input
|
|
248
215
|
}], itemSize: [{
|
|
@@ -250,11 +217,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
250
217
|
}], scrollableClass: [{
|
|
251
218
|
type: Input
|
|
252
219
|
}], renderMasks: [{
|
|
253
|
-
type: Input
|
|
220
|
+
type: Input,
|
|
221
|
+
args: [{ transform: booleanAttribute }]
|
|
254
222
|
}], renderButtons: [{
|
|
255
|
-
type: Input
|
|
223
|
+
type: Input,
|
|
224
|
+
args: [{ transform: booleanAttribute }]
|
|
256
225
|
}], renderScrollbars: [{
|
|
257
|
-
type: Input
|
|
226
|
+
type: Input,
|
|
227
|
+
args: [{ transform: booleanAttribute }]
|
|
258
228
|
}], selectedIndexChange: [{
|
|
259
229
|
type: Output
|
|
260
230
|
}], focusChange: [{
|
|
@@ -271,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
271
241
|
type: ViewChild,
|
|
272
242
|
args: ['tabHeader']
|
|
273
243
|
}] } });
|
|
274
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvY29tcG9uZW50cy9pbmxpbmUtdGFicy9pbmxpbmUtdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9jb21wb25lbnRzL2lubGluZS10YWJzL2lubGluZS10YWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQTZCLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLDhCQUE4QixFQUM5QixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUV4QixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFF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ZUFBZTtzQkFEbEIsS0FBSztnQkFVTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlGLFdBQVc7c0JBRGQsS0FBSztnQkFVRixhQUFhO3NCQURoQixLQUFLO2dCQVVGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFVRyxtQkFBbUI7c0JBRDNCLE1BQU07Z0JBSUUsV0FBVztzQkFEbkIsTUFBTTtnQkFJRSxpQkFBaUI7c0JBRHpCLE1BQU07Z0JBSVAsUUFBUTtzQkFEUCxlQUFlO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJMUQsZUFBZTtzQkFEZCxTQUFTO3VCQUFDLGdCQUFnQjtnQkFJM0IsVUFBVTtzQkFEVCxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgTnVtYmVySW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0Zvck9mLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUsIFR5cGVkUXVlcnlMaXN0IH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIG1lcmdlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIElubGluZVRhYkJvZHlDb21wb25lbnQsXG4gIElubGluZVRhYkNvbXBvbmVudCxcbiAgSW5saW5lVGFiSGVhZGVyQ29tcG9uZW50LFxuICBJbmxpbmVUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUsXG4gIFRBQl9HUk9VUCxcbn0gZnJvbSAnLi4vLi4vcGFydGlhbHMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuZXhwb3J0IGNsYXNzIElubGluZVRhYkNoYW5nZUV2ZW50IHtcbiAgaW5kZXghOiBudW1iZXI7XG4gIHRhYiE6IElubGluZVRhYkNvbXBvbmVudDtcbn1cblxuaW50ZXJmYWNlIElubGluZVRhYnNCYXNlSGVhZGVyIHtcbiAgX2FsaWduSW5rQmFyVG9TZWxlY3RlZFRhYigpOiB2b2lkO1xuICB1cGRhdGVQYWdpbmF0aW9uKCk6IHZvaWQ7XG4gIGZvY3VzSW5kZXg6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtaW5saW5lLXRhYnMnLFxuICB0ZW1wbGF0ZVVybDogJ2lubGluZS10YWJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2lubGluZS10YWJzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogVEFCX0dST1VQLFxuICAgICAgdXNlRXhpc3Rpbmc6IElubGluZVRhYnNDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nRm9yT2YsXG4gICAgTmdJZixcbiAgICBJbmxpbmVUYWJIZWFkZXJDb21wb25lbnQsXG4gICAgTmdDbGFzcyxcbiAgICBJbmxpbmVUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUsXG4gICAgQTExeU1vZHVsZSxcbiAgICBJbmxpbmVUYWJCb2R5Q29tcG9uZW50LFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgXSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtaW5saW5lLXRhYnMnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBJbmxpbmVUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSW5kZXg7XG4gIH1cbiAgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgdGhpcy5faW5kZXhUb1NlbGVjdCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCBudWxsKTtcbiAgfVxuICBwcml2YXRlIF9zZWxlY3RlZEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBnZXQgY29udGVudFRhYkluZGV4KCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50VGFiSW5kZXg7XG4gIH1cbiAgc2V0IGNvbnRlbnRUYWJJbmRleCh2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICB0aGlzLl9jb250ZW50VGFiSW5kZXggPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSwgbnVsbCk7XG4gIH1cbiAgcHJpdmF0ZSBfY29udGVudFRhYkluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBnZXQgcHJlc2VydmVDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9wcmVzZXJ2ZUNvbnRlbnQ7XG4gIH1cbiAgc2V0IHByZXNlcnZlQ29udGVudCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fcHJlc2VydmVDb250ZW50ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF9wcmVzZXJ2ZUNvbnRlbnQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICB0YWJIZWFkZXJDbGFzc2VzOiBOZ0NsYXNzVHlwZTtcblxuICBASW5wdXQoKVxuICBpdGVtU2l6ZTogJ2F1dG8nIHwgJ3NhbWUnID0gJ2F1dG8nO1xuXG4gIEBJbnB1dCgpXG4gIHNjcm9sbGFibGVDbGFzcz86IE5nQ2xhc3NUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCByZW5kZXJNYXNrcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVuZGVyTWFza3M7XG4gIH1cbiAgc2V0IHJlbmRlck1hc2tzKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9yZW5kZXJNYXNrcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfcmVuZGVyTWFza3MgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCByZW5kZXJCdXR0b25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZW5kZXJCdXR0b25zO1xuICB9XG4gIHNldCByZW5kZXJCdXR0b25zKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9yZW5kZXJCdXR0b25zID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF9yZW5kZXJCdXR0b25zID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBnZXQgcmVuZGVyU2Nyb2xsYmFycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVuZGVyU2Nyb2xsYmFycztcbiAgfVxuICBzZXQgcmVuZGVyU2Nyb2xsYmFycyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fcmVuZGVyU2Nyb2xsYmFycyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfcmVuZGVyU2Nyb2xsYmFycyA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZvY3VzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJbmxpbmVUYWJDaGFuZ2VFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc2VsZWN0ZWRUYWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElubGluZVRhYkNoYW5nZUV2ZW50Pih0cnVlKTtcblxuICBAQ29udGVudENoaWxkcmVuKElubGluZVRhYkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBfYWxsVGFicyE6IFR5cGVkUXVlcnlMaXN0PElubGluZVRhYkNvbXBvbmVudD47XG5cbiAgQFZpZXdDaGlsZCgndGFiQm9keVdyYXBwZXInKVxuICBfdGFiQm9keVdyYXBwZXIhOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYkhlYWRlcicpXG4gIF90YWJIZWFkZXIhOiBJbmxpbmVUYWJzQmFzZUhlYWRlcjtcblxuICBfdGFiczogVHlwZWRRdWVyeUxpc3Q8SW5saW5lVGFiQ29tcG9uZW50PiA9IG5ldyBUeXBlZFF1ZXJ5TGlzdDxJbmxpbmVUYWJDb21wb25lbnQ+KCk7XG5cbiAgcHJpdmF0ZSBfZ3JvdXBJZCA9IG5leHRJZCsrO1xuICBwcml2YXRlIF9pbmRleFRvU2VsZWN0OiBudW1iZXIgfCBudWxsID0gMDtcbiAgcHJpdmF0ZSBfbGFzdEZvY3VzZWRUYWJJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RhYnNTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gIHByaXZhdGUgX3RhYkxhYmVsU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX3N1YnNjcmliZVRvQWxsVGFiQ2hhbmdlcygpO1xuICAgIHRoaXMuX3N1YnNjcmliZVRvVGFiTGFiZWxzKCk7XG5cbiAgICB0aGlzLl90YWJzU3Vic2NyaXB0aW9uID0gdGhpcy5fdGFicy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBpbmRleFRvU2VsZWN0ID0gdGhpcy5fY2xhbXBUYWJJbmRleCh0aGlzLl9pbmRleFRvU2VsZWN0KTtcblxuICAgICAgaWYgKGluZGV4VG9TZWxlY3QgPT09IHRoaXMuX3NlbGVjdGVkSW5kZXgpIHtcbiAgICAgICAgY29uc3QgdGFicyA9IHRoaXMuX3RhYnMudG9BcnJheSgpO1xuICAgICAgICBsZXQgc2VsZWN0ZWRUYWI6IElubGluZVRhYkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAodGFic1tpXT8uaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuX2luZGV4VG9TZWxlY3QgPSB0aGlzLl9zZWxlY3RlZEluZGV4ID0gaTtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RGb2N1c2VkVGFiSW5kZXggPSBudWxsO1xuICAgICAgICAgICAgc2VsZWN0ZWRUYWIgPSB0YWJzW2ldO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzZWxlY3RlZFRhYiAmJiB0YWJzW2luZGV4VG9TZWxlY3RdKSB7XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ID0gdGFic1tpbmRleFRvU2VsZWN0XTtcblxuICAgICAgICAgICAgaWYgKCF0KSByZXR1cm47XG5cbiAgICAgICAgICAgIHQuaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYkNoYW5nZS5lbWl0KHRoaXMuX2NyZWF0ZUNoYW5nZUV2ZW50KGluZGV4VG9TZWxlY3QpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgY29uc3QgaW5kZXhUb1NlbGVjdCA9ICh0aGlzLl9pbmRleFRvU2VsZWN0ID0gdGhpcy5fY2xhbXBUYWJJbmRleCh0aGlzLl9pbmRleFRvU2VsZWN0KSk7XG5cbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleCAhPSBpbmRleFRvU2VsZWN0KSB7XG4gICAgICBjb25zdCBpc0ZpcnN0UnVuID0gdGhpcy5fc2VsZWN0ZWRJbmRleCA9PSBudWxsO1xuXG4gICAgICBpZiAoIWlzRmlyc3RSdW4pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhYkNoYW5nZS5lbWl0KHRoaXMuX2NyZWF0ZUNoYW5nZUV2ZW50KGluZGV4VG9TZWxlY3QpKTtcblxuICAgICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5fdGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudDtcbiAgICAgICAgd3JhcHBlci5zdHlsZS5taW5IZWlnaHQgPSB3cmFwcGVyLmNsaWVudEhlaWdodCArICdweCc7XG4gICAgICB9XG5cbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLl90YWJzXG4gICAgICAgICAgLmZpbHRlcigodCk6IHQgaXMgSW5saW5lVGFiQ29tcG9uZW50ID0+ICEhdClcbiAgICAgICAgICAuZm9yRWFjaCgodGFiLCBpbmRleCkgPT4gKHRhYi5pc0FjdGl2ZSA9IGluZGV4ID09PSBpbmRleFRvU2VsZWN0KSk7XG5cbiAgICAgICAgaWYgKCFpc0ZpcnN0UnVuKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQoaW5kZXhUb1NlbGVjdCk7XG4gICAgICAgICAgdGhpcy5fdGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudC5zdHlsZS5taW5IZWlnaHQgPSAnJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5fdGFicy5mb3JFYWNoKCh0YWIsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoIXRhYikgcmV0dXJuO1xuXG4gICAgICB0YWIucG9zaXRpb24gPSBpbmRleCAtIGluZGV4VG9TZWxlY3Q7XG5cbiAgICAgIGlmICh0aGlzLl9zZWxlY3RlZEluZGV4ICE9IG51bGwgJiYgdGFiLnBvc2l0aW9uID09IDAgJiYgIXRhYi5vcmlnaW4pIHtcbiAgICAgICAgdGFiLm9yaWdpbiA9IGluZGV4VG9TZWxlY3QgLSB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkSW5kZXggIT09IGluZGV4VG9TZWxlY3QpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSBpbmRleFRvU2VsZWN0O1xuICAgICAgdGhpcy5fbGFzdEZvY3VzZWRUYWJJbmRleCA9IG51bGw7XG4gICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fdGFicy5kZXN0cm95KCk7XG4gICAgdGhpcy5fdGFic1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3RhYkxhYmVsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB0cmFja0J5VGFiRm46IFRyYWNrQnlGdW5jdGlvbjxJbmxpbmVUYWJDb21wb25lbnQ+ID0gKGluZGV4KSA9PiBpbmRleDtcblxuICByZWFsaWduSW5rQmFyKCkge1xuICAgIGlmICh0aGlzLl90YWJIZWFkZXIpIHtcbiAgICAgIHRoaXMuX3RhYkhlYWRlci5fYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlUGFnaW5hdGlvbigpIHtcbiAgICBpZiAodGhpcy5fdGFiSGVhZGVyKSB7XG4gICAgICB0aGlzLl90YWJIZWFkZXIudXBkYXRlUGFnaW5hdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIGZvY3VzVGFiKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBoZWFkZXIgPSB0aGlzLl90YWJIZWFkZXI7XG5cbiAgICBpZiAoaGVhZGVyKSB7XG4gICAgICBoZWFkZXIuZm9jdXNJbmRleCA9IGluZGV4O1xuICAgIH1cbiAgfVxuXG4gIF9mb2N1c0NoYW5nZWQoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuX2xhc3RGb2N1c2VkVGFiSW5kZXggPSBpbmRleDtcbiAgICB0aGlzLmZvY3VzQ2hhbmdlLmVtaXQodGhpcy5fY3JlYXRlQ2hhbmdlRXZlbnQoaW5kZXgpKTtcbiAgfVxuXG4gIF9nZXRUYWJMYWJlbElkKGk6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBldC1pbmxpbmUtdGFiLWxhYmVsLSR7dGhpcy5fZ3JvdXBJZH0tJHtpfWA7XG4gIH1cblxuICBfZ2V0VGFiQ29udGVudElkKGk6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBldC1pbmxpbmUtdGFiLWNvbnRlbnQtJHt0aGlzLl9ncm91cElkfS0ke2l9YDtcbiAgfVxuXG4gIF9oYW5kbGVDbGljayh0YWI6IElubGluZVRhYkNvbXBvbmVudCwgdGFiSGVhZGVyOiBJbmxpbmVUYWJzQmFzZUhlYWRlciwgaW5kZXg6IG51bWJlcikge1xuICAgIGlmICghdGFiLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSB0YWJIZWFkZXIuZm9jdXNJbmRleCA9IGluZGV4O1xuICAgIH1cbiAgfVxuXG4gIF9nZXRUYWJJbmRleCh0YWI6IElubGluZVRhYkNvbXBvbmVudCwgaW5kZXg6IG51bWJlcik6IG51bWJlciB8IG51bGwge1xuICAgIGlmICh0YWIuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXRJbmRleCA9IHRoaXMuX2xhc3RGb2N1c2VkVGFiSW5kZXggPz8gdGhpcy5zZWxlY3RlZEluZGV4O1xuICAgIHJldHVybiBpbmRleCA9PT0gdGFyZ2V0SW5kZXggPyAwIDogLTE7XG4gIH1cblxuICBfdGFiRm9jdXNDaGFuZ2VkKGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiwgaW5kZXg6IG51bWJlcikge1xuICAgIGlmIChmb2N1c09yaWdpbiAmJiBmb2N1c09yaWdpbiAhPT0gJ21vdXNlJyAmJiBmb2N1c09yaWdpbiAhPT0gJ3RvdWNoJykge1xuICAgICAgdGhpcy5fdGFiSGVhZGVyLmZvY3VzSW5kZXggPSBpbmRleDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmVUb0FsbFRhYkNoYW5nZXMoKSB7XG4gICAgdGhpcy5fYWxsVGFicy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuX2FsbFRhYnMpKS5zdWJzY3JpYmUoKHRhYnMpID0+IHtcbiAgICAgIHRoaXMuX3RhYnMucmVzZXQoXG4gICAgICAgIHRhYnNcbiAgICAgICAgICAuZmlsdGVyKCh0KTogdCBpcyBJbmxpbmVUYWJDb21wb25lbnQgPT4gISF0KVxuICAgICAgICAgIC5maWx0ZXIoKHRhYikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRhYi5fY2xvc2VzdFRhYkdyb3VwID09PSB0aGlzIHx8ICF0YWIuX2Nsb3Nlc3RUYWJHcm91cDtcbiAgICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgICB0aGlzLl90YWJzLm5vdGlmeU9uQ2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xhbXBUYWJJbmRleChpbmRleDogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKHRoaXMuX3RhYnMubGVuZ3RoIC0gMSwgTWF0aC5tYXgoaW5kZXggfHwgMCwgMCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaWJlVG9UYWJMYWJlbHMoKSB7XG4gICAgaWYgKHRoaXMuX3RhYkxhYmVsU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl90YWJMYWJlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX3RhYkxhYmVsU3Vic2NyaXB0aW9uID0gbWVyZ2UoXG4gICAgICAuLi50aGlzLl90YWJzLmZpbHRlcigodCk6IHQgaXMgSW5saW5lVGFiQ29tcG9uZW50ID0+ICEhdCkubWFwKCh0YWIpID0+IHRhYi5fc3RhdGVDaGFuZ2VzKSxcbiAgICApLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2hhbmdlRXZlbnQoaW5kZXg6IG51bWJlcik6IElubGluZVRhYkNoYW5nZUV2ZW50IHtcbiAgICBjb25zdCBldmVudCA9IG5ldyBJbmxpbmVUYWJDaGFuZ2VFdmVudCgpO1xuICAgIGV2ZW50LmluZGV4ID0gaW5kZXg7XG4gICAgaWYgKHRoaXMuX3RhYnMgJiYgdGhpcy5fdGFicy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHRhYiA9IHRoaXMuX3RhYnMudG9BcnJheSgpW2luZGV4XTtcblxuICAgICAgaWYgKHRhYikge1xuICAgICAgICBldmVudC50YWIgPSB0YWI7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBldmVudDtcbiAgfVxufVxuIiwiPGV0LWlubGluZS10YWItaGVhZGVyXG4gICN0YWJIZWFkZXJcbiAgW3NlbGVjdGVkSW5kZXhdPVwic2VsZWN0ZWRJbmRleCB8fCAwXCJcbiAgW25nQ2xhc3NdPVwidGFiSGVhZGVyQ2xhc3Nlc1wiXG4gIFtpdGVtU2l6ZV09XCJpdGVtU2l6ZVwiXG4gIFtyZW5kZXJCdXR0b25zXT1cInJlbmRlckJ1dHRvbnNcIlxuICBbc2Nyb2xsYWJsZUNsYXNzXT1cInNjcm9sbGFibGVDbGFzc1wiXG4gIFtyZW5kZXJNYXNrc109XCJyZW5kZXJNYXNrc1wiXG4gIFtyZW5kZXJTY3JvbGxiYXJzXT1cInJlbmRlclNjcm9sbGJhcnNcIlxuICAoaW5kZXhGb2N1c2VkKT1cIl9mb2N1c0NoYW5nZWQoJGV2ZW50KVwiXG4gIChzZWxlY3RGb2N1c2VkSW5kZXgpPVwic2VsZWN0ZWRJbmRleCA9ICRldmVudFwiXG4+XG4gIDwhLS0gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC90ZW1wbGF0ZS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzIC0tPlxuICA8ZGl2XG4gICAgKm5nRm9yPVwibGV0IHRhYiBvZiBfdGFiczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVRhYkZuXCJcbiAgICBbaWRdPVwiX2dldFRhYkxhYmVsSWQoaSlcIlxuICAgIFthdHRyLnRhYkluZGV4XT1cIl9nZXRUYWJJbmRleCh0YWIsIGkpXCJcbiAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImkgKyAxXCJcbiAgICBbYXR0ci5hcmlhLXNldHNpemVdPVwiX3RhYnMubGVuZ3RoXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIl9nZXRUYWJDb250ZW50SWQoaSlcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwic2VsZWN0ZWRJbmRleCA9PT0gaVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0YWIuYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIhdGFiLmFyaWFMYWJlbCAmJiB0YWIuYXJpYUxhYmVsbGVkYnkgPyB0YWIuYXJpYUxhYmVsbGVkYnkgOiBudWxsXCJcbiAgICBbZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCJcbiAgICBbY2xhc3MuZXQtaW5saW5lLXRhYi1sYWJlbC0tYWN0aXZlXT1cInNlbGVjdGVkSW5kZXggPT09IGlcIlxuICAgIFtjbGFzcy5ldC1pbmxpbmUtdGFiLWxhYmVsLS1pcy10ZXh0XT1cIiEhdGFiLnRleHRMYWJlbFwiXG4gICAgW2ZpdFVuZGVybGluZVRvQ29udGVudF09XCJ0YWIuZml0VW5kZXJsaW5lVG9Db250ZW50XCJcbiAgICAoY2xpY2spPVwiX2hhbmRsZUNsaWNrKHRhYiwgdGFiSGVhZGVyLCBpKVwiXG4gICAgKGNka0ZvY3VzQ2hhbmdlKT1cIl90YWJGb2N1c0NoYW5nZWQoJGV2ZW50LCBpKVwiXG4gICAgcm9sZT1cInRhYlwiXG4gICAgZXRJbmxpbmVUYWJMYWJlbFdyYXBwZXJcbiAgICBjZGtNb25pdG9yRWxlbWVudEZvY3VzXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cImV0LXRhYi1jb250ZW50XCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwidGFiLnRlbXBsYXRlTGFiZWxcIiBbbmdJZkVsc2VdPVwidGFiVGV4dExhYmVsXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInRhYi50ZW1wbGF0ZUxhYmVsXCIgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdGFiVGV4dExhYmVsPnt7IHRhYi50ZXh0TGFiZWwgfX08L25nLXRlbXBsYXRlPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2V0LWlubGluZS10YWItaGVhZGVyPlxuXG48ZGl2ICN0YWJCb2R5V3JhcHBlcj5cbiAgPGV0LWlubGluZS10YWItYm9keVxuICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgX3RhYnM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlUYWJGblwiXG4gICAgW2lkXT1cIl9nZXRUYWJDb250ZW50SWQoaSlcIlxuICAgIFthdHRyLnRhYmluZGV4XT1cImNvbnRlbnRUYWJJbmRleCAhPT0gbnVsbCAmJiBzZWxlY3RlZEluZGV4ID09PSBpID8gY29udGVudFRhYkluZGV4IDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIl9nZXRUYWJMYWJlbElkKGkpXCJcbiAgICBbY2xhc3MuY2RrLXZpc3VhbGx5LWhpZGRlbl09XCJzZWxlY3RlZEluZGV4ICE9PSBpXCJcbiAgICBbbmdDbGFzc109XCJ0YWIuYm9keUNsYXNzXCJcbiAgICBbY2xhc3Muc3Itb25seV09XCJzZWxlY3RlZEluZGV4ICE9PSBpXCJcbiAgICBbY29udGVudF09XCJ0YWIuY29udGVudCFcIlxuICAgIFtwb3NpdGlvbl09XCJ0YWIucG9zaXRpb24hXCJcbiAgICBbb3JpZ2luXT1cInRhYi5vcmlnaW5cIlxuICAgIFtwcmVzZXJ2ZUNvbnRlbnRdPVwicHJlc2VydmVDb250ZW50XCJcbiAgICByb2xlPVwidGFicGFuZWxcIlxuICAgIGFuaW1hdGlvbkR1cmF0aW9uPVwiMG1zXCJcbiAgLz5cbjwvZGl2PlxuIl19
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvY29tcG9uZW50cy9pbmxpbmUtdGFicy9pbmxpbmUtdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9jb21wb25lbnRzL2lubGluZS10YWJzL2lubGluZS10YWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUdMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsOEJBQThCLEVBQzlCLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXhCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmLE1BQU0sT0FBTyxvQkFBb0I7Q0FHaEM7QUFtQ0QsTUFB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OzhCQU1ELGFBQWE7c0JBRFosS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJDLGVBQWU7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJDLGVBQWU7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEMsZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRDLGFBQWE7c0JBRFosS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEMsZ0JBQWdCO3NCQURmLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSTdCLG1CQUFtQjtzQkFEM0IsTUFBTTtnQkFJRSxXQUFXO3NCQURuQixNQUFNO2dCQUlFLGlCQUFpQjtzQkFEekIsTUFBTTtnQkFJUCxRQUFRO3NCQURQLGVBQWU7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUkxRCxlQUFlO3NCQURkLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUkzQixVQUFVO3NCQURULFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0Zvck9mLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGluamVjdCxcbiAgbnVtYmVyQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlLCBUeXBlZFF1ZXJ5TGlzdCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBtZXJnZSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBJbmxpbmVUYWJCb2R5Q29tcG9uZW50LFxuICBJbmxpbmVUYWJDb21wb25lbnQsXG4gIElubGluZVRhYkhlYWRlckNvbXBvbmVudCxcbiAgSW5saW5lVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICBUQUJfR1JPVVAsXG59IGZyb20gJy4uLy4uL3BhcnRpYWxzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbmV4cG9ydCBjbGFzcyBJbmxpbmVUYWJDaGFuZ2VFdmVudCB7XG4gIGluZGV4ITogbnVtYmVyO1xuICB0YWIhOiBJbmxpbmVUYWJDb21wb25lbnQ7XG59XG5cbmludGVyZmFjZSBJbmxpbmVUYWJzQmFzZUhlYWRlciB7XG4gIF9hbGlnbklua0JhclRvU2VsZWN0ZWRUYWIoKTogdm9pZDtcbiAgdXBkYXRlUGFnaW5hdGlvbigpOiB2b2lkO1xuICBmb2N1c0luZGV4OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWlubGluZS10YWJzJyxcbiAgdGVtcGxhdGVVcmw6ICdpbmxpbmUtdGFicy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydpbmxpbmUtdGFicy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRBQl9HUk9VUCxcbiAgICAgIHVzZUV4aXN0aW5nOiBJbmxpbmVUYWJzQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0Zvck9mLFxuICAgIE5nSWYsXG4gICAgSW5saW5lVGFiSGVhZGVyQ29tcG9uZW50LFxuICAgIE5nQ2xhc3MsXG4gICAgSW5saW5lVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICAgIEExMXlNb2R1bGUsXG4gICAgSW5saW5lVGFiQm9keUNvbXBvbmVudCxcbiAgICBQb3J0YWxNb2R1bGUsXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWlubGluZS10YWJzJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgSW5saW5lVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgc2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgY29udGVudFRhYkluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHJlc2VydmVDb250ZW50ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgdGFiSGVhZGVyQ2xhc3NlczogTmdDbGFzc1R5cGU7XG5cbiAgQElucHV0KClcbiAgaXRlbVNpemU6ICdhdXRvJyB8ICdzYW1lJyA9ICdhdXRvJztcblxuICBASW5wdXQoKVxuICBzY3JvbGxhYmxlQ2xhc3M/OiBOZ0NsYXNzVHlwZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcmVuZGVyTWFza3MgPSB0cnVlO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICByZW5kZXJCdXR0b25zID0gdHJ1ZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcmVuZGVyU2Nyb2xsYmFycyA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZvY3VzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJbmxpbmVUYWJDaGFuZ2VFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc2VsZWN0ZWRUYWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElubGluZVRhYkNoYW5nZUV2ZW50Pih0cnVlKTtcblxuICBAQ29udGVudENoaWxkcmVuKElubGluZVRhYkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBfYWxsVGFicyE6IFR5cGVkUXVlcnlMaXN0PElubGluZVRhYkNvbXBvbmVudD47XG5cbiAgQFZpZXdDaGlsZCgndGFiQm9keVdyYXBwZXInKVxuICBfdGFiQm9keVdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgQFZpZXdDaGlsZCgndGFiSGVhZGVyJylcbiAgX3RhYkhlYWRlciE6IElubGluZVRhYnNCYXNlSGVhZGVyO1xuXG4gIF90YWJzOiBUeXBlZFF1ZXJ5TGlzdDxJbmxpbmVUYWJDb21wb25lbnQ+ID0gbmV3IFR5cGVkUXVlcnlMaXN0PElubGluZVRhYkNvbXBvbmVudD4oKTtcblxuICBwcml2YXRlIF9ncm91cElkID0gbmV4dElkKys7XG4gIHByaXZhdGUgX2xhc3RGb2N1c2VkVGFiSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90YWJzU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICBwcml2YXRlIF90YWJMYWJlbFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5fc3Vic2NyaWJlVG9BbGxUYWJDaGFuZ2VzKCk7XG4gICAgdGhpcy5fc3Vic2NyaWJlVG9UYWJMYWJlbHMoKTtcblxuICAgIHRoaXMuX3RhYnNTdWJzY3JpcHRpb24gPSB0aGlzLl90YWJzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4VG9TZWxlY3QgPSB0aGlzLl9jbGFtcFRhYkluZGV4KHRoaXMuc2VsZWN0ZWRJbmRleCk7XG5cbiAgICAgIGlmIChpbmRleFRvU2VsZWN0ID09PSB0aGlzLnNlbGVjdGVkSW5kZXgpIHtcbiAgICAgICAgY29uc3QgdGFicyA9IHRoaXMuX3RhYnMudG9BcnJheSgpO1xuICAgICAgICBsZXQgc2VsZWN0ZWRUYWI6IElubGluZVRhYkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAodGFic1tpXT8uaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IGk7XG4gICAgICAgICAgICB0aGlzLl9sYXN0Rm9jdXNlZFRhYkluZGV4ID0gbnVsbDtcbiAgICAgICAgICAgIHNlbGVjdGVkVGFiID0gdGFic1tpXTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2VsZWN0ZWRUYWIgJiYgdGFic1tpbmRleFRvU2VsZWN0XSkge1xuICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdCA9IHRhYnNbaW5kZXhUb1NlbGVjdF07XG5cbiAgICAgICAgICAgIGlmICghdCkgcmV0dXJuO1xuXG4gICAgICAgICAgICB0LmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYWJDaGFuZ2UuZW1pdCh0aGlzLl9jcmVhdGVDaGFuZ2VFdmVudChpbmRleFRvU2VsZWN0KSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgIGNvbnN0IGluZGV4VG9TZWxlY3QgPSAodGhpcy5zZWxlY3RlZEluZGV4ID0gdGhpcy5fY2xhbXBUYWJJbmRleCh0aGlzLnNlbGVjdGVkSW5kZXgpKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT0gaW5kZXhUb1NlbGVjdCAmJiB0aGlzLl90YWJCb2R5V3JhcHBlcikge1xuICAgICAgY29uc3QgaXNGaXJzdFJ1biA9IHRoaXMuc2VsZWN0ZWRJbmRleCA9PSBudWxsO1xuXG4gICAgICBpZiAoIWlzRmlyc3RSdW4pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhYkNoYW5nZS5lbWl0KHRoaXMuX2NyZWF0ZUNoYW5nZUV2ZW50KGluZGV4VG9TZWxlY3QpKTtcblxuICAgICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5fdGFiQm9keVdyYXBwZXI/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHdyYXBwZXIuc3R5bGUubWluSGVpZ2h0ID0gd3JhcHBlci5jbGllbnRIZWlnaHQgKyAncHgnO1xuICAgICAgfVxuXG4gICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5fdGFic1xuICAgICAgICAgIC5maWx0ZXIoKHQpOiB0IGlzIElubGluZVRhYkNvbXBvbmVudCA9PiAhIXQpXG4gICAgICAgICAgLmZvckVhY2goKHRhYiwgaW5kZXgpID0+ICh0YWIuaXNBY3RpdmUgPSBpbmRleCA9PT0gaW5kZXhUb1NlbGVjdCkpO1xuXG4gICAgICAgIGlmICghaXNGaXJzdFJ1bikge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleENoYW5nZS5lbWl0KGluZGV4VG9TZWxlY3QpO1xuXG4gICAgICAgICAgaWYgKHRoaXMuX3RhYkJvZHlXcmFwcGVyKSB7XG4gICAgICAgICAgICB0aGlzLl90YWJCb2R5V3JhcHBlci5uYXRpdmVFbGVtZW50LnN0eWxlLm1pbkhlaWdodCA9ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5fdGFicy5mb3JFYWNoKCh0YWIsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoIXRhYikgcmV0dXJuO1xuXG4gICAgICB0YWIucG9zaXRpb24gPSBpbmRleCAtIGluZGV4VG9TZWxlY3Q7XG5cbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT0gbnVsbCAmJiB0YWIucG9zaXRpb24gPT0gMCAmJiAhdGFiLm9yaWdpbikge1xuICAgICAgICB0YWIub3JpZ2luID0gaW5kZXhUb1NlbGVjdCAtIHRoaXMuc2VsZWN0ZWRJbmRleDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggIT09IGluZGV4VG9TZWxlY3QpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IGluZGV4VG9TZWxlY3Q7XG4gICAgICB0aGlzLl9sYXN0Rm9jdXNlZFRhYkluZGV4ID0gbnVsbDtcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl90YWJzLmRlc3Ryb3koKTtcbiAgICB0aGlzLl90YWJzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHRyYWNrQnlUYWJGbjogVHJhY2tCeUZ1bmN0aW9uPElubGluZVRhYkNvbXBvbmVudD4gPSAoaW5kZXgpID0+IGluZGV4O1xuXG4gIHJlYWxpZ25JbmtCYXIoKSB7XG4gICAgaWYgKHRoaXMuX3RhYkhlYWRlcikge1xuICAgICAgdGhpcy5fdGFiSGVhZGVyLl9hbGlnbklua0JhclRvU2VsZWN0ZWRUYWIoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVQYWdpbmF0aW9uKCkge1xuICAgIGlmICh0aGlzLl90YWJIZWFkZXIpIHtcbiAgICAgIHRoaXMuX3RhYkhlYWRlci51cGRhdGVQYWdpbmF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNUYWIoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuX3RhYkhlYWRlcjtcblxuICAgIGlmIChoZWFkZXIpIHtcbiAgICAgIGhlYWRlci5mb2N1c0luZGV4ID0gaW5kZXg7XG4gICAgfVxuICB9XG5cbiAgX2ZvY3VzQ2hhbmdlZChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5fbGFzdEZvY3VzZWRUYWJJbmRleCA9IGluZGV4O1xuICAgIHRoaXMuZm9jdXNDaGFuZ2UuZW1pdCh0aGlzLl9jcmVhdGVDaGFuZ2VFdmVudChpbmRleCkpO1xuICB9XG5cbiAgX2dldFRhYkxhYmVsSWQoaTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGV0LWlubGluZS10YWItbGFiZWwtJHt0aGlzLl9ncm91cElkfS0ke2l9YDtcbiAgfVxuXG4gIF9nZXRUYWJDb250ZW50SWQoaTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGV0LWlubGluZS10YWItY29udGVudC0ke3RoaXMuX2dyb3VwSWR9LSR7aX1gO1xuICB9XG5cbiAgX2hhbmRsZUNsaWNrKHRhYjogSW5saW5lVGFiQ29tcG9uZW50LCB0YWJIZWFkZXI6IElubGluZVRhYnNCYXNlSGVhZGVyLCBpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKCF0YWIuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IHRhYkhlYWRlci5mb2N1c0luZGV4ID0gaW5kZXg7XG4gICAgfVxuICB9XG5cbiAgX2dldFRhYkluZGV4KHRhYjogSW5saW5lVGFiQ29tcG9uZW50LCBpbmRleDogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKHRhYi5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gdGhpcy5fbGFzdEZvY3VzZWRUYWJJbmRleCA/PyB0aGlzLnNlbGVjdGVkSW5kZXg7XG4gICAgcmV0dXJuIGluZGV4ID09PSB0YXJnZXRJbmRleCA/IDAgOiAtMTtcbiAgfVxuXG4gIF90YWJGb2N1c0NoYW5nZWQoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luLCBpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGZvY3VzT3JpZ2luICYmIGZvY3VzT3JpZ2luICE9PSAnbW91c2UnICYmIGZvY3VzT3JpZ2luICE9PSAndG91Y2gnKSB7XG4gICAgICB0aGlzLl90YWJIZWFkZXIuZm9jdXNJbmRleCA9IGluZGV4O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZVRvQWxsVGFiQ2hhbmdlcygpIHtcbiAgICB0aGlzLl9hbGxUYWJzLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5fYWxsVGFicykpLnN1YnNjcmliZSgodGFicykgPT4ge1xuICAgICAgdGhpcy5fdGFicy5yZXNldChcbiAgICAgICAgdGFic1xuICAgICAgICAgIC5maWx0ZXIoKHQpOiB0IGlzIElubGluZVRhYkNvbXBvbmVudCA9PiAhIXQpXG4gICAgICAgICAgLmZpbHRlcigodGFiKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGFiLl9jbG9zZXN0VGFiR3JvdXAgPT09IHRoaXMgfHwgIXRhYi5fY2xvc2VzdFRhYkdyb3VwO1xuICAgICAgICAgIH0pLFxuICAgICAgKTtcbiAgICAgIHRoaXMuX3RhYnMubm90aWZ5T25DaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jbGFtcFRhYkluZGV4KGluZGV4OiBudW1iZXIgfCBudWxsKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5taW4odGhpcy5fdGFicy5sZW5ndGggLSAxLCBNYXRoLm1heChpbmRleCB8fCAwLCAwKSk7XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmVUb1RhYkxhYmVscygpIHtcbiAgICBpZiAodGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuX3RhYkxhYmVsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24gPSBtZXJnZShcbiAgICAgIC4uLnRoaXMuX3RhYnMuZmlsdGVyKCh0KTogdCBpcyBJbmxpbmVUYWJDb21wb25lbnQgPT4gISF0KS5tYXAoKHRhYikgPT4gdGFiLl9zdGF0ZUNoYW5nZXMpLFxuICAgICkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKSk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVDaGFuZ2VFdmVudChpbmRleDogbnVtYmVyKTogSW5saW5lVGFiQ2hhbmdlRXZlbnQge1xuICAgIGNvbnN0IGV2ZW50ID0gbmV3IElubGluZVRhYkNoYW5nZUV2ZW50KCk7XG4gICAgZXZlbnQuaW5kZXggPSBpbmRleDtcbiAgICBpZiAodGhpcy5fdGFicyAmJiB0aGlzLl90YWJzLmxlbmd0aCkge1xuICAgICAgY29uc3QgdGFiID0gdGhpcy5fdGFicy50b0FycmF5KClbaW5kZXhdO1xuXG4gICAgICBpZiAodGFiKSB7XG4gICAgICAgIGV2ZW50LnRhYiA9IHRhYjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGV2ZW50O1xuICB9XG59XG4iLCI8ZXQtaW5saW5lLXRhYi1oZWFkZXJcbiAgI3RhYkhlYWRlclxuICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEluZGV4IHx8IDBcIlxuICBbbmdDbGFzc109XCJ0YWJIZWFkZXJDbGFzc2VzXCJcbiAgW2l0ZW1TaXplXT1cIml0ZW1TaXplXCJcbiAgW3JlbmRlckJ1dHRvbnNdPVwicmVuZGVyQnV0dG9uc1wiXG4gIFtzY3JvbGxhYmxlQ2xhc3NdPVwic2Nyb2xsYWJsZUNsYXNzXCJcbiAgW3JlbmRlck1hc2tzXT1cInJlbmRlck1hc2tzXCJcbiAgW3JlbmRlclNjcm9sbGJhcnNdPVwicmVuZGVyU2Nyb2xsYmFyc1wiXG4gIChpbmRleEZvY3VzZWQpPVwiX2ZvY3VzQ2hhbmdlZCgkZXZlbnQpXCJcbiAgKHNlbGVjdEZvY3VzZWRJbmRleCk9XCJzZWxlY3RlZEluZGV4ID0gJGV2ZW50XCJcbj5cbiAgPCEtLSBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3RlbXBsYXRlL2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgLS0+XG4gIDxkaXZcbiAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIF90YWJzOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5VGFiRm5cIlxuICAgIFtpZF09XCJfZ2V0VGFiTGFiZWxJZChpKVwiXG4gICAgW2F0dHIudGFiSW5kZXhdPVwiX2dldFRhYkluZGV4KHRhYiwgaSlcIlxuICAgIFthdHRyLmFyaWEtcG9zaW5zZXRdPVwiaSArIDFcIlxuICAgIFthdHRyLmFyaWEtc2V0c2l6ZV09XCJfdGFicy5sZW5ndGhcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiX2dldFRhYkNvbnRlbnRJZChpKVwiXG4gICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJzZWxlY3RlZEluZGV4ID09PSBpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRhYi5hcmlhTGFiZWwgfHwgbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIiF0YWIuYXJpYUxhYmVsICYmIHRhYi5hcmlhTGFiZWxsZWRieSA/IHRhYi5hcmlhTGFiZWxsZWRieSA6IG51bGxcIlxuICAgIFtkaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIlxuICAgIFtjbGFzcy5ldC1pbmxpbmUtdGFiLWxhYmVsLS1hY3RpdmVdPVwic2VsZWN0ZWRJbmRleCA9PT0gaVwiXG4gICAgW2NsYXNzLmV0LWlubGluZS10YWItbGFiZWwtLWlzLXRleHRdPVwiISF0YWIudGV4dExhYmVsXCJcbiAgICBbZml0VW5kZXJsaW5lVG9Db250ZW50XT1cInRhYi5maXRVbmRlcmxpbmVUb0NvbnRlbnRcIlxuICAgIChjbGljayk9XCJfaGFuZGxlQ2xpY2sodGFiLCB0YWJIZWFkZXIsIGkpXCJcbiAgICAoY2RrRm9jdXNDaGFuZ2UpPVwiX3RhYkZvY3VzQ2hhbmdlZCgkZXZlbnQsIGkpXCJcbiAgICByb2xlPVwidGFiXCJcbiAgICBldElubGluZVRhYkxhYmVsV3JhcHBlclxuICAgIGNka01vbml0b3JFbGVtZW50Rm9jdXNcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwiZXQtdGFiLWNvbnRlbnRcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJ0YWIudGVtcGxhdGVMYWJlbFwiIFtuZ0lmRWxzZV09XCJ0YWJUZXh0TGFiZWxcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwidGFiLnRlbXBsYXRlTGFiZWxcIiAvPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPG5nLXRlbXBsYXRlICN0YWJUZXh0TGFiZWw+e3sgdGFiLnRleHRMYWJlbCB9fTwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvZXQtaW5saW5lLXRhYi1oZWFkZXI+XG5cbjxkaXYgI3RhYkJvZHlXcmFwcGVyPlxuICA8ZXQtaW5saW5lLXRhYi1ib2R5XG4gICAgKm5nRm9yPVwibGV0IHRhYiBvZiBfdGFiczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVRhYkZuXCJcbiAgICBbaWRdPVwiX2dldFRhYkNvbnRlbnRJZChpKVwiXG4gICAgW2F0dHIudGFiaW5kZXhdPVwiY29udGVudFRhYkluZGV4ICE9PSBudWxsICYmIHNlbGVjdGVkSW5kZXggPT09IGkgPyBjb250ZW50VGFiSW5kZXggOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiX2dldFRhYkxhYmVsSWQoaSlcIlxuICAgIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cInNlbGVjdGVkSW5kZXggIT09IGlcIlxuICAgIFtuZ0NsYXNzXT1cInRhYi5ib2R5Q2xhc3NcIlxuICAgIFtjbGFzcy5zci1vbmx5XT1cInNlbGVjdGVkSW5kZXggIT09IGlcIlxuICAgIFtjb250ZW50XT1cInRhYi5jb250ZW50IVwiXG4gICAgW3Bvc2l0aW9uXT1cInRhYi5wb3NpdGlvbiFcIlxuICAgIFtvcmlnaW5dPVwidGFiLm9yaWdpblwiXG4gICAgW3ByZXNlcnZlQ29udGVudF09XCJwcmVzZXJ2ZUNvbnRlbnRcIlxuICAgIHJvbGU9XCJ0YWJwYW5lbFwiXG4gICAgYW5pbWF0aW9uRHVyYXRpb249XCIwbXNcIlxuICAvPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { Directionality } from '@angular/cdk/bidi';
|
|
2
|
-
import { ViewportRuler } from '@angular/cdk/scrolling';
|
|
3
1
|
import { NgClass } from '@angular/common';
|
|
4
|
-
import { ChangeDetectionStrategy,
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, forwardRef, HostBinding, inject, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
5
3
|
import { NavigationEnd, Router } from '@angular/router';
|
|
6
4
|
import { ScrollObserverIgnoreTargetDirective, TypedQueryList } from '@ethlete/core';
|
|
7
5
|
import { filter, startWith, takeUntil, tap } from 'rxjs';
|
|
@@ -10,18 +8,14 @@ import { NavTabLinkComponent } from '../../partials/nav-tabs/nav-tab-link';
|
|
|
10
8
|
import { NavTabsOutletComponent } from '../../partials/nav-tabs/nav-tabs-outlet';
|
|
11
9
|
import { ActiveTabUnderlineBarManager, ActiveTabUnderlineDirective, PaginatedTabHeaderDirective } from '../../utils';
|
|
12
10
|
import * as i0 from "@angular/core";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
export class NavTabsComponent extends PaginatedTabHeaderDirective {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this._router = inject(Router);
|
|
15
|
+
}
|
|
17
16
|
get _attrRole() {
|
|
18
17
|
return this._getRole();
|
|
19
18
|
}
|
|
20
|
-
constructor(elementRef, dir, ngZone, _cdr, viewportRuler, _router) {
|
|
21
|
-
super(elementRef, _cdr, viewportRuler, dir, ngZone);
|
|
22
|
-
this._cdr = _cdr;
|
|
23
|
-
this._router = _router;
|
|
24
|
-
}
|
|
25
19
|
ngOnInit() {
|
|
26
20
|
this._router.events
|
|
27
21
|
.pipe(filter((e) => e instanceof NavigationEnd), tap(() => this.updateActiveLink()), takeUntil(this._destroy$))
|
|
@@ -62,18 +56,15 @@ class NavTabsComponent extends PaginatedTabHeaderDirective {
|
|
|
62
56
|
_getRole() {
|
|
63
57
|
return this.tabOutlet ? 'tablist' : this._elementRef.nativeElement.getAttribute('role');
|
|
64
58
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: NavTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: NavTabsComponent, isStandalone: true, selector: "[et-nav-tabs]", inputs: { tabOutlet: "tabOutlet" }, host: { properties: { "attr.role": "this._attrRole" }, classAttribute: "et-nav-tabs" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return NavTabLinkComponent; }), descendants: true }, { propertyName: "_inkBars", predicate: i0.forwardRef(function () { return ActiveTabUnderlineDirective; }), descendants: true }], viewQueries: [{ propertyName: "_scrollable", first: true, predicate: ScrollableComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<et-scrollable\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (keydown)=\"_handleKeydown($event)\"\n (contentChanged)=\"_onContentChanges()\"\n>\n <ng-content />\n</et-scrollable>\n", dependencies: [{ kind: "component", type: ScrollableComponent, selector: "et-scrollable", inputs: ["itemSize", "direction", "scrollableRole", "scrollableClass", "renderMasks", "renderButtons", "renderScrollbars", "stickyButtons", "cursorDragScroll", "disableActiveElementScrolling", "scrollMode", "snap", "scrollMargin"], outputs: ["scrollStateChange", "intersectionChange"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
67
61
|
}
|
|
68
|
-
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NavTabsComponent, decorators: [{
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: NavTabsComponent, decorators: [{
|
|
70
63
|
type: Component,
|
|
71
64
|
args: [{ selector: '[et-nav-tabs]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [ScrollableComponent, NgClass, ScrollObserverIgnoreTargetDirective], host: {
|
|
72
65
|
class: 'et-nav-tabs',
|
|
73
66
|
}, template: "<et-scrollable\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (keydown)=\"_handleKeydown($event)\"\n (contentChanged)=\"_onContentChanges()\"\n>\n <ng-content />\n</et-scrollable>\n" }]
|
|
74
|
-
}],
|
|
75
|
-
type: Optional
|
|
76
|
-
}] }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i2.ViewportRuler }, { type: i3.Router }]; }, propDecorators: { tabOutlet: [{
|
|
67
|
+
}], propDecorators: { tabOutlet: [{
|
|
77
68
|
type: Input
|
|
78
69
|
}], _items: [{
|
|
79
70
|
type: ContentChildren,
|
|
@@ -88,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
88
79
|
type: HostBinding,
|
|
89
80
|
args: ['attr.role']
|
|
90
81
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvY29tcG9uZW50cy9uYXYtdGFicy9uYXYtdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9jb21wb25lbnRzL25hdi10YWJzL25hdi10YWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQWFySCxNQUFNLE9BQU8sZ0JBQ1gsU0FBUSwyQkFBMkI7SUFackM7O1FBZVUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQWlGbEM7SUFqRUMsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07YUFDaEIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBc0IsRUFBRSxDQUFDLENBQUMsWUFBWSxhQUFhLENBQUMsRUFDN0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQ2xDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVTLGFBQWE7UUFDckIsT0FBTztJQUNULENBQUM7SUFFUSxrQkFBa0I7UUFDekIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTzthQUNoQixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFDaEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQ2xDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFFZixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsT0FBTztTQUNSO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdEIsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxTQUFTO2FBQ1Y7WUFFRCxJQUFJLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUV6QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7aUJBQ3ZDO2dCQUVELE9BQU87YUFDUjtTQUNGO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFGLENBQUM7OEdBcEZVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLCtQQVNPLG1CQUFtQixxR0FHbkIsMkJBQTJCLGlHQUdsRCxtQkFBbUIscUZDbERoQyxrVUFXQSw0Q0RtQlksbUJBQW1COzsyRkFLbEIsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNFLGVBQWUsaUJBRVYsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsT0FBTyxjQUNwQyxJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsbUNBQW1DLENBQUMsUUFDdEU7d0JBQ0osS0FBSyxFQUFFLGFBQWE7cUJBQ3JCOzhCQVNELFNBQVM7c0JBRFIsS0FBSztnQkFJTixNQUFNO3NCQURMLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUk3RSxRQUFRO3NCQURQLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUlyRixXQUFXO3NCQURWLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU01QyxTQUFTO3NCQURaLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNjcm9sbE9ic2VydmVySWdub3JlVGFyZ2V0RGlyZWN0aXZlLCBUeXBlZFF1ZXJ5TGlzdCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBzdGFydFdpdGgsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTY3JvbGxhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2Nyb2xsYWJsZSc7XG5pbXBvcnQgeyBOYXZUYWJMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGFydGlhbHMvbmF2LXRhYnMvbmF2LXRhYi1saW5rJztcbmltcG9ydCB7IE5hdlRhYnNPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXJ0aWFscy9uYXYtdGFicy9uYXYtdGFicy1vdXRsZXQnO1xuaW1wb3J0IHsgQWN0aXZlVGFiVW5kZXJsaW5lQmFyTWFuYWdlciwgQWN0aXZlVGFiVW5kZXJsaW5lRGlyZWN0aXZlLCBQYWdpbmF0ZWRUYWJIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1tldC1uYXYtdGFic10nLFxuICB0ZW1wbGF0ZVVybDogJ25hdi10YWJzLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbU2Nyb2xsYWJsZUNvbXBvbmVudCwgTmdDbGFzcywgU2Nyb2xsT2JzZXJ2ZXJJZ25vcmVUYXJnZXREaXJlY3RpdmVdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1uYXYtdGFicycsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdlRhYnNDb21wb25lbnRcbiAgZXh0ZW5kcyBQYWdpbmF0ZWRUYWJIZWFkZXJEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIF9yb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICBASW5wdXQoKVxuICB0YWJPdXRsZXQ/OiBOYXZUYWJzT3V0bGV0Q29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBOYXZUYWJMaW5rQ29tcG9uZW50KSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBfaXRlbXMhOiBUeXBlZFF1ZXJ5TGlzdDxOYXZUYWJMaW5rQ29tcG9uZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQWN0aXZlVGFiVW5kZXJsaW5lRGlyZWN0aXZlKSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBfaW5rQmFycyE6IFR5cGVkUXVlcnlMaXN0PEFjdGl2ZVRhYlVuZGVybGluZURpcmVjdGl2ZT47XG5cbiAgQFZpZXdDaGlsZChTY3JvbGxhYmxlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfc2Nyb2xsYWJsZSE6IFNjcm9sbGFibGVDb21wb25lbnQ7XG5cbiAgX2FjdGl2ZVRhYlVuZGVybGluZU1hbmFnZXI/OiBBY3RpdmVUYWJVbmRlcmxpbmVCYXJNYW5hZ2VyO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgZ2V0IF9hdHRyUm9sZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0Um9sZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fcm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZSk6IGUgaXMgTmF2aWdhdGlvbkVuZCA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnVwZGF0ZUFjdGl2ZUxpbmsoKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2l0ZW1TZWxlY3RlZCgpIHtcbiAgICAvLyBub29wXG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5fYWN0aXZlVGFiVW5kZXJsaW5lTWFuYWdlciA9IG5ldyBBY3RpdmVUYWJVbmRlcmxpbmVCYXJNYW5hZ2VyKHRoaXMuX2lua0JhcnMpO1xuICAgIHRoaXMuX2l0ZW1zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5faXRlbXMudG9BcnJheSgpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMudXBkYXRlQWN0aXZlTGluaygpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xuICB9XG5cbiAgdXBkYXRlQWN0aXZlTGluaygpIHtcbiAgICBpZiAoIXRoaXMuX2l0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLl9pdGVtcy50b0FycmF5KCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBpdGVtID0gaXRlbXNbaV07XG5cbiAgICAgIGlmICghaXRlbSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0/LmFjdGl2ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBpO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudGFiT3V0bGV0KSB7XG4gICAgICAgICAgdGhpcy50YWJPdXRsZXQuX2FjdGl2ZVRhYklkID0gaXRlbS5pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAtMTtcbiAgICB0aGlzLl9hY3RpdmVUYWJVbmRlcmxpbmVNYW5hZ2VyPy5oaWRlKCk7XG4gIH1cblxuICBfZ2V0Um9sZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy50YWJPdXRsZXQgPyAndGFibGlzdCcgOiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdyb2xlJyk7XG4gIH1cbn1cbiIsIjxldC1zY3JvbGxhYmxlXG4gIFtpdGVtU2l6ZV09XCJpdGVtU2l6ZVwiXG4gIFtyZW5kZXJCdXR0b25zXT1cInJlbmRlckJ1dHRvbnNcIlxuICBbc2Nyb2xsYWJsZUNsYXNzXT1cInNjcm9sbGFibGVDbGFzc1wiXG4gIFtyZW5kZXJNYXNrc109XCJyZW5kZXJNYXNrc1wiXG4gIFtyZW5kZXJTY3JvbGxiYXJzXT1cInJlbmRlclNjcm9sbGJhcnNcIlxuICAoa2V5ZG93bik9XCJfaGFuZGxlS2V5ZG93bigkZXZlbnQpXCJcbiAgKGNvbnRlbnRDaGFuZ2VkKT1cIl9vbkNvbnRlbnRDaGFuZ2VzKClcIlxuPlxuICA8bmctY29udGVudCAvPlxuPC9ldC1zY3JvbGxhYmxlPlxuIl19
|
package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.mjs
CHANGED
|
@@ -1,40 +1,27 @@
|
|
|
1
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
1
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
3
|
-
import { ChangeDetectionStrategy, Component, ContentChild, Inject, InjectionToken, Input, Optional, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ContentChild, Inject, InjectionToken, Input, Optional, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation, booleanAttribute, } from '@angular/core';
|
|
4
3
|
import { Subject } from 'rxjs';
|
|
5
4
|
import { TAB_CONTENT } from '../inline-tab-content';
|
|
6
5
|
import { InlineTabLabelDirective, TAB, TAB_LABEL } from '../inline-tab-label';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
export const TAB_GROUP = new InjectionToken('TAB_GROUP');
|
|
9
|
-
class InlineTabComponent {
|
|
8
|
+
export class InlineTabComponent {
|
|
10
9
|
get templateLabel() {
|
|
11
10
|
return this._templateLabel;
|
|
12
11
|
}
|
|
13
12
|
set templateLabel(value) {
|
|
14
13
|
this._setTemplateLabelInput(value);
|
|
15
14
|
}
|
|
16
|
-
get fitUnderlineToContent() {
|
|
17
|
-
return this._fitToContent;
|
|
18
|
-
}
|
|
19
|
-
set fitUnderlineToContent(v) {
|
|
20
|
-
this._fitToContent = coerceBooleanProperty(v);
|
|
21
|
-
}
|
|
22
|
-
get disabled() {
|
|
23
|
-
return this._disabled;
|
|
24
|
-
}
|
|
25
|
-
set disabled(value) {
|
|
26
|
-
this._disabled = coerceBooleanProperty(value);
|
|
27
|
-
}
|
|
28
15
|
get content() {
|
|
29
16
|
return this._contentPortal;
|
|
30
17
|
}
|
|
31
18
|
constructor(_viewContainerRef, _closestTabGroup) {
|
|
32
19
|
this._viewContainerRef = _viewContainerRef;
|
|
33
20
|
this._closestTabGroup = _closestTabGroup;
|
|
34
|
-
this.
|
|
21
|
+
this.fitUnderlineToContent = false;
|
|
35
22
|
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
36
23
|
this.textLabel = '';
|
|
37
|
-
this.
|
|
24
|
+
this.disabled = false;
|
|
38
25
|
this._contentPortal = null;
|
|
39
26
|
this._stateChanges = new Subject();
|
|
40
27
|
this.position = null;
|
|
@@ -57,11 +44,10 @@ class InlineTabComponent {
|
|
|
57
44
|
this._templateLabel = value;
|
|
58
45
|
}
|
|
59
46
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: InlineTabComponent, deps: [{ token: i0.ViewContainerRef }, { token: TAB_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: InlineTabComponent, isStandalone: true, selector: "et-inline-tab", inputs: { fitUnderlineToContent: ["fitUnderlineToContent", "fitUnderlineToContent", booleanAttribute], textLabel: ["label", "textLabel"], ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], labelClass: "labelClass", bodyClass: "bodyClass", disabled: ["disabled", "disabled", booleanAttribute] }, host: { classAttribute: "et-inline-tab" }, providers: [{ provide: TAB, useExisting: InlineTabComponent }], queries: [{ propertyName: "templateLabel", first: true, predicate: TAB_LABEL, descendants: true }, { propertyName: "_explicitContent", first: true, predicate: TAB_CONTENT, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template><ng-content /></ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
62
49
|
}
|
|
63
|
-
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: InlineTabComponent, decorators: [{
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: InlineTabComponent, decorators: [{
|
|
65
51
|
type: Component,
|
|
66
52
|
args: [{ selector: 'et-inline-tab', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, providers: [{ provide: TAB, useExisting: InlineTabComponent }], standalone: true, host: {
|
|
67
53
|
class: 'et-inline-tab',
|
|
@@ -75,7 +61,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
75
61
|
type: ContentChild,
|
|
76
62
|
args: [TAB_LABEL]
|
|
77
63
|
}], fitUnderlineToContent: [{
|
|
78
|
-
type: Input
|
|
64
|
+
type: Input,
|
|
65
|
+
args: [{ transform: booleanAttribute }]
|
|
79
66
|
}], _explicitContent: [{
|
|
80
67
|
type: ContentChild,
|
|
81
68
|
args: [TAB_CONTENT, { read: TemplateRef, static: true }]
|
|
@@ -96,6 +83,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
|
|
|
96
83
|
}], bodyClass: [{
|
|
97
84
|
type: Input
|
|
98
85
|
}], disabled: [{
|
|
99
|
-
type: Input
|
|
86
|
+
type: Input,
|
|
87
|
+
args: [{ transform: booleanAttribute }]
|
|
100
88
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9wYXJ0aWFscy9pbmxpbmUtdGFicy9pbmxpbmUtdGFiL2lubGluZS10YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvcGFydGlhbHMvaW5saW5lLXRhYnMvaW5saW5lLXRhYi9pbmxpbmUtdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBSUwsUUFBUSxFQUVSLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFOUUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFVLFdBQVcsQ0FBQyxDQUFDO0FBYWxFLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUE4QjtRQUM5QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFD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ay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ2xhc3NUeXBlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUQUJfQ09OVEVOVCB9IGZyb20gJy4uL2lubGluZS10YWItY29udGVudCc7XG5pbXBvcnQgeyBJbmxpbmVUYWJMYWJlbERpcmVjdGl2ZSwgVEFCLCBUQUJfTEFCRUwgfSBmcm9tICcuLi9pbmxpbmUtdGFiLWxhYmVsJztcblxuZXhwb3J0IGNvbnN0IFRBQl9HUk9VUCA9IG5ldyBJbmplY3Rpb25Ub2tlbjx1bmtub3duPignVEFCX0dST1VQJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWlubGluZS10YWInLFxuICB0ZW1wbGF0ZVVybDogJ2lubGluZS10YWIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVEFCLCB1c2VFeGlzdGluZzogSW5saW5lVGFiQ29tcG9uZW50IH1dLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1pbmxpbmUtdGFiJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgSW5saW5lVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGQoVEFCX0xBQkVMKVxuICBnZXQgdGVtcGxhdGVMYWJlbCgpOiBJbmxpbmVUYWJMYWJlbERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlTGFiZWw7XG4gIH1cbiAgc2V0IHRlbXBsYXRlTGFiZWwodmFsdWU6IElubGluZVRhYkxhYmVsRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fc2V0VGVtcGxhdGVMYWJlbElucHV0KHZhbHVlKTtcbiAgfVxuICBwcm90ZWN0ZWQgX3RlbXBsYXRlTGFiZWwhOiBJbmxpbmVUYWJMYWJlbERpcmVjdGl2ZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgZml0VW5kZXJsaW5lVG9Db250ZW50ID0gZmFsc2U7XG5cbiAgQENvbnRlbnRDaGlsZChUQUJfQ09OVEVOVCwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIF9leHBsaWNpdENvbnRlbnQhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfaW1wbGljaXRDb250ZW50ITogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdsYWJlbCcpXG4gIHRleHRMYWJlbCA9ICcnO1xuXG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpXG4gIGFyaWFMYWJlbCE6IHN0cmluZztcblxuICBASW5wdXQoJ2FyaWEtbGFiZWxsZWRieScpXG4gIGFyaWFMYWJlbGxlZGJ5ITogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsQ2xhc3M6IE5nQ2xhc3NUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGJvZHlDbGFzczogTmdDbGFzc1R5cGU7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfY29udGVudFBvcnRhbDogVGVtcGxhdGVQb3J0YWwgfCBudWxsID0gbnVsbDtcblxuICBnZXQgY29udGVudCgpOiBUZW1wbGF0ZVBvcnRhbCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50UG9ydGFsO1xuICB9XG5cbiAgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcG9zaXRpb246IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIG9yaWdpbjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgaXNBY3RpdmUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIEBJbmplY3QoVEFCX0dST1VQKSBAT3B0aW9uYWwoKSBwdWJsaWMgX2Nsb3Nlc3RUYWJHcm91cDogdW5rbm93bixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRlbnRQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5fZXhwbGljaXRDb250ZW50IHx8IHRoaXMuX2ltcGxpY2l0Q29udGVudCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3RleHRMYWJlbCddIHx8IGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcbiAgICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3NldFRlbXBsYXRlTGFiZWxJbnB1dCh2YWx1ZTogSW5saW5lVGFiTGFiZWxEaXJlY3RpdmUgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUuX2Nsb3Nlc3RUYWIgPT09IHRoaXMpIHtcbiAgICAgIHRoaXMuX3RlbXBsYXRlTGFiZWwgPSB2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZT48bmctY29udGVudCAvPjwvbmctdGVtcGxhdGU+XG4iXX0=
|