@leanix/components 0.4.21 → 0.4.22
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/{esm2020 → esm2022}/lib/core-ui/components/badge/badge.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/button/button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/button-group/button-group.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/card/card.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/collapsible/collapsible.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/colored-label/colored-label.component.mjs +4 -4
- package/esm2022/lib/core-ui/components/ellipsis/ellipsis.component.mjs +139 -0
- package/{esm2020 → esm2022}/lib/core-ui/components/file-download-button/file-download-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/icon-scale/icon-scale.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/spinner/spinner.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/table/table-header/table-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/table/table.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/tiny-spinner/tiny-spinner.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/core-ui.module.mjs +72 -72
- package/{esm2020 → esm2022}/lib/core-ui/directives/after-view-init.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/directives/autoclose-group.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/directives/autoclose.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/directives/autofocus.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/directives/html.directive.mjs +4 -4
- package/esm2022/lib/core-ui/linkify/linkify.pipe.mjs +144 -0
- package/{esm2020 → esm2022}/lib/core-ui/linkify/unlinkify.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/br.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/contrast-color.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/custom-date.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/highlight-range.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/highlight-term.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/lx-is-uuid.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/lx-time-ago.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/lx-translate.pipe.mjs +5 -5
- package/{esm2020 → esm2022}/lib/core-ui/pipes/markdown.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/nbsp.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/sort.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/translation-after.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/translation-before.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/translation-between.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/unescape-curly-braces.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/services/resize-observer.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/lib/core-ui/tooltip/tooltip.directive.mjs +105 -0
- package/{esm2020 → esm2022}/lib/core-ui/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +120 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +216 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/copy-button/copy-button.component.mjs +4 -4
- package/esm2022/lib/forms-ui/components/currency/currency-input.component.mjs +145 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/currency/currency-symbol.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/date-input/date-input.component.mjs +7 -7
- package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.mjs +6 -6
- package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.mjs +27 -0
- package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +205 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/datepicker.config.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/daypicker.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/monthpicker.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/yearpicker.component.mjs +6 -6
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.module.mjs +5 -5
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +134 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/error-message/error-message.component.mjs +7 -7
- package/{esm2020 → esm2022}/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/form-error/form-error.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/icon/icon.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/input/input.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/keyboard-select.directive.mjs +4 -4
- package/esm2022/lib/forms-ui/components/multi-select/multi-select.component.mjs +255 -0
- package/esm2022/lib/forms-ui/components/option/option.component.mjs +84 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/option-group/option-group.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.mjs +4 -4
- package/esm2022/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +185 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/picker/picker-trigger.directive.mjs +7 -7
- package/{esm2020 → esm2022}/lib/forms-ui/components/picker/picker.component.mjs +19 -19
- package/esm2022/lib/forms-ui/components/picker-option/picker-option.component.mjs +118 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/pill-item/pill-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/pill-list/pill-list.component.mjs +4 -4
- package/esm2022/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +100 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/select-list/select-list.component.mjs +4 -4
- package/esm2022/lib/forms-ui/components/single-select/single-select.component.mjs +279 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/slider-toggle/slider-toggle.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.mjs +4 -4
- package/esm2022/lib/forms-ui/directives/contenteditable.directive.mjs +129 -0
- package/esm2022/lib/forms-ui/directives/form-error.directive.mjs +109 -0
- package/{esm2020 → esm2022}/lib/forms-ui/directives/form-submit.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/directives/keyboard-action-source.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/directives/mark-invalid.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/directives/select-dropdown.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/directives/selectable-item.directive.mjs +7 -7
- package/{esm2020 → esm2022}/lib/forms-ui/directives/selected-option.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/forms-ui.module.mjs +102 -102
- package/{esm2020 → esm2022}/lib/forms-ui/models/base-select.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/pipes/filter-selection.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/pipes/filter-term.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/pipes/format-number.pipe.mjs +4 -4
- package/esm2022/lib/modal-ui/components/modal/modal.component.mjs +213 -0
- package/{esm2020 → esm2022}/lib/modal-ui/components/modal-footer/modal-footer.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modal-ui/components/modal-header/modal-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modal-ui/directives/modal-content.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modal-ui/modal.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/popover-ui/components/popover/popover.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/popover-ui/directives/popover-click.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/popover-ui/directives/popover-content.directive.mjs +4 -4
- package/esm2022/lib/popover-ui/directives/popover-hover.directive.mjs +87 -0
- package/{esm2020 → esm2022}/lib/popover-ui/popover-ui.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/tab-ui/components/tab/tab.component.mjs +14 -14
- package/esm2022/lib/tab-ui/components/tab-group/tab-group.component.mjs +71 -0
- package/{esm2020 → esm2022}/lib/tab-ui/tab-ui.module.mjs +5 -5
- package/{fesm2020 → fesm2022}/leanix-components.mjs +767 -768
- package/fesm2022/leanix-components.mjs.map +1 -0
- package/lib/core-ui/components/badge/badge.component.d.ts +1 -1
- package/lib/core-ui/components/button/button.component.d.ts +1 -1
- package/lib/core-ui/components/button-group/button-group.component.d.ts +1 -1
- package/lib/core-ui/components/card/card.component.d.ts +1 -1
- package/lib/core-ui/components/collapsible/collapsible.component.d.ts +1 -1
- package/lib/core-ui/components/colored-label/colored-label.component.d.ts +1 -1
- package/lib/core-ui/components/ellipsis/ellipsis.component.d.ts +1 -1
- package/lib/core-ui/components/file-download-button/file-download-button.component.d.ts +1 -1
- package/lib/core-ui/components/icon-scale/icon-scale.component.d.ts +1 -1
- package/lib/core-ui/components/spinner/spinner.component.d.ts +1 -1
- package/lib/core-ui/components/table/table-header/table-header.component.d.ts +1 -1
- package/lib/core-ui/components/table/table.component.d.ts +1 -1
- package/lib/core-ui/directives/autoclose.directive.d.ts +1 -1
- package/lib/core-ui/directives/autofocus.directive.d.ts +1 -1
- package/lib/core-ui/directives/html.directive.d.ts +1 -1
- package/lib/core-ui/pipes/sort.pipe.d.ts +1 -1
- package/lib/core-ui/services/resize-observer.service.d.ts +1 -1
- package/lib/core-ui/tooltip/tooltip.component.d.ts +1 -1
- package/lib/core-ui/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.d.ts +1 -1
- package/lib/forms-ui/components/breadcrumb/breadcrumb.component.d.ts +2 -2
- package/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/copy-button/copy-button.component.d.ts +1 -1
- package/lib/forms-ui/components/currency/currency-input.component.d.ts +4 -4
- package/lib/forms-ui/components/currency/currency-symbol.component.d.ts +1 -1
- package/lib/forms-ui/components/date-input/date-input.component.d.ts +2 -2
- package/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.d.ts +1 -1
- package/lib/forms-ui/components/date-picker-ui/datepicker.component.d.ts +1 -1
- package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.d.ts +1 -1
- package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.d.ts +1 -1
- package/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.d.ts +1 -1
- package/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.d.ts +1 -1
- package/lib/forms-ui/components/error-message/error-message.component.d.ts +1 -1
- package/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/form-error/form-error.component.d.ts +1 -1
- package/lib/forms-ui/components/icon/icon.component.d.ts +2 -2
- package/lib/forms-ui/components/input/input.component.d.ts +1 -1
- package/lib/forms-ui/components/keyboard-select.directive.d.ts +1 -1
- package/lib/forms-ui/components/multi-select/multi-select.component.d.ts +3 -3
- package/lib/forms-ui/components/option/option.component.d.ts +1 -1
- package/lib/forms-ui/components/option-group/option-group.component.d.ts +1 -1
- package/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.d.ts +3 -3
- package/lib/forms-ui/components/options-dropdown/options-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/picker/picker.component.d.ts +1 -1
- package/lib/forms-ui/components/picker-option/picker-option.component.d.ts +1 -1
- package/lib/forms-ui/components/pill-item/pill-item.component.d.ts +1 -1
- package/lib/forms-ui/components/pill-list/pill-list.component.d.ts +1 -1
- package/lib/forms-ui/components/select-list/select-list.component.d.ts +1 -1
- package/lib/forms-ui/components/single-select/single-select.component.d.ts +2 -2
- package/lib/forms-ui/components/slider-toggle/slider-toggle.component.d.ts +1 -1
- package/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.d.ts +1 -1
- package/lib/forms-ui/directives/contenteditable.directive.d.ts +2 -2
- package/lib/forms-ui/directives/form-error.directive.d.ts +2 -2
- package/lib/forms-ui/directives/mark-invalid.directive.d.ts +1 -1
- package/lib/forms-ui/directives/selectable-item.directive.d.ts +1 -1
- package/lib/forms-ui/models/base-select.directive.d.ts +1 -1
- package/lib/forms-ui/models/single-select-padding.interface.d.ts +1 -1
- package/lib/forms-ui/models/sorting.interface.d.ts +1 -1
- package/lib/modal-ui/components/modal/modal.component.d.ts +1 -1
- package/lib/modal-ui/components/modal-footer/modal-footer.component.d.ts +1 -1
- package/lib/modal-ui/components/modal-header/modal-header.component.d.ts +1 -1
- package/lib/popover-ui/components/popover/popover.component.d.ts +1 -1
- package/lib/popover-ui/directives/popover-click.directive.d.ts +1 -1
- package/lib/popover-ui/directives/popover-hover.directive.d.ts +1 -1
- package/lib/tab-ui/components/tab/tab.component.d.ts +1 -1
- package/lib/tab-ui/components/tab-group/tab-group.component.d.ts +1 -1
- package/package.json +13 -19
- package/esm2020/lib/core-ui/components/ellipsis/ellipsis.component.mjs +0 -139
- package/esm2020/lib/core-ui/linkify/linkify.pipe.mjs +0 -144
- package/esm2020/lib/core-ui/tooltip/tooltip.directive.mjs +0 -105
- package/esm2020/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +0 -120
- package/esm2020/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +0 -216
- package/esm2020/lib/forms-ui/components/currency/currency-input.component.mjs +0 -145
- package/esm2020/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.mjs +0 -28
- package/esm2020/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +0 -205
- package/esm2020/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +0 -49
- package/esm2020/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +0 -134
- package/esm2020/lib/forms-ui/components/multi-select/multi-select.component.mjs +0 -255
- package/esm2020/lib/forms-ui/components/option/option.component.mjs +0 -84
- package/esm2020/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +0 -185
- package/esm2020/lib/forms-ui/components/picker-option/picker-option.component.mjs +0 -118
- package/esm2020/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +0 -100
- package/esm2020/lib/forms-ui/components/single-select/single-select.component.mjs +0 -279
- package/esm2020/lib/forms-ui/directives/contenteditable.directive.mjs +0 -129
- package/esm2020/lib/forms-ui/directives/form-error.directive.mjs +0 -109
- package/esm2020/lib/modal-ui/components/modal/modal.component.mjs +0 -213
- package/esm2020/lib/popover-ui/directives/popover-hover.directive.mjs +0 -87
- package/esm2020/lib/tab-ui/components/tab-group/tab-group.component.mjs +0 -71
- package/fesm2015/leanix-components.mjs +0 -8448
- package/fesm2015/leanix-components.mjs.map +0 -1
- package/fesm2020/leanix-components.mjs.map +0 -1
- package/src/lib/forms-ui/components/date-picker-ui/README.md +0 -8
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/leanix-components.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/core-ui/annotations/required.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/core-ui/core-ui.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/core-ui/functions/core-css.helpers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/core-ui/tooltip/to-cdk-position.function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/core-ui/tooltip/tooltip-position.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/components/currency/currency-symbol-map.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/date-formatter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/isBs3.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/components/drag-and-drop-list/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/helpers/key-codes.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/helpers/keyboard-navigation.helpers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/models/dropdown-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/models/single-select-padding.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/models/sorting.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/validators/date-in-foreseeable-future.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/validators/string-not-in-array.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modal-ui/modal.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/date-helpers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/html-helpers.function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/misc-helpers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/observe.mjs +0 -0
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { Directive, Host, Inject, InjectionToken, Input, Optional, Self } from '@angular/core';
|
|
2
|
-
import { curry } from 'lodash-es';
|
|
3
|
-
import { combineLatest, of } from 'rxjs';
|
|
4
|
-
import { map, startWith } from 'rxjs/operators';
|
|
5
|
-
import { ErrorMessageComponent } from '../components/error-message/error-message.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/forms";
|
|
8
|
-
import * as i2 from "./form-submit.directive";
|
|
9
|
-
export const FORM_CONTROL_ERROR_NAMESPACE = new InjectionToken('FORM_CONTROL_ERROR_NAMESPACE');
|
|
10
|
-
export const FORM_CONTROL_ERROR_DISPLAY_STRATEGY = new InjectionToken('FORM_CONTROL_ERROR_DISPLAY_STRATEGY');
|
|
11
|
-
export const provideFormControlErrorNamespace = (namespace) => ({
|
|
12
|
-
provide: FORM_CONTROL_ERROR_NAMESPACE,
|
|
13
|
-
useValue: namespace
|
|
14
|
-
});
|
|
15
|
-
export const provideFormControlErrorDisplayStrategy = (fn) => ({
|
|
16
|
-
provide: FORM_CONTROL_ERROR_DISPLAY_STRATEGY,
|
|
17
|
-
useValue: fn
|
|
18
|
-
});
|
|
19
|
-
export class FormErrorDirective {
|
|
20
|
-
constructor(viewContainer, componentFactoryResolver, ngControl, formSubmitDirective, namespace, strategy) {
|
|
21
|
-
this.viewContainer = viewContainer;
|
|
22
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
23
|
-
this.ngControl = ngControl;
|
|
24
|
-
this.formSubmitDirective = formSubmitDirective;
|
|
25
|
-
this.namespace = namespace;
|
|
26
|
-
this.strategy = strategy;
|
|
27
|
-
}
|
|
28
|
-
get control() {
|
|
29
|
-
return this.ngControl?.control || this.ctrl || null;
|
|
30
|
-
}
|
|
31
|
-
get name() {
|
|
32
|
-
return this.ngControl?.name || this.controlName;
|
|
33
|
-
}
|
|
34
|
-
get formSubmitted() {
|
|
35
|
-
return this.formSubmitDirective ? this.formSubmitDirective.submitted$ : of(undefined);
|
|
36
|
-
}
|
|
37
|
-
ngOnInit() {
|
|
38
|
-
const control = this.control;
|
|
39
|
-
if (isAbstractControl(control)) {
|
|
40
|
-
this.subscritpion = combineLatest([control.valueChanges.pipe(startWith(control.value)), this.formSubmitted])
|
|
41
|
-
.pipe(map(([, submitted]) => submitted), map(resolveStrategy(this.strategy, control)))
|
|
42
|
-
.subscribe((display) => {
|
|
43
|
-
const { errors } = control;
|
|
44
|
-
if (errors && display) {
|
|
45
|
-
const firstErrorKey = Object.keys(errors)[0];
|
|
46
|
-
const translationKey = this.buildTranslationKey(firstErrorKey);
|
|
47
|
-
this.setError(translationKey);
|
|
48
|
-
}
|
|
49
|
-
else if (this.ref) {
|
|
50
|
-
this.setError();
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
buildTranslationKey(errorKey) {
|
|
56
|
-
if (this.control) {
|
|
57
|
-
return `${this.namespace || 'form'}.errors.${this.name ? `${this.name}.` : ''}${errorKey}`;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
return '';
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
setError(key) {
|
|
64
|
-
if (!this.ref) {
|
|
65
|
-
const factory = this.componentFactoryResolver.resolveComponentFactory(ErrorMessageComponent);
|
|
66
|
-
this.ref = this.viewContainer.createComponent(factory);
|
|
67
|
-
}
|
|
68
|
-
this.ref.instance.key = key;
|
|
69
|
-
}
|
|
70
|
-
ngOnDestroy() {
|
|
71
|
-
if (this.subscritpion) {
|
|
72
|
-
this.subscritpion.unsubscribe();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
FormErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FormErrorDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: i1.NgControl, optional: true, self: true }, { token: i2.FormSubmitDirective, host: true, optional: true }, { token: FORM_CONTROL_ERROR_NAMESPACE, optional: true }, { token: FORM_CONTROL_ERROR_DISPLAY_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
77
|
-
FormErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FormErrorDirective, selector: "[lxFormError]", inputs: { ctrl: ["lxFormError", "ctrl"], controlName: "controlName" }, ngImport: i0 });
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FormErrorDirective, decorators: [{
|
|
79
|
-
type: Directive,
|
|
80
|
-
args: [{
|
|
81
|
-
selector: '[lxFormError]'
|
|
82
|
-
}]
|
|
83
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: i1.NgControl, decorators: [{
|
|
84
|
-
type: Optional
|
|
85
|
-
}, {
|
|
86
|
-
type: Self
|
|
87
|
-
}] }, { type: i2.FormSubmitDirective, decorators: [{
|
|
88
|
-
type: Optional
|
|
89
|
-
}, {
|
|
90
|
-
type: Host
|
|
91
|
-
}] }, { type: undefined, decorators: [{
|
|
92
|
-
type: Optional
|
|
93
|
-
}, {
|
|
94
|
-
type: Inject,
|
|
95
|
-
args: [FORM_CONTROL_ERROR_NAMESPACE]
|
|
96
|
-
}] }, { type: undefined, decorators: [{
|
|
97
|
-
type: Optional
|
|
98
|
-
}, {
|
|
99
|
-
type: Inject,
|
|
100
|
-
args: [FORM_CONTROL_ERROR_DISPLAY_STRATEGY]
|
|
101
|
-
}] }]; }, propDecorators: { ctrl: [{
|
|
102
|
-
type: Input,
|
|
103
|
-
args: ['lxFormError']
|
|
104
|
-
}], controlName: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}] } });
|
|
107
|
-
const isAbstractControl = (ctrl) => !!ctrl;
|
|
108
|
-
const resolveStrategy = curry((strategy, control, submitted) => strategy ? strategy({ control, submitted }) : true);
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9kaXJlY3RpdmVzL2Zvcm0tZXJyb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsSUFBSSxFQUNKLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEVBRUwsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7OztBQUs1RixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FBUyw4QkFBOEIsQ0FBQyxDQUFDO0FBQ3ZHLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLElBQUksY0FBYyxDQUNuRSxxQ0FBcUMsQ0FDdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQUMsU0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RSxPQUFPLEVBQUUsNEJBQTRCO0lBQ3JDLFFBQVEsRUFBRSxTQUFTO0NBQ3BCLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFHLENBQUMsRUFBbUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5RixPQUFPLEVBQUUsbUNBQW1DO0lBQzVDLFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FBQyxDQUFDO0FBS0gsTUFBTSxPQUFPLGtCQUFrQjtJQWtCN0IsWUFDVSxhQUErQixF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QyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDakM7SUFDSCxDQUFDOzsrR0FwRVUsa0JBQWtCLDhNQXVCUCw0QkFBNEIsNkJBQzVCLG1DQUFtQzttR0F4QjlDLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUg5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7MEJBc0JJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyw0QkFBNEI7OzBCQUMvQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1DQUFtQzs0Q0F2Qm5DLElBQUk7c0JBQXpCLEtBQUs7dUJBQUMsYUFBYTtnQkFDWCxXQUFXO3NCQUFuQixLQUFLOztBQXFFUixNQUFNLGlCQUFpQixHQUFHLENBQUMsSUFBd0MsRUFBMkIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDeEcsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUMzQixDQUFDLFFBQXFELEVBQUUsT0FBd0IsRUFBRSxTQUE4QixFQUFFLEVBQUUsQ0FDbEgsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgSG9zdCxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU2VsZixcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY3VycnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybVN1Ym1pdERpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybS1zdWJtaXQuZGlyZWN0aXZlJztcblxuZXhwb3J0IHR5cGUgRm9ybUNvbnRyb2xFcnJvckRpc3BsYXlTdHJhdGVneSA9IChvYmo6IHsgY29udHJvbDogQWJzdHJhY3RDb250cm9sOyBzdWJtaXR0ZWQ/OiBib29sZWFuIH0pID0+IGJvb2xlYW47XG5cbmV4cG9ydCBjb25zdCBGT1JNX0NPTlRST0xfRVJST1JfTkFNRVNQQUNFID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0ZPUk1fQ09OVFJPTF9FUlJPUl9OQU1FU1BBQ0UnKTtcbmV4cG9ydCBjb25zdCBGT1JNX0NPTlRST0xfRVJST1JfRElTUExBWV9TVFJBVEVHWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGb3JtQ29udHJvbEVycm9yRGlzcGxheVN0cmF0ZWd5PihcbiAgJ0ZPUk1fQ09OVFJPTF9FUlJPUl9ESVNQTEFZX1NUUkFURUdZJ1xuKTtcblxuZXhwb3J0IGNvbnN0IHByb3ZpZGVGb3JtQ29udHJvbEVycm9yTmFtZXNwYWNlID0gKG5hbWVzcGFjZTogc3RyaW5nKSA9PiAoe1xuICBwcm92aWRlOiBGT1JNX0NPTlRST0xfRVJST1JfTkFNRVNQQUNFLFxuICB1c2VWYWx1ZTogbmFtZXNwYWNlXG59KTtcblxuZXhwb3J0IGNvbnN0IHByb3ZpZGVGb3JtQ29udHJvbEVycm9yRGlzcGxheVN0cmF0ZWd5ID0gKGZuOiBGb3JtQ29udHJvbEVycm9yRGlzcGxheVN0cmF0ZWd5KSA9PiAoe1xuICBwcm92aWRlOiBGT1JNX0NPTlRST0xfRVJST1JfRElTUExBWV9TVFJBVEVHWSxcbiAgdXNlVmFsdWU6IGZuXG59KTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2x4Rm9ybUVycm9yXSdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUVycm9yRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2x4Rm9ybUVycm9yJykgY3RybD86IEFic3RyYWN0Q29udHJvbCB8ICcnO1xuICBASW5wdXQoKSBjb250cm9sTmFtZT86IHN0cmluZztcbiAgcHJpdmF0ZSBzdWJzY3JpdHBpb24/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVmPzogQ29tcG9uZW50UmVmPEVycm9yTWVzc2FnZUNvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBnZXQgY29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wgfHwgdGhpcy5jdHJsIHx8IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldCBuYW1lKCk6IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLm5nQ29udHJvbD8ubmFtZSB8fCB0aGlzLmNvbnRyb2xOYW1lO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZm9ybVN1Ym1pdHRlZCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtU3VibWl0RGlyZWN0aXZlID8gdGhpcy5mb3JtU3VibWl0RGlyZWN0aXZlLnN1Ym1pdHRlZCQgOiBvZih1bmRlZmluZWQpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwcml2YXRlIG5nQ29udHJvbD86IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgZm9ybVN1Ym1pdERpcmVjdGl2ZT86IEZvcm1TdWJtaXREaXJlY3RpdmUsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGT1JNX0NPTlRST0xfRVJST1JfTkFNRVNQQUNFKSBwcml2YXRlIG5hbWVzcGFjZT86IHN0cmluZyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZPUk1fQ09OVFJPTF9FUlJPUl9ESVNQTEFZX1NUUkFURUdZKSBwcml2YXRlIHN0cmF0ZWd5PzogRm9ybUNvbnRyb2xFcnJvckRpc3BsYXlTdHJhdGVneVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuY29udHJvbDtcbiAgICBpZiAoaXNBYnN0cmFjdENvbnRyb2woY29udHJvbCkpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXRwaW9uID0gY29tYmluZUxhdGVzdChbY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoY29udHJvbC52YWx1ZSkpLCB0aGlzLmZvcm1TdWJtaXR0ZWRdKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKFssIHN1Ym1pdHRlZF0pID0+IHN1Ym1pdHRlZCksXG4gICAgICAgICAgbWFwKHJlc29sdmVTdHJhdGVneSh0aGlzLnN0cmF0ZWd5LCBjb250cm9sKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChkaXNwbGF5KSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBlcnJvcnMgfSA9IGNvbnRyb2w7XG4gICAgICAgICAgaWYgKGVycm9ycyAmJiBkaXNwbGF5KSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdEVycm9yS2V5ID0gT2JqZWN0LmtleXMoZXJyb3JzKVswXTtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gdGhpcy5idWlsZFRyYW5zbGF0aW9uS2V5KGZpcnN0RXJyb3JLZXkhKTtcbiAgICAgICAgICAgIHRoaXMuc2V0RXJyb3IodHJhbnNsYXRpb25LZXkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5yZWYpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RXJyb3IoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUcmFuc2xhdGlvbktleShlcnJvcktleTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMubmFtZXNwYWNlIHx8ICdmb3JtJ30uZXJyb3JzLiR7dGhpcy5uYW1lID8gYCR7dGhpcy5uYW1lfS5gIDogJyd9JHtlcnJvcktleX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRFcnJvcihrZXk/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMucmVmKSB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRXJyb3JNZXNzYWdlQ29tcG9uZW50KTtcbiAgICAgIHRoaXMucmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICB9XG4gICAgdGhpcy5yZWYuaW5zdGFuY2Uua2V5ID0ga2V5O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXRwaW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcml0cGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBpc0Fic3RyYWN0Q29udHJvbCA9IChjdHJsOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHwgdW5kZWZpbmVkKTogY3RybCBpcyBBYnN0cmFjdENvbnRyb2wgPT4gISFjdHJsO1xuY29uc3QgcmVzb2x2ZVN0cmF0ZWd5ID0gY3VycnkoXG4gIChzdHJhdGVneTogRm9ybUNvbnRyb2xFcnJvckRpc3BsYXlTdHJhdGVneSB8IHVuZGVmaW5lZCwgY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBzdWJtaXR0ZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQpID0+XG4gICAgc3RyYXRlZ3kgPyBzdHJhdGVneSh7IGNvbnRyb2wsIHN1Ym1pdHRlZCB9KSA6IHRydWVcbik7XG4iXX0=
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
import { CdkPortal } from '@angular/cdk/portal';
|
|
3
|
-
import { Component, ContentChild, EventEmitter, HostListener, Inject, Input, Optional, Output, TemplateRef, ViewChild } from '@angular/core';
|
|
4
|
-
import { Subject, timer } from 'rxjs';
|
|
5
|
-
import { takeUntil } from 'rxjs/operators';
|
|
6
|
-
import { ModalContentDirective } from '../../directives/modal-content.directive';
|
|
7
|
-
import { MODAL_CLOSE, ModalCloseClickLocation } from '../../modal.constants';
|
|
8
|
-
import { ModalFooterComponent } from '../modal-footer/modal-footer.component';
|
|
9
|
-
import { ModalHeaderComponent } from '../modal-header/modal-header.component';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
12
|
-
import * as i2 from "@angular/cdk/a11y";
|
|
13
|
-
import * as i3 from "@angular/common";
|
|
14
|
-
import * as i4 from "@angular/cdk/portal";
|
|
15
|
-
import * as i5 from "@ngx-translate/core";
|
|
16
|
-
import * as i6 from "rxjs";
|
|
17
|
-
/**
|
|
18
|
-
*
|
|
19
|
-
* ATTENTION - SCROLLABLE DIALOG:
|
|
20
|
-
* The <lx-modal> component when used as "dialog" is not designed to work with a
|
|
21
|
-
* scrollable body (via "overflow: auto | scroll") in combination with dropdowns.
|
|
22
|
-
* The overflow on the body will also clip the dropdowns, which is expected.
|
|
23
|
-
*
|
|
24
|
-
* Reasoning:
|
|
25
|
-
* The contents within the dialog should be just a few elements which fit and
|
|
26
|
-
* justify the usage of a dialog. If the content is larger than the dialog, and thus
|
|
27
|
-
* requires scrolling, we should discuss whether to put it into a dialog at all
|
|
28
|
-
* and rather think about putting the content on a separate route or
|
|
29
|
-
* using the fullscreen version of the modal.
|
|
30
|
-
*
|
|
31
|
-
*/
|
|
32
|
-
export class ModalComponent {
|
|
33
|
-
constructor(overlay, renderer, closeModal$, focusTrap) {
|
|
34
|
-
this.overlay = overlay;
|
|
35
|
-
this.renderer = renderer;
|
|
36
|
-
this.closeModal$ = closeModal$;
|
|
37
|
-
this.focusTrap = focusTrap;
|
|
38
|
-
this.NAME = 'ModalComponent';
|
|
39
|
-
this.open = false;
|
|
40
|
-
this.showCloseButton = true;
|
|
41
|
-
this.showBackButton = false;
|
|
42
|
-
/*
|
|
43
|
-
* If true, then the content area scrolls vertically instead of expanding its height.
|
|
44
|
-
* This can be a problem if the content has dropdowns or date inputs, but can be good if the content has a huge amount of text.
|
|
45
|
-
*/
|
|
46
|
-
this.verticalScroll = false;
|
|
47
|
-
this.size = 'fullscreen';
|
|
48
|
-
this.minWidth = '600px'; // NB: Some modal implementations rely on this minWidth being 600px
|
|
49
|
-
this.isFocusTrap = false;
|
|
50
|
-
this.close = new EventEmitter();
|
|
51
|
-
this.back = new EventEmitter();
|
|
52
|
-
this.closeLocation = ModalCloseClickLocation;
|
|
53
|
-
this.destroyed$ = new Subject();
|
|
54
|
-
}
|
|
55
|
-
get content() {
|
|
56
|
-
return this.explicitContent || this.implicitContent;
|
|
57
|
-
}
|
|
58
|
-
onEscape() {
|
|
59
|
-
if (this.showCloseButton) {
|
|
60
|
-
this.closeModal(ModalCloseClickLocation.Escape);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
ngOnInit() {
|
|
64
|
-
this.closeModal$
|
|
65
|
-
?.pipe(takeUntil(this.destroyed$))
|
|
66
|
-
.subscribe((closeLocation) => this.closeModal(closeLocation));
|
|
67
|
-
if (this.size === 'fullscreen') {
|
|
68
|
-
this.overlayRef = this.overlay.create({
|
|
69
|
-
panelClass: this.size,
|
|
70
|
-
width: '100%',
|
|
71
|
-
height: '100vh'
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
else if (this.size === 'dialog-large') {
|
|
75
|
-
const positionStrategy = this.overlay.position().global().top('4vh').centerHorizontally();
|
|
76
|
-
this.overlayRef = this.overlay.create({
|
|
77
|
-
panelClass: this.size,
|
|
78
|
-
positionStrategy,
|
|
79
|
-
hasBackdrop: true,
|
|
80
|
-
width: '90%',
|
|
81
|
-
height: '90vh'
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
// size 'dialog'
|
|
86
|
-
const positionStrategy = this.overlay.position().global().top('8vh').centerHorizontally();
|
|
87
|
-
this.overlayRef = this.overlay.create({
|
|
88
|
-
panelClass: this.size,
|
|
89
|
-
minWidth: this.minWidth,
|
|
90
|
-
positionStrategy,
|
|
91
|
-
hasBackdrop: true,
|
|
92
|
-
scrollStrategy: this.overlay.scrollStrategies.block()
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
if (this.size !== 'fullscreen') {
|
|
96
|
-
this.overlayRef
|
|
97
|
-
.backdropClick()
|
|
98
|
-
.pipe(takeUntil(this.destroyed$))
|
|
99
|
-
.subscribe(() => this.closeModal(ModalCloseClickLocation.OutsideClick));
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
ngOnChanges() {
|
|
103
|
-
if (this.open && this.overlayRef && !this.overlayRef.hasAttached()) {
|
|
104
|
-
this.openModal();
|
|
105
|
-
}
|
|
106
|
-
if (!this.open && this.overlayRef && this.overlayRef.hasAttached()) {
|
|
107
|
-
this.closeModal(ModalCloseClickLocation.Other);
|
|
108
|
-
}
|
|
109
|
-
if (this.open && this.overlayRef && this.overlayRef.hasAttached() && this.isFocusTrap) {
|
|
110
|
-
this.trapFocusInModal(this.overlayRef.hostElement);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
ngAfterViewInit() {
|
|
114
|
-
if (this.open) {
|
|
115
|
-
timer(0)
|
|
116
|
-
.pipe(takeUntil(this.destroyed$))
|
|
117
|
-
.subscribe(() => this.openModal());
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
openModal() {
|
|
121
|
-
this.oldOverflow = document.documentElement.style.overflowY;
|
|
122
|
-
if (this.size === 'fullscreen') {
|
|
123
|
-
this.renderer.setStyle(document.documentElement, 'overflowY', 'hidden');
|
|
124
|
-
}
|
|
125
|
-
this.overlayRef.attach(this.cdkPortal);
|
|
126
|
-
this.trapFocusInModal(this.overlayRef.hostElement);
|
|
127
|
-
}
|
|
128
|
-
emitBack() {
|
|
129
|
-
this.back.emit();
|
|
130
|
-
}
|
|
131
|
-
ngOnDestroy() {
|
|
132
|
-
this.destroyed$.next();
|
|
133
|
-
if (this.size === 'fullscreen') {
|
|
134
|
-
this.renderer.setStyle(document.documentElement, 'overflowY', this.oldOverflow);
|
|
135
|
-
}
|
|
136
|
-
if (this.overlayRef) {
|
|
137
|
-
this.overlayRef.dispose();
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
async closeModal(closeLocation) {
|
|
141
|
-
if (!this.canModalBeClosed || (await this.canModalBeClosed())) {
|
|
142
|
-
this.open = false;
|
|
143
|
-
this.overlayRef.detach();
|
|
144
|
-
if (this.size === 'fullscreen') {
|
|
145
|
-
this.renderer.setStyle(document.documentElement, 'overflowY', this.oldOverflow);
|
|
146
|
-
}
|
|
147
|
-
this.close.emit(typeof closeLocation === 'boolean' ? ModalCloseClickLocation.Other : closeLocation);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
trapFocusInModal(hostElement) {
|
|
151
|
-
this.focusTrap.create(hostElement);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ModalComponent, deps: [{ token: i1.Overlay }, { token: i0.Renderer2 }, { token: MODAL_CLOSE, optional: true }, { token: i2.ConfigurableFocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component });
|
|
155
|
-
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ModalComponent, selector: "lx-modal", inputs: { open: "open", showCloseButton: "showCloseButton", showBackButton: "showBackButton", verticalScroll: "verticalScroll", size: "size", minWidth: "minWidth", isFocusTrap: "isFocusTrap", canModalBeClosed: "canModalBeClosed" }, outputs: { close: "close", back: "back" }, host: { listeners: { "document:keydown.escape": "onEscape()" } }, queries: [{ propertyName: "header", first: true, predicate: ModalHeaderComponent, descendants: true }, { propertyName: "footer", first: true, predicate: ModalFooterComponent, descendants: true }, { propertyName: "explicitContent", first: true, predicate: ModalContentDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "cdkPortal", first: true, predicate: CdkPortal, descendants: true, static: true }, { propertyName: "implicitContent", first: true, predicate: ["implicitContent"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template cdkPortal>\n <div\n *ngIf=\"open\"\n role=\"dialog\"\n class=\"lxmodal\"\n [class.lxmodal--fullscreen]=\"size === 'fullscreen'\"\n [class.lxmodal--dialog]=\"size === 'dialog'\"\n [class.lxmodal--dialog-large]=\"size === 'dialog-large'\"\n [class.lxmodal--withFooter]=\"!!footer\"\n [class.lxmodal--verticalScroll]=\"verticalScroll\"\n @modal\n >\n <div\n *ngIf=\"size === 'fullscreen' && showBackButton\"\n (click)=\"emitBack()\"\n (keyup.enter)=\"emitBack()\"\n tabindex=\"0\"\n role=\"button\"\n class=\"fal fa-long-arrow-left\"\n ></div>\n <button\n *ngIf=\"showCloseButton\"\n (click)=\"closeModal(closeLocation.CloseButton)\"\n [attr.aria-label]=\"NAME + '.close' | translate\"\n class=\"fal fa-times closeButton\"\n ></button>\n <ng-content *ngIf=\"header\" select=\"lx-modal-header\"></ng-content>\n <div class=\"modalContentContainer\" [class.lxThinScrollbar]=\"verticalScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <ng-content *ngIf=\"footer\" select=\"lx-modal-footer\"></ng-content>\n </div>\n</ng-template>\n<ng-template #implicitContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}.lxmodal{background:#fff;width:100%}.lxmodal--withFooter.lxmodal--fullscreen .modalContentContainer{bottom:70px;overflow:hidden}.lxmodal--verticalScroll .modalContentContainer{overflow-y:auto;padding:16px}.lxmodal--fullscreen{height:100%;display:flex;flex-direction:column}.lxmodal--fullscreen .closeButton{border:0;background:transparent;position:absolute;text-align:center;transition:color,background-color .18s;transition-delay:.1s;transition-timing-function:ease;border-radius:50%;color:#c2c9d6;font-size:24px;width:48px;height:48px;line-height:48px;right:36px;top:12px;z-index:1}.lxmodal--fullscreen .closeButton:before{cursor:pointer}.lxmodal--fullscreen .closeButton:hover,.lxmodal--fullscreen .closeButton:focus{color:#526179;background-color:#eaedf1}.lxmodal--fullscreen .closeButton:focus{outline:0}.lxmodal--fullscreen .fa-long-arrow-left{border:0;background:transparent;position:absolute;text-align:center;transition:color,background-color .18s;transition-delay:.1s;transition-timing-function:ease;border-radius:50%;color:#c2c9d6;font-size:24px;width:48px;height:48px;line-height:48px;left:36px;top:16px}.lxmodal--fullscreen .fa-long-arrow-left:before{cursor:pointer}.lxmodal--fullscreen .fa-long-arrow-left:hover,.lxmodal--fullscreen .fa-long-arrow-left:focus{color:#526179;background-color:#eaedf1}.lxmodal--fullscreen .fa-long-arrow-left:focus{outline:0}.lxmodal--dialog,.lxmodal--dialog-large{display:block;position:relative;border-radius:6px;box-shadow:0 8px 20px #0000003d}.lxmodal--dialog .modalContentContainer,.lxmodal--dialog-large .modalContentContainer{position:relative}.lxmodal--dialog .closeButton,.lxmodal--dialog-large .closeButton{border:0;background:transparent;position:absolute;text-align:center;transition:color,background-color .18s;transition-delay:.1s;transition-timing-function:ease;border-radius:50%;color:#c2c9d6;font-size:24px;height:32px;width:32px;z-index:999;right:10px;top:20px}.lxmodal--dialog .closeButton:before,.lxmodal--dialog-large .closeButton:before{cursor:pointer}.lxmodal--dialog .closeButton:hover,.lxmodal--dialog .closeButton:focus,.lxmodal--dialog-large .closeButton:hover,.lxmodal--dialog-large .closeButton:focus{color:#526179;background-color:#eaedf1}.lxmodal--dialog .closeButton:focus,.lxmodal--dialog-large .closeButton:focus{outline:0}.lxmodal--dialog .modalContentContainer{padding:16px 16px 0}.lxmodal--dialog.lxmodal--verticalScroll .modalContentContainer{padding:16px;max-height:calc(84vh - 136px)}.lxmodal--dialog-large .modalContentContainer{padding:16px;height:calc(100% - 136px)}.modalContentContainer{flex:1}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.CdkPortal, selector: "[cdkPortal]", exportAs: ["cdkPortal"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], animations: [
|
|
156
|
-
trigger('modal', [
|
|
157
|
-
transition(':enter', [style({ opacity: 0 }), animate('0.15s', style({ opacity: 1 }))]),
|
|
158
|
-
transition(':leave', animate('0.15s', style({ opacity: 0 })))
|
|
159
|
-
])
|
|
160
|
-
] });
|
|
161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ModalComponent, decorators: [{
|
|
162
|
-
type: Component,
|
|
163
|
-
args: [{ selector: 'lx-modal', animations: [
|
|
164
|
-
trigger('modal', [
|
|
165
|
-
transition(':enter', [style({ opacity: 0 }), animate('0.15s', style({ opacity: 1 }))]),
|
|
166
|
-
transition(':leave', animate('0.15s', style({ opacity: 0 })))
|
|
167
|
-
])
|
|
168
|
-
], template: "<ng-template cdkPortal>\n <div\n *ngIf=\"open\"\n role=\"dialog\"\n class=\"lxmodal\"\n [class.lxmodal--fullscreen]=\"size === 'fullscreen'\"\n [class.lxmodal--dialog]=\"size === 'dialog'\"\n [class.lxmodal--dialog-large]=\"size === 'dialog-large'\"\n [class.lxmodal--withFooter]=\"!!footer\"\n [class.lxmodal--verticalScroll]=\"verticalScroll\"\n @modal\n >\n <div\n *ngIf=\"size === 'fullscreen' && showBackButton\"\n (click)=\"emitBack()\"\n (keyup.enter)=\"emitBack()\"\n tabindex=\"0\"\n role=\"button\"\n class=\"fal fa-long-arrow-left\"\n ></div>\n <button\n *ngIf=\"showCloseButton\"\n (click)=\"closeModal(closeLocation.CloseButton)\"\n [attr.aria-label]=\"NAME + '.close' | translate\"\n class=\"fal fa-times closeButton\"\n ></button>\n <ng-content *ngIf=\"header\" select=\"lx-modal-header\"></ng-content>\n <div class=\"modalContentContainer\" [class.lxThinScrollbar]=\"verticalScroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <ng-content *ngIf=\"footer\" select=\"lx-modal-footer\"></ng-content>\n </div>\n</ng-template>\n<ng-template #implicitContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}.lxmodal{background:#fff;width:100%}.lxmodal--withFooter.lxmodal--fullscreen .modalContentContainer{bottom:70px;overflow:hidden}.lxmodal--verticalScroll .modalContentContainer{overflow-y:auto;padding:16px}.lxmodal--fullscreen{height:100%;display:flex;flex-direction:column}.lxmodal--fullscreen .closeButton{border:0;background:transparent;position:absolute;text-align:center;transition:color,background-color .18s;transition-delay:.1s;transition-timing-function:ease;border-radius:50%;color:#c2c9d6;font-size:24px;width:48px;height:48px;line-height:48px;right:36px;top:12px;z-index:1}.lxmodal--fullscreen .closeButton:before{cursor:pointer}.lxmodal--fullscreen .closeButton:hover,.lxmodal--fullscreen .closeButton:focus{color:#526179;background-color:#eaedf1}.lxmodal--fullscreen .closeButton:focus{outline:0}.lxmodal--fullscreen .fa-long-arrow-left{border:0;background:transparent;position:absolute;text-align:center;transition:color,background-color .18s;transition-delay:.1s;transition-timing-function:ease;border-radius:50%;color:#c2c9d6;font-size:24px;width:48px;height:48px;line-height:48px;left:36px;top:16px}.lxmodal--fullscreen .fa-long-arrow-left:before{cursor:pointer}.lxmodal--fullscreen .fa-long-arrow-left:hover,.lxmodal--fullscreen .fa-long-arrow-left:focus{color:#526179;background-color:#eaedf1}.lxmodal--fullscreen .fa-long-arrow-left:focus{outline:0}.lxmodal--dialog,.lxmodal--dialog-large{display:block;position:relative;border-radius:6px;box-shadow:0 8px 20px #0000003d}.lxmodal--dialog .modalContentContainer,.lxmodal--dialog-large .modalContentContainer{position:relative}.lxmodal--dialog .closeButton,.lxmodal--dialog-large .closeButton{border:0;background:transparent;position:absolute;text-align:center;transition:color,background-color .18s;transition-delay:.1s;transition-timing-function:ease;border-radius:50%;color:#c2c9d6;font-size:24px;height:32px;width:32px;z-index:999;right:10px;top:20px}.lxmodal--dialog .closeButton:before,.lxmodal--dialog-large .closeButton:before{cursor:pointer}.lxmodal--dialog .closeButton:hover,.lxmodal--dialog .closeButton:focus,.lxmodal--dialog-large .closeButton:hover,.lxmodal--dialog-large .closeButton:focus{color:#526179;background-color:#eaedf1}.lxmodal--dialog .closeButton:focus,.lxmodal--dialog-large .closeButton:focus{outline:0}.lxmodal--dialog .modalContentContainer{padding:16px 16px 0}.lxmodal--dialog.lxmodal--verticalScroll .modalContentContainer{padding:16px;max-height:calc(84vh - 136px)}.lxmodal--dialog-large .modalContentContainer{padding:16px;height:calc(100% - 136px)}.modalContentContainer{flex:1}\n"] }]
|
|
169
|
-
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Renderer2 }, { type: i6.Observable, decorators: [{
|
|
170
|
-
type: Optional
|
|
171
|
-
}, {
|
|
172
|
-
type: Inject,
|
|
173
|
-
args: [MODAL_CLOSE]
|
|
174
|
-
}] }, { type: i2.ConfigurableFocusTrapFactory }]; }, propDecorators: { open: [{
|
|
175
|
-
type: Input
|
|
176
|
-
}], showCloseButton: [{
|
|
177
|
-
type: Input
|
|
178
|
-
}], showBackButton: [{
|
|
179
|
-
type: Input
|
|
180
|
-
}], verticalScroll: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], size: [{
|
|
183
|
-
type: Input
|
|
184
|
-
}], minWidth: [{
|
|
185
|
-
type: Input
|
|
186
|
-
}], isFocusTrap: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], canModalBeClosed: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], close: [{
|
|
191
|
-
type: Output
|
|
192
|
-
}], back: [{
|
|
193
|
-
type: Output
|
|
194
|
-
}], header: [{
|
|
195
|
-
type: ContentChild,
|
|
196
|
-
args: [ModalHeaderComponent]
|
|
197
|
-
}], footer: [{
|
|
198
|
-
type: ContentChild,
|
|
199
|
-
args: [ModalFooterComponent]
|
|
200
|
-
}], cdkPortal: [{
|
|
201
|
-
type: ViewChild,
|
|
202
|
-
args: [CdkPortal, { static: true }]
|
|
203
|
-
}], implicitContent: [{
|
|
204
|
-
type: ViewChild,
|
|
205
|
-
args: ['implicitContent', { static: true }]
|
|
206
|
-
}], explicitContent: [{
|
|
207
|
-
type: ContentChild,
|
|
208
|
-
args: [ModalContentDirective, { read: TemplateRef, static: true }]
|
|
209
|
-
}], onEscape: [{
|
|
210
|
-
type: HostListener,
|
|
211
|
-
args: ['document:keydown.escape']
|
|
212
|
-
}] } });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvbW9kYWwtdWkvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9tb2RhbC11aS9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUcxRSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7OztBQUU5RTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQVlILE1BQU0sT0FBTyxjQUFjO0lBd0N6QixZQUNVLE9BQWdCLEVBQ2hCLFFBQW1CLEVBQ2Ms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Q0FBQyxDQUFDOzRCQUN0RixVQUFVLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt5QkFDOUQsQ0FBQztxQkFDSDs7MEJBNkNFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsV0FBVzt1RkF6Q3hCLElBQUk7c0JBQVosS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUU2QixNQUFNO3NCQUF6QyxZQUFZO3VCQUFDLG9CQUFvQjtnQkFDRSxNQUFNO3NCQUF6QyxZQUFZO3VCQUFDLG9CQUFvQjtnQkFDTSxTQUFTO3NCQUFoRCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBT1UsZUFBZTtzQkFBOUQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRTRCLGVBQWU7c0JBQXhGLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBTS9CLFFBQVE7c0JBQWhELFlBQVk7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnkgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ2RrUG9ydGFsLCBQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1vZGFsQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvbW9kYWwtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTU9EQUxfQ0xPU0UsIE1vZGFsQ2xvc2VDbGlja0xvY2F0aW9uIH0gZnJvbSAnLi4vLi4vbW9kYWwuY29uc3RhbnRzJztcbmltcG9ydCB7IE1vZGFsRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtZm9vdGVyL21vZGFsLWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9tb2RhbC1oZWFkZXIvbW9kYWwtaGVhZGVyLmNvbXBvbmVudCc7XG5cbi8qKlxuICpcbiAqIEFUVEVOVElPTiAtIFNDUk9MTEFCTEUgRElBTE9HOlxuICogVGhlIDxseC1tb2RhbD4gY29tcG9uZW50IHdoZW4gdXNlZCBhcyBcImRpYWxvZ1wiIGlzIG5vdCBkZXNpZ25lZCB0byB3b3JrIHdpdGggYVxuICogc2Nyb2xsYWJsZSBib2R5ICh2aWEgXCJvdmVyZmxvdzogYXV0byB8IHNjcm9sbFwiKSBpbiBjb21iaW5hdGlvbiB3aXRoIGRyb3Bkb3ducy5cbiAqIFRoZSBvdmVyZmxvdyBvbiB0aGUgYm9keSB3aWxsIGFsc28gY2xpcCB0aGUgZHJvcGRvd25zLCB3aGljaCBpcyBleHBlY3RlZC5cbiAqXG4gKiBSZWFzb25pbmc6XG4gKiBUaGUgY29udGVudHMgd2l0aGluIHRoZSBkaWFsb2cgc2hvdWxkIGJlIGp1c3QgYSBmZXcgZWxlbWVudHMgd2hpY2ggZml0IGFuZFxuICoganVzdGlmeSB0aGUgdXNhZ2Ugb2YgYSBkaWFsb2cuIElmIHRoZSBjb250ZW50IGlzIGxhcmdlciB0aGFuIHRoZSBkaWFsb2csIGFuZCB0aHVzXG4gKiByZXF1aXJlcyBzY3JvbGxpbmcsIHdlIHNob3VsZCBkaXNjdXNzIHdoZXRoZXIgdG8gcHV0IGl0IGludG8gYSBkaWFsb2cgYXQgYWxsXG4gKiBhbmQgcmF0aGVyIHRoaW5rIGFib3V0IHB1dHRpbmcgdGhlIGNvbnRlbnQgb24gYSBzZXBhcmF0ZSByb3V0ZSBvclxuICogdXNpbmcgdGhlIGZ1bGxzY3JlZW4gdmVyc2lvbiBvZiB0aGUgbW9kYWwuXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ21vZGFsJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW3N0eWxlKHsgb3BhY2l0eTogMCB9KSwgYW5pbWF0ZSgnMC4xNXMnLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBhbmltYXRlKCcwLjE1cycsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSkpXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICByZWFkb25seSBOQU1FID0gJ01vZGFsQ29tcG9uZW50JztcbiAgQElucHV0KCkgb3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93Q2xvc2VCdXR0b24gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93QmFja0J1dHRvbiA9IGZhbHNlO1xuICAvKlxuICAgKiBJZiB0cnVlLCB0aGVuIHRoZSBjb250ZW50IGFyZWEgc2Nyb2xscyB2ZXJ0aWNhbGx5IGluc3RlYWQgb2YgZXhwYW5kaW5nIGl0cyBoZWlnaHQuXG4gICAqIFRoaXMgY2FuIGJlIGEgcHJvYmxlbSBpZiB0aGUgY29udGVudCBoYXMgZHJvcGRvd25zIG9yIGRhdGUgaW5wdXRzLCBidXQgY2FuIGJlIGdvb2QgaWYgdGhlIGNvbnRlbnQgaGFzIGEgaHVnZSBhbW91bnQgb2YgdGV4dC5cbiAgICovXG4gIEBJbnB1dCgpIHZlcnRpY2FsU2Nyb2xsID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNpemU6ICdmdWxsc2NyZWVuJyB8ICdkaWFsb2ctbGFyZ2UnIHwgJ2RpYWxvZycgPSAnZnVsbHNjcmVlbic7XG4gIEBJbnB1dCgpIG1pbldpZHRoOiBzdHJpbmcgPSAnNjAwcHgnOyAvLyBOQjogU29tZSBtb2RhbCBpbXBsZW1lbnRhdGlvbnMgcmVseSBvbiB0aGlzIG1pbldpZHRoIGJlaW5nIDYwMHB4XG4gIEBJbnB1dCgpIGlzRm9jdXNUcmFwOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhbk1vZGFsQmVDbG9zZWQ/OiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1vZGFsQ2xvc2VDbGlja0xvY2F0aW9uPigpO1xuICBAT3V0cHV0KCkgYmFjayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAQ29udGVudENoaWxkKE1vZGFsSGVhZGVyQ29tcG9uZW50KSBoZWFkZXI/OiBNb2RhbEhlYWRlckNvbXBvbmVudDtcbiAgQENvbnRlbnRDaGlsZChNb2RhbEZvb3RlckNvbXBvbmVudCkgZm9vdGVyPzogTW9kYWxGb290ZXJDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoQ2RrUG9ydGFsLCB7IHN0YXRpYzogdHJ1ZSB9KSBjZGtQb3J0YWwhOiBQb3J0YWw8Q2RrUG9ydGFsPjtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmITogT3ZlcmxheVJlZjtcbiAgcHJpdmF0ZSBvbGRPdmVyZmxvdz86IHN0cmluZztcbiAgY2xvc2VMb2NhdGlvbiA9IE1vZGFsQ2xvc2VDbGlja0xvY2F0aW9uO1xuXG4gIHJlYWRvbmx5IGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2ltcGxpY2l0Q29udGVudCcsIHsgc3RhdGljOiB0cnVlIH0pIGltcGxpY2l0Q29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChNb2RhbENvbnRlbnREaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KSBleHBsaWNpdENvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGdldCBjb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLmV4cGxpY2l0Q29udGVudCB8fCB0aGlzLmltcGxpY2l0Q29udGVudDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJykgb25Fc2NhcGUoKSB7XG4gICAgaWYgKHRoaXMuc2hvd0Nsb3NlQnV0dG9uKSB7XG4gICAgICB0aGlzLmNsb3NlTW9kYWwoTW9kYWxDbG9zZUNsaWNrTG9jYXRpb24uRXNjYXBlKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTU9EQUxfQ0xPU0UpIHByaXZhdGUgY2xvc2VNb2RhbCQ6IE9ic2VydmFibGU8TW9kYWxDbG9zZUNsaWNrTG9jYXRpb24gfCBib29sZWFuPixcbiAgICBwcml2YXRlIGZvY3VzVHJhcDogQ29uZmlndXJhYmxlRm9jdXNUcmFwRmFjdG9yeVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jbG9zZU1vZGFsJFxuICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoY2xvc2VMb2NhdGlvbjogTW9kYWxDbG9zZUNsaWNrTG9jYXRpb24gfCBib29sZWFuKSA9PiB0aGlzLmNsb3NlTW9kYWwoY2xvc2VMb2NhdGlvbikpO1xuXG4gICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ2Z1bGxzY3JlZW4nKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgcGFuZWxDbGFzczogdGhpcy5zaXplLFxuICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICBoZWlnaHQ6ICcxMDB2aCdcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zaXplID09PSAnZGlhbG9nLWxhcmdlJykge1xuICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLnRvcCgnNHZoJykuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgcGFuZWxDbGFzczogdGhpcy5zaXplLFxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgd2lkdGg6ICc5MCUnLFxuICAgICAgICBoZWlnaHQ6ICc5MHZoJ1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHNpemUgJ2RpYWxvZydcbiAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS50b3AoJzh2aCcpLmNlbnRlckhvcml6b250YWxseSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICAgIHBhbmVsQ2xhc3M6IHRoaXMuc2l6ZSxcbiAgICAgICAgbWluV2lkdGg6IHRoaXMubWluV2lkdGgsXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2l6ZSAhPT0gJ2Z1bGxzY3JlZW4nKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWZcbiAgICAgICAgLmJhY2tkcm9wQ2xpY2soKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlTW9kYWwoTW9kYWxDbG9zZUNsaWNrTG9jYXRpb24uT3V0c2lkZUNsaWNrKSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMub3BlbiAmJiB0aGlzLm92ZXJsYXlSZWYgJiYgIXRoaXMub3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMub3BlbiAmJiB0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgIHRoaXMuY2xvc2VNb2RhbChNb2RhbENsb3NlQ2xpY2tMb2NhdGlvbi5PdGhlcik7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wZW4gJiYgdGhpcy5vdmVybGF5UmVmICYmIHRoaXMub3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpICYmIHRoaXMuaXNGb2N1c1RyYXApIHtcbiAgICAgIHRoaXMudHJhcEZvY3VzSW5Nb2RhbCh0aGlzLm92ZXJsYXlSZWYuaG9zdEVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICB0aW1lcigwKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9wZW5Nb2RhbCgpKTtcbiAgICB9XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5vbGRPdmVyZmxvdyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5vdmVyZmxvd1k7XG4gICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ2Z1bGxzY3JlZW4nKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgJ292ZXJmbG93WScsICdoaWRkZW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMuY2RrUG9ydGFsKTtcbiAgICB0aGlzLnRyYXBGb2N1c0luTW9kYWwodGhpcy5vdmVybGF5UmVmLmhvc3RFbGVtZW50KTtcbiAgfVxuXG4gIGVtaXRCYWNrKCkge1xuICAgIHRoaXMuYmFjay5lbWl0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuXG4gICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ2Z1bGxzY3JlZW4nKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgJ292ZXJmbG93WScsIHRoaXMub2xkT3ZlcmZsb3cpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY2xvc2VNb2RhbChjbG9zZUxvY2F0aW9uOiBNb2RhbENsb3NlQ2xpY2tMb2NhdGlvbiB8IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuY2FuTW9kYWxCZUNsb3NlZCB8fCAoYXdhaXQgdGhpcy5jYW5Nb2RhbEJlQ2xvc2VkKCkpKSB7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcblxuICAgICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ2Z1bGxzY3JlZW4nKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAnb3ZlcmZsb3dZJywgdGhpcy5vbGRPdmVyZmxvdyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2xvc2UuZW1pdCh0eXBlb2YgY2xvc2VMb2NhdGlvbiA9PT0gJ2Jvb2xlYW4nID8gTW9kYWxDbG9zZUNsaWNrTG9jYXRpb24uT3RoZXIgOiBjbG9zZUxvY2F0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRyYXBGb2N1c0luTW9kYWwoaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5mb2N1c1RyYXAuY3JlYXRlKGhvc3RFbGVtZW50KTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIGNka1BvcnRhbD5cbiAgPGRpdlxuICAgICpuZ0lmPVwib3BlblwiXG4gICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgY2xhc3M9XCJseG1vZGFsXCJcbiAgICBbY2xhc3MubHhtb2RhbC0tZnVsbHNjcmVlbl09XCJzaXplID09PSAnZnVsbHNjcmVlbidcIlxuICAgIFtjbGFzcy5seG1vZGFsLS1kaWFsb2ddPVwic2l6ZSA9PT0gJ2RpYWxvZydcIlxuICAgIFtjbGFzcy5seG1vZGFsLS1kaWFsb2ctbGFyZ2VdPVwic2l6ZSA9PT0gJ2RpYWxvZy1sYXJnZSdcIlxuICAgIFtjbGFzcy5seG1vZGFsLS13aXRoRm9vdGVyXT1cIiEhZm9vdGVyXCJcbiAgICBbY2xhc3MubHhtb2RhbC0tdmVydGljYWxTY3JvbGxdPVwidmVydGljYWxTY3JvbGxcIlxuICAgIEBtb2RhbFxuICA+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJzaXplID09PSAnZnVsbHNjcmVlbicgJiYgc2hvd0JhY2tCdXR0b25cIlxuICAgICAgKGNsaWNrKT1cImVtaXRCYWNrKClcIlxuICAgICAgKGtleXVwLmVudGVyKT1cImVtaXRCYWNrKClcIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJmYWwgZmEtbG9uZy1hcnJvdy1sZWZ0XCJcbiAgICA+PC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG93Q2xvc2VCdXR0b25cIlxuICAgICAgKGNsaWNrKT1cImNsb3NlTW9kYWwoY2xvc2VMb2NhdGlvbi5DbG9zZUJ1dHRvbilcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJOQU1FICsgJy5jbG9zZScgfCB0cmFuc2xhdGVcIlxuICAgICAgY2xhc3M9XCJmYWwgZmEtdGltZXMgY2xvc2VCdXR0b25cIlxuICAgID48L2J1dHRvbj5cbiAgICA8bmctY29udGVudCAqbmdJZj1cImhlYWRlclwiIHNlbGVjdD1cImx4LW1vZGFsLWhlYWRlclwiPjwvbmctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWxDb250ZW50Q29udGFpbmVyXCIgW2NsYXNzLmx4VGhpblNjcm9sbGJhcl09XCJ2ZXJ0aWNhbFNjcm9sbFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGVudCAqbmdJZj1cImZvb3RlclwiIHNlbGVjdD1cImx4LW1vZGFsLWZvb3RlclwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNpbXBsaWNpdENvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
2
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
|
3
|
-
import { of, Subject } from 'rxjs';
|
|
4
|
-
import { delay, switchMap, takeUntil } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@ncstate/sat-popover";
|
|
7
|
-
/**
|
|
8
|
-
* @see PopoverComponent for usage documentation.
|
|
9
|
-
*/
|
|
10
|
-
export class PopoverHoverDirective {
|
|
11
|
-
constructor(anchor) {
|
|
12
|
-
this.anchor = anchor;
|
|
13
|
-
/**
|
|
14
|
-
* Relevant for tooltip style.
|
|
15
|
-
*/
|
|
16
|
-
this.skipCloseDelay = false;
|
|
17
|
-
/** Emits when the user's mouse enters the element. */
|
|
18
|
-
this.onMouseEnter = new Subject();
|
|
19
|
-
/** Emits when the user's mouse leaves the element. */
|
|
20
|
-
this.onMouseLeave = new Subject();
|
|
21
|
-
this.destroyed$ = new Subject();
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Amount of time to delay (ms) after hovering starts before
|
|
25
|
-
* the popover opens.
|
|
26
|
-
*/
|
|
27
|
-
get lxPopoverHover() {
|
|
28
|
-
return this._lxPopoverHover;
|
|
29
|
-
}
|
|
30
|
-
set lxPopoverHover(val) {
|
|
31
|
-
this._lxPopoverHover = coerceNumberProperty(val, 200);
|
|
32
|
-
}
|
|
33
|
-
ngAfterViewInit() {
|
|
34
|
-
// Whenever the user hovers this host element, delay the configured
|
|
35
|
-
// amount of time and open the popover. Terminate if the mouse leaves
|
|
36
|
-
// the host element before the delay is complete.
|
|
37
|
-
this.onMouseEnter
|
|
38
|
-
.pipe(switchMap(({ skipDelay }) => of(null).pipe(delay(skipDelay ? 0 : this._lxPopoverHover), takeUntil(this.onMouseLeave))), takeUntil(this.destroyed$))
|
|
39
|
-
.subscribe(() => this.anchor.popover.open());
|
|
40
|
-
// Whenever the user leaves this host element, delay the closing of the popover by the configured delay.
|
|
41
|
-
// Abort closing if during this delay another mouseEnter event occurs, for example by the popover itself.
|
|
42
|
-
this.onMouseLeave
|
|
43
|
-
.pipe(switchMap(({ skipDelay }) => of(null).pipe(delay(skipDelay ? 0 : 300), takeUntil(this.onMouseEnter))), takeUntil(this.destroyed$))
|
|
44
|
-
.subscribe(() => {
|
|
45
|
-
if (this.anchor.popover.isOpen()) {
|
|
46
|
-
// This is the default case: the popover was shown, now we want to close it.
|
|
47
|
-
this.anchor.popover.close();
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
// This can happen if we have delayed the opening of the popover, but the mouse left the anchor before
|
|
51
|
-
// the popover was shown. In this case, this.anchor.popover.close() would not generate a closed event,
|
|
52
|
-
// which is why we generate it manually here. This behavior supports cases where a "dummy" anchor is
|
|
53
|
-
// dynamically created, like the Fact Sheet detail popover in Reporting or the relations diagram.
|
|
54
|
-
this.anchor.popover.closed.emit();
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
ngOnDestroy() {
|
|
59
|
-
this.destroyed$.next();
|
|
60
|
-
}
|
|
61
|
-
showPopover(skipDelay = false) {
|
|
62
|
-
this.onMouseEnter.next({ skipDelay });
|
|
63
|
-
}
|
|
64
|
-
closePopover(skipDelay = this.skipCloseDelay) {
|
|
65
|
-
this.onMouseLeave.next({ skipDelay });
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
PopoverHoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PopoverHoverDirective, deps: [{ token: i1.SatPopoverAnchor }], target: i0.ɵɵFactoryTarget.Directive });
|
|
69
|
-
PopoverHoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: PopoverHoverDirective, selector: "[lxPopoverHover]", inputs: { lxPopoverHover: "lxPopoverHover", skipCloseDelay: "skipCloseDelay" }, host: { listeners: { "mouseenter": "showPopover()", "mouseleave": "closePopover()" } }, exportAs: ["hoverAnchor"], ngImport: i0 });
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PopoverHoverDirective, decorators: [{
|
|
71
|
-
type: Directive,
|
|
72
|
-
args: [{
|
|
73
|
-
exportAs: 'hoverAnchor',
|
|
74
|
-
selector: '[lxPopoverHover]'
|
|
75
|
-
}]
|
|
76
|
-
}], ctorParameters: function () { return [{ type: i1.SatPopoverAnchor }]; }, propDecorators: { lxPopoverHover: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], skipCloseDelay: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}], showPopover: [{
|
|
81
|
-
type: HostListener,
|
|
82
|
-
args: ['mouseenter']
|
|
83
|
-
}], closePopover: [{
|
|
84
|
-
type: HostListener,
|
|
85
|
-
args: ['mouseleave']
|
|
86
|
-
}] } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1ob3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9wb3BvdmVyLXVpL2RpcmVjdGl2ZXMvcG9wb3Zlci1ob3Zlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBUTdEOztHQUVHO0FBS0gsTUFBTSxPQUFPLHFCQUFxQjtJQTRCaEMsWUFBbUIsTUFBd0I7UUFBeEIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFkM0M7O1dBRUc7UUFFSCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV2QixzREFBc0Q7UUFDOUMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBMEIsQ0FBQztRQUU3RCxzREFBc0Q7UUFDOUMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBMEIsQ0FBQztRQUVwRCxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVJLENBQUM7SUEzQi9DOzs7T0FHRztJQUNILElBQ0ksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUksY0FBYyxDQUFDLEdBQVk7UUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQW1CRCxlQUFlO1FBQ2IsbUVBQW1FO1FBQ25FLHFFQUFxRTtRQUNyRSxpREFBaUQ7UUFDakQsSUFBSSxDQUFDLFlBQVk7YUFDZCxJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFDdEgsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDM0I7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUvQyx3R0FBd0c7UUFDeEcseUdBQXlHO1FBQ3pHLElBQUksQ0FBQyxZQUFZO2FBQ2QsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFDckcsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDM0I7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDaEMsNEVBQTRFO2dCQUM1RSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUM3QjtpQkFBTTtnQkFDTCxzR0FBc0c7Z0JBQ3RHLHNHQUFzRztnQkFDdEcsb0dBQW9HO2dCQUNwRyxpR0FBaUc7Z0JBQ2pHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNuQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxXQUFXLENBQUMsU0FBUyxHQUFHLEtBQUs7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFHRCxZQUFZLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjO1FBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDOztrSEExRVUscUJBQXFCO3NHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7dUdBT0ssY0FBYztzQkFEakIsS0FBSztnQkFhTixjQUFjO3NCQURiLEtBQUs7Z0JBa0ROLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxZQUFZO2dCQU0xQixZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYXRQb3BvdmVyQW5jaG9yIH0gZnJvbSAnQG5jc3RhdGUvc2F0LXBvcG92ZXInO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB7XG4gIGFuY2hvcjogU2F0UG9wb3ZlckFuY2hvcjtcbiAgc2hvd1BvcG92ZXIoc2tpcERlbGF5PzogYm9vbGVhbik6IHZvaWQ7XG4gIGNsb3NlUG9wb3Zlcihza2lwRGVsYXk/OiBib29sZWFuKTogdm9pZDtcbn1cblxuLyoqXG4gKiBAc2VlIFBvcG92ZXJDb21wb25lbnQgZm9yIHVzYWdlIGRvY3VtZW50YXRpb24uXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBleHBvcnRBczogJ2hvdmVyQW5jaG9yJyxcbiAgc2VsZWN0b3I6ICdbbHhQb3BvdmVySG92ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVySG92ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogQW1vdW50IG9mIHRpbWUgdG8gZGVsYXkgKG1zKSBhZnRlciBob3ZlcmluZyBzdGFydHMgYmVmb3JlXG4gICAqIHRoZSBwb3BvdmVyIG9wZW5zLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGx4UG9wb3ZlckhvdmVyKCkge1xuICAgIHJldHVybiB0aGlzLl9seFBvcG92ZXJIb3ZlcjtcbiAgfVxuICBzZXQgbHhQb3BvdmVySG92ZXIodmFsOiB1bmtub3duKSB7XG4gICAgdGhpcy5fbHhQb3BvdmVySG92ZXIgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWwsIDIwMCk7XG4gIH1cbiAgcHJpdmF0ZSBfbHhQb3BvdmVySG92ZXIhOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJlbGV2YW50IGZvciB0b29sdGlwIHN0eWxlLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2tpcENsb3NlRGVsYXkgPSBmYWxzZTtcblxuICAvKiogRW1pdHMgd2hlbiB0aGUgdXNlcidzIG1vdXNlIGVudGVycyB0aGUgZWxlbWVudC4gKi9cbiAgcHJpdmF0ZSBvbk1vdXNlRW50ZXIgPSBuZXcgU3ViamVjdDx7IHNraXBEZWxheTogYm9vbGVhbiB9PigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSB1c2VyJ3MgbW91c2UgbGVhdmVzIHRoZSBlbGVtZW50LiAqL1xuICBwcml2YXRlIG9uTW91c2VMZWF2ZSA9IG5ldyBTdWJqZWN0PHsgc2tpcERlbGF5OiBib29sZWFuIH0+KCk7XG5cbiAgcmVhZG9ubHkgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGFuY2hvcjogU2F0UG9wb3ZlckFuY2hvcikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgLy8gV2hlbmV2ZXIgdGhlIHVzZXIgaG92ZXJzIHRoaXMgaG9zdCBlbGVtZW50LCBkZWxheSB0aGUgY29uZmlndXJlZFxuICAgIC8vIGFtb3VudCBvZiB0aW1lIGFuZCBvcGVuIHRoZSBwb3BvdmVyLiBUZXJtaW5hdGUgaWYgdGhlIG1vdXNlIGxlYXZlc1xuICAgIC8vIHRoZSBob3N0IGVsZW1lbnQgYmVmb3JlIHRoZSBkZWxheSBpcyBjb21wbGV0ZS5cbiAgICB0aGlzLm9uTW91c2VFbnRlclxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoeyBza2lwRGVsYXkgfSkgPT4gb2YobnVsbCkucGlwZShkZWxheShza2lwRGVsYXkgPyAwIDogdGhpcy5fbHhQb3BvdmVySG92ZXIpLCB0YWtlVW50aWwodGhpcy5vbk1vdXNlTGVhdmUpKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuYW5jaG9yLnBvcG92ZXIub3BlbigpKTtcblxuICAgIC8vIFdoZW5ldmVyIHRoZSB1c2VyIGxlYXZlcyB0aGlzIGhvc3QgZWxlbWVudCwgZGVsYXkgdGhlIGNsb3Npbmcgb2YgdGhlIHBvcG92ZXIgYnkgdGhlIGNvbmZpZ3VyZWQgZGVsYXkuXG4gICAgLy8gQWJvcnQgY2xvc2luZyBpZiBkdXJpbmcgdGhpcyBkZWxheSBhbm90aGVyIG1vdXNlRW50ZXIgZXZlbnQgb2NjdXJzLCBmb3IgZXhhbXBsZSBieSB0aGUgcG9wb3ZlciBpdHNlbGYuXG4gICAgdGhpcy5vbk1vdXNlTGVhdmVcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHsgc2tpcERlbGF5IH0pID0+IG9mKG51bGwpLnBpcGUoZGVsYXkoc2tpcERlbGF5ID8gMCA6IDMwMCksIHRha2VVbnRpbCh0aGlzLm9uTW91c2VFbnRlcikpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5hbmNob3IucG9wb3Zlci5pc09wZW4oKSkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgY2FzZTogdGhlIHBvcG92ZXIgd2FzIHNob3duLCBub3cgd2Ugd2FudCB0byBjbG9zZSBpdC5cbiAgICAgICAgICB0aGlzLmFuY2hvci5wb3BvdmVyLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHdlIGhhdmUgZGVsYXllZCB0aGUgb3BlbmluZyBvZiB0aGUgcG9wb3ZlciwgYnV0IHRoZSBtb3VzZSBsZWZ0IHRoZSBhbmNob3IgYmVmb3JlXG4gICAgICAgICAgLy8gdGhlIHBvcG92ZXIgd2FzIHNob3duLiBJbiB0aGlzIGNhc2UsIHRoaXMuYW5jaG9yLnBvcG92ZXIuY2xvc2UoKSB3b3VsZCBub3QgZ2VuZXJhdGUgYSBjbG9zZWQgZXZlbnQsXG4gICAgICAgICAgLy8gd2hpY2ggaXMgd2h5IHdlIGdlbmVyYXRlIGl0IG1hbnVhbGx5IGhlcmUuIFRoaXMgYmVoYXZpb3Igc3VwcG9ydHMgY2FzZXMgd2hlcmUgYSBcImR1bW15XCIgYW5jaG9yIGlzXG4gICAgICAgICAgLy8gZHluYW1pY2FsbHkgY3JlYXRlZCwgbGlrZSB0aGUgRmFjdCBTaGVldCBkZXRhaWwgcG9wb3ZlciBpbiBSZXBvcnRpbmcgb3IgdGhlIHJlbGF0aW9ucyBkaWFncmFtLlxuICAgICAgICAgIHRoaXMuYW5jaG9yLnBvcG92ZXIuY2xvc2VkLmVtaXQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIHNob3dQb3BvdmVyKHNraXBEZWxheSA9IGZhbHNlKSB7XG4gICAgdGhpcy5vbk1vdXNlRW50ZXIubmV4dCh7IHNraXBEZWxheSB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICBjbG9zZVBvcG92ZXIoc2tpcERlbGF5ID0gdGhpcy5za2lwQ2xvc2VEZWxheSkge1xuICAgIHRoaXMub25Nb3VzZUxlYXZlLm5leHQoeyBza2lwRGVsYXkgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { merge, Subject } from 'rxjs';
|
|
3
|
-
import { map, startWith, switchMap, takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { TabComponent } from '../tab/tab.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/cdk/portal";
|
|
7
|
-
export class TabGroupComponent {
|
|
8
|
-
constructor(cd) {
|
|
9
|
-
this.cd = cd;
|
|
10
|
-
this.isCentered = false;
|
|
11
|
-
this.selectedIndex = 0;
|
|
12
|
-
this.indexChange = new EventEmitter();
|
|
13
|
-
this.destroyed$ = new Subject();
|
|
14
|
-
}
|
|
15
|
-
get tabs() {
|
|
16
|
-
return this.tabsQueryList?.toArray() || [];
|
|
17
|
-
}
|
|
18
|
-
get activeTabPortal() {
|
|
19
|
-
return this.tabs[this.selectedIndex]?.content;
|
|
20
|
-
}
|
|
21
|
-
ngOnChanges(changes) {
|
|
22
|
-
const tab = this.tabs[this.selectedIndex];
|
|
23
|
-
if (changes['selectedIndex'] && !changes['selectedIndex'].isFirstChange() && tab) {
|
|
24
|
-
this.switchTo(tab);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
ngAfterContentInit() {
|
|
28
|
-
if (this.tabs[0]) {
|
|
29
|
-
this.tabs[0].noLeftMarginForFirstTab = true;
|
|
30
|
-
}
|
|
31
|
-
const tab = this.tabs[this.selectedIndex];
|
|
32
|
-
if (tab) {
|
|
33
|
-
this.switchTo(tab);
|
|
34
|
-
}
|
|
35
|
-
const listenToTabsSwitch = (tabs) => merge(...tabs.map((tab) => tab.switch.asObservable().pipe(map(() => tab))));
|
|
36
|
-
this.tabsQueryList?.changes
|
|
37
|
-
.pipe(startWith(null), switchMap(() => listenToTabsSwitch(this.tabs)), takeUntil(this.destroyed$))
|
|
38
|
-
.subscribe((tab) => {
|
|
39
|
-
this.switchTo(tab);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
ngOnDestroy() {
|
|
43
|
-
this.destroyed$.next();
|
|
44
|
-
}
|
|
45
|
-
switchTo(tab) {
|
|
46
|
-
this.tabsQueryList?.forEach((t, index) => {
|
|
47
|
-
t.isActive = t === tab;
|
|
48
|
-
if (t.isActive) {
|
|
49
|
-
this.selectedIndex = index;
|
|
50
|
-
this.indexChange.emit(index);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
this.cd.markForCheck();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
TabGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TabGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
-
TabGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TabGroupComponent, selector: "lx-tab-group", inputs: { isCentered: "isCentered", selectedIndex: "selectedIndex" }, outputs: { indexChange: "indexChange" }, queries: [{ propertyName: "tabsQueryList", predicate: TabComponent }], usesOnChanges: true, ngImport: i0, template: "<ul class=\"tabs\" role=\"tablist\" [class.centered]=\"isCentered\">\n <ng-content></ng-content>\n</ul>\n\n<ng-template [cdkPortalOutlet]=\"activeTabPortal\"></ng-template>\n", styles: [".tabs{display:inline-block;list-style:none;border-bottom:solid 1px #cfd5df;width:100%;margin:0;padding:0}.tabs.centered{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TabGroupComponent, decorators: [{
|
|
59
|
-
type: Component,
|
|
60
|
-
args: [{ selector: 'lx-tab-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul class=\"tabs\" role=\"tablist\" [class.centered]=\"isCentered\">\n <ng-content></ng-content>\n</ul>\n\n<ng-template [cdkPortalOutlet]=\"activeTabPortal\"></ng-template>\n", styles: [".tabs{display:inline-block;list-style:none;border-bottom:solid 1px #cfd5df;width:100%;margin:0;padding:0}.tabs.centered{text-align:center}\n"] }]
|
|
61
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { isCentered: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}], selectedIndex: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}], indexChange: [{
|
|
66
|
-
type: Output
|
|
67
|
-
}], tabsQueryList: [{
|
|
68
|
-
type: ContentChildren,
|
|
69
|
-
args: [TabComponent]
|
|
70
|
-
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3RhYi11aS9jb21wb25lbnRzL3RhYi1ncm91cC90YWItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGFiLXVpL2NvbXBvbmVudHMvdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBUXBELE1BQU0sT0FBTyxpQkFBaUI7SUFpQjVCLFlBQW9CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBaEJoQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQVkxQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVFLENBQUM7SUFWN0MsSUFBWSxJQUFJO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFNRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUMsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsYUFBYSxFQUFFLElBQUksR0FBRyxFQUFFO1lBQ2hGLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztTQUM3QztRQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFDLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNwQjtRQUVELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxJQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakksSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPO2FBQ3hCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUM5QyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFpQjtRQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN2QyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUM7WUFDdkIsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM5QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs4R0E3RFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsaU1BS1gsWUFBWSxrREM3Qi9CLGlMQUtBOzJGRG1CYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFd0IsYUFBYTtzQkFBM0MsZUFBZTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhYkNvbXBvbmVudCB9IGZyb20gJy4uL3RhYi90YWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtdGFiLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICd0YWItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsndGFiLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRhYkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBpc0NlbnRlcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNlbGVjdGVkSW5kZXg6IG51bWJlciA9IDA7XG4gIEBPdXRwdXQoKSBpbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFiQ29tcG9uZW50KSB0YWJzUXVlcnlMaXN0PzogUXVlcnlMaXN0PFRhYkNvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBnZXQgdGFicygpOiBUYWJDb21wb25lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMudGFic1F1ZXJ5TGlzdD8udG9BcnJheSgpIHx8IFtdO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVRhYlBvcnRhbCgpIHtcbiAgICByZXR1cm4gdGhpcy50YWJzW3RoaXMuc2VsZWN0ZWRJbmRleF0/LmNvbnRlbnQ7XG4gIH1cblxuICByZWFkb25seSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgdGFiID0gdGhpcy50YWJzW3RoaXMuc2VsZWN0ZWRJbmRleF07XG4gICAgaWYgKGNoYW5nZXNbJ3NlbGVjdGVkSW5kZXgnXSAmJiAhY2hhbmdlc1snc2VsZWN0ZWRJbmRleCddLmlzRmlyc3RDaGFuZ2UoKSAmJiB0YWIpIHtcbiAgICAgIHRoaXMuc3dpdGNoVG8odGFiKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKHRoaXMudGFic1swXSkge1xuICAgICAgdGhpcy50YWJzWzBdLm5vTGVmdE1hcmdpbkZvckZpcnN0VGFiID0gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgdGFiID0gdGhpcy50YWJzW3RoaXMuc2VsZWN0ZWRJbmRleF07XG4gICAgaWYgKHRhYikge1xuICAgICAgdGhpcy5zd2l0Y2hUbyh0YWIpO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3RlblRvVGFic1N3aXRjaCA9ICh0YWJzOiBUYWJDb21wb25lbnRbXSkgPT4gbWVyZ2UoLi4udGFicy5tYXAoKHRhYikgPT4gdGFiLnN3aXRjaC5hc09ic2VydmFibGUoKS5waXBlKG1hcCgoKSA9PiB0YWIpKSkpO1xuXG4gICAgdGhpcy50YWJzUXVlcnlMaXN0Py5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gbGlzdGVuVG9UYWJzU3dpdGNoKHRoaXMudGFicykpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodGFiKSA9PiB7XG4gICAgICAgIHRoaXMuc3dpdGNoVG8odGFiKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgfVxuXG4gIHN3aXRjaFRvKHRhYjogVGFiQ29tcG9uZW50KSB7XG4gICAgdGhpcy50YWJzUXVlcnlMaXN0Py5mb3JFYWNoKCh0LCBpbmRleCkgPT4ge1xuICAgICAgdC5pc0FjdGl2ZSA9IHQgPT09IHRhYjtcbiAgICAgIGlmICh0LmlzQWN0aXZlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjx1bCBjbGFzcz1cInRhYnNcIiByb2xlPVwidGFibGlzdFwiIFtjbGFzcy5jZW50ZXJlZF09XCJpc0NlbnRlcmVkXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvdWw+XG5cbjxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cImFjdGl2ZVRhYlBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4iXX0=
|