ecabs-components 1.1.82 → 1.1.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/esm2022/lib/base/adapters/date.adapter.mjs +1 -1
- package/esm2022/lib/base/consts/buttons.consts.mjs +1 -1
- package/esm2022/lib/base/consts/country-codes.mjs +1 -1
- package/esm2022/lib/base/consts/error-messages.consts.mjs +1 -1
- package/esm2022/lib/base/consts/images.consts.mjs +1 -1
- package/esm2022/lib/base/consts/input.consts.mjs +1 -1
- package/esm2022/lib/base/consts/translations.consts.mjs +1 -1
- package/esm2022/lib/base/consts/waypoint.consts.mjs +1 -1
- package/esm2022/lib/base/directives/attach-embedded-view.directive.mjs +1 -1
- package/esm2022/lib/base/directives/attach-embedded-view.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/check-permissions.directive.mjs +1 -1
- package/esm2022/lib/base/directives/check-permissions.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/date-mask.directive.mjs +1 -1
- package/esm2022/lib/base/directives/date-mask.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/digits-only.directive.mjs +12 -5
- package/esm2022/lib/base/directives/digits-only.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/dom-observer.directive.mjs +1 -1
- package/esm2022/lib/base/directives/dom-observer.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/dynamic-bg-color.directive.mjs +1 -1
- package/esm2022/lib/base/directives/dynamic-bg-color.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/element-multiplier.directive.mjs +1 -1
- package/esm2022/lib/base/directives/element-multiplier.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/file-drop.directive.mjs +1 -1
- package/esm2022/lib/base/directives/file-drop.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/min-max.directive.mjs +1 -1
- package/esm2022/lib/base/directives/min-max.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/number-border.directive.mjs +1 -1
- package/esm2022/lib/base/directives/number-border.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/paginator.directive.mjs +1 -1
- package/esm2022/lib/base/directives/paginator.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/show-on-truncated.directive.mjs +1 -1
- package/esm2022/lib/base/directives/show-on-truncated.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/time-mask.directive.mjs +1 -1
- package/esm2022/lib/base/directives/time-mask.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/time-range.directive.mjs +1 -1
- package/esm2022/lib/base/directives/time-range.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/tooltip-if-truncated.directive.mjs +1 -1
- package/esm2022/lib/base/directives/tooltip-if-truncated.directive.module.mjs +1 -1
- package/esm2022/lib/base/directives/uppercase-mask.directive.mjs +1 -1
- package/esm2022/lib/base/directives/uppercase-mask.directive.module.mjs +1 -1
- package/esm2022/lib/base/element-base.mjs +1 -1
- package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +3 -3
- package/esm2022/lib/base/element-wrapper/element-wrapper.module.mjs +1 -1
- package/esm2022/lib/base/models/bread-crumb.models.mjs +1 -1
- package/esm2022/lib/base/models/ecabs-date-picker-translations.models.mjs +1 -1
- package/esm2022/lib/base/models/element.models.mjs +1 -1
- package/esm2022/lib/base/models/header.models.mjs +1 -1
- package/esm2022/lib/base/models/phone.models.mjs +1 -1
- package/esm2022/lib/base/models/select.models.mjs +1 -1
- package/esm2022/lib/base/models/sidebar.models.mjs +1 -1
- package/esm2022/lib/base/models/slider.models.mjs +1 -1
- package/esm2022/lib/base/models/timepicker.models.mjs +1 -1
- package/esm2022/lib/base/models/user-claim.models.mjs +1 -1
- package/esm2022/lib/base/models/validation.models.mjs +1 -1
- package/esm2022/lib/base/models/waypoint.models.mjs +1 -1
- package/esm2022/lib/base/pipes/phone-number-country-code.pipe.mjs +1 -1
- package/esm2022/lib/base/pipes/pipes.module.mjs +1 -1
- package/esm2022/lib/base/pipes/search.pipe.mjs +1 -1
- package/esm2022/lib/base/pipes/separator-append.pipe.mjs +1 -1
- package/esm2022/lib/base/pipes/truncate.pipe.mjs +1 -1
- package/esm2022/lib/base/services/ecabs-components.service.mjs +1 -1
- package/esm2022/lib/base/services/ecabs-date-picker-translations.service.mjs +1 -1
- package/esm2022/lib/base/services/header.service.mjs +1 -1
- package/esm2022/lib/base/services/unsubscribe.service.mjs +1 -1
- package/esm2022/lib/base/utils/menu-utils.mjs +1 -1
- package/esm2022/lib/base/utils/object-utils.mjs +1 -1
- package/esm2022/lib/base/utils/phone-number.utils.mjs +1 -1
- package/esm2022/lib/base/utils/time-mask.util.mjs +1 -1
- package/esm2022/lib/base/validation/validation.component.mjs +3 -3
- package/esm2022/lib/base/validation/validation.module.mjs +1 -1
- package/esm2022/lib/base/validators/date-range.validator.mjs +1 -1
- package/esm2022/lib/base/validators/phone-number.validator.mjs +1 -1
- package/esm2022/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.mjs +3 -3
- package/esm2022/lib/ecabs-active-status-filter/ecabs-active-status-filter.module.mjs +1 -1
- package/esm2022/lib/ecabs-base-phone-input/ecabs-base-phone.component.mjs +3 -3
- package/esm2022/lib/ecabs-base-phone-input/ecabs-base-phone.module.mjs +1 -1
- package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +3 -3
- package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +1 -1
- package/esm2022/lib/ecabs-button-toggle/ecabs-button-toggle.component.mjs +3 -3
- package/esm2022/lib/ecabs-button-toggle/ecabs-button-toggle.module.mjs +1 -1
- package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +3 -3
- package/esm2022/lib/ecabs-buttons/ecabs-buttons.module.mjs +1 -1
- package/esm2022/lib/ecabs-buttons-v2/ecabs-buttons-v2.component.mjs +3 -3
- package/esm2022/lib/ecabs-buttons-v2/ecabs-buttons-v2.module.mjs +1 -1
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +3 -3
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +1 -1
- package/esm2022/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component.mjs +3 -3
- package/esm2022/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.module.mjs +1 -1
- package/esm2022/lib/ecabs-chip-autocomplete/ecabs-chip-autocomplete.component.mjs +3 -3
- package/esm2022/lib/ecabs-chip-group/ecabs-chip-group.component.mjs +3 -3
- package/esm2022/lib/ecabs-chip-group/ecabs-chip-group.module.mjs +1 -1
- package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +3 -3
- package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +3 -3
- package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +1 -1
- package/esm2022/lib/ecabs-date-picker-actions/ecabs-date-picker-actions.component.mjs +3 -3
- package/esm2022/lib/ecabs-date-picker-actions/ecabs-date-picker-actions.module.mjs +1 -1
- package/esm2022/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.mjs +3 -3
- package/esm2022/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.mjs +3 -3
- package/esm2022/lib/ecabs-date-range-picker/ecabs-date-range-picker.module.mjs +1 -1
- package/esm2022/lib/ecabs-date-range-picker-v2/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header-v2.component.mjs +3 -3
- package/esm2022/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.mjs +3 -3
- package/esm2022/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.module.mjs +1 -1
- package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +3 -3
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +3 -3
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +1 -1
- package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +3 -3
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +3 -3
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +1 -1
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +3 -3
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +1 -1
- package/esm2022/lib/ecabs-dialog-confirm-deletion/ecabs-dialog-confirm-deletion.component.mjs +3 -3
- package/esm2022/lib/ecabs-dialog-confirm-deletion/ecabs-dialog-confirm-deletion.module.mjs +1 -1
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +3 -3
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +1 -1
- package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +3 -3
- package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +1 -1
- package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +3 -3
- package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +1 -1
- package/esm2022/lib/ecabs-header/ecabs-header.component.mjs +3 -3
- package/esm2022/lib/ecabs-header/ecabs-header.module.mjs +1 -1
- package/esm2022/lib/ecabs-hint/ecabs-hint.component.mjs +3 -3
- package/esm2022/lib/ecabs-hint/ecabs-hint.module.mjs +1 -1
- package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +3 -3
- package/esm2022/lib/ecabs-increment/ecabs-increment.module.mjs +1 -1
- package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +6 -8
- package/esm2022/lib/ecabs-input/ecabs-input.module.mjs +1 -1
- package/esm2022/lib/ecabs-input-range/ecabs-input-range.component.mjs +3 -3
- package/esm2022/lib/ecabs-input-range/ecabs-input-range.module.mjs +1 -1
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +3 -3
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +1 -1
- package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +3 -3
- package/esm2022/lib/ecabs-loading/ecabs-loading.module.mjs +1 -1
- package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +3 -3
- package/esm2022/lib/ecabs-logo/ecabs-logo.component.mjs +3 -3
- package/esm2022/lib/ecabs-logo/ecabs-logo.module.mjs +1 -1
- package/esm2022/lib/ecabs-menu-items/ecabs-menu-items.component.mjs +3 -3
- package/esm2022/lib/ecabs-menu-items/ecabs-menu-items.module.mjs +1 -1
- package/esm2022/lib/ecabs-multiple-dates-picker/ecabs-multiple-dates-picker.component.mjs +3 -3
- package/esm2022/lib/ecabs-multiple-dates-picker/ecabs-multiple-dates-picker.module.mjs +1 -1
- package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +3 -3
- package/esm2022/lib/ecabs-note/ecabs-note.module.mjs +1 -1
- package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +3 -3
- package/esm2022/lib/ecabs-phone/ecabs-phone.module.mjs +1 -1
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +3 -3
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +1 -1
- package/esm2022/lib/ecabs-place-autocomplete/ecabs-place-autocomplete.component.mjs +4 -4
- package/esm2022/lib/ecabs-place-autocomplete/ecabs-place-autocomplete.module.mjs +1 -1
- package/esm2022/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.component.mjs +58 -18
- package/esm2022/lib/ecabs-profile/ecabs-profile.component.mjs +3 -3
- package/esm2022/lib/ecabs-profile/ecabs-profile.module.mjs +1 -1
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +3 -3
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +1 -1
- package/esm2022/lib/ecabs-segment/ecabs-segment.component.mjs +3 -3
- package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +4 -4
- package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +1 -1
- package/esm2022/lib/ecabs-select-v2/ecabs-select-v2.component.mjs +3 -3
- package/esm2022/lib/ecabs-select-v2/ecabs-select-v2.module.mjs +1 -1
- package/esm2022/lib/ecabs-sidebar/ecabs-sidebar.component.mjs +3 -3
- package/esm2022/lib/ecabs-sidebar/ecabs-sidebar.module.mjs +1 -1
- package/esm2022/lib/ecabs-slider/ecabs-slider.component.mjs +3 -3
- package/esm2022/lib/ecabs-slider/ecabs-slider.module.mjs +1 -1
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +3 -3
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +1 -1
- package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +3 -3
- package/esm2022/lib/ecabs-table/ecabs-table.module.mjs +1 -1
- package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +3 -3
- package/esm2022/lib/ecabs-textarea/ecabs-textarea.module.mjs +1 -1
- package/esm2022/lib/ecabs-time-range-input-v2/config.model.mjs +1 -1
- package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.mjs +3 -3
- package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.module.mjs +1 -1
- package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.service.mjs +1 -1
- package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +3 -3
- package/esm2022/lib/ecabs-timepicker/config.model.mjs +1 -1
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +3 -3
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +1 -1
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +1 -1
- package/esm2022/lib/ecabs-validation/ecabs-validation.component.mjs +3 -3
- package/esm2022/lib/ecabs-validation/ecabs-validation.module.mjs +1 -1
- package/fesm2022/ecabs-components.mjs +186 -141
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/base/models/waypoint.models.d.ts +6 -3
- package/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.component.d.ts +2 -0
- package/package.json +1 -1
- package/src/assets/images/nothing-here.svg +22 -22
- package/src/assets/images/promotions.svg +3 -3
- package/src/assets/styles/material/_theme.scss +100 -100
- package/src/assets/styles/material/overrides/_autocomplete.scss +34 -34
- package/src/assets/styles/material/overrides/_button.scss +134 -134
- package/src/assets/styles/material/overrides/_card.scss +55 -55
- package/src/assets/styles/material/overrides/_chip.scss +240 -240
- package/src/assets/styles/material/overrides/_datepicker.scss +178 -178
- package/src/assets/styles/material/overrides/_dialog.scss +25 -25
- package/src/assets/styles/material/overrides/_divider.scss +5 -5
- package/src/assets/styles/material/overrides/_expansion.scss +32 -32
- package/src/assets/styles/material/overrides/_form.scss +95 -95
- package/src/assets/styles/material/overrides/_icon.scss +8 -8
- package/src/assets/styles/material/overrides/_menu.scss +13 -13
- package/src/assets/styles/material/overrides/_paginator.scss +75 -75
- package/src/assets/styles/material/overrides/_phone.scss +55 -55
- package/src/assets/styles/material/overrides/_progress.scss +7 -7
- package/src/assets/styles/material/overrides/_select.scss +199 -199
- package/src/assets/styles/material/overrides/_sidebar.scss +6 -6
- package/src/assets/styles/material/overrides/_tab.scss +41 -41
- package/src/assets/styles/material/overrides/_table.scss +27 -27
- package/src/assets/styles/material/overrides/_toaster.scss +36 -36
- package/src/assets/styles/material/overrides/_toggle.scss +54 -54
- package/src/assets/styles/material/overrides/_toolbar.scss +3 -3
- package/src/assets/styles/material/overrides/_tooltip.scss +7 -7
- package/src/assets/styles/material/overrides/index.scss +22 -22
- package/src/assets/styles/scss/base/_heading.scss +17 -17
- package/src/assets/styles/scss/base/_normalize.scss +99 -99
- package/src/assets/styles/scss/base/index.scss +2 -2
- package/src/assets/styles/scss/modules/_autocomplete.scss +42 -42
- package/src/assets/styles/scss/modules/_button.scss +272 -272
- package/src/assets/styles/scss/modules/_card.scss +46 -46
- package/src/assets/styles/scss/modules/_chip.scss +64 -64
- package/src/assets/styles/scss/modules/_datepicker.scss +435 -435
- package/src/assets/styles/scss/modules/_dialog.scss +15 -15
- package/src/assets/styles/scss/modules/_divider.scss +4 -4
- package/src/assets/styles/scss/modules/_form.scss +383 -383
- package/src/assets/styles/scss/modules/_icon.scss +30 -30
- package/src/assets/styles/scss/modules/_img.scss +32 -32
- package/src/assets/styles/scss/modules/_legend.scss +64 -64
- package/src/assets/styles/scss/modules/_list.scss +17 -17
- package/src/assets/styles/scss/modules/_map.scss +221 -221
- package/src/assets/styles/scss/modules/_percentage.scss +41 -41
- package/src/assets/styles/scss/modules/_phone.scss +32 -32
- package/src/assets/styles/scss/modules/_select.scss +17 -17
- package/src/assets/styles/scss/modules/_statuses.scss +36 -36
- package/src/assets/styles/scss/modules/_tab.scss +16 -16
- package/src/assets/styles/scss/modules/_table.scss +132 -132
- package/src/assets/styles/scss/modules/_timepicker.scss +91 -91
- package/src/assets/styles/scss/modules/_toaster.scss +53 -53
- package/src/assets/styles/scss/modules/_tooltip.scss +10 -10
- package/src/assets/styles/scss/modules/drag-drop.scss +31 -31
- package/src/assets/styles/scss/modules/index.scss +23 -23
- package/src/assets/styles/scss/utilities/_fonts.scss +31 -31
- package/src/assets/styles/scss/utilities/_functions.scss +27 -27
- package/src/assets/styles/scss/utilities/_helpers.scss +14 -14
- package/src/assets/styles/scss/utilities/_mixins.scss +65 -65
- package/src/assets/styles/scss/utilities/_variables.scss +32 -32
- package/src/assets/styles/scss/utilities/index.scss +6 -6
- package/src/assets/styles/styles.scss +5 -5
|
@@ -15,7 +15,7 @@ export class EcabsPlaceAutocompleteV2Component extends EcabsElementBaseComponent
|
|
|
15
15
|
matCustomInput;
|
|
16
16
|
showDeleteItem = false;
|
|
17
17
|
set waypointsHistory(value) {
|
|
18
|
-
this.waypointsHistory$.next((value ?? []).filter((suggestion) => !!suggestion?.place_id));
|
|
18
|
+
this.waypointsHistory$.next((value ?? []).filter((suggestion) => !!suggestion?.place_id || !!this.toPlaceFallback(suggestion)));
|
|
19
19
|
}
|
|
20
20
|
showSuffix = false;
|
|
21
21
|
countryCode = 'MT';
|
|
@@ -75,10 +75,10 @@ export class EcabsPlaceAutocompleteV2Component extends EcabsElementBaseComponent
|
|
|
75
75
|
place_name: query,
|
|
76
76
|
});
|
|
77
77
|
});
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
// Keyed on value$ alone so blur/refocus cannot re-fire a billable
|
|
79
|
+
// prediction request for an unchanged query; focus is read imperatively at
|
|
80
|
+
// request time so programmatic writeValue never triggers a request either.
|
|
81
|
+
const googleSuggestions$ = this.value$.pipe(debounceTime(this.debounceMs), distinctUntilChanged(), switchMap((value) => this.autocompleteService && value && this.isFocused$.value
|
|
82
82
|
? this.getPlacesResults(value)
|
|
83
83
|
: of(this.emptySuggestions)), startWith(this.emptySuggestions));
|
|
84
84
|
this.waypointSuggestions$ = combineLatest([
|
|
@@ -96,10 +96,8 @@ export class EcabsPlaceAutocompleteV2Component extends EcabsElementBaseComponent
|
|
|
96
96
|
this.selectedIndex = cappedSuggestions?.length ? 0 : -1;
|
|
97
97
|
}));
|
|
98
98
|
}
|
|
99
|
-
onChange = () => {
|
|
100
|
-
};
|
|
101
|
-
onTouch = () => {
|
|
102
|
-
};
|
|
99
|
+
onChange = () => { };
|
|
100
|
+
onTouch = () => { };
|
|
103
101
|
getPlacesResults(query) {
|
|
104
102
|
return new Observable((observer) => {
|
|
105
103
|
this.autocompleteService.getPlacePredictions({
|
|
@@ -139,19 +137,61 @@ export class EcabsPlaceAutocompleteV2Component extends EcabsElementBaseComponent
|
|
|
139
137
|
return;
|
|
140
138
|
}
|
|
141
139
|
const { additional_info, place_id } = suggestion ?? {};
|
|
142
|
-
if (
|
|
140
|
+
if (place_id) {
|
|
141
|
+
this.isResolvingPlace = true;
|
|
142
|
+
this.value = additional_info;
|
|
143
|
+
this.isFocused$.next(false);
|
|
144
|
+
this.resolveByPlaceId(place_id, additional_info);
|
|
143
145
|
return;
|
|
144
146
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
147
|
+
const fallbackPlace = this.toPlaceFallback(suggestion);
|
|
148
|
+
if (fallbackPlace) {
|
|
149
|
+
console.warn('Waypoint history fallback used: no place_id on suggestion', {
|
|
150
|
+
suggestion_id: suggestion?.suggestion_id,
|
|
151
|
+
geo_key: suggestion?.geo_key,
|
|
152
|
+
});
|
|
153
|
+
this.value = additional_info;
|
|
154
|
+
this.isFocused$.next(false);
|
|
155
|
+
this.placeResult.emit({ place: fallbackPlace, text: additional_info });
|
|
156
|
+
// Fallback selection can happen before the Google Maps script loads, and
|
|
157
|
+
// a fresh session token needs the google global.
|
|
158
|
+
if (this.autocompleteService) {
|
|
159
|
+
this.resetSessionToken();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
toLatLng(suggestion) {
|
|
164
|
+
const { location } = suggestion ?? {};
|
|
165
|
+
return {
|
|
166
|
+
lat: Number(location?.latitude ?? location?.lat),
|
|
167
|
+
lng: Number(location?.longitude ?? location?.lng),
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
toPlaceFallback(suggestion) {
|
|
171
|
+
const { additional_info, locality } = suggestion ?? {};
|
|
172
|
+
const { lat, lng } = this.toLatLng(suggestion);
|
|
173
|
+
if (Number.isNaN(lat) ||
|
|
174
|
+
Number.isNaN(lng) ||
|
|
175
|
+
!additional_info ||
|
|
176
|
+
!locality) {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
// Duck-typed LatLng: history can arrive from the store before the Google
|
|
181
|
+
// Maps script loads, so this must not touch the google global.
|
|
182
|
+
geometry: {
|
|
183
|
+
location: { lat: () => lat, lng: () => lng },
|
|
184
|
+
},
|
|
185
|
+
address_components: [
|
|
186
|
+
{ types: ['locality'], long_name: locality, short_name: locality },
|
|
187
|
+
],
|
|
188
|
+
};
|
|
149
189
|
}
|
|
150
190
|
resolveByPlaceId(placeId, text) {
|
|
151
191
|
this.placesService.getDetails({
|
|
152
192
|
placeId,
|
|
153
193
|
sessionToken: this.sessionToken,
|
|
154
|
-
fields: ['address_components', 'geometry.location', 'place_id'],
|
|
194
|
+
fields: ['address_components', 'geometry.location', 'place_id', 'name'],
|
|
155
195
|
}, (place, status) => {
|
|
156
196
|
this.ngZone.run(() => {
|
|
157
197
|
if (status === google.maps.places.PlacesServiceStatus.OK && place) {
|
|
@@ -241,7 +281,7 @@ export class EcabsPlaceAutocompleteV2Component extends EcabsElementBaseComponent
|
|
|
241
281
|
useExisting: EcabsPlaceAutocompleteV2Component,
|
|
242
282
|
multi: true,
|
|
243
283
|
},
|
|
244
|
-
], viewQueries: [{ propertyName: "matCustomInput", first: true, predicate: ["matCustomAutocompleteInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"autocomplete-ui w-full\">\r\n <section class=\"form-field__input--wrapper w-full\">\r\n <input #matCustomAutocompleteInput\r\n cdkOverlayOrigin\r\n #trigger=\"cdkOverlayOrigin\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocomplete=\"off\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (focus)=\"onFocus()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (ngModelChange)=\"onUserInput($event)\"\r\n (blur)=\"onBlur()\"\r\n />\r\n <div *ngIf=\"showSuffix\"\r\n class=\"form-field__input--suffix\">\r\n <mat-icon *ngIf=\"showDeleteItem\"\r\n class=\"suffix cursor-pointer delete-button\"\r\n (keydown.enter)=\"delete()\"\r\n (click)=\"delete()\">\r\n delete\r\n </mat-icon>\r\n <mat-icon *ngIf=\"!showDeleteItem && value\"\r\n class=\"suffix cursor-pointer\"\r\n (keydown.enter)=\"clear()\"\r\n (click)=\"clear()\">\r\n close\r\n </mat-icon>\r\n </div>\r\n </section>\r\n <!-- Custom dropdown -->\r\n <ng-template cdkConnectedOverlay\r\n [cdkConnectedOverlayWidth]=\"trigger.elementRef.nativeElement.offsetWidth\"\r\n [cdkConnectedOverlayFlexibleDimensions]=\"false\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"isFocused$ | async\">\r\n <ul class=\"autocomplete-ui__container\">\r\n <li *ngFor=\"let suggestion of waypointSuggestions$ | async; let i = index; trackBy: trackBySuggestion\"\r\n class=\"autocomplete-ui--item flex items-center justify-between hover:bg-gray-100\"\r\n [class.active]=\"i === selectedIndex\"\r\n (mousedown)=\"onSelectSuggestion(suggestion)\">\r\n <ng-container *ngIf=\"!suggestion?.prediction_term; else purePlaceResultTpl\">\r\n <div class=\"w-full truncate\">\r\n {{ suggestion?.additional_info }}\r\n </div>\r\n <mat-icon svgIcon=\"ph-regular:clock-counter\"\r\n class=\"w-5 h-5 text-xl text-gray-400 hover:!text-gray-400\">\r\n </mat-icon>\r\n </ng-container>\r\n\r\n <ng-template #purePlaceResultTpl>\r\n <ul class=\"w-full flex items-center gap-x-1 leading-0 overflow-hidden whitespace-nowrap\">\r\n <li>\r\n {{ suggestion?.prediction_term?.[0]?.value }}\r\n </li>\r\n <li *ngIf=\"suggestion?.prediction_term?.[1]?.value\"\r\n class=\"text-xs text-gray-600 truncate\">\r\n {{ suggestion?.prediction_term?.[1]?.value | separatorAppend: suggestion?.prediction_term?.[2]?.value }}\r\n </li>\r\n <li *ngIf=\"suggestion?.prediction_term?.[2]?.value\"\r\n class=\"text-xs text-gray-600 font-semibold truncate\">\r\n {{ suggestion?.prediction_term?.[2]?.value }}\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", styles: [":root{--mat-standard-button-toggle-shape: calc-rem(8px);--mat-option-label-text-color: var(--color-gray-900);--mat-option-focus-state-layer-color: var(--color-gray-100);--mat-option-hover-state-layer-color: var(--color-gray-50);--mat-divider-color: var(--color-gray-100);--mat-select-placeholder-text-color: var(--color-gray-400)}mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: i5.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.SeparatorAppendPipe, name: "separatorAppend" }] });
|
|
284
|
+
], viewQueries: [{ propertyName: "matCustomInput", first: true, predicate: ["matCustomAutocompleteInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"autocomplete-ui w-full\">\r\n <section class=\"form-field__input--wrapper w-full\">\r\n <input #matCustomAutocompleteInput\r\n cdkOverlayOrigin\r\n #trigger=\"cdkOverlayOrigin\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocomplete=\"off\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (focus)=\"onFocus()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (ngModelChange)=\"onUserInput($event)\"\r\n (blur)=\"onBlur()\"\r\n />\r\n <div *ngIf=\"showSuffix\"\r\n class=\"form-field__input--suffix\">\r\n <mat-icon *ngIf=\"showDeleteItem\"\r\n class=\"suffix cursor-pointer delete-button\"\r\n (keydown.enter)=\"delete()\"\r\n (click)=\"delete()\">\r\n delete\r\n </mat-icon>\r\n <mat-icon *ngIf=\"!showDeleteItem && value\"\r\n class=\"suffix cursor-pointer\"\r\n (keydown.enter)=\"clear()\"\r\n (click)=\"clear()\">\r\n close\r\n </mat-icon>\r\n </div>\r\n </section>\r\n <!-- Custom dropdown -->\r\n <ng-template cdkConnectedOverlay\r\n [cdkConnectedOverlayWidth]=\"trigger.elementRef.nativeElement.offsetWidth\"\r\n [cdkConnectedOverlayFlexibleDimensions]=\"false\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"isFocused$ | async\">\r\n <ul class=\"autocomplete-ui__container\">\r\n <li *ngFor=\"let suggestion of waypointSuggestions$ | async; let i = index; trackBy: trackBySuggestion\"\r\n class=\"autocomplete-ui--item flex items-center justify-between hover:bg-gray-100\"\r\n [class.active]=\"i === selectedIndex\"\r\n (mousedown)=\"onSelectSuggestion(suggestion)\">\r\n <ng-container *ngIf=\"!suggestion?.prediction_term; else purePlaceResultTpl\">\r\n <div class=\"w-full truncate\">\r\n {{ suggestion?.additional_info }}\r\n </div>\r\n <mat-icon svgIcon=\"ph-regular:clock-counter\"\r\n class=\"w-5 h-5 text-xl text-gray-400 hover:!text-gray-400\">\r\n </mat-icon>\r\n </ng-container>\r\n\r\n <ng-template #purePlaceResultTpl>\r\n <ul class=\"w-full flex items-center gap-x-1 leading-0 overflow-hidden whitespace-nowrap\">\r\n <li class=\"leading-none\">\r\n {{ suggestion?.prediction_term?.[0]?.value }}\r\n </li>\r\n <li *ngIf=\"suggestion?.prediction_term?.[1]?.value\"\r\n class=\"text-xs text-gray-600 truncate\">\r\n {{ suggestion?.prediction_term?.[1]?.value | separatorAppend: suggestion?.prediction_term?.[2]?.value }}\r\n </li>\r\n <li *ngIf=\"suggestion?.prediction_term?.[2]?.value\"\r\n class=\"text-xs text-gray-600 font-semibold truncate\">\r\n {{ suggestion?.prediction_term?.[2]?.value }}\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", styles: [":root{--mat-standard-button-toggle-shape: calc-rem(8px);--mat-option-label-text-color: var(--color-gray-900);--mat-option-focus-state-layer-color: var(--color-gray-100);--mat-option-hover-state-layer-color: var(--color-gray-50);--mat-divider-color: var(--color-gray-100);--mat-select-placeholder-text-color: var(--color-gray-400)}mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: i5.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.SeparatorAppendPipe, name: "separatorAppend" }] });
|
|
245
285
|
}
|
|
246
286
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteV2Component, decorators: [{
|
|
247
287
|
type: Component,
|
|
@@ -251,7 +291,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
251
291
|
useExisting: EcabsPlaceAutocompleteV2Component,
|
|
252
292
|
multi: true,
|
|
253
293
|
},
|
|
254
|
-
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"autocomplete-ui w-full\">\r\n <section class=\"form-field__input--wrapper w-full\">\r\n <input #matCustomAutocompleteInput\r\n cdkOverlayOrigin\r\n #trigger=\"cdkOverlayOrigin\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocomplete=\"off\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (focus)=\"onFocus()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (ngModelChange)=\"onUserInput($event)\"\r\n (blur)=\"onBlur()\"\r\n />\r\n <div *ngIf=\"showSuffix\"\r\n class=\"form-field__input--suffix\">\r\n <mat-icon *ngIf=\"showDeleteItem\"\r\n class=\"suffix cursor-pointer delete-button\"\r\n (keydown.enter)=\"delete()\"\r\n (click)=\"delete()\">\r\n delete\r\n </mat-icon>\r\n <mat-icon *ngIf=\"!showDeleteItem && value\"\r\n class=\"suffix cursor-pointer\"\r\n (keydown.enter)=\"clear()\"\r\n (click)=\"clear()\">\r\n close\r\n </mat-icon>\r\n </div>\r\n </section>\r\n <!-- Custom dropdown -->\r\n <ng-template cdkConnectedOverlay\r\n [cdkConnectedOverlayWidth]=\"trigger.elementRef.nativeElement.offsetWidth\"\r\n [cdkConnectedOverlayFlexibleDimensions]=\"false\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"isFocused$ | async\">\r\n <ul class=\"autocomplete-ui__container\">\r\n <li *ngFor=\"let suggestion of waypointSuggestions$ | async; let i = index; trackBy: trackBySuggestion\"\r\n class=\"autocomplete-ui--item flex items-center justify-between hover:bg-gray-100\"\r\n [class.active]=\"i === selectedIndex\"\r\n (mousedown)=\"onSelectSuggestion(suggestion)\">\r\n <ng-container *ngIf=\"!suggestion?.prediction_term; else purePlaceResultTpl\">\r\n <div class=\"w-full truncate\">\r\n {{ suggestion?.additional_info }}\r\n </div>\r\n <mat-icon svgIcon=\"ph-regular:clock-counter\"\r\n class=\"w-5 h-5 text-xl text-gray-400 hover:!text-gray-400\">\r\n </mat-icon>\r\n </ng-container>\r\n\r\n <ng-template #purePlaceResultTpl>\r\n <ul class=\"w-full flex items-center gap-x-1 leading-0 overflow-hidden whitespace-nowrap\">\r\n <li>\r\n {{ suggestion?.prediction_term?.[0]?.value }}\r\n </li>\r\n <li *ngIf=\"suggestion?.prediction_term?.[1]?.value\"\r\n class=\"text-xs text-gray-600 truncate\">\r\n {{ suggestion?.prediction_term?.[1]?.value | separatorAppend: suggestion?.prediction_term?.[2]?.value }}\r\n </li>\r\n <li *ngIf=\"suggestion?.prediction_term?.[2]?.value\"\r\n class=\"text-xs text-gray-600 font-semibold truncate\">\r\n {{ suggestion?.prediction_term?.[2]?.value }}\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", styles: [":root{--mat-standard-button-toggle-shape: calc-rem(8px);--mat-option-label-text-color: var(--color-gray-900);--mat-option-focus-state-layer-color: var(--color-gray-100);--mat-option-hover-state-layer-color: var(--color-gray-50);--mat-divider-color: var(--color-gray-100);--mat-select-placeholder-text-color: var(--color-gray-400)}mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"] }]
|
|
294
|
+
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"autocomplete-ui w-full\">\r\n <section class=\"form-field__input--wrapper w-full\">\r\n <input #matCustomAutocompleteInput\r\n cdkOverlayOrigin\r\n #trigger=\"cdkOverlayOrigin\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocomplete=\"off\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (focus)=\"onFocus()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (ngModelChange)=\"onUserInput($event)\"\r\n (blur)=\"onBlur()\"\r\n />\r\n <div *ngIf=\"showSuffix\"\r\n class=\"form-field__input--suffix\">\r\n <mat-icon *ngIf=\"showDeleteItem\"\r\n class=\"suffix cursor-pointer delete-button\"\r\n (keydown.enter)=\"delete()\"\r\n (click)=\"delete()\">\r\n delete\r\n </mat-icon>\r\n <mat-icon *ngIf=\"!showDeleteItem && value\"\r\n class=\"suffix cursor-pointer\"\r\n (keydown.enter)=\"clear()\"\r\n (click)=\"clear()\">\r\n close\r\n </mat-icon>\r\n </div>\r\n </section>\r\n <!-- Custom dropdown -->\r\n <ng-template cdkConnectedOverlay\r\n [cdkConnectedOverlayWidth]=\"trigger.elementRef.nativeElement.offsetWidth\"\r\n [cdkConnectedOverlayFlexibleDimensions]=\"false\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"isFocused$ | async\">\r\n <ul class=\"autocomplete-ui__container\">\r\n <li *ngFor=\"let suggestion of waypointSuggestions$ | async; let i = index; trackBy: trackBySuggestion\"\r\n class=\"autocomplete-ui--item flex items-center justify-between hover:bg-gray-100\"\r\n [class.active]=\"i === selectedIndex\"\r\n (mousedown)=\"onSelectSuggestion(suggestion)\">\r\n <ng-container *ngIf=\"!suggestion?.prediction_term; else purePlaceResultTpl\">\r\n <div class=\"w-full truncate\">\r\n {{ suggestion?.additional_info }}\r\n </div>\r\n <mat-icon svgIcon=\"ph-regular:clock-counter\"\r\n class=\"w-5 h-5 text-xl text-gray-400 hover:!text-gray-400\">\r\n </mat-icon>\r\n </ng-container>\r\n\r\n <ng-template #purePlaceResultTpl>\r\n <ul class=\"w-full flex items-center gap-x-1 leading-0 overflow-hidden whitespace-nowrap\">\r\n <li class=\"leading-none\">\r\n {{ suggestion?.prediction_term?.[0]?.value }}\r\n </li>\r\n <li *ngIf=\"suggestion?.prediction_term?.[1]?.value\"\r\n class=\"text-xs text-gray-600 truncate\">\r\n {{ suggestion?.prediction_term?.[1]?.value | separatorAppend: suggestion?.prediction_term?.[2]?.value }}\r\n </li>\r\n <li *ngIf=\"suggestion?.prediction_term?.[2]?.value\"\r\n class=\"text-xs text-gray-600 font-semibold truncate\">\r\n {{ suggestion?.prediction_term?.[2]?.value }}\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", styles: [":root{--mat-standard-button-toggle-shape: calc-rem(8px);--mat-option-label-text-color: var(--color-gray-900);--mat-option-focus-state-layer-color: var(--color-gray-100);--mat-option-hover-state-layer-color: var(--color-gray-50);--mat-divider-color: var(--color-gray-100);--mat-select-placeholder-text-color: var(--color-gray-400)}mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"] }]
|
|
255
295
|
}], ctorParameters: function () { return []; }, propDecorators: { matCustomInput: [{
|
|
256
296
|
type: ViewChild,
|
|
257
297
|
args: ['matCustomAutocompleteInput', { static: false }]
|
|
@@ -276,4 +316,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
276
316
|
}], queryChanged: [{
|
|
277
317
|
type: Output
|
|
278
318
|
}] } });
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8seUJBQXlCLE1BQU0sc0JBQXNCLENBQUM7QUFPN0QsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsVUFBVSxFQUNWLEVBQUUsRUFDRixTQUFTLEVBQ1QsT0FBTyxFQUNQLEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFlOUQsTUFBTSxPQUFPLGlDQUNYLFNBQVEseUJBQXlCO0lBR2pDLGNBQWMsQ0FBYTtJQUczQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBRXZCLElBQ0ksZ0JBQWdCLENBQUMsS0FBMkI7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LEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsaUNBQWlDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Ysb01DdERILHU4R0E0RUE7OzRGRHBCYSxpQ0FBaUM7a0JBWjdDLFNBQVM7K0JBQ0UsNkJBQTZCLGFBRzVCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsbUNBQW1DOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFNRCxjQUFjO3NCQURiLFNBQVM7dUJBQUMsNEJBQTRCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQUl4RCxjQUFjO3NCQURiLEtBQUs7Z0JBSUYsZ0JBQWdCO3NCQURuQixLQUFLO2dCQVFOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSUcsV0FBVztzQkFEbkIsTUFBTTtnQkFJRSxVQUFVO3NCQURsQixNQUFNO2dCQUlFLFlBQVk7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIE5nQ29udHJvbCxcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgRWNhYnNFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcbmltcG9ydCB7V2F5cG9pbnRUeXBlRW51bX0gZnJvbSAnLi4vYmFzZS9jb25zdHMvd2F5cG9pbnQuY29uc3RzJztcclxuaW1wb3J0IHtcclxuICBHb29nbGVQbGFjZVJlc3VsdCxcclxuICBXYXlwb2ludFF1ZXJ5Q2hhbmdlLFxyXG4gIFdheXBvaW50U3VnZ2VzdGlvbixcclxufSBmcm9tICcuLi9iYXNlL21vZGVscy93YXlwb2ludC5tb2RlbHMnO1xyXG5pbXBvcnQge1xyXG4gIEJlaGF2aW9yU3ViamVjdCxcclxuICBjb21iaW5lTGF0ZXN0LFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICBtYXAsXHJcbiAgT2JzZXJ2YWJsZSxcclxuICBvZixcclxuICBzdGFydFdpdGgsXHJcbiAgU3ViamVjdCxcclxuICB0YXAsXHJcbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7c3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCBBdXRvY29tcGxldGVQcmVkaWN0aW9uID0gZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVByZWRpY3Rpb247XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZS12MicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZS12Mi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNQbGFjZUF1dG9jb21wbGV0ZVYyQ29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzUGxhY2VBdXRvY29tcGxldGVWMkNvbXBvbmVudFxyXG4gIGV4dGVuZHMgRWNhYnNFbGVtZW50QmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQFZpZXdDaGlsZCgnbWF0Q3VzdG9tQXV0b2NvbXBsZXRlSW5wdXQnLCB7c3RhdGljOiBmYWxzZX0pXHJcbiAgbWF0Q3VzdG9tSW5wdXQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0RlbGV0ZUl0ZW0gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgd2F5cG9pbnRzSGlzdG9yeSh2YWx1ZTogV2F5cG9pbnRTdWdnZXN0aW9uW10pIHtcclxuICAgIHRoaXMud2F5cG9pbnRzSGlzdG9yeSQubmV4dChcclxuICAgICAgKHZhbHVlID8/IFtdKS5maWx0ZXIoKHN1Z2dlc3Rpb24pID0+ICEhc3VnZ2VzdGlvbj8ucGxhY2VfaWQpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1N1ZmZpeCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvdW50cnlDb2RlID0gJ01UJztcclxuXHJcbiAgQElucHV0KClcclxuICBnb29nbGVMb2FkZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgd2F5cG9pbnRUeXBlOiBXYXlwb2ludFR5cGVFbnVtO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRlYm91bmNlTXMgPSAyNDA7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHJlYWRvbmx5IHBsYWNlUmVzdWx0OiBFdmVudEVtaXR0ZXI8R29vZ2xlUGxhY2VSZXN1bHQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICByZWFkb25seSBkZWxldGVJdGVtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICByZWFkb25seSBxdWVyeUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFdheXBvaW50UXVlcnlDaGFuZ2U+KCk7XHJcblxyXG4gIGlzRm9jdXNlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICB3YXlwb2ludFN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxXYXlwb2ludFN1Z2dlc3Rpb25bXT47XHJcbiAgdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcclxuXHJcbiAgc2VsZWN0ZWRJbmRleCA9IC0xO1xyXG4gIGRpc3BsYXllZFN1Z2dlc3Rpb25zOiBXYXlwb2ludFN1Z2dlc3Rpb25bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGlucHV0UXVlcnkkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgd2F5cG9pbnRzSGlzdG9yeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxyXG4gICAgV2F5cG9pbnRTdWdnZXN0aW9uW11cclxuICA+KFtdKTtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWUgPSAnJztcclxuICBwcml2YXRlIGF1dG9jb21wbGV0ZVNlcnZpY2U6IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGVTZXJ2aWNlO1xyXG4gIHByaXZhdGUgcGxhY2VzU2VydmljZTogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2U7XHJcbiAgcHJpdmF0ZSBzZXNzaW9uVG9rZW46IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGVTZXNzaW9uVG9rZW47XHJcbiAgcHJpdmF0ZSBpc1Jlc29sdmluZ1BsYWNlID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgTUFYX1NVR0dFU1RJT05TID0gMTA7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBlbXB0eVN1Z2dlc3Rpb25zOiBXYXlwb2ludFN1Z2dlc3Rpb25bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuX3ZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmFsdWUkLm5leHQodmFsdWUpO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7Z29vZ2xlTG9hZGVkfSA9IGNoYW5nZXMgPz8ge307XHJcblxyXG4gICAgaWYgKGdvb2dsZUxvYWRlZD8uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuaW5pdEdvb2dsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuXHJcbiAgICBpZiAobmdDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlucHV0UXVlcnkkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlTXMpLFxyXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgocXVlcnkpID0+IHtcclxuICAgICAgICB0aGlzLnF1ZXJ5Q2hhbmdlZC5lbWl0KHtcclxuICAgICAgICAgIHdheXBvaW50X3R5cGU6IHRoaXMud2F5cG9pbnRUeXBlLFxyXG4gICAgICAgICAgcGxhY2VfbmFtZTogcXVlcnksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGdvb2dsZVN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxXYXlwb2ludFN1Z2dlc3Rpb25bXT4gPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgdGhpcy5pc0ZvY3VzZWQkLFxyXG4gICAgICB0aGlzLnZhbHVlJC5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlTXMpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcclxuICAgIF0pLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgoW2lzRm9jdXNlZCwgdmFsdWVdKSA9PlxyXG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlU2VydmljZSAmJiBpc0ZvY3VzZWQgJiYgdmFsdWVcclxuICAgICAgICAgID8gdGhpcy5nZXRQbGFjZXNSZXN1bHRzKHZhbHVlKVxyXG4gICAgICAgICAgOiBvZih0aGlzLmVtcHR5U3VnZ2VzdGlvbnMpLFxyXG4gICAgICApLFxyXG4gICAgICBzdGFydFdpdGgodGhpcy5lbXB0eVN1Z2dlc3Rpb25zKSxcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy53YXlwb2ludFN1Z2dlc3Rpb25zJCA9IGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICB0aGlzLmlzRm9jdXNlZCQsXHJcbiAgICAgIHRoaXMud2F5cG9pbnRzSGlzdG9yeSQsXHJcbiAgICAgIGdvb2dsZVN1Z2dlc3Rpb25zJCxcclxuICAgIF0pLnBpcGUoXHJcbiAgICAgIG1hcCgoW2lzRm9jdXNlZCwgaGlzdG9yeSwgZ29vZ2xlXSkgPT4ge1xyXG4gICAgICAgIGlmICghaXNGb2N1c2VkKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5lbXB0eVN1Z2dlc3Rpb25zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbWVyZ2VkID0gWy4uLihoaXN0b3J5ID8/IFtdKSwgLi4uKGdvb2dsZSA/PyBbXSldO1xyXG5cclxuICAgICAgICByZXR1cm4gbWVyZ2VkLnNsaWNlKDAsIHRoaXMuTUFYX1NVR0dFU1RJT05TKTsgLy8gRHJvcGRvd24gc2hvd3MgbWF4IDEwIGl0ZW1zIHRvdGFsXHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKGNhcHBlZFN1Z2dlc3Rpb25zKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRTdWdnZXN0aW9ucyA9IGNhcHBlZFN1Z2dlc3Rpb25zO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IGNhcHBlZFN1Z2dlc3Rpb25zPy5sZW5ndGggPyAwIDogLTE7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGdldFBsYWNlc1Jlc3VsdHMocXVlcnk6IHN0cmluZyk6IE9ic2VydmFibGU8V2F5cG9pbnRTdWdnZXN0aW9uW10+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgdGhpcy5hdXRvY29tcGxldGVTZXJ2aWNlLmdldFBsYWNlUHJlZGljdGlvbnMoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaW5wdXQ6IHF1ZXJ5LFxyXG4gICAgICAgICAgY29tcG9uZW50UmVzdHJpY3Rpb25zOiB7Y291bnRyeTogdGhpcy5jb3VudHJ5Q29kZX0sXHJcbiAgICAgICAgICBzZXNzaW9uVG9rZW46IHRoaXMuc2Vzc2lvblRva2VuLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKHByZWRpY3Rpb25zKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMudG9XYXlwb2ludFN1Z2dlc3Rpb25zKHByZWRpY3Rpb25zKSk7XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvV2F5cG9pbnRTdWdnZXN0aW9ucyhcclxuICAgIHByZWRpY3Rpb25zOiBBdXRvY29tcGxldGVQcmVkaWN0aW9uW10gfCBudWxsLFxyXG4gICk6IFdheXBvaW50U3VnZ2VzdGlvbltdIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIChwcmVkaWN0aW9ucyA/PyBbXSlcclxuICAgICAgICAvLyBEcm9wcyBwcmVkaWN0aW9ucyB3aXRob3V0IGEgcGxhY2VfaWQgYmVjYXVzZSBzZWxlY3Rpb24gYW5kIGJvb2tpbmcgYm90aCByZXF1aXJlIGl0XHJcbiAgICAgICAgLmZpbHRlcihcclxuICAgICAgICAgIChcclxuICAgICAgICAgICAgcHJlZGljdGlvbixcclxuICAgICAgICAgICk6IHByZWRpY3Rpb24gaXMgQXV0b2NvbXBsZXRlUHJlZGljdGlvbiAmIHsgcGxhY2VfaWQ6IHN0cmluZyB9ID0+XHJcbiAgICAgICAgICAgICEhcHJlZGljdGlvbi5wbGFjZV9pZCxcclxuICAgICAgICApXHJcbiAgICAgICAgLm1hcCgocHJlZGljdGlvbikgPT4gKHtcclxuICAgICAgICAgIGFkZGl0aW9uYWxfaW5mbzogcHJlZGljdGlvbi5kZXNjcmlwdGlvbixcclxuICAgICAgICAgIHBsYWNlX2lkOiBwcmVkaWN0aW9uLnBsYWNlX2lkLFxyXG4gICAgICAgICAgcHJlZGljdGlvbl90ZXJtOiBwcmVkaWN0aW9uLnRlcm1zLFxyXG4gICAgICAgIH0pKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG9uVXNlcklucHV0KHF1ZXJ5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5wdXRRdWVyeSQubmV4dChxdWVyeSk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5U3VnZ2VzdGlvbihpbmRleDogbnVtYmVyLCBzdWdnZXN0aW9uOiBXYXlwb2ludFN1Z2dlc3Rpb24pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgaWQgPVxyXG4gICAgICBzdWdnZXN0aW9uLnN1Z2dlc3Rpb25faWQgPz9cclxuICAgICAgc3VnZ2VzdGlvbi5wbGFjZV9pZCA/P1xyXG4gICAgICBzdWdnZXN0aW9uLmFkZGl0aW9uYWxfaW5mbyA/P1xyXG4gICAgICBgJHtpbmRleH1gO1xyXG5cclxuICAgIHJldHVybiBzdWdnZXN0aW9uLnByZWRpY3Rpb25fdGVybSA/IGBnb29nbGU6JHtpZH1gIDogYGhpc3Rvcnk6JHtpZH1gO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RTdWdnZXN0aW9uKHN1Z2dlc3Rpb246IFdheXBvaW50U3VnZ2VzdGlvbik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNSZXNvbHZpbmdQbGFjZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qge2FkZGl0aW9uYWxfaW5mbywgcGxhY2VfaWR9ID0gc3VnZ2VzdGlvbiA/PyB7fTtcclxuXHJcbiAgICBpZiAoIXBsYWNlX2lkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlzUmVzb2x2aW5nUGxhY2UgPSB0cnVlO1xyXG4gICAgdGhpcy52YWx1ZSA9IGFkZGl0aW9uYWxfaW5mbztcclxuICAgIHRoaXMuaXNGb2N1c2VkJC5uZXh0KGZhbHNlKTtcclxuXHJcbiAgICB0aGlzLnJlc29sdmVCeVBsYWNlSWQocGxhY2VfaWQsIGFkZGl0aW9uYWxfaW5mbyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc29sdmVCeVBsYWNlSWQocGxhY2VJZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMucGxhY2VzU2VydmljZS5nZXREZXRhaWxzKFxyXG4gICAgICB7XHJcbiAgICAgICAgcGxhY2VJZCxcclxuICAgICAgICBzZXNzaW9uVG9rZW46IHRoaXMuc2Vzc2lvblRva2VuLFxyXG4gICAgICAgIGZpZWxkczogWydhZGRyZXNzX2NvbXBvbmVudHMnLCAnZ2VvbWV0cnkubG9jYXRpb24nLCAncGxhY2VfaWQnXSxcclxuICAgICAgfSxcclxuICAgICAgKHBsYWNlLCBzdGF0dXMpID0+IHtcclxuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2VTdGF0dXMuT0sgJiYgcGxhY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5wbGFjZVJlc3VsdC5lbWl0KHtwbGFjZSwgdGV4dH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKCdQbGFjZSBkZXRhaWxzIGxvb2t1cCBmYWlsZWQnLCB7c3RhdHVzLCBwbGFjZUlkfSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5yZXNldFNlc3Npb25Ub2tlbigpO1xyXG4gICAgICAgICAgdGhpcy5pc1Jlc29sdmluZ1BsYWNlID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZGlzcGxheWVkU3VnZ2VzdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcclxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9XHJcbiAgICAgICAgICAodGhpcy5zZWxlY3RlZEluZGV4ICsgMSkgJSB0aGlzLmRpc3BsYXllZFN1Z2dlc3Rpb25zLmxlbmd0aDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID1cclxuICAgICAgICAgICh0aGlzLnNlbGVjdGVkSW5kZXggLSAxICsgdGhpcy5kaXNwbGF5ZWRTdWdnZXN0aW9ucy5sZW5ndGgpICVcclxuICAgICAgICAgIHRoaXMuZGlzcGxheWVkU3VnZ2VzdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnRW50ZXInOlxyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggPj0gMCkge1xyXG4gICAgICAgICAgdGhpcy5vblNlbGVjdFN1Z2dlc3Rpb24oXHJcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheWVkU3VnZ2VzdGlvbnNbdGhpcy5zZWxlY3RlZEluZGV4XSxcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnRXNjYXBlJzpcclxuICAgICAgICB0aGlzLmlzRm9jdXNlZCQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gLTE7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLm9uVG91Y2goKTtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudmFsdWUgJiYgdGhpcy5hdXRvY29tcGxldGVTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMucmVzZXRTZXNzaW9uVG9rZW4oKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmlzRm9jdXNlZCQubmV4dCh0cnVlKSkpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShuZXh0VmFsdWU6IHN0cmluZyB8IG51bGwgPSAnJyk6IHZvaWQge1xyXG4gICAgY29uc3QgbmV4dCA9IG5leHRWYWx1ZSA/PyAnJztcclxuXHJcbiAgICBpZiAodGhpcy5fdmFsdWUgPT09IG5leHQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3ZhbHVlID0gbmV4dDtcclxuICAgIHRoaXMudmFsdWUkLm5leHQobmV4dCk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZWxldGVJdGVtLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5pbnB1dFF1ZXJ5JC5uZXh0KCcnKTtcclxuICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gICAgdGhpcy5tYXRDdXN0b21JbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEdvb2dsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0b2NvbXBsZXRlU2VydmljZSA9IG5ldyBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlU2VydmljZSgpO1xyXG5cclxuICAgIHRoaXMucGxhY2VzU2VydmljZSA9IG5ldyBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZShcclxuICAgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMucmVzZXRTZXNzaW9uVG9rZW4oKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzZXRTZXNzaW9uVG9rZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlc3Npb25Ub2tlbiA9IG5ldyBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlU2Vzc2lvblRva2VuKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxlY2Ficy1lbGVtZW50LXdyYXBwZXIgW2RhdGFdPVwiZ2V0RGF0YSgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImF1dG9jb21wbGV0ZS11aSB3LWZ1bGxcIj5cclxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQtLXdyYXBwZXIgdy1mdWxsXCI+XHJcbiAgICAgIDxpbnB1dCAjbWF0Q3VzdG9tQXV0b2NvbXBsZXRlSW5wdXRcclxuICAgICAgICAgICAgIGNka092ZXJsYXlPcmlnaW5cclxuICAgICAgICAgICAgICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiXHJcbiAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB3LWZ1bGxcIlxyXG4gICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgIGF1dG9jb3JyZWN0PVwib2ZmXCJcclxuICAgICAgICAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCJcclxuICAgICAgICAgICAgIHNwZWxsY2hlY2s9XCJvZmZcIlxyXG4gICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblVzZXJJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgLz5cclxuICAgICAgPGRpdiAqbmdJZj1cInNob3dTdWZmaXhcIlxyXG4gICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQtLXN1ZmZpeFwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInNob3dEZWxldGVJdGVtXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWZmaXggY3Vyc29yLXBvaW50ZXIgZGVsZXRlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImRlbGV0ZSgpXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZSgpXCI+XHJcbiAgICAgICAgICBkZWxldGVcclxuICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFzaG93RGVsZXRlSXRlbSAmJiB2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VmZml4IGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiY2xlYXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigpXCI+XHJcbiAgICAgICAgICBjbG9zZVxyXG4gICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gICAgPCEtLSBDdXN0b20gZHJvcGRvd24gLS0+XHJcbiAgICA8bmctdGVtcGxhdGUgY2RrQ29ubmVjdGVkT3ZlcmxheVxyXG4gICAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5V2lkdGhdPVwidHJpZ2dlci5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGhcIlxyXG4gICAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcclxuICAgICAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiaXNGb2N1c2VkJCB8IGFzeW5jXCI+XHJcbiAgICAgIDx1bCBjbGFzcz1cImF1dG9jb21wbGV0ZS11aV9fY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIHdheXBvaW50U3VnZ2VzdGlvbnMkIHwgYXN5bmM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlTdWdnZXN0aW9uXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhdXRvY29tcGxldGUtdWktLWl0ZW0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGhvdmVyOmJnLWdyYXktMTAwXCJcclxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBzZWxlY3RlZEluZGV4XCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvblNlbGVjdFN1Z2dlc3Rpb24oc3VnZ2VzdGlvbilcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3VnZ2VzdGlvbj8ucHJlZGljdGlvbl90ZXJtOyBlbHNlIHB1cmVQbGFjZVJlc3VsdFRwbFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIHRydW5jYXRlXCI+XHJcbiAgICAgICAgICAgICAge3sgc3VnZ2VzdGlvbj8uYWRkaXRpb25hbF9pbmZvIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInBoLXJlZ3VsYXI6Y2xvY2stY291bnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctNSBoLTUgdGV4dC14bCB0ZXh0LWdyYXktNDAwIGhvdmVyOiF0ZXh0LWdyYXktNDAwXCI+XHJcbiAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3B1cmVQbGFjZVJlc3VsdFRwbD5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwidy1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGdhcC14LTEgbGVhZGluZy0wIG92ZXJmbG93LWhpZGRlbiB3aGl0ZXNwYWNlLW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgIHt7IHN1Z2dlc3Rpb24/LnByZWRpY3Rpb25fdGVybT8uWzBdPy52YWx1ZSB9fVxyXG4gICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgPGxpICpuZ0lmPVwic3VnZ2VzdGlvbj8ucHJlZGljdGlvbl90ZXJtPy5bMV0/LnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzIHRleHQtZ3JheS02MDAgdHJ1bmNhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7IHN1Z2dlc3Rpb24/LnByZWRpY3Rpb25fdGVybT8uWzFdPy52YWx1ZSB8IHNlcGFyYXRvckFwcGVuZDogc3VnZ2VzdGlvbj8ucHJlZGljdGlvbl90ZXJtPy5bMl0/LnZhbHVlIH19XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJzdWdnZXN0aW9uPy5wcmVkaWN0aW9uX3Rlcm0/LlsyXT8udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQteHMgdGV4dC1ncmF5LTYwMCBmb250LXNlbWlib2xkIHRydW5jYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBzdWdnZXN0aW9uPy5wcmVkaWN0aW9uX3Rlcm0/LlsyXT8udmFsdWUgfX1cclxuICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuPC9lY2Ficy1lbGVtZW50LXdyYXBwZXI+XHJcbiJdfQ==
|
|
319
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8seUJBQXlCLE1BQU0sc0JBQXNCLENBQUM7QUFPN0QsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsVUFBVSxFQUNWLEVBQUUsRUFDRixTQUFTLEVBQ1QsT0FBTyxFQUNQLEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFlaEUsTUFBTSxPQUFPLGlDQUNYLFNBQVEseUJBQXlCO0lBSWpDLGNBQWMsQ0FBYTtJQUczQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBRXZCLElBQ0ksZ0JBQWdCLENBQUMsS0FBMkI7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QUFZO3NCQURwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBEZXN0cm95UmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGluamVjdCxcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBOZ0NvbnRyb2wsXHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5pbXBvcnQgeyBXYXlwb2ludFR5cGVFbnVtIH0gZnJvbSAnLi4vYmFzZS9jb25zdHMvd2F5cG9pbnQuY29uc3RzJztcclxuaW1wb3J0IHtcclxuICBHb29nbGVQbGFjZVJlc3VsdCxcclxuICBXYXlwb2ludFF1ZXJ5Q2hhbmdlLFxyXG4gIFdheXBvaW50U3VnZ2VzdGlvbixcclxufSBmcm9tICcuLi9iYXNlL21vZGVscy93YXlwb2ludC5tb2RlbHMnO1xyXG5pbXBvcnQge1xyXG4gIEJlaGF2aW9yU3ViamVjdCxcclxuICBjb21iaW5lTGF0ZXN0LFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICBtYXAsXHJcbiAgT2JzZXJ2YWJsZSxcclxuICBvZixcclxuICBzdGFydFdpdGgsXHJcbiAgU3ViamVjdCxcclxuICB0YXAsXHJcbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5pbXBvcnQgQXV0b2NvbXBsZXRlUHJlZGljdGlvbiA9IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGVQcmVkaWN0aW9uO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZS12Mi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzUGxhY2VBdXRvY29tcGxldGVWMkNvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1BsYWNlQXV0b2NvbXBsZXRlVjJDb21wb25lbnRcclxuICBleHRlbmRzIEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Jcclxue1xyXG4gIEBWaWV3Q2hpbGQoJ21hdEN1c3RvbUF1dG9jb21wbGV0ZUlucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgbWF0Q3VzdG9tSW5wdXQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0RlbGV0ZUl0ZW0gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgd2F5cG9pbnRzSGlzdG9yeSh2YWx1ZTogV2F5cG9pbnRTdWdnZXN0aW9uW10pIHtcclxuICAgIHRoaXMud2F5cG9pbnRzSGlzdG9yeSQubmV4dChcclxuICAgICAgKHZhbHVlID8/IFtdKS5maWx0ZXIoXHJcbiAgICAgICAgKHN1Z2dlc3Rpb24pID0+XHJcbiAgICAgICAgICAhIXN1Z2dlc3Rpb24/LnBsYWNlX2lkIHx8ICEhdGhpcy50b1BsYWNlRmFsbGJhY2soc3VnZ2VzdGlvbiksXHJcbiAgICAgICksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzaG93U3VmZml4ID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY291bnRyeUNvZGUgPSAnTVQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdvb2dsZUxvYWRlZDogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICB3YXlwb2ludFR5cGU6IFdheXBvaW50VHlwZUVudW07XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGVib3VuY2VNcyA9IDI0MDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcmVhZG9ubHkgcGxhY2VSZXN1bHQ6IEV2ZW50RW1pdHRlcjxHb29nbGVQbGFjZVJlc3VsdD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHJlYWRvbmx5IGRlbGV0ZUl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHJlYWRvbmx5IHF1ZXJ5Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8V2F5cG9pbnRRdWVyeUNoYW5nZT4oKTtcclxuXHJcbiAgaXNGb2N1c2VkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHdheXBvaW50U3VnZ2VzdGlvbnMkOiBPYnNlcnZhYmxlPFdheXBvaW50U3VnZ2VzdGlvbltdPjtcclxuICB2YWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xyXG5cclxuICBzZWxlY3RlZEluZGV4ID0gLTE7XHJcbiAgZGlzcGxheWVkU3VnZ2VzdGlvbnM6IFdheXBvaW50U3VnZ2VzdGlvbltdID0gW107XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRRdWVyeSQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB3YXlwb2ludHNIaXN0b3J5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XHJcbiAgICBXYXlwb2ludFN1Z2dlc3Rpb25bXVxyXG4gID4oW10pO1xyXG5cclxuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xyXG4gIHByaXZhdGUgYXV0b2NvbXBsZXRlU2VydmljZTogZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVNlcnZpY2U7XHJcbiAgcHJpdmF0ZSBwbGFjZXNTZXJ2aWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZTtcclxuICBwcml2YXRlIHNlc3Npb25Ub2tlbjogZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVNlc3Npb25Ub2tlbjtcclxuICBwcml2YXRlIGlzUmVzb2x2aW5nUGxhY2UgPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBNQVhfU1VHR0VTVElPTlMgPSAxMDtcclxuICBwcml2YXRlIHJlYWRvbmx5IGVtcHR5U3VnZ2VzdGlvbnM6IFdheXBvaW50U3VnZ2VzdGlvbltdID0gW107XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG5cclxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5fdmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy52YWx1ZSQubmV4dCh2YWx1ZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgZ29vZ2xlTG9hZGVkIH0gPSBjaGFuZ2VzID8/IHt9O1xyXG5cclxuICAgIGlmIChnb29nbGVMb2FkZWQ/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICB0aGlzLmluaXRHb29nbGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgbnVsbCk7XHJcblxyXG4gICAgaWYgKG5nQ29udHJvbCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbnB1dFF1ZXJ5JFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZU1zKSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHF1ZXJ5KSA9PiB7XHJcbiAgICAgICAgdGhpcy5xdWVyeUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgICAgICB3YXlwb2ludF90eXBlOiB0aGlzLndheXBvaW50VHlwZSxcclxuICAgICAgICAgIHBsYWNlX25hbWU6IHF1ZXJ5LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAvLyBLZXllZCBvbiB2YWx1ZSQgYWxvbmUgc28gYmx1ci9yZWZvY3VzIGNhbm5vdCByZS1maXJlIGEgYmlsbGFibGVcclxuICAgIC8vIHByZWRpY3Rpb24gcmVxdWVzdCBmb3IgYW4gdW5jaGFuZ2VkIHF1ZXJ5OyBmb2N1cyBpcyByZWFkIGltcGVyYXRpdmVseSBhdFxyXG4gICAgLy8gcmVxdWVzdCB0aW1lIHNvIHByb2dyYW1tYXRpYyB3cml0ZVZhbHVlIG5ldmVyIHRyaWdnZXJzIGEgcmVxdWVzdCBlaXRoZXIuXHJcbiAgICBjb25zdCBnb29nbGVTdWdnZXN0aW9ucyQ6IE9ic2VydmFibGU8V2F5cG9pbnRTdWdnZXN0aW9uW10+ID1cclxuICAgICAgdGhpcy52YWx1ZSQucGlwZShcclxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZU1zKSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+XHJcbiAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVNlcnZpY2UgJiYgdmFsdWUgJiYgdGhpcy5pc0ZvY3VzZWQkLnZhbHVlXHJcbiAgICAgICAgICAgID8gdGhpcy5nZXRQbGFjZXNSZXN1bHRzKHZhbHVlKVxyXG4gICAgICAgICAgICA6IG9mKHRoaXMuZW1wdHlTdWdnZXN0aW9ucyksXHJcbiAgICAgICAgKSxcclxuICAgICAgICBzdGFydFdpdGgodGhpcy5lbXB0eVN1Z2dlc3Rpb25zKSxcclxuICAgICAgKTtcclxuXHJcbiAgICB0aGlzLndheXBvaW50U3VnZ2VzdGlvbnMkID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgIHRoaXMuaXNGb2N1c2VkJCxcclxuICAgICAgdGhpcy53YXlwb2ludHNIaXN0b3J5JCxcclxuICAgICAgZ29vZ2xlU3VnZ2VzdGlvbnMkLFxyXG4gICAgXSkucGlwZShcclxuICAgICAgbWFwKChbaXNGb2N1c2VkLCBoaXN0b3J5LCBnb29nbGVdKSA9PiB7XHJcbiAgICAgICAgaWYgKCFpc0ZvY3VzZWQpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmVtcHR5U3VnZ2VzdGlvbnM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBtZXJnZWQgPSBbLi4uKGhpc3RvcnkgPz8gW10pLCAuLi4oZ29vZ2xlID8/IFtdKV07XHJcblxyXG4gICAgICAgIHJldHVybiBtZXJnZWQuc2xpY2UoMCwgdGhpcy5NQVhfU1VHR0VTVElPTlMpOyAvLyBEcm9wZG93biBzaG93cyBtYXggMTAgaXRlbXMgdG90YWxcclxuICAgICAgfSksXHJcbiAgICAgIHRhcCgoY2FwcGVkU3VnZ2VzdGlvbnMpID0+IHtcclxuICAgICAgICB0aGlzLmRpc3BsYXllZFN1Z2dlc3Rpb25zID0gY2FwcGVkU3VnZ2VzdGlvbnM7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gY2FwcGVkU3VnZ2VzdGlvbnM/Lmxlbmd0aCA/IDAgOiAtMTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuXHJcbiAgcHJpdmF0ZSBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gIHByaXZhdGUgZ2V0UGxhY2VzUmVzdWx0cyhxdWVyeTogc3RyaW5nKTogT2JzZXJ2YWJsZTxXYXlwb2ludFN1Z2dlc3Rpb25bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xyXG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZVNlcnZpY2UuZ2V0UGxhY2VQcmVkaWN0aW9ucyhcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpbnB1dDogcXVlcnksXHJcbiAgICAgICAgICBjb21wb25lbnRSZXN0cmljdGlvbnM6IHsgY291bnRyeTogdGhpcy5jb3VudHJ5Q29kZSB9LFxyXG4gICAgICAgICAgc2Vzc2lvblRva2VuOiB0aGlzLnNlc3Npb25Ub2tlbixcclxuICAgICAgICB9LFxyXG4gICAgICAgIChwcmVkaWN0aW9ucykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzLnRvV2F5cG9pbnRTdWdnZXN0aW9ucyhwcmVkaWN0aW9ucykpO1xyXG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b1dheXBvaW50U3VnZ2VzdGlvbnMoXHJcbiAgICBwcmVkaWN0aW9uczogQXV0b2NvbXBsZXRlUHJlZGljdGlvbltdIHwgbnVsbCxcclxuICApOiBXYXlwb2ludFN1Z2dlc3Rpb25bXSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAocHJlZGljdGlvbnMgPz8gW10pXHJcbiAgICAgICAgLy8gRHJvcHMgcHJlZGljdGlvbnMgd2l0aG91dCBhIHBsYWNlX2lkIGJlY2F1c2Ugc2VsZWN0aW9uIGFuZCBib29raW5nIGJvdGggcmVxdWlyZSBpdFxyXG4gICAgICAgIC5maWx0ZXIoXHJcbiAgICAgICAgICAoXHJcbiAgICAgICAgICAgIHByZWRpY3Rpb24sXHJcbiAgICAgICAgICApOiBwcmVkaWN0aW9uIGlzIEF1dG9jb21wbGV0ZVByZWRpY3Rpb24gJiB7IHBsYWNlX2lkOiBzdHJpbmcgfSA9PlxyXG4gICAgICAgICAgICAhIXByZWRpY3Rpb24ucGxhY2VfaWQsXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5tYXAoKHByZWRpY3Rpb24pID0+ICh7XHJcbiAgICAgICAgICBhZGRpdGlvbmFsX2luZm86IHByZWRpY3Rpb24uZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICBwbGFjZV9pZDogcHJlZGljdGlvbi5wbGFjZV9pZCxcclxuICAgICAgICAgIHByZWRpY3Rpb25fdGVybTogcHJlZGljdGlvbi50ZXJtcyxcclxuICAgICAgICB9KSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvblVzZXJJbnB1dChxdWVyeTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0UXVlcnkkLm5leHQocXVlcnkpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeVN1Z2dlc3Rpb24oaW5kZXg6IG51bWJlciwgc3VnZ2VzdGlvbjogV2F5cG9pbnRTdWdnZXN0aW9uKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGlkID1cclxuICAgICAgc3VnZ2VzdGlvbi5zdWdnZXN0aW9uX2lkID8/XHJcbiAgICAgIHN1Z2dlc3Rpb24ucGxhY2VfaWQgPz9cclxuICAgICAgc3VnZ2VzdGlvbi5hZGRpdGlvbmFsX2luZm8gPz9cclxuICAgICAgYCR7aW5kZXh9YDtcclxuXHJcbiAgICByZXR1cm4gc3VnZ2VzdGlvbi5wcmVkaWN0aW9uX3Rlcm0gPyBgZ29vZ2xlOiR7aWR9YCA6IGBoaXN0b3J5OiR7aWR9YDtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0U3VnZ2VzdGlvbihzdWdnZXN0aW9uOiBXYXlwb2ludFN1Z2dlc3Rpb24pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzUmVzb2x2aW5nUGxhY2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgYWRkaXRpb25hbF9pbmZvLCBwbGFjZV9pZCB9ID0gc3VnZ2VzdGlvbiA/PyB7fTtcclxuXHJcbiAgICBpZiAocGxhY2VfaWQpIHtcclxuICAgICAgdGhpcy5pc1Jlc29sdmluZ1BsYWNlID0gdHJ1ZTtcclxuICAgICAgdGhpcy52YWx1ZSA9IGFkZGl0aW9uYWxfaW5mbztcclxuICAgICAgdGhpcy5pc0ZvY3VzZWQkLm5leHQoZmFsc2UpO1xyXG5cclxuICAgICAgdGhpcy5yZXNvbHZlQnlQbGFjZUlkKHBsYWNlX2lkLCBhZGRpdGlvbmFsX2luZm8pO1xyXG5cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZhbGxiYWNrUGxhY2UgPSB0aGlzLnRvUGxhY2VGYWxsYmFjayhzdWdnZXN0aW9uKTtcclxuXHJcbiAgICBpZiAoZmFsbGJhY2tQbGFjZSkge1xyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgJ1dheXBvaW50IGhpc3RvcnkgZmFsbGJhY2sgdXNlZDogbm8gcGxhY2VfaWQgb24gc3VnZ2VzdGlvbicsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgc3VnZ2VzdGlvbl9pZDogc3VnZ2VzdGlvbj8uc3VnZ2VzdGlvbl9pZCxcclxuICAgICAgICAgIGdlb19rZXk6IHN1Z2dlc3Rpb24/Lmdlb19rZXksXHJcbiAgICAgICAgfSxcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMudmFsdWUgPSBhZGRpdGlvbmFsX2luZm87XHJcbiAgICAgIHRoaXMuaXNGb2N1c2VkJC5uZXh0KGZhbHNlKTtcclxuXHJcbiAgICAgIHRoaXMucGxhY2VSZXN1bHQuZW1pdCh7IHBsYWNlOiBmYWxsYmFja1BsYWNlLCB0ZXh0OiBhZGRpdGlvbmFsX2luZm8gfSk7XHJcblxyXG4gICAgICAvLyBGYWxsYmFjayBzZWxlY3Rpb24gY2FuIGhhcHBlbiBiZWZvcmUgdGhlIEdvb2dsZSBNYXBzIHNjcmlwdCBsb2FkcywgYW5kXHJcbiAgICAgIC8vIGEgZnJlc2ggc2Vzc2lvbiB0b2tlbiBuZWVkcyB0aGUgZ29vZ2xlIGdsb2JhbC5cclxuICAgICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMucmVzZXRTZXNzaW9uVG9rZW4oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b0xhdExuZyhzdWdnZXN0aW9uOiBXYXlwb2ludFN1Z2dlc3Rpb24pOiB7XHJcbiAgICBsYXQ6IG51bWJlcjtcclxuICAgIGxuZzogbnVtYmVyO1xyXG4gIH0ge1xyXG4gICAgY29uc3QgeyBsb2NhdGlvbiB9ID0gc3VnZ2VzdGlvbiA/PyB7fTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBsYXQ6IE51bWJlcihsb2NhdGlvbj8ubGF0aXR1ZGUgPz8gbG9jYXRpb24/LmxhdCksXHJcbiAgICAgIGxuZzogTnVtYmVyKGxvY2F0aW9uPy5sb25naXR1ZGUgPz8gbG9jYXRpb24/LmxuZyksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b1BsYWNlRmFsbGJhY2soXHJcbiAgICBzdWdnZXN0aW9uOiBXYXlwb2ludFN1Z2dlc3Rpb24sXHJcbiAgKTogZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlUmVzdWx0IHwgbnVsbCB7XHJcbiAgICBjb25zdCB7IGFkZGl0aW9uYWxfaW5mbywgbG9jYWxpdHkgfSA9IHN1Z2dlc3Rpb24gPz8ge307XHJcbiAgICBjb25zdCB7IGxhdCwgbG5nIH0gPSB0aGlzLnRvTGF0TG5nKHN1Z2dlc3Rpb24pO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgTnVtYmVyLmlzTmFOKGxhdCkgfHxcclxuICAgICAgTnVtYmVyLmlzTmFOKGxuZykgfHxcclxuICAgICAgIWFkZGl0aW9uYWxfaW5mbyB8fFxyXG4gICAgICAhbG9jYWxpdHlcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAvLyBEdWNrLXR5cGVkIExhdExuZzogaGlzdG9yeSBjYW4gYXJyaXZlIGZyb20gdGhlIHN0b3JlIGJlZm9yZSB0aGUgR29vZ2xlXHJcbiAgICAgIC8vIE1hcHMgc2NyaXB0IGxvYWRzLCBzbyB0aGlzIG11c3Qgbm90IHRvdWNoIHRoZSBnb29nbGUgZ2xvYmFsLlxyXG4gICAgICBnZW9tZXRyeToge1xyXG4gICAgICAgIGxvY2F0aW9uOiB7IGxhdDogKCkgPT4gbGF0LCBsbmc6ICgpID0+IGxuZyB9IGFzIGdvb2dsZS5tYXBzLkxhdExuZyxcclxuICAgICAgfSxcclxuICAgICAgYWRkcmVzc19jb21wb25lbnRzOiBbXHJcbiAgICAgICAgeyB0eXBlczogWydsb2NhbGl0eSddLCBsb25nX25hbWU6IGxvY2FsaXR5LCBzaG9ydF9uYW1lOiBsb2NhbGl0eSB9LFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzb2x2ZUJ5UGxhY2VJZChwbGFjZUlkOiBzdHJpbmcsIHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5wbGFjZXNTZXJ2aWNlLmdldERldGFpbHMoXHJcbiAgICAgIHtcclxuICAgICAgICBwbGFjZUlkLFxyXG4gICAgICAgIHNlc3Npb25Ub2tlbjogdGhpcy5zZXNzaW9uVG9rZW4sXHJcbiAgICAgICAgZmllbGRzOiBbJ2FkZHJlc3NfY29tcG9uZW50cycsICdnZW9tZXRyeS5sb2NhdGlvbicsICdwbGFjZV9pZCcsICduYW1lJ10sXHJcbiAgICAgIH0sXHJcbiAgICAgIChwbGFjZSwgc3RhdHVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIGlmIChzdGF0dXMgPT09IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlU3RhdHVzLk9LICYmIHBsYWNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGxhY2VSZXN1bHQuZW1pdCh7IHBsYWNlLCB0ZXh0IH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKCdQbGFjZSBkZXRhaWxzIGxvb2t1cCBmYWlsZWQnLCB7IHN0YXR1cywgcGxhY2VJZCB9KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLnJlc2V0U2Vzc2lvblRva2VuKCk7XHJcbiAgICAgICAgICB0aGlzLmlzUmVzb2x2aW5nUGxhY2UgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5kaXNwbGF5ZWRTdWdnZXN0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xyXG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID1cclxuICAgICAgICAgICh0aGlzLnNlbGVjdGVkSW5kZXggKyAxKSAlIHRoaXMuZGlzcGxheWVkU3VnZ2VzdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnQXJyb3dVcCc6XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPVxyXG4gICAgICAgICAgKHRoaXMuc2VsZWN0ZWRJbmRleCAtIDEgKyB0aGlzLmRpc3BsYXllZFN1Z2dlc3Rpb25zLmxlbmd0aCkgJVxyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5ZWRTdWdnZXN0aW9ucy5sZW5ndGg7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdFbnRlcic6XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCA+PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLm9uU2VsZWN0U3VnZ2VzdGlvbihcclxuICAgICAgICAgICAgdGhpcy5kaXNwbGF5ZWRTdWdnZXN0aW9uc1t0aGlzLnNlbGVjdGVkSW5kZXhdLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdFc2NhcGUnOlxyXG4gICAgICAgIHRoaXMuaXNGb2N1c2VkJC5uZXh0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAtMTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGb2N1c2VkJC5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy52YWx1ZSAmJiB0aGlzLmF1dG9jb21wbGV0ZVNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5yZXNldFNlc3Npb25Ub2tlbigpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuaXNGb2N1c2VkJC5uZXh0KHRydWUpKSk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKG5leHRWYWx1ZTogc3RyaW5nIHwgbnVsbCA9ICcnKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZXh0ID0gbmV4dFZhbHVlID8/ICcnO1xyXG5cclxuICAgIGlmICh0aGlzLl92YWx1ZSA9PT0gbmV4dCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fdmFsdWUgPSBuZXh0O1xyXG4gICAgdGhpcy52YWx1ZSQubmV4dChuZXh0KTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBkZWxldGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZUl0ZW0uZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmlucHV0UXVlcnkkLm5leHQoJycpO1xyXG4gICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgICB0aGlzLm1hdEN1c3RvbUlucHV0Py5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0R29vZ2xlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRvY29tcGxldGVTZXJ2aWNlID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGVTZXJ2aWNlKCk7XHJcblxyXG4gICAgdGhpcy5wbGFjZXNTZXJ2aWNlID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlKFxyXG4gICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSxcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5yZXNldFNlc3Npb25Ub2tlbigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldFNlc3Npb25Ub2tlbigpOiB2b2lkIHtcclxuICAgIHRoaXMuc2Vzc2lvblRva2VuID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGVTZXNzaW9uVG9rZW4oKTtcclxuICB9XHJcbn1cclxuIiwiPGVjYWJzLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8ZGl2IGNsYXNzPVwiYXV0b2NvbXBsZXRlLXVpIHctZnVsbFwiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0td3JhcHBlciB3LWZ1bGxcIj5cclxuICAgICAgPGlucHV0ICNtYXRDdXN0b21BdXRvY29tcGxldGVJbnB1dFxyXG4gICAgICAgICAgICAgY2RrT3ZlcmxheU9yaWdpblxyXG4gICAgICAgICAgICAgI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCJcclxuICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICBbaWRdPVwibmFtZVwiXHJcbiAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHctZnVsbFwiXHJcbiAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxyXG4gICAgICAgICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgc3BlbGxjaGVjaz1cIm9mZlwiXHJcbiAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcclxuICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVXNlcklucHV0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxyXG4gICAgICAvPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd1N1ZmZpeFwiXHJcbiAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0tc3VmZml4XCI+XHJcbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwic2hvd0RlbGV0ZUl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInN1ZmZpeCBjdXJzb3ItcG9pbnRlciBkZWxldGUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGVsZXRlKClcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlKClcIj5cclxuICAgICAgICAgIGRlbGV0ZVxyXG4gICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiIXNob3dEZWxldGVJdGVtICYmIHZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWZmaXggY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjbGVhcigpXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKClcIj5cclxuICAgICAgICAgIGNsb3NlXHJcbiAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgICA8IS0tIEN1c3RvbSBkcm9wZG93biAtLT5cclxuICAgIDxuZy10ZW1wbGF0ZSBjZGtDb25uZWN0ZWRPdmVybGF5XHJcbiAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aF09XCJ0cmlnZ2VyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aFwiXHJcbiAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlGbGV4aWJsZURpbWVuc2lvbnNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXJcIlxyXG4gICAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJpc0ZvY3VzZWQkIHwgYXN5bmNcIj5cclxuICAgICAgPHVsIGNsYXNzPVwiYXV0b2NvbXBsZXRlLXVpX19jb250YWluZXJcIj5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHN1Z2dlc3Rpb24gb2Ygd2F5cG9pbnRTdWdnZXN0aW9ucyQgfCBhc3luYzsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVN1Z2dlc3Rpb25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImF1dG9jb21wbGV0ZS11aS0taXRlbSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gaG92ZXI6YmctZ3JheS0xMDBcIlxyXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IHNlbGVjdGVkSW5kZXhcIlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cIm9uU2VsZWN0U3VnZ2VzdGlvbihzdWdnZXN0aW9uKVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdWdnZXN0aW9uPy5wcmVkaWN0aW9uX3Rlcm07IGVsc2UgcHVyZVBsYWNlUmVzdWx0VHBsXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgdHJ1bmNhdGVcIj5cclxuICAgICAgICAgICAgICB7eyBzdWdnZXN0aW9uPy5hZGRpdGlvbmFsX2luZm8gfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwicGgtcmVndWxhcjpjbG9jay1jb3VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy01IGgtNSB0ZXh0LXhsIHRleHQtZ3JheS00MDAgaG92ZXI6IXRleHQtZ3JheS00MDBcIj5cclxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcHVyZVBsYWNlUmVzdWx0VHBsPlxyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJ3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtMSBsZWFkaW5nLTAgb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGVhZGluZy1ub25lXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBzdWdnZXN0aW9uPy5wcmVkaWN0aW9uX3Rlcm0/LlswXT8udmFsdWUgfX1cclxuICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDxsaSAqbmdJZj1cInN1Z2dlc3Rpb24/LnByZWRpY3Rpb25fdGVybT8uWzFdPy52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC14cyB0ZXh0LWdyYXktNjAwIHRydW5jYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBzdWdnZXN0aW9uPy5wcmVkaWN0aW9uX3Rlcm0/LlsxXT8udmFsdWUgfCBzZXBhcmF0b3JBcHBlbmQ6IHN1Z2dlc3Rpb24/LnByZWRpY3Rpb25fdGVybT8uWzJdPy52YWx1ZSB9fVxyXG4gICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgPGxpICpuZ0lmPVwic3VnZ2VzdGlvbj8ucHJlZGljdGlvbl90ZXJtPy5bMl0/LnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzIHRleHQtZ3JheS02MDAgZm9udC1zZW1pYm9sZCB0cnVuY2F0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgc3VnZ2VzdGlvbj8ucHJlZGljdGlvbl90ZXJtPy5bMl0/LnZhbHVlIH19XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9kaXY+XHJcbjwvZWNhYnMtZWxlbWVudC13cmFwcGVyPlxyXG4iXX0=
|
|
@@ -22,11 +22,11 @@ export class EcabsProfileComponent {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsProfileComponent, selector: "ecabs-profile", inputs: { avatar: "avatar", name: "name", title: "title" }, outputs: { avatarChange: "avatarChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- eslint-disable-next-line -->\
|
|
25
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsProfileComponent, selector: "ecabs-profile", inputs: { avatar: "avatar", name: "name", title: "title" }, outputs: { avatarChange: "avatarChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- eslint-disable-next-line -->\n<ul (click)=\"avatarChange.emit()\" class=\"flex text-black cursor-pointer\">\n <li class=\"md:mr-3\">\n <div *ngIf=\"!useAvatar; else avatarTpl\" ecabsDynamicBgColor [params]=\"name\"\n class=\"flex h-12 w-12 rounded-full bg-gray-50 items-center justify-center text-white\">\n <span class=\"text-xl font-medium\">{{ initials }}</span>\n </div>\n </li>\n\n <li class=\"hidden md:flex flex-1 flex-col justify-center\">\n <div class=\"font-semibold\">{{ name }}</div>\n <div class=\"text-xs\">{{ title }}</div>\n </li>\n</ul>\n\n<ng-template #avatarTpl>\n <!-- eslint-disable-next-line -->\n <img [src]=\"avatar\" class=\"rounded-full\"/>\n</ng-template>\n\n", styles: ["img{width:40px;height:40px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.EcabsDynamicBgColorDirective, selector: "[ecabsDynamicBgColor]", inputs: ["params", "saturation", "lightness"] }] });
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsProfileComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
|
-
args: [{ selector: 'ecabs-profile', template: "<!-- eslint-disable-next-line -->\
|
|
29
|
+
args: [{ selector: 'ecabs-profile', template: "<!-- eslint-disable-next-line -->\n<ul (click)=\"avatarChange.emit()\" class=\"flex text-black cursor-pointer\">\n <li class=\"md:mr-3\">\n <div *ngIf=\"!useAvatar; else avatarTpl\" ecabsDynamicBgColor [params]=\"name\"\n class=\"flex h-12 w-12 rounded-full bg-gray-50 items-center justify-center text-white\">\n <span class=\"text-xl font-medium\">{{ initials }}</span>\n </div>\n </li>\n\n <li class=\"hidden md:flex flex-1 flex-col justify-center\">\n <div class=\"font-semibold\">{{ name }}</div>\n <div class=\"text-xs\">{{ title }}</div>\n </li>\n</ul>\n\n<ng-template #avatarTpl>\n <!-- eslint-disable-next-line -->\n <img [src]=\"avatar\" class=\"rounded-full\"/>\n</ng-template>\n\n", styles: ["img{width:40px;height:40px}\n"] }]
|
|
30
30
|
}], propDecorators: { avatar: [{
|
|
31
31
|
type: Input
|
|
32
32
|
}], name: [{
|
|
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
36
36
|
}], avatarChange: [{
|
|
37
37
|
type: Output
|
|
38
38
|
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtcHJvZmlsZS9lY2Ficy1wcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wcm9maWxlL2VjYWJzLXByb2ZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQzs7OztBQU92QixNQUFNLE9BQU8scUJBQXFCO0lBRWhDLE1BQU0sR0FBRyxpQ0FBaUMsQ0FBQztJQUVsQyxJQUFJLENBQVM7SUFDYixLQUFLLENBQVM7SUFHdkIsWUFBWSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXpELFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsUUFBUSxDQUFTO0lBRWpCLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFFdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQztRQUV4QyxJQUFJLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDdEIsK0RBQStEO1lBQy9ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXRFLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUztpQkFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQztpQkFDWCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO2lCQUM3QyxpQkFBaUIsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzt3R0EzQlUscUJBQXFCOzRGQUFyQixxQkFBcUIsaUxDZGxDLG90QkFvQkE7OzRGRE5hLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxlQUFlOzhCQU16QixNQUFNO3NCQURMLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHTixZQUFZO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWNhYnMtcHJvZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWNhYnMtcHJvZmlsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFY2Fic1Byb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBhdmF0YXIgPSAnL2Fzc2V0cy9pbWFnZXMvcHJvZmlsZS1pY29uLnBuZyc7XG5cbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBhdmF0YXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB1c2VBdmF0YXIgPSBmYWxzZTtcbiAgaW5pdGlhbHM6IHN0cmluZztcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgeyBhdmF0YXIsIG5hbWUgfSA9IGNoYW5nZXMgPz8ge307XG5cbiAgICB0aGlzLnVzZUF2YXRhciA9ICEhYXZhdGFyPy5jdXJyZW50VmFsdWU7XG5cbiAgICBpZiAobmFtZT8uY3VycmVudFZhbHVlKSB7XG4gICAgICAvLyBnZXQgb25seSBmaXJzdCBhbmQgbGFzdCBuYW1lIGluIGNhc2UgbmFtZSBoYXMgbXVsdGlwbGUgd29yZHNcbiAgICAgIGNvbnN0IHNob3J0TmFtZSA9IHRoaXMubmFtZS5yZXBsYWNlKC8oW2Etel0rKSAuKiAoW2Etel0rKS9pLCAnJDEgJDInKTtcblxuICAgICAgdGhpcy5pbml0aWFscyA9IHNob3J0TmFtZVxuICAgICAgICAuc3BsaXQoL1xccy8pXG4gICAgICAgIC5yZWR1Y2UoKF8sIHdvcmQpID0+IF8gKyB3b3JkLnNsaWNlKDAsIDEpLCAnJylcbiAgICAgICAgLnRvTG9jYWxlVXBwZXJDYXNlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAtLT5cbjx1bCAoY2xpY2spPVwiYXZhdGFyQ2hhbmdlLmVtaXQoKVwiIGNsYXNzPVwiZmxleCB0ZXh0LWJsYWNrIGN1cnNvci1wb2ludGVyXCI+XG4gIDxsaSBjbGFzcz1cIm1kOm1yLTNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIXVzZUF2YXRhcjsgZWxzZSBhdmF0YXJUcGxcIiBlY2Fic0R5bmFtaWNCZ0NvbG9yIFtwYXJhbXNdPVwibmFtZVwiXG4gICAgICAgICBjbGFzcz1cImZsZXggaC0xMiB3LTEyIHJvdW5kZWQtZnVsbCBiZy1ncmF5LTUwIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXdoaXRlXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQteGwgZm9udC1tZWRpdW1cIj57eyBpbml0aWFscyB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9saT5cblxuICA8bGkgY2xhc3M9XCJoaWRkZW4gbWQ6ZmxleCBmbGV4LTEgZmxleC1jb2wganVzdGlmeS1jZW50ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9udC1zZW1pYm9sZFwiPnt7IG5hbWUgfX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dC14c1wiPnt7IHRpdGxlIH19PC9kaXY+XG4gIDwvbGk+XG48L3VsPlxuXG48bmctdGVtcGxhdGUgI2F2YXRhclRwbD5cbiAgPCEtLSBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgLS0+XG4gIDxpbWcgW3NyY109XCJhdmF0YXJcIiBjbGFzcz1cInJvdW5kZWQtZnVsbFwiLz5cbjwvbmctdGVtcGxhdGU+XG5cbiJdfQ==
|
|
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
16
16
|
exports: [EcabsProfileComponent],
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcHJvZmlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtcHJvZmlsZS9lY2Ficy1wcm9maWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7QUFPMUcsTUFBTSxPQUFPLGtCQUFrQjt3R0FBbEIsa0JBQWtCO3lHQUFsQixrQkFBa0IsaUJBSmQscUJBQXFCLGFBQzFCLFlBQVksRUFBRSxrQ0FBa0MsYUFDaEQscUJBQXFCO3lHQUVwQixrQkFBa0IsWUFIbkIsWUFBWSxFQUFFLGtDQUFrQzs7NEZBRy9DLGtCQUFrQjtrQkFMOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGtDQUFrQyxDQUFDO29CQUMzRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEVjYWJzUHJvZmlsZUNvbXBvbmVudCB9IGZyb20gJy4vZWNhYnMtcHJvZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWNhYnNEeW5hbWljQmdDb2xvckRpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uL2Jhc2UvZGlyZWN0aXZlcy9keW5hbWljLWJnLWNvbG9yLmRpcmVjdGl2ZS5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtFY2Fic1Byb2ZpbGVDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBFY2Fic0R5bmFtaWNCZ0NvbG9yRGlyZWN0aXZlTW9kdWxlXSxcbiAgZXhwb3J0czogW0VjYWJzUHJvZmlsZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjYWJzUHJvZmlsZU1vZHVsZSB7fVxuIl19
|
|
@@ -52,7 +52,7 @@ export class EcabsRadioButtonListComponent extends EcabsElementBaseComponent {
|
|
|
52
52
|
useExisting: EcabsRadioButtonListComponent,
|
|
53
53
|
multi: true,
|
|
54
54
|
},
|
|
55
|
-
], viewQueries: [{ propertyName: "matRadioGroup", first: true, predicate: MatRadioGroup, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\
|
|
55
|
+
], viewQueries: [{ propertyName: "matRadioGroup", first: true, predicate: MatRadioGroup, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <mat-radio-group\n [ngClass]=\"{ 'flex flex-col my-1': direction === 'vertical' }\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [id]=\"name\"\n [name]=\"name\"\n (change)=\"changed.emit($event)\"\n >\n <mat-radio-button\n [disabled]=\"item.disabled\"\n [ngClass]=\"{ 'my-1': direction === 'vertical' }\"\n class=\"mr-4\"\n *ngFor=\"let item of items\"\n [value]=\"item.value\"\n >\n {{ item.label }}\n </mat-radio-button>\n </mat-radio-group>\n</ecabs-element-wrapper>\n", styles: [".mr-4{margin-right:1rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.flex{display:flex}.flex-col{flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
56
56
|
}
|
|
57
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsRadioButtonListComponent, decorators: [{
|
|
58
58
|
type: Component,
|
|
@@ -62,7 +62,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
62
62
|
useExisting: EcabsRadioButtonListComponent,
|
|
63
63
|
multi: true,
|
|
64
64
|
},
|
|
65
|
-
], template: "<ecabs-element-wrapper [data]=\"getData()\">\
|
|
65
|
+
], template: "<ecabs-element-wrapper [data]=\"getData()\">\n <mat-radio-group\n [ngClass]=\"{ 'flex flex-col my-1': direction === 'vertical' }\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [id]=\"name\"\n [name]=\"name\"\n (change)=\"changed.emit($event)\"\n >\n <mat-radio-button\n [disabled]=\"item.disabled\"\n [ngClass]=\"{ 'my-1': direction === 'vertical' }\"\n class=\"mr-4\"\n *ngFor=\"let item of items\"\n [value]=\"item.value\"\n >\n {{ item.label }}\n </mat-radio-button>\n </mat-radio-group>\n</ecabs-element-wrapper>\n", styles: [".mr-4{margin-right:1rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.flex{display:flex}.flex-col{flex-direction:column}\n"] }]
|
|
66
66
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { matRadioGroup: [{
|
|
67
67
|
type: ViewChild,
|
|
68
68
|
args: [MatRadioGroup, { static: false }]
|
|
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
73
73
|
}], changed: [{
|
|
74
74
|
type: Output
|
|
75
75
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcmFkaW8tYnV0dG9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0L2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1yYWRpby1idXR0b24tbGlzdC9lY2Ficy1yYWRpby1idXR0b24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFFWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8seUJBQXlCLE1BQU0sc0JBQXNCLENBQUM7QUFFN0QsT0FBTyxFQUFrQixhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBY3hFLE1BQU0sT0FBTyw2QkFDWCxTQUFRLHlCQUF5QjtJQTZCYjtJQXpCcEIsYUFBYSxDQUFnQjtJQUc3QixLQUFLLENBQWlCO0lBR3RCLFNBQVMsR0FBOEIsWUFBWSxDQUFDO0lBRzNDLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQUV0RCxHQUFHLENBQVM7SUFFWixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEdBQUc7UUFDWCxJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUU7WUFDekMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRUQsWUFBb0IsUUFBa0I7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFEVSxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRXRDLENBQUM7SUFFRCxRQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQ3pCLE9BQU8sR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFeEIsZUFBZTtRQUNiLE1BQU0sU0FBUyxHQUFjLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRSxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQTZCLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQzt3R0F0RFUsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsdUlBUjdCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLDZCQUE2QjtnQkFDMUMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLHlFQU1VLGFBQWEsdUVDbkMxQiwya0JBb0JBOzs0RkRXYSw2QkFBNkI7a0JBWnpDLFNBQVM7K0JBQ0UseUJBQXlCLGFBR3hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsK0JBQStCOzRCQUMxQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjsrRkFPRCxhQUFhO3NCQURaLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJM0MsS0FBSztzQkFESixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJRyxPQUFPO3NCQURmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIE5nQ29udHJvbCxcbiAgVW50eXBlZEZvcm1Db250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgRWNhYnNFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi9iYXNlL21vZGVscy9zZWxlY3QubW9kZWxzJztcbmltcG9ydCB7IE1hdFJhZGlvQ2hhbmdlLCBNYXRSYWRpb0dyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlY2Ficy1yYWRpby1idXR0b24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1yYWRpby1idXR0b24tbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydlY2Ficy1yYWRpby1idXR0b24tbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic1JhZGlvQnV0dG9uTGlzdENvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjYWJzUmFkaW9CdXR0b25MaXN0Q29tcG9uZW50XG4gIGV4dGVuZHMgRWNhYnNFbGVtZW50QmFzZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0XG57XG4gIEBWaWV3Q2hpbGQoTWF0UmFkaW9Hcm91cCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1hdFJhZGlvR3JvdXA6IE1hdFJhZGlvR3JvdXA7XG5cbiAgQElucHV0KClcbiAgaXRlbXM6IFNlbGVjdE9wdGlvbltdO1xuXG4gIEBJbnB1dCgpXG4gIGRpcmVjdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgY2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWF0UmFkaW9DaGFuZ2U+KCk7XG5cbiAgdmFsOiBzdHJpbmc7XG5cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmFsO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbCkge1xuICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnZhbCAhPT0gdmFsKSB7XG4gICAgICB0aGlzLnZhbCA9IHZhbDtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcbiAgICAgIHRoaXMub25Ub3VjaCh2YWwpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcbiAgICBpZiAobmdDb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG59XG4iLCI8ZWNhYnMtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxuICA8bWF0LXJhZGlvLWdyb3VwXG4gICAgW25nQ2xhc3NdPVwieyAnZmxleCBmbGV4LWNvbCBteS0xJzogZGlyZWN0aW9uID09PSAndmVydGljYWwnIH1cIlxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2lkXT1cIm5hbWVcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIChjaGFuZ2UpPVwiY2hhbmdlZC5lbWl0KCRldmVudClcIlxuICA+XG4gICAgPG1hdC1yYWRpby1idXR0b25cbiAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ215LTEnOiBkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcgfVwiXG4gICAgICBjbGFzcz1cIm1yLTRcIlxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgICAgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIlxuICAgID5cbiAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICA8L21hdC1yYWRpby1idXR0b24+XG4gIDwvbWF0LXJhZGlvLWdyb3VwPlxuPC9lY2Ficy1lbGVtZW50LXdyYXBwZXI+XG4iXX0=
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
18
18
|
exports: [EcabsRadioButtonListComponent],
|
|
19
19
|
}]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcmFkaW8tYnV0dG9uLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0L2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU96RCxNQUFNLE9BQU8sMEJBQTBCO3dHQUExQiwwQkFBMEI7eUdBQTFCLDBCQUEwQixpQkFKdEIsNkJBQTZCLGFBQ2xDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsV0FBVyxhQUMvRCw2QkFBNkI7eUdBRTVCLDBCQUEwQixZQUgzQixZQUFZLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLFdBQVc7OzRGQUc5RCwwQkFBMEI7a0JBTHRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDO29CQUMxRSxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWxlbWVudFdyYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcbmltcG9ydCB7IEVjYWJzUmFkaW9CdXR0b25MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9lY2Ficy1yYWRpby1idXR0b24tbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0VjYWJzUmFkaW9CdXR0b25MaXN0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRWxlbWVudFdyYXBwZXJNb2R1bGUsIE1hdFJhZGlvTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtFY2Fic1JhZGlvQnV0dG9uTGlzdENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjYWJzUmFkaW9CdXR0b25MaXN0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -11,11 +11,11 @@ export class EcabsSegmentComponent {
|
|
|
11
11
|
subtitle;
|
|
12
12
|
showTitleDivider = true;
|
|
13
13
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSegmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsSegmentComponent, isStandalone: true, selector: "ecabs-segment", inputs: { title: "title", subtitle: "subtitle", showTitleDivider: "showTitleDivider" }, ngImport: i0, template: "<mat-card>\
|
|
14
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsSegmentComponent, isStandalone: true, selector: "ecabs-segment", inputs: { title: "title", subtitle: "subtitle", showTitleDivider: "showTitleDivider" }, ngImport: i0, template: "<mat-card>\n <mat-card-header>\n <mat-card-title>{{ title }}</mat-card-title>\n <mat-card-subtitle *ngIf=\"subtitle\">\n {{ subtitle }}\n </mat-card-subtitle>\n </mat-card-header>\n\n <mat-divider *ngIf=\"showTitleDivider\"\n class=\"card__title--divider\"></mat-divider>\n\n <ng-content></ng-content>\n</mat-card>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i2.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i2.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i2.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] });
|
|
15
15
|
}
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSegmentComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
|
-
args: [{ selector: 'ecabs-segment', standalone: true, imports: [CommonModule, MatCardModule, MatListModule], template: "<mat-card>\
|
|
18
|
+
args: [{ selector: 'ecabs-segment', standalone: true, imports: [CommonModule, MatCardModule, MatListModule], template: "<mat-card>\n <mat-card-header>\n <mat-card-title>{{ title }}</mat-card-title>\n <mat-card-subtitle *ngIf=\"subtitle\">\n {{ subtitle }}\n </mat-card-subtitle>\n </mat-card-header>\n\n <mat-divider *ngIf=\"showTitleDivider\"\n class=\"card__title--divider\"></mat-divider>\n\n <ng-content></ng-content>\n</mat-card>\n" }]
|
|
19
19
|
}], propDecorators: { title: [{
|
|
20
20
|
type: Input
|
|
21
21
|
}], subtitle: [{
|
|
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
23
23
|
}], showTitleDivider: [{
|
|
24
24
|
type: Input
|
|
25
25
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtc2VnbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtc2VnbWVudC9lY2Ficy1zZWdtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWdtZW50L2VjYWJzLXNlZ21lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBU3ZELE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsS0FBSyxDQUFVO0lBR2YsUUFBUSxDQUFVO0lBR2xCLGdCQUFnQixHQUFHLElBQUksQ0FBQzt3R0FSYixxQkFBcUI7NEZBQXJCLHFCQUFxQixpS0NabEMsOFZBYUEseURETFksWUFBWSxrSUFBRSxhQUFhLDRiQUFFLGFBQWE7OzRGQUl6QyxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDOzhCQU1yRCxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWNhYnMtc2VnbWVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdENhcmRNb2R1bGUsIE1hdExpc3RNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtc2VnbWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VjYWJzLXNlZ21lbnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRWNhYnNTZWdtZW50Q29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgdGl0bGUhOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc2hvd1RpdGxlRGl2aWRlciA9IHRydWU7XG59XG4iLCI8bWF0LWNhcmQ+XG4gIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgPG1hdC1jYXJkLXRpdGxlPnt7IHRpdGxlIH19PC9tYXQtY2FyZC10aXRsZT5cbiAgICA8bWF0LWNhcmQtc3VidGl0bGUgKm5nSWY9XCJzdWJ0aXRsZVwiPlxuICAgICAge3sgc3VidGl0bGUgfX1cbiAgICA8L21hdC1jYXJkLXN1YnRpdGxlPlxuICA8L21hdC1jYXJkLWhlYWRlcj5cblxuICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJzaG93VGl0bGVEaXZpZGVyXCJcbiAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZF9fdGl0bGUtLWRpdmlkZXJcIj48L21hdC1kaXZpZGVyPlxuXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbWF0LWNhcmQ+XG4iXX0=
|