@ascentgl/ads-ui 0.0.25 → 0.0.26

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.
Files changed (34) hide show
  1. package/esm2022/index.mjs +2 -1
  2. package/esm2022/lib/components/form-fields/area/textarea.component.mjs +3 -3
  3. package/esm2022/lib/components/form-fields/datepickers/date-picker/datepicker.component.mjs +3 -3
  4. package/esm2022/lib/components/form-fields/datepickers/datetime-picker/datetimepicker.component.mjs +3 -3
  5. package/esm2022/lib/components/form-fields/datepickers/time-picker/timepicker.component.mjs +3 -3
  6. package/esm2022/lib/components/form-fields/dropdowns/dropdown/dropdown.component.mjs +3 -3
  7. package/esm2022/lib/components/form-fields/dropdowns/multi-select-dropdown/multi-select-dropdown.component.mjs +3 -3
  8. package/esm2022/lib/components/form-fields/input/input.component.mjs +3 -3
  9. package/esm2022/lib/components/form-fields/phone-field/index.mjs +2 -0
  10. package/esm2022/lib/components/form-fields/phone-field/phone-field.component.mjs +52 -0
  11. package/esm2022/lib/components/form-fields/phone-field/phone-field.module.mjs +62 -0
  12. package/esm2022/lib/components/form-fields/phone-field/public-api.mjs +3 -0
  13. package/esm2022/lib/components/form-fields/search-fields/search-dropdown/search-dropdown.component.mjs +3 -3
  14. package/esm2022/lib/components/form-fields/search-fields/search-input/search-input.component.mjs +3 -3
  15. package/esm2022/lib/components/form-fields/selection-fields/radio-button/radio-button.component.mjs +3 -3
  16. package/esm2022/lib/components/modal/modal.component.mjs +3 -4
  17. package/esm2022/lib/components/modal/modal.module.mjs +3 -4
  18. package/esm2022/lib/components/snackbars/snackbar/snackbar.component.mjs +4 -5
  19. package/esm2022/lib/components/snackbars/snackbar/snackbar.module.mjs +3 -4
  20. package/esm2022/lib/components/tags/create-tag/create-tag.component.mjs +3 -4
  21. package/esm2022/lib/components/tags/create-tag/create-tag.module.mjs +1 -4
  22. package/fesm2022/ascentgl-ads-ui.mjs +124 -40
  23. package/fesm2022/ascentgl-ads-ui.mjs.map +1 -1
  24. package/index.d.ts +1 -0
  25. package/lib/components/form-fields/phone-field/index.d.ts +1 -0
  26. package/lib/components/form-fields/phone-field/phone-field.component.d.ts +17 -0
  27. package/lib/components/form-fields/phone-field/phone-field.module.d.ts +18 -0
  28. package/lib/components/form-fields/phone-field/public-api.d.ts +2 -0
  29. package/lib/components/modal/modal.component.d.ts +4 -1
  30. package/lib/components/modal/modal.module.d.ts +2 -3
  31. package/lib/components/snackbars/snackbar/snackbar.component.d.ts +1 -1
  32. package/lib/components/snackbars/snackbar/snackbar.module.d.ts +2 -3
  33. package/lib/components/tags/create-tag/create-tag.module.d.ts +3 -4
  34. package/package.json +13 -13
@@ -172,11 +172,11 @@ export class AdsDropdownComponent extends AbstractDropdownComponent {
172
172
  this.toggleOption(option); // Update the option on checkbox change
173
173
  }
174
174
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AdsDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
175
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: AdsDropdownComponent, selector: "ads-dropdown", inputs: { displayValueFormatter: "displayValueFormatter", mode: "mode", hasEmptyValue: "hasEmptyValue", checkSelected: "checkSelected", options: "options" }, viewQueries: [{ propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [ngStyle]=\"{ minWidth: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"'ads-dropdown-panel' + (fitContent ? ' fit-content' : '')\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option [value]=\"option\" [ngClass]=\"{ checkbox: isMultiselect && checkSelected }\">\n @if (isMultiselect && checkSelected) {\n <ads-checkbox\n width=\"100%\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n />\n } @else {\n <span\n [innerHTML]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n</div>\n\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n}\n", styles: [":host{display:flex;gap:12px;align-items:flex-start}:host::ng-deep mat-form-field{--mdc-filled-text-field-input-text-color: var(--color-medium);--mdc-filled-text-field-error-label-text-color: var(--color-error);--mdc-filled-text-field-label-text-color: var(--color-medium);--mdc-filled-text-field-focus-label-text-color: var(--color-medium);--mdc-filled-text-field-hover-label-text-color: var(--color-medium);--mdc-filled-text-field-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mdc-filled-text-field-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mdc-filled-text-field-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mdc-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mdc-icon-button-state-layer-size: 22px}:host::ng-deep mat-form-field.readonly .mdc-text-field{background-color:var(--mdc-filled-text-field-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mdc-filled-text-field-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}\n", "mat-select{--mat-select-trigger-text-line-height: 24px;--mat-select-enabled-trigger-text-color: var(--color-medium);--mat-select-disabled-trigger-text-color: var(--color-medium);--mat-select-placeholder-text-color: var(--color-medium)}mat-option{--mat-option-selected-state-layer-color: var(--color-secondary);--mat-option-selected-state-label-text-color: var(--color-white);--mat-option-hover-state-layer-color: var(--color-secondary-hover);padding:0 12px}mat-option.checkbox{padding:0 12px 0 6px}mat-option:active{background-color:var(--color-secondary-pressed)!important}mat-form-field.pill ::ng-deep .mdc-text-field{border-radius:24px;padding-left:16px;background-color:var(--color-light-30)}mat-form-field.pill ::ng-deep .mdc-text-field:not(.mdc-text-field--invalid){border-color:transparent}mat-form-field ::ng-deep .mdc-text-field .mat-mdc-select-arrow-wrapper{display:none}mat-form-field.x-small mat-select{font-size:12px;line-height:16px}mat-option:hover:not(.mdc-list-item--disabled){color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled).mdc-list-item--selected{background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option.mdc-list-item--disabled{opacity:.5}mat-option ::ng-deep .mat-pseudo-checkbox{display:none}mat-option ::ng-deep .mdc-list-item__primary-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", ".footer-container{min-height:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.AdsIconComponent, selector: "ads-icon", inputs: ["size", "name", "color", "theme", "stroke"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.AdsInputTooltipComponent, selector: "ads-input-tooltip", inputs: ["tooltip", "smallSize"] }, { kind: "component", type: i9.AdsErrorComponent, selector: "ads-error", inputs: ["error"] }, { kind: "component", type: i10.AdsHintComponent, selector: "ads-hint", inputs: ["control", "hint"] }, { kind: "component", type: i11.AdsSuccessComponent, selector: "ads-success", inputs: ["success"] }, { kind: "component", type: i12.AdsTagComponent, selector: "ads-tag", inputs: ["color", "id", "removable", "tag"], outputs: ["remove", "selected"] }, { kind: "component", type: i13.AdsCheckboxComponent, selector: "ads-checkbox", inputs: ["indeterminate", "width"] }] }); }
175
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: AdsDropdownComponent, selector: "ads-dropdown", inputs: { displayValueFormatter: "displayValueFormatter", mode: "mode", hasEmptyValue: "hasEmptyValue", checkSelected: "checkSelected", options: "options" }, viewQueries: [{ propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [ngStyle]=\"{ minWidth: width }\" class=\"ads-field-container\">\n <div [ngStyle]=\"{ width: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"'ads-dropdown-panel' + (fitContent ? ' fit-content' : '')\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option [value]=\"option\" [ngClass]=\"{ checkbox: isMultiselect && checkSelected }\">\n @if (isMultiselect && checkSelected) {\n <ads-checkbox\n width=\"100%\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n />\n } @else {\n <span\n [innerHTML]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n </div>\n\n @if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n }\n</div>\n", styles: [".ads-field-container{display:flex;gap:12px;align-items:flex-start}:host::ng-deep mat-form-field{--mdc-filled-text-field-input-text-color: var(--color-medium);--mdc-filled-text-field-error-label-text-color: var(--color-error);--mdc-filled-text-field-label-text-color: var(--color-medium);--mdc-filled-text-field-focus-label-text-color: var(--color-medium);--mdc-filled-text-field-hover-label-text-color: var(--color-medium);--mdc-filled-text-field-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mdc-filled-text-field-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mdc-filled-text-field-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mdc-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mdc-icon-button-state-layer-size: 22px}:host::ng-deep mat-form-field.readonly .mdc-text-field{background-color:var(--mdc-filled-text-field-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mdc-filled-text-field-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}\n", "mat-select{--mat-select-trigger-text-line-height: 24px;--mat-select-enabled-trigger-text-color: var(--color-medium);--mat-select-disabled-trigger-text-color: var(--color-medium);--mat-select-placeholder-text-color: var(--color-medium)}mat-option{--mat-option-selected-state-layer-color: var(--color-secondary);--mat-option-selected-state-label-text-color: var(--color-white);--mat-option-hover-state-layer-color: var(--color-secondary-hover);padding:0 12px}mat-option.checkbox{padding:0 12px 0 6px}mat-option:active{background-color:var(--color-secondary-pressed)!important}mat-form-field.pill ::ng-deep .mdc-text-field{border-radius:24px;padding-left:16px;background-color:var(--color-light-30)}mat-form-field.pill ::ng-deep .mdc-text-field:not(.mdc-text-field--invalid){border-color:transparent}mat-form-field ::ng-deep .mdc-text-field .mat-mdc-select-arrow-wrapper{display:none}mat-form-field.x-small mat-select{font-size:12px;line-height:16px}mat-option:hover:not(.mdc-list-item--disabled){color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled).mdc-list-item--selected{background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option.mdc-list-item--disabled{opacity:.5}mat-option ::ng-deep .mat-pseudo-checkbox{display:none}mat-option ::ng-deep .mdc-list-item__primary-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", ".footer-container{min-height:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.AdsIconComponent, selector: "ads-icon", inputs: ["size", "name", "color", "theme", "stroke"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.AdsInputTooltipComponent, selector: "ads-input-tooltip", inputs: ["tooltip", "smallSize"] }, { kind: "component", type: i9.AdsErrorComponent, selector: "ads-error", inputs: ["error"] }, { kind: "component", type: i10.AdsHintComponent, selector: "ads-hint", inputs: ["control", "hint"] }, { kind: "component", type: i11.AdsSuccessComponent, selector: "ads-success", inputs: ["success"] }, { kind: "component", type: i12.AdsTagComponent, selector: "ads-tag", inputs: ["color", "id", "removable", "tag"], outputs: ["remove", "selected"] }, { kind: "component", type: i13.AdsCheckboxComponent, selector: "ads-checkbox", inputs: ["indeterminate", "width"] }] }); }
176
176
  }
177
177
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AdsDropdownComponent, decorators: [{
178
178
  type: Component,
179
- args: [{ selector: 'ads-dropdown', template: "<div [ngStyle]=\"{ minWidth: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"'ads-dropdown-panel' + (fitContent ? ' fit-content' : '')\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option [value]=\"option\" [ngClass]=\"{ checkbox: isMultiselect && checkSelected }\">\n @if (isMultiselect && checkSelected) {\n <ads-checkbox\n width=\"100%\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n />\n } @else {\n <span\n [innerHTML]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n</div>\n\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n}\n", styles: [":host{display:flex;gap:12px;align-items:flex-start}:host::ng-deep mat-form-field{--mdc-filled-text-field-input-text-color: var(--color-medium);--mdc-filled-text-field-error-label-text-color: var(--color-error);--mdc-filled-text-field-label-text-color: var(--color-medium);--mdc-filled-text-field-focus-label-text-color: var(--color-medium);--mdc-filled-text-field-hover-label-text-color: var(--color-medium);--mdc-filled-text-field-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mdc-filled-text-field-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mdc-filled-text-field-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mdc-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mdc-icon-button-state-layer-size: 22px}:host::ng-deep mat-form-field.readonly .mdc-text-field{background-color:var(--mdc-filled-text-field-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mdc-filled-text-field-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}\n", "mat-select{--mat-select-trigger-text-line-height: 24px;--mat-select-enabled-trigger-text-color: var(--color-medium);--mat-select-disabled-trigger-text-color: var(--color-medium);--mat-select-placeholder-text-color: var(--color-medium)}mat-option{--mat-option-selected-state-layer-color: var(--color-secondary);--mat-option-selected-state-label-text-color: var(--color-white);--mat-option-hover-state-layer-color: var(--color-secondary-hover);padding:0 12px}mat-option.checkbox{padding:0 12px 0 6px}mat-option:active{background-color:var(--color-secondary-pressed)!important}mat-form-field.pill ::ng-deep .mdc-text-field{border-radius:24px;padding-left:16px;background-color:var(--color-light-30)}mat-form-field.pill ::ng-deep .mdc-text-field:not(.mdc-text-field--invalid){border-color:transparent}mat-form-field ::ng-deep .mdc-text-field .mat-mdc-select-arrow-wrapper{display:none}mat-form-field.x-small mat-select{font-size:12px;line-height:16px}mat-option:hover:not(.mdc-list-item--disabled){color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled).mdc-list-item--selected{background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option.mdc-list-item--disabled{opacity:.5}mat-option ::ng-deep .mat-pseudo-checkbox{display:none}mat-option ::ng-deep .mdc-list-item__primary-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", ".footer-container{min-height:20px}\n"] }]
179
+ args: [{ selector: 'ads-dropdown', template: "<div [ngStyle]=\"{ minWidth: width }\" class=\"ads-field-container\">\n <div [ngStyle]=\"{ width: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"'ads-dropdown-panel' + (fitContent ? ' fit-content' : '')\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option [value]=\"option\" [ngClass]=\"{ checkbox: isMultiselect && checkSelected }\">\n @if (isMultiselect && checkSelected) {\n <ads-checkbox\n width=\"100%\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n />\n } @else {\n <span\n [innerHTML]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n </div>\n\n @if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n }\n</div>\n", styles: [".ads-field-container{display:flex;gap:12px;align-items:flex-start}:host::ng-deep mat-form-field{--mdc-filled-text-field-input-text-color: var(--color-medium);--mdc-filled-text-field-error-label-text-color: var(--color-error);--mdc-filled-text-field-label-text-color: var(--color-medium);--mdc-filled-text-field-focus-label-text-color: var(--color-medium);--mdc-filled-text-field-hover-label-text-color: var(--color-medium);--mdc-filled-text-field-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mdc-filled-text-field-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mdc-filled-text-field-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mdc-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mdc-icon-button-state-layer-size: 22px}:host::ng-deep mat-form-field.readonly .mdc-text-field{background-color:var(--mdc-filled-text-field-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mdc-filled-text-field-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}\n", "mat-select{--mat-select-trigger-text-line-height: 24px;--mat-select-enabled-trigger-text-color: var(--color-medium);--mat-select-disabled-trigger-text-color: var(--color-medium);--mat-select-placeholder-text-color: var(--color-medium)}mat-option{--mat-option-selected-state-layer-color: var(--color-secondary);--mat-option-selected-state-label-text-color: var(--color-white);--mat-option-hover-state-layer-color: var(--color-secondary-hover);padding:0 12px}mat-option.checkbox{padding:0 12px 0 6px}mat-option:active{background-color:var(--color-secondary-pressed)!important}mat-form-field.pill ::ng-deep .mdc-text-field{border-radius:24px;padding-left:16px;background-color:var(--color-light-30)}mat-form-field.pill ::ng-deep .mdc-text-field:not(.mdc-text-field--invalid){border-color:transparent}mat-form-field ::ng-deep .mdc-text-field .mat-mdc-select-arrow-wrapper{display:none}mat-form-field.x-small mat-select{font-size:12px;line-height:16px}mat-option:hover:not(.mdc-list-item--disabled){color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled).mdc-list-item--selected{background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option.mdc-list-item--disabled{opacity:.5}mat-option ::ng-deep .mat-pseudo-checkbox{display:none}mat-option ::ng-deep .mdc-list-item__primary-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", ".footer-container{min-height:20px}\n"] }]
180
180
  }], ctorParameters: () => [], propDecorators: { displayValueFormatter: [{
181
181
  type: Input
182
182
  }], mode: [{
@@ -191,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
191
191
  type: ViewChild,
192
192
  args: ['panel']
193
193
  }] } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZHMtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGRzL2Ryb3Bkb3ducy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Fkcy11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZHMvZHJvcGRvd25zL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUEyQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFzQixZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQ0wseUJBQXlCLEdBRzFCLE1BQU0sNkNBQTZDLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBV3JFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx5QkFBeUI7SUErQmpFO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUE1QlYsMkNBQTJDO1FBQ2xDLFNBQUksR0FBc0IsUUFBUSxDQUFDO1FBRTVDLHFEQUFxRDtRQUM1QyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUUvQix1RUFBdUU7UUFDOUQsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFROUIsY0FBYztRQUNMLGtCQUFhLEdBQVksS0FBSyxDQUFD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Q3RCakMsdzVHQWtHQTs7MkZENUVhLG9CQUFvQjtrQkFUaEMsU0FBUzsrQkFDRSxjQUFjO3dEQVVmLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFHYyxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdFTkVSSUNfQ09MTEVDVElPTiwgT2JqZWN0SGVscGVyIH0gZnJvbSAnQGFzY2VudGdsL2Fkcy11dGlscyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdERyb3Bkb3duQ29tcG9uZW50LFxuICBEcm9wZG93bkNvbXBvbmVudE9wdGlvbixcbiAgRHJvcGRvd25Db21wb25lbnRPcHRpb25zLFxufSBmcm9tICcuLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRPcHRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IGFkc0ljb25DaGV2cm9uRG93biwgYWRzSWNvbkNyb3NzLCBhZHNJY29uV2FybmluZyB9IGZyb20gJ0Bhc2NlbnRnbC9hZHMtaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgQ29sb3JzIH0gZnJvbSAnLi4vLi4vLi4vZ2VuZXJhbC9jb2xvci1wYWxldHRlL2NvbG9ycy5lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Fkcy1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuLi8uLi9pbnB1dC9pbnB1dC5jb21wb25lbnQuc2NzcycsXG4gICAgJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnLFxuICAgICcuLi8uLi9jb21tb24vY29tbW9uLmlucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRzRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqIFByb3ZpZGUgZnVuY3Rpb24gdGhhdCB3aWxsIGFsbG93IHRvIGNhbGN1bGF0ZSBvcHRpb24gZGlzcGxheSB2YWx1ZSAqL1xuICBASW5wdXQoKSBkaXNwbGF5VmFsdWVGb3JtYXR0ZXI/OiAoKG9wdGlvbjogRHJvcGRvd25Db21wb25lbnRPcHRpb24pID0+IHN0cmluZykgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFNldCBkcm9wZG93biBtb2RlIFwibm9ybWFsXCIgb3IgXCJwaWxsXCIgKi9cbiAgQElucHV0KCkgbW9kZTogJ25vcm1hbCcgfCAncGlsbCcgPSAnbm9ybWFsJztcblxuICAvKiogU2V0IHRvIHRydWUgdG8gYWRkIGVtcHR5IHZhbHVlIHRvIHRoZSBkcm9wZG93biAqL1xuICBASW5wdXQoKSBoYXNFbXB0eVZhbHVlID0gZmFsc2U7XG5cbiAgLyoqIFNldCB0byB0cnVlIGlmIHlvdSB3YW50IHRvIHNob3cgYSBjaGVja21hcmsgbmVhciBzZWxlY3RlZCBvcHRpb24gKi9cbiAgQElucHV0KCkgY2hlY2tTZWxlY3RlZCA9IHRydWU7XG5cbiAgLyoqIENvbnRhaW5zIGRyb3Bkb3duIG9wdGlvbnMgKi9cbiAgQElucHV0KCkgb3B0aW9ucz86IERyb3Bkb3duQ29tcG9uZW50T3B0aW9ucztcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdwYW5lbCcpIHBhbmVsPzogTWF0U2VsZWN0O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHJlYWRvbmx5IGlzTXVsdGlzZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICByZWFkb25seSBzaG93Q2hpcHM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBkaXNwbGF5ZWRPcHRpb25zQXJyYXk6IERyb3Bkb3duQ29tcG9uZW50T3B0aW9uW10gPSBbXTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ29sb3JzID0gQ29sb3JzO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZWdpc3RyeS5yZWdpc3RlcihbYWRzSWNvbkNyb3NzLCBhZHNJY29uQ2hldnJvbkRvd24sIGFkc0ljb25XYXJuaW5nXSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IG9wdGlvbnM6IFNpbXBsZUNoYW5nZTsgaW1tZWRpYXRlVmFsaWRhdGlvbjogU2ltcGxlQ2hhbmdlIH0pOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5vcHRpb25zKSB7XG4gICAgICB0aGlzLnByb2Nlc3NPcHRpb25zKCk7XG4gICAgICB0aGlzLm1hcENvbnRyb2xWYWx1ZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uT3B0aW9uUmVtb3ZlZChvcHRpb246IERyb3Bkb3duQ29tcG9uZW50T3B0aW9uKSB7XG4gICAgY29uc3QgY29weSA9IFsuLi50aGlzLnZhbHVlQ29udHJvbC52YWx1ZV07XG4gICAgY29uc3QgaW5kZXggPSBjb3B5LmluZGV4T2Yob3B0aW9uKTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb3B5LnNwbGljZShpbmRleCwgMSk7XG4gICAgICB0aGlzLnZhbHVlQ29udHJvbC5zZXRWYWx1ZShjb3B5KTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBvbk9wZW5lZCgpIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMucGFuZWw/LnNlbGVjdGVkO1xuXG4gICAgaWYgKHNlbGVjdGVkIGluc3RhbmNlb2YgTWF0T3B0aW9uKSB7XG4gICAgICAoPEdFTkVSSUNfQ09MTEVDVElPTj5zZWxlY3RlZCkuX2VsZW1lbnQubmF0aXZlRWxlbWVudD8uc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ2NlbnRlcicgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHByb2Nlc3NPcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkT3B0aW9uc0FycmF5ID0gW107XG4gICAgLyoqXG4gICAgICogdHVybiBEcm9wZG93bkNvbXBvbmVudE9wdGlvbnMgaW50byBEcm9wZG93bkNvbXBvbmVudERpc3BsYXllZE9wdGlvbnNcbiAgICAgKi9cbiAgICBzdXBlci5wcm9jZXNzT3B0aW9ucyh0aGlzLm9wdGlvbnMpO1xuXG4gICAgdGhpcy5kaXNwbGF5ZWRPcHRpb25zQXJyYXkgPSBBcnJheS5mcm9tKHRoaXMuZGlzcGxheWVkT3B0aW9ucy5rZXlzKCkpLnNvcnQodGhpcy5hcHBseUFycmF5U29ydGluZyk7XG5cbiAgICB0aGlzLnNldENvbnRyb2xWYWx1ZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHNldENvbnRyb2xWYWx1ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAvKipcbiAgICAgKiBpZiB0aGUgZmlyc3Qgb3B0aW9uIGtleSBpcyBhbiBvYmplY3QgLSBzdWJzY3JpYmUgdG8gY29udHJvbFxuICAgICAqIHRvIG1ha2Ugc3VyZSBpdCdzIHZhbHVlIGlzIGFsd2F5cyBhIHZhbGlkIG9iamVjdFxuICAgICAqL1xuICAgIGlmIChPYmplY3RIZWxwZXIuaXNPYmplY3QodGhpcy5kaXNwbGF5ZWRPcHRpb25zLmtleXMoKS5uZXh0KCkudmFsdWUpKSB7XG4gICAgICB0aGlzLnN1YnNjcmliZVRvQ29udHJvbCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlRnJvbUNvbnRyb2woKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICAvKipcbiAgICogTk9URTogdGhpcyBtZXRob2QgaXMgbmVlZGVkIGJlY2F1c2UgaWYgY29udHJvbCB2YWx1ZSBpcyBhbiBvYmplY3QsIGl0IE1VU1QgcmVmZXJlbmNlIHRoZSBzYW1lXG4gICAqIG9iamVjdCBhcyBjb3JyZXNwb25kaW5nIGRyb3Bkb3duIG9wdGlvbiwgdGh1cyBoZXJlIHdlIHJlcGxhY2UgZHJvcGRvd24gb3B0aW9uIHdpdGggY29udHJvbCB2YWx1ZSBpZiBuZWVkZWRcbiAgICovXG4gIHByb3RlY3RlZCBtYXBDb250cm9sVmFsdWUoY29udHJvbDogRm9ybUNvbnRyb2wgPSB0aGlzLnZhbHVlQ29udHJvbCk6IHZvaWQge1xuICAgIHRoaXMucmVwbGFjZURpc3BsYXllZE9wdGlvbldpdGhDb250cm9sVmFsdWUoY29udHJvbC52YWx1ZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgc3Vic2NyaWJlVG9Db250cm9sKGNvbnRyb2w6IEZvcm1Db250cm9sID0gdGhpcy52YWx1ZUNvbnRyb2wpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlRnJvbUNvbnRyb2woKTtcblxuICAgIHRoaXMuY29udHJvbFN1YnNjcmlwdGlvbiA9IGNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5tYXBDb250cm9sVmFsdWUoY29udHJvbCk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgcmVwbGFjZURpc3BsYXllZE9wdGlvbldpdGhDb250cm9sVmFsdWUoY29udHJvbFZhbHVlOiBEcm9wZG93bkNvbXBvbmVudE9wdGlvbik6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIGlmIGNvbnRyb2wgdmFsdWUgaXMgbm90IGFuIG9iamVjdCAtIHdlIGRvbid0IG5lZWQgdG8gY29udGludWVcbiAgICAgKi9cbiAgICBpZiAoIU9iamVjdEhlbHBlci5pc09iamVjdChjb250cm9sVmFsdWUpKSByZXR1cm47XG5cbiAgICAvKipcbiAgICAgKiBpZiBkaXNwbGF5ZWQgb3B0aW9ucyBhbHJlYWR5IGNvbnRhaW4gY29udHJvbCB2YWx1ZSAtIHdlIGRvbid0IG5lZWQgdG8gY29udGludWVcbiAgICAgKi9cbiAgICBpZiAodGhpcy5kaXNwbGF5ZWRPcHRpb25zLmdldChjb250cm9sVmFsdWUpKSByZXR1cm47XG5cbiAgICAvKipcbiAgICAgKiBsb29wIHRocm91Z2ggZGlzcGxheWVkIG9wdGlvbnNcbiAgICAgKi9cbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiB0aGlzLmRpc3BsYXllZE9wdGlvbnMpIHtcbiAgICAgIC8qKlxuICAgICAgICogaWYgZGlzcGxheWVkIG9wdGlvbiBrZXkgaXMgYW4gb2JqZWN0LCBhbmQgaXQgaXMgZXF1YWwgdG8gY29udHJvbCB2YWx1ZSAtIHdlIG5lZWQgdG8gcmVwbGFjZVxuICAgICAgICogZGlzcGxheWVkIG9wdGlvbiBrZXkgd2l0aCBjb250cm9sIHZhbHVlIHRvIGVuc3VyZSB0aGF0IG9iamVjdHMgY2FuIGJlIG1hdGNoZWRcbiAgICAgICAqIE5PVEUgaW4gb3JkZXIgdG8gb2JqZWN0MSA9PT0gb2JqZWN0MiBpdCBtdXN0IGJlIFRIRSBTQU1FIG9iamVjdFxuICAgICAgICovXG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdEhlbHBlci5pc09iamVjdChrZXkpICYmXG4gICAgICAgIE9iamVjdEhlbHBlci5kZWVwRXF1YWwoPEdFTkVSSUNfQ09MTEVDVElPTj5jb250cm9sVmFsdWUsIDxHRU5FUklDX0NPTExFQ1RJT04+a2V5KVxuICAgICAgKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBkZWxldGUgZXhpc3RpbmcgZW50cnkgZnJvbSBkaXNwbGF5ZWRPcHRpb25zXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmRpc3BsYXllZE9wdGlvbnMuZGVsZXRlKGtleSk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIGFkZCBuZXcgZW50cnkgdG8gbWFwXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmRpc3BsYXllZE9wdGlvbnMuc2V0KGNvbnRyb2xWYWx1ZSwgdmFsdWUpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgZ2V0R2VuZXJpY0Rpc3BsYXllZFZhbHVlKG9wdGlvbjogRHJvcGRvd25Db21wb25lbnRPcHRpb24pOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5kaXNwbGF5VmFsdWVGb3JtYXR0ZXIpIHtcbiAgICAgIGNvbnNvbGUud2Fybih0aGlzLm5vRGlzcGxheWVkVmFsdWVXYXJuaW5nLCBvcHRpb24pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdlbmVyaWNEaXNwbGF5ZWRWYWx1ZTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgYXBwbHlBcnJheVNvcnRpbmcgPSAoYTogRHJvcGRvd25Db21wb25lbnRPcHRpb24sIGI6IERyb3Bkb3duQ29tcG9uZW50T3B0aW9uKTogbnVtYmVyID0+IHtcbiAgICBpZiAodGhpcy5zb3J0T3B0aW9ucykge1xuICAgICAgY29uc3QgdmFsMSA9IHRoaXMuZGlzcGxheWVkT3B0aW9ucy5nZXQoYSk7XG4gICAgICBjb25zdCB2YWwyID0gdGhpcy5kaXNwbGF5ZWRPcHRpb25zLmdldChiKTtcblxuICAgICAgaWYgKHZhbDEgJiYgdmFsMikge1xuICAgICAgICByZXR1cm4gdmFsMS5sb2NhbGVDb21wYXJlKHZhbDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIGNoaXBOYW1lKG9wdGlvbjogTWF0T3B0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMuZGlzcGxheVZhbHVlRm9ybWF0dGVyID8gdGhpcy5kaXNwbGF5VmFsdWVGb3JtYXR0ZXIob3B0aW9uKSA6IHRoaXMuZGlzcGxheWVkT3B0aW9ucy5nZXQob3B0aW9uKSkgfHwgJyc7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICB0b2dnbGVPcHRpb24ob3B0aW9uOiBEcm9wZG93bkNvbXBvbmVudE9wdGlvbikge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWVDb250cm9sLnZhbHVlIHx8IFtdO1xuICAgIGNvbnN0IGluZGV4ID0gY3VycmVudFZhbHVlLmluZGV4T2Yob3B0aW9uKTtcblxuICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgIGN1cnJlbnRWYWx1ZS5wdXNoKG9wdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnRWYWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWVDb250cm9sLnNldFZhbHVlKFsuLi5jdXJyZW50VmFsdWVdKTsgLy8gRW5zdXJlIHRoZSBmb3JtIGNvbnRyb2wgaXMgdXBkYXRlZFxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgb25DaGVja2JveENoYW5nZShvcHRpb246IERyb3Bkb3duQ29tcG9uZW50T3B0aW9uKSB7XG4gICAgdGhpcy50b2dnbGVPcHRpb24ob3B0aW9uKTsgLy8gVXBkYXRlIHRoZSBvcHRpb24gb24gY2hlY2tib3ggY2hhbmdlXG4gIH1cbn1cbiIsIjxkaXYgW25nU3R5bGVdPVwieyBtaW5XaWR0aDogd2lkdGggfVwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICAoY2xpY2spPVwib25PcGVuZWQoKVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2ltbWVkaWF0ZS12YWxpZGF0aW9uJzogaW1tZWRpYXRlVmFsaWRhdGlvbixcbiAgICAgICduby1sZWZ0LXBhZGRpbmcnOiAhc2hvd0V4Y2xhbWF0aW9uLFxuICAgICAgcGlsbDogbW9kZSA9PT0gJ3BpbGwnLFxuICAgICAgY2hpcHM6IHNob3dDaGlwcyAmJiBpc011bHRpc2VsZWN0LFxuICAgICAgJ3N1Y2Nlc3MtbGFiZWwnOiBjYW5TaG93U3VjY2VzcygpLFxuICAgICAgJ2Vycm9yLWxhYmVsJzogY2FuU2hvd0Vycm9yKCksXG4gICAgICAneC1zbWFsbCc6IHNtYWxsU2l6ZSxcbiAgICB9XCJcbiAgICBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCJcbiAgPlxuICAgIEBpZiAoKCFzaG93Q2hpcHMgfHwgdmFsdWVDb250cm9sLnZhbHVlLmxlbmd0aCA9PT0gMCkgJiYgKGxhYmVsIHx8IHJlcXVpcmVkKSAmJiAhc21hbGxTaXplKSB7XG4gICAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgfVxuICAgIDwhLS0mbmJzcDsgaXMgcmVxdWlyZWQgaW4gcGxhY2Vob2xkZXIgZm9yIHNtb290aGVyIGFuaW1hdGlvbiAtLT5cbiAgICA8bWF0LXNlbGVjdFxuICAgICAgI3BhbmVsXG4gICAgICBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCJcbiAgICAgIFtpZF09XCJpZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgJyZuYnNwOydcIlxuICAgICAgW3BhbmVsQ2xhc3NdPVwiJ2Fkcy1kcm9wZG93bi1wYW5lbCcgKyAoZml0Q29udGVudCA/ICcgZml0LWNvbnRlbnQnIDogJycpXCJcbiAgICAgIFtkaXNhYmxlT3B0aW9uQ2VudGVyaW5nXT1cInRydWVcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJ2YWx1ZUNvbnRyb2xcIlxuICAgICAgW211bHRpcGxlXT1cImlzTXVsdGlzZWxlY3RcIlxuICAgID5cbiAgICAgIEBpZiAoc2hvd0NoaXBzICYmIGlzTXVsdGlzZWxlY3QpIHtcbiAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFnLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIHZhbHVlQ29udHJvbC52YWx1ZTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgIDxhZHMtdGFnXG4gICAgICAgICAgICAgICAgW3RhZ109XCJjaGlwTmFtZShvcHRpb24pXCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwiQ29sb3JzLk1lZGl1bVwiXG4gICAgICAgICAgICAgICAgW2lkXT1cIicnICsgJGluZGV4XCJcbiAgICAgICAgICAgICAgICAocmVtb3ZlKT1cIm9uT3B0aW9uUmVtb3ZlZChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoaGFzRW1wdHlWYWx1ZSkge1xuICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidW5kZWZpbmVkXCI+PC9tYXQtb3B0aW9uPlxuICAgICAgfVxuXG4gICAgICBAZm9yIChvcHRpb24gb2YgZGlzcGxheWVkT3B0aW9uc0FycmF5OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvblwiIFtuZ0NsYXNzXT1cInsgY2hlY2tib3g6IGlzTXVsdGlzZWxlY3QgJiYgY2hlY2tTZWxlY3RlZCB9XCI+XG4gICAgICAgICAgQGlmIChpc011bHRpc2VsZWN0ICYmIGNoZWNrU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIDxhZHMtY2hlY2tib3hcbiAgICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoZWNrYm94Q2hhbmdlKG9wdGlvbilcIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiZGlzcGxheVZhbHVlRm9ybWF0dGVyID8gZGlzcGxheVZhbHVlRm9ybWF0dGVyKG9wdGlvbikgOiBkaXNwbGF5ZWRPcHRpb25zLmdldChvcHRpb24pXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImRpc3BsYXlWYWx1ZUZvcm1hdHRlciA/IGRpc3BsYXlWYWx1ZUZvcm1hdHRlcihvcHRpb24pIDogZGlzcGxheWVkT3B0aW9ucy5nZXQob3B0aW9uKVwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgfVxuICAgIDwvbWF0LXNlbGVjdD5cblxuICAgIEBpZiAoY2FuQ2xlYXIpIHtcbiAgICAgIDxidXR0b24gbWF0VGV4dFN1ZmZpeCB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbGVhcigkZXZlbnQpXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPlxuICAgICAgICA8YWRzLWljb24gbmFtZT1cImNyb3NzXCIgW3NpemVdPVwic21hbGxTaXplID8gJ3h4cycgOiAneHMnXCIgW3RoZW1lXT1cIidpY29uUHJpbWFyeSdcIiBjbGFzcz1cImNyb3NzLWljb25cIiAvPlxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICAgIDxidXR0b24gbWF0VGV4dFN1ZmZpeCB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiYWN0aW9uLWljb25cIj5cbiAgICAgIDxhZHMtaWNvblxuICAgICAgICBtYXRUZXh0U3VmZml4XG4gICAgICAgIG5hbWU9XCJjaGV2cm9uX2Rvd25cIlxuICAgICAgICBbc2l6ZV09XCJzbWFsbFNpemUgPyAneHhzJyA6ICd4cydcIlxuICAgICAgICBbdGhlbWVdPVwiJ2ljb25QcmltYXJ5J1wiXG4gICAgICAgIGNsYXNzPVwiY2hldnJvbi1kb3duXCJcbiAgICAgIC8+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgQGlmIChzaG93Rm9vdGVyKSB7XG4gICAgPGRpdiBjbGFzcz1cImZvb3Rlci1jb250YWluZXJcIj5cbiAgICAgIEBpZiAoY2FuU2hvd0Vycm9yKCkpIHtcbiAgICAgICAgPGFkcy1lcnJvciBbZXJyb3JdPVwiZGlzcGxheUZpcnN0RXJyb3IoKVwiIFtuZ1N0eWxlXT1cInsgd2lkdGg6IHdpZHRoIH1cIiAvPlxuICAgICAgfSBAZWxzZSBpZiAoY2FuU2hvd1N1Y2Nlc3MoKSkge1xuICAgICAgICA8YWRzLXN1Y2Nlc3MgW3N1Y2Nlc3NdPVwic3VjY2Vzc01lc3NhZ2UhXCIgW25nU3R5bGVdPVwieyB3aWR0aDogd2lkdGggfVwiIC8+XG4gICAgICB9IEBlbHNlIGlmIChoaW50KSB7XG4gICAgICAgIDxhZHMtaGludCBbaGludF09XCJoaW50XCIgW2NvbnRyb2xdPVwidmFsdWVDb250cm9sXCIgW25nU3R5bGVdPVwieyB3aWR0aDogd2lkdGggfVwiIC8+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuXG5AaWYgKHRvb2x0aXApIHtcbiAgPGFkcy1pbnB1dC10b29sdGlwIFt0b29sdGlwXT1cInRvb2x0aXBcIiBbc21hbGxTaXplXT1cInNtYWxsU2l6ZVwiIC8+XG59XG4iXX0=
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZHMtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGRzL2Ryb3Bkb3ducy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Fkcy11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZHMvZHJvcGRvd25zL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUEyQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFzQixZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQ0wseUJBQXlCLEdBRzFCLE1BQU0sNkNBQTZDLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBV3JFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx5QkFBeUI7SUErQmpFO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUE1QlYsMkNBQTJDO1FBQ2xDLFNBQUksR0FBc0IsUUFBUSxDQUFDO1FBRTVDLHFEQUFxRDtRQUM1QyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUUvQix1RUFBdUU7UUFDOUQsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFROUIsY0FBYztRQUNMLGtCQUFhLEdBQVksS0FBSyxDQUFD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Q3RCakMsOHBIQW9HQTs7MkZEOUVhLG9CQUFvQjtrQkFUaEMsU0FBUzsrQkFDRSxjQUFjO3dEQVVmLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFHYyxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdFTkVSSUNfQ09MTEVDVElPTiwgT2JqZWN0SGVscGVyIH0gZnJvbSAnQGFzY2VudGdsL2Fkcy11dGlscyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdERyb3Bkb3duQ29tcG9uZW50LFxuICBEcm9wZG93bkNvbXBvbmVudE9wdGlvbixcbiAgRHJvcGRvd25Db21wb25lbnRPcHRpb25zLFxufSBmcm9tICcuLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRPcHRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IGFkc0ljb25DaGV2cm9uRG93biwgYWRzSWNvbkNyb3NzLCBhZHNJY29uV2FybmluZyB9IGZyb20gJ0Bhc2NlbnRnbC9hZHMtaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgQ29sb3JzIH0gZnJvbSAnLi4vLi4vLi4vZ2VuZXJhbC9jb2xvci1wYWxldHRlL2NvbG9ycy5lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Fkcy1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuLi8uLi9pbnB1dC9pbnB1dC5jb21wb25lbnQuc2NzcycsXG4gICAgJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnLFxuICAgICcuLi8uLi9jb21tb24vY29tbW9uLmlucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRzRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqIFByb3ZpZGUgZnVuY3Rpb24gdGhhdCB3aWxsIGFsbG93IHRvIGNhbGN1bGF0ZSBvcHRpb24gZGlzcGxheSB2YWx1ZSAqL1xuICBASW5wdXQoKSBkaXNwbGF5VmFsdWVGb3JtYXR0ZXI/OiAoKG9wdGlvbjogRHJvcGRvd25Db21wb25lbnRPcHRpb24pID0+IHN0cmluZykgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFNldCBkcm9wZG93biBtb2RlIFwibm9ybWFsXCIgb3IgXCJwaWxsXCIgKi9cbiAgQElucHV0KCkgbW9kZTogJ25vcm1hbCcgfCAncGlsbCcgPSAnbm9ybWFsJztcblxuICAvKiogU2V0IHRvIHRydWUgdG8gYWRkIGVtcHR5IHZhbHVlIHRvIHRoZSBkcm9wZG93biAqL1xuICBASW5wdXQoKSBoYXNFbXB0eVZhbHVlID0gZmFsc2U7XG5cbiAgLyoqIFNldCB0byB0cnVlIGlmIHlvdSB3YW50IHRvIHNob3cgYSBjaGVja21hcmsgbmVhciBzZWxlY3RlZCBvcHRpb24gKi9cbiAgQElucHV0KCkgY2hlY2tTZWxlY3RlZCA9IHRydWU7XG5cbiAgLyoqIENvbnRhaW5zIGRyb3Bkb3duIG9wdGlvbnMgKi9cbiAgQElucHV0KCkgb3B0aW9ucz86IERyb3Bkb3duQ29tcG9uZW50T3B0aW9ucztcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdwYW5lbCcpIHBhbmVsPzogTWF0U2VsZWN0O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHJlYWRvbmx5IGlzTXVsdGlzZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICByZWFkb25seSBzaG93Q2hpcHM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBkaXNwbGF5ZWRPcHRpb25zQXJyYXk6IERyb3Bkb3duQ29tcG9uZW50T3B0aW9uW10gPSBbXTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ29sb3JzID0gQ29sb3JzO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZWdpc3RyeS5yZWdpc3RlcihbYWRzSWNvbkNyb3NzLCBhZHNJY29uQ2hldnJvbkRvd24sIGFkc0ljb25XYXJuaW5nXSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IG9wdGlvbnM6IFNpbXBsZUNoYW5nZTsgaW1tZWRpYXRlVmFsaWRhdGlvbjogU2ltcGxlQ2hhbmdlIH0pOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5vcHRpb25zKSB7XG4gICAgICB0aGlzLnByb2Nlc3NPcHRpb25zKCk7XG4gICAgICB0aGlzLm1hcENvbnRyb2xWYWx1ZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uT3B0aW9uUmVtb3ZlZChvcHRpb246IERyb3Bkb3duQ29tcG9uZW50T3B0aW9uKSB7XG4gICAgY29uc3QgY29weSA9IFsuLi50aGlzLnZhbHVlQ29udHJvbC52YWx1ZV07XG4gICAgY29uc3QgaW5kZXggPSBjb3B5LmluZGV4T2Yob3B0aW9uKTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb3B5LnNwbGljZShpbmRleCwgMSk7XG4gICAgICB0aGlzLnZhbHVlQ29udHJvbC5zZXRWYWx1ZShjb3B5KTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBvbk9wZW5lZCgpIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMucGFuZWw/LnNlbGVjdGVkO1xuXG4gICAgaWYgKHNlbGVjdGVkIGluc3RhbmNlb2YgTWF0T3B0aW9uKSB7XG4gICAgICAoPEdFTkVSSUNfQ09MTEVDVElPTj5zZWxlY3RlZCkuX2VsZW1lbnQubmF0aXZlRWxlbWVudD8uc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ2NlbnRlcicgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHByb2Nlc3NPcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkT3B0aW9uc0FycmF5ID0gW107XG4gICAgLyoqXG4gICAgICogdHVybiBEcm9wZG93bkNvbXBvbmVudE9wdGlvbnMgaW50byBEcm9wZG93bkNvbXBvbmVudERpc3BsYXllZE9wdGlvbnNcbiAgICAgKi9cbiAgICBzdXBlci5wcm9jZXNzT3B0aW9ucyh0aGlzLm9wdGlvbnMpO1xuXG4gICAgdGhpcy5kaXNwbGF5ZWRPcHRpb25zQXJyYXkgPSBBcnJheS5mcm9tKHRoaXMuZGlzcGxheWVkT3B0aW9ucy5rZXlzKCkpLnNvcnQodGhpcy5hcHBseUFycmF5U29ydGluZyk7XG5cbiAgICB0aGlzLnNldENvbnRyb2xWYWx1ZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHNldENvbnRyb2xWYWx1ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAvKipcbiAgICAgKiBpZiB0aGUgZmlyc3Qgb3B0aW9uIGtleSBpcyBhbiBvYmplY3QgLSBzdWJzY3JpYmUgdG8gY29udHJvbFxuICAgICAqIHRvIG1ha2Ugc3VyZSBpdCdzIHZhbHVlIGlzIGFsd2F5cyBhIHZhbGlkIG9iamVjdFxuICAgICAqL1xuICAgIGlmIChPYmplY3RIZWxwZXIuaXNPYmplY3QodGhpcy5kaXNwbGF5ZWRPcHRpb25zLmtleXMoKS5uZXh0KCkudmFsdWUpKSB7XG4gICAgICB0aGlzLnN1YnNjcmliZVRvQ29udHJvbCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlRnJvbUNvbnRyb2woKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICAvKipcbiAgICogTk9URTogdGhpcyBtZXRob2QgaXMgbmVlZGVkIGJlY2F1c2UgaWYgY29udHJvbCB2YWx1ZSBpcyBhbiBvYmplY3QsIGl0IE1VU1QgcmVmZXJlbmNlIHRoZSBzYW1lXG4gICAqIG9iamVjdCBhcyBjb3JyZXNwb25kaW5nIGRyb3Bkb3duIG9wdGlvbiwgdGh1cyBoZXJlIHdlIHJlcGxhY2UgZHJvcGRvd24gb3B0aW9uIHdpdGggY29udHJvbCB2YWx1ZSBpZiBuZWVkZWRcbiAgICovXG4gIHByb3RlY3RlZCBtYXBDb250cm9sVmFsdWUoY29udHJvbDogRm9ybUNvbnRyb2wgPSB0aGlzLnZhbHVlQ29udHJvbCk6IHZvaWQge1xuICAgIHRoaXMucmVwbGFjZURpc3BsYXllZE9wdGlvbldpdGhDb250cm9sVmFsdWUoY29udHJvbC52YWx1ZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgc3Vic2NyaWJlVG9Db250cm9sKGNvbnRyb2w6IEZvcm1Db250cm9sID0gdGhpcy52YWx1ZUNvbnRyb2wpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlRnJvbUNvbnRyb2woKTtcblxuICAgIHRoaXMuY29udHJvbFN1YnNjcmlwdGlvbiA9IGNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5tYXBDb250cm9sVmFsdWUoY29udHJvbCk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgcmVwbGFjZURpc3BsYXllZE9wdGlvbldpdGhDb250cm9sVmFsdWUoY29udHJvbFZhbHVlOiBEcm9wZG93bkNvbXBvbmVudE9wdGlvbik6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIGlmIGNvbnRyb2wgdmFsdWUgaXMgbm90IGFuIG9iamVjdCAtIHdlIGRvbid0IG5lZWQgdG8gY29udGludWVcbiAgICAgKi9cbiAgICBpZiAoIU9iamVjdEhlbHBlci5pc09iamVjdChjb250cm9sVmFsdWUpKSByZXR1cm47XG5cbiAgICAvKipcbiAgICAgKiBpZiBkaXNwbGF5ZWQgb3B0aW9ucyBhbHJlYWR5IGNvbnRhaW4gY29udHJvbCB2YWx1ZSAtIHdlIGRvbid0IG5lZWQgdG8gY29udGludWVcbiAgICAgKi9cbiAgICBpZiAodGhpcy5kaXNwbGF5ZWRPcHRpb25zLmdldChjb250cm9sVmFsdWUpKSByZXR1cm47XG5cbiAgICAvKipcbiAgICAgKiBsb29wIHRocm91Z2ggZGlzcGxheWVkIG9wdGlvbnNcbiAgICAgKi9cbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiB0aGlzLmRpc3BsYXllZE9wdGlvbnMpIHtcbiAgICAgIC8qKlxuICAgICAgICogaWYgZGlzcGxheWVkIG9wdGlvbiBrZXkgaXMgYW4gb2JqZWN0LCBhbmQgaXQgaXMgZXF1YWwgdG8gY29udHJvbCB2YWx1ZSAtIHdlIG5lZWQgdG8gcmVwbGFjZVxuICAgICAgICogZGlzcGxheWVkIG9wdGlvbiBrZXkgd2l0aCBjb250cm9sIHZhbHVlIHRvIGVuc3VyZSB0aGF0IG9iamVjdHMgY2FuIGJlIG1hdGNoZWRcbiAgICAgICAqIE5PVEUgaW4gb3JkZXIgdG8gb2JqZWN0MSA9PT0gb2JqZWN0MiBpdCBtdXN0IGJlIFRIRSBTQU1FIG9iamVjdFxuICAgICAgICovXG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdEhlbHBlci5pc09iamVjdChrZXkpICYmXG4gICAgICAgIE9iamVjdEhlbHBlci5kZWVwRXF1YWwoPEdFTkVSSUNfQ09MTEVDVElPTj5jb250cm9sVmFsdWUsIDxHRU5FUklDX0NPTExFQ1RJT04+a2V5KVxuICAgICAgKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBkZWxldGUgZXhpc3RpbmcgZW50cnkgZnJvbSBkaXNwbGF5ZWRPcHRpb25zXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmRpc3BsYXllZE9wdGlvbnMuZGVsZXRlKGtleSk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIGFkZCBuZXcgZW50cnkgdG8gbWFwXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmRpc3BsYXllZE9wdGlvbnMuc2V0KGNvbnRyb2xWYWx1ZSwgdmFsdWUpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgZ2V0R2VuZXJpY0Rpc3BsYXllZFZhbHVlKG9wdGlvbjogRHJvcGRvd25Db21wb25lbnRPcHRpb24pOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5kaXNwbGF5VmFsdWVGb3JtYXR0ZXIpIHtcbiAgICAgIGNvbnNvbGUud2Fybih0aGlzLm5vRGlzcGxheWVkVmFsdWVXYXJuaW5nLCBvcHRpb24pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdlbmVyaWNEaXNwbGF5ZWRWYWx1ZTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgYXBwbHlBcnJheVNvcnRpbmcgPSAoYTogRHJvcGRvd25Db21wb25lbnRPcHRpb24sIGI6IERyb3Bkb3duQ29tcG9uZW50T3B0aW9uKTogbnVtYmVyID0+IHtcbiAgICBpZiAodGhpcy5zb3J0T3B0aW9ucykge1xuICAgICAgY29uc3QgdmFsMSA9IHRoaXMuZGlzcGxheWVkT3B0aW9ucy5nZXQoYSk7XG4gICAgICBjb25zdCB2YWwyID0gdGhpcy5kaXNwbGF5ZWRPcHRpb25zLmdldChiKTtcblxuICAgICAgaWYgKHZhbDEgJiYgdmFsMikge1xuICAgICAgICByZXR1cm4gdmFsMS5sb2NhbGVDb21wYXJlKHZhbDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIGNoaXBOYW1lKG9wdGlvbjogTWF0T3B0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMuZGlzcGxheVZhbHVlRm9ybWF0dGVyID8gdGhpcy5kaXNwbGF5VmFsdWVGb3JtYXR0ZXIob3B0aW9uKSA6IHRoaXMuZGlzcGxheWVkT3B0aW9ucy5nZXQob3B0aW9uKSkgfHwgJyc7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICB0b2dnbGVPcHRpb24ob3B0aW9uOiBEcm9wZG93bkNvbXBvbmVudE9wdGlvbikge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWVDb250cm9sLnZhbHVlIHx8IFtdO1xuICAgIGNvbnN0IGluZGV4ID0gY3VycmVudFZhbHVlLmluZGV4T2Yob3B0aW9uKTtcblxuICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgIGN1cnJlbnRWYWx1ZS5wdXNoKG9wdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnRWYWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWVDb250cm9sLnNldFZhbHVlKFsuLi5jdXJyZW50VmFsdWVdKTsgLy8gRW5zdXJlIHRoZSBmb3JtIGNvbnRyb2wgaXMgdXBkYXRlZFxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgb25DaGVja2JveENoYW5nZShvcHRpb246IERyb3Bkb3duQ29tcG9uZW50T3B0aW9uKSB7XG4gICAgdGhpcy50b2dnbGVPcHRpb24ob3B0aW9uKTsgLy8gVXBkYXRlIHRoZSBvcHRpb24gb24gY2hlY2tib3ggY2hhbmdlXG4gIH1cbn1cbiIsIjxkaXYgW25nU3R5bGVdPVwieyBtaW5XaWR0aDogd2lkdGggfVwiIGNsYXNzPVwiYWRzLWZpZWxkLWNvbnRhaW5lclwiPlxuICA8ZGl2IFtuZ1N0eWxlXT1cInsgd2lkdGg6IHdpZHRoIH1cIj5cbiAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgIChjbGljayk9XCJvbk9wZW5lZCgpXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2ltbWVkaWF0ZS12YWxpZGF0aW9uJzogaW1tZWRpYXRlVmFsaWRhdGlvbixcbiAgICAgICAgJ25vLWxlZnQtcGFkZGluZyc6ICFzaG93RXhjbGFtYXRpb24sXG4gICAgICAgIHBpbGw6IG1vZGUgPT09ICdwaWxsJyxcbiAgICAgICAgY2hpcHM6IHNob3dDaGlwcyAmJiBpc011bHRpc2VsZWN0LFxuICAgICAgICAnc3VjY2Vzcy1sYWJlbCc6IGNhblNob3dTdWNjZXNzKCksXG4gICAgICAgICdlcnJvci1sYWJlbCc6IGNhblNob3dFcnJvcigpLFxuICAgICAgICAneC1zbWFsbCc6IHNtYWxsU2l6ZSxcbiAgICAgIH1cIlxuICAgICAgW25nU3R5bGVdPVwieyB3aWR0aDogd2lkdGggfVwiXG4gICAgPlxuICAgICAgQGlmICgoIXNob3dDaGlwcyB8fCB2YWx1ZUNvbnRyb2wudmFsdWUubGVuZ3RoID09PSAwKSAmJiAobGFiZWwgfHwgcmVxdWlyZWQpICYmICFzbWFsbFNpemUpIHtcbiAgICAgICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgICAgfVxuICAgICAgPCEtLSZuYnNwOyBpcyByZXF1aXJlZCBpbiBwbGFjZWhvbGRlciBmb3Igc21vb3RoZXIgYW5pbWF0aW9uIC0tPlxuICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgI3BhbmVsXG4gICAgICAgIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIlxuICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgJyZuYnNwOydcIlxuICAgICAgICBbcGFuZWxDbGFzc109XCInYWRzLWRyb3Bkb3duLXBhbmVsJyArIChmaXRDb250ZW50ID8gJyBmaXQtY29udGVudCcgOiAnJylcIlxuICAgICAgICBbZGlzYWJsZU9wdGlvbkNlbnRlcmluZ109XCJ0cnVlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhbHVlQ29udHJvbFwiXG4gICAgICAgIFttdWx0aXBsZV09XCJpc011bHRpc2VsZWN0XCJcbiAgICAgID5cbiAgICAgICAgQGlmIChzaG93Q2hpcHMgJiYgaXNNdWx0aXNlbGVjdCkge1xuICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFnLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgdmFsdWVDb250cm9sLnZhbHVlOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8YWRzLXRhZ1xuICAgICAgICAgICAgICAgICAgW3RhZ109XCJjaGlwTmFtZShvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJDb2xvcnMuTWVkaXVtXCJcbiAgICAgICAgICAgICAgICAgIFtpZF09XCInJyArICRpbmRleFwiXG4gICAgICAgICAgICAgICAgICAocmVtb3ZlKT1cIm9uT3B0aW9uUmVtb3ZlZChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChoYXNFbXB0eVZhbHVlKSB7XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInVuZGVmaW5lZFwiPjwvbWF0LW9wdGlvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBmb3IgKG9wdGlvbiBvZiBkaXNwbGF5ZWRPcHRpb25zQXJyYXk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcHRpb25cIiBbbmdDbGFzc109XCJ7IGNoZWNrYm94OiBpc011bHRpc2VsZWN0ICYmIGNoZWNrU2VsZWN0ZWQgfVwiPlxuICAgICAgICAgICAgQGlmIChpc011bHRpc2VsZWN0ICYmIGNoZWNrU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgPGFkcy1jaGVja2JveFxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoZWNrYm94Q2hhbmdlKG9wdGlvbilcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJkaXNwbGF5VmFsdWVGb3JtYXR0ZXIgPyBkaXNwbGF5VmFsdWVGb3JtYXR0ZXIob3B0aW9uKSA6IGRpc3BsYXllZE9wdGlvbnMuZ2V0KG9wdGlvbilcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJkaXNwbGF5VmFsdWVGb3JtYXR0ZXIgPyBkaXNwbGF5VmFsdWVGb3JtYXR0ZXIob3B0aW9uKSA6IGRpc3BsYXllZE9wdGlvbnMuZ2V0KG9wdGlvbilcIlxuICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgfVxuICAgICAgPC9tYXQtc2VsZWN0PlxuXG4gICAgICBAaWYgKGNhbkNsZWFyKSB7XG4gICAgICAgIDxidXR0b24gbWF0VGV4dFN1ZmZpeCB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbGVhcigkZXZlbnQpXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPlxuICAgICAgICAgIDxhZHMtaWNvbiBuYW1lPVwiY3Jvc3NcIiBbc2l6ZV09XCJzbWFsbFNpemUgPyAneHhzJyA6ICd4cydcIiBbdGhlbWVdPVwiJ2ljb25QcmltYXJ5J1wiIGNsYXNzPVwiY3Jvc3MtaWNvblwiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgPGJ1dHRvbiBtYXRUZXh0U3VmZml4IHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJhY3Rpb24taWNvblwiPlxuICAgICAgICA8YWRzLWljb25cbiAgICAgICAgICBtYXRUZXh0U3VmZml4XG4gICAgICAgICAgbmFtZT1cImNoZXZyb25fZG93blwiXG4gICAgICAgICAgW3NpemVdPVwic21hbGxTaXplID8gJ3h4cycgOiAneHMnXCJcbiAgICAgICAgICBbdGhlbWVdPVwiJ2ljb25QcmltYXJ5J1wiXG4gICAgICAgICAgY2xhc3M9XCJjaGV2cm9uLWRvd25cIlxuICAgICAgICAvPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIEBpZiAoc2hvd0Zvb3Rlcikge1xuICAgICAgPGRpdiBjbGFzcz1cImZvb3Rlci1jb250YWluZXJcIj5cbiAgICAgICAgQGlmIChjYW5TaG93RXJyb3IoKSkge1xuICAgICAgICAgIDxhZHMtZXJyb3IgW2Vycm9yXT1cImRpc3BsYXlGaXJzdEVycm9yKClcIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCIgLz5cbiAgICAgICAgfSBAZWxzZSBpZiAoY2FuU2hvd1N1Y2Nlc3MoKSkge1xuICAgICAgICAgIDxhZHMtc3VjY2VzcyBbc3VjY2Vzc109XCJzdWNjZXNzTWVzc2FnZSFcIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCIgLz5cbiAgICAgICAgfSBAZWxzZSBpZiAoaGludCkge1xuICAgICAgICAgIDxhZHMtaGludCBbaGludF09XCJoaW50XCIgW2NvbnRyb2xdPVwidmFsdWVDb250cm9sXCIgW25nU3R5bGVdPVwieyB3aWR0aDogd2lkdGggfVwiIC8+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgQGlmICh0b29sdGlwKSB7XG4gICAgPGFkcy1pbnB1dC10b29sdGlwIFt0b29sdGlwXT1cInRvb2x0aXBcIiBbc21hbGxTaXplXT1cInNtYWxsU2l6ZVwiIC8+XG4gIH1cbjwvZGl2PlxuIl19
@@ -56,12 +56,12 @@ export class AdsMultiSelectDropdownComponent extends AdsDropdownComponent {
56
56
  });
57
57
  }
58
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AdsMultiSelectDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: AdsMultiSelectDropdownComponent, selector: "ads-multi-select-dropdown", inputs: { showChips: "showChips" }, usesInheritance: true, ngImport: i0, template: "<div [ngStyle]=\"{ minWidth: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"'ads-dropdown-panel' + (fitContent ? ' fit-content' : '')\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option [value]=\"option\" [ngClass]=\"{ checkbox: isMultiselect && checkSelected }\">\n @if (isMultiselect && checkSelected) {\n <ads-checkbox\n width=\"100%\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n />\n } @else {\n <span\n [innerHTML]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n</div>\n\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n}\n", styles: [":host{display:flex;gap:12px;align-items:flex-start}:host::ng-deep mat-form-field{--mdc-filled-text-field-input-text-color: var(--color-medium);--mdc-filled-text-field-error-label-text-color: var(--color-error);--mdc-filled-text-field-label-text-color: var(--color-medium);--mdc-filled-text-field-focus-label-text-color: var(--color-medium);--mdc-filled-text-field-hover-label-text-color: var(--color-medium);--mdc-filled-text-field-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mdc-filled-text-field-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mdc-filled-text-field-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mdc-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mdc-icon-button-state-layer-size: 22px}:host::ng-deep mat-form-field.readonly .mdc-text-field{background-color:var(--mdc-filled-text-field-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mdc-filled-text-field-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}\n", "mat-select{--mat-select-trigger-text-line-height: 24px;--mat-select-enabled-trigger-text-color: var(--color-medium);--mat-select-disabled-trigger-text-color: var(--color-medium);--mat-select-placeholder-text-color: var(--color-medium)}mat-option{--mat-option-selected-state-layer-color: var(--color-secondary);--mat-option-selected-state-label-text-color: var(--color-white);--mat-option-hover-state-layer-color: var(--color-secondary-hover);padding:0 12px}mat-option.checkbox{padding:0 12px 0 6px}mat-option:active{background-color:var(--color-secondary-pressed)!important}mat-form-field.pill ::ng-deep .mdc-text-field{border-radius:24px;padding-left:16px;background-color:var(--color-light-30)}mat-form-field.pill ::ng-deep .mdc-text-field:not(.mdc-text-field--invalid){border-color:transparent}mat-form-field ::ng-deep .mdc-text-field .mat-mdc-select-arrow-wrapper{display:none}mat-form-field.x-small mat-select{font-size:12px;line-height:16px}mat-option:hover:not(.mdc-list-item--disabled){color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled).mdc-list-item--selected{background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option.mdc-list-item--disabled{opacity:.5}mat-option ::ng-deep .mat-pseudo-checkbox{display:none}mat-option ::ng-deep .mdc-list-item__primary-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", "mat-form-field.chips ::ng-deep .mdc-text-field{height:auto;min-height:var(--mat-form-field-container-height)}mat-form-field.x-small ::ng-deep{--mat-form-field-container-height: 32px}mat-option:not(.mdc-list-item--disabled):hover ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):focus ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):active ::ng-deep .checkbox-label{color:var(--color-white)}.tag-container{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0}\n", ".footer-container{min-height:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.AdsIconComponent, selector: "ads-icon", inputs: ["size", "name", "color", "theme", "stroke"] }, { kind: "component", type: i7.AdsInputTooltipComponent, selector: "ads-input-tooltip", inputs: ["tooltip", "smallSize"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i9.AdsSuccessComponent, selector: "ads-success", inputs: ["success"] }, { kind: "component", type: i10.AdsErrorComponent, selector: "ads-error", inputs: ["error"] }, { kind: "component", type: i11.AdsHintComponent, selector: "ads-hint", inputs: ["control", "hint"] }, { kind: "component", type: i12.AdsTagComponent, selector: "ads-tag", inputs: ["color", "id", "removable", "tag"], outputs: ["remove", "selected"] }, { kind: "component", type: i13.AdsCheckboxComponent, selector: "ads-checkbox", inputs: ["indeterminate", "width"] }] }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: AdsMultiSelectDropdownComponent, selector: "ads-multi-select-dropdown", inputs: { showChips: "showChips" }, usesInheritance: true, ngImport: i0, template: "<div [ngStyle]=\"{ minWidth: width }\" class=\"ads-field-container\">\n <div [ngStyle]=\"{ width: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"'ads-dropdown-panel' + (fitContent ? ' fit-content' : '')\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option [value]=\"option\" [ngClass]=\"{ checkbox: isMultiselect && checkSelected }\">\n @if (isMultiselect && checkSelected) {\n <ads-checkbox\n width=\"100%\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n />\n } @else {\n <span\n [innerHTML]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n </div>\n\n @if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n }\n</div>\n", styles: [".ads-field-container{display:flex;gap:12px;align-items:flex-start}:host::ng-deep mat-form-field{--mdc-filled-text-field-input-text-color: var(--color-medium);--mdc-filled-text-field-error-label-text-color: var(--color-error);--mdc-filled-text-field-label-text-color: var(--color-medium);--mdc-filled-text-field-focus-label-text-color: var(--color-medium);--mdc-filled-text-field-hover-label-text-color: var(--color-medium);--mdc-filled-text-field-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mdc-filled-text-field-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mdc-filled-text-field-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mdc-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mdc-icon-button-state-layer-size: 22px}:host::ng-deep mat-form-field.readonly .mdc-text-field{background-color:var(--mdc-filled-text-field-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mdc-filled-text-field-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}\n", "mat-select{--mat-select-trigger-text-line-height: 24px;--mat-select-enabled-trigger-text-color: var(--color-medium);--mat-select-disabled-trigger-text-color: var(--color-medium);--mat-select-placeholder-text-color: var(--color-medium)}mat-option{--mat-option-selected-state-layer-color: var(--color-secondary);--mat-option-selected-state-label-text-color: var(--color-white);--mat-option-hover-state-layer-color: var(--color-secondary-hover);padding:0 12px}mat-option.checkbox{padding:0 12px 0 6px}mat-option:active{background-color:var(--color-secondary-pressed)!important}mat-form-field.pill ::ng-deep .mdc-text-field{border-radius:24px;padding-left:16px;background-color:var(--color-light-30)}mat-form-field.pill ::ng-deep .mdc-text-field:not(.mdc-text-field--invalid){border-color:transparent}mat-form-field ::ng-deep .mdc-text-field .mat-mdc-select-arrow-wrapper{display:none}mat-form-field.x-small mat-select{font-size:12px;line-height:16px}mat-option:hover:not(.mdc-list-item--disabled){color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled).mdc-list-item--selected{background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option.mdc-list-item--disabled{opacity:.5}mat-option ::ng-deep .mat-pseudo-checkbox{display:none}mat-option ::ng-deep .mdc-list-item__primary-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", "mat-form-field.chips ::ng-deep .mdc-text-field{height:auto;min-height:var(--mat-form-field-container-height)}mat-form-field.x-small ::ng-deep{--mat-form-field-container-height: 32px}mat-option:not(.mdc-list-item--disabled):hover ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):focus ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):active ::ng-deep .checkbox-label{color:var(--color-white)}.tag-container{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0}\n", ".footer-container{min-height:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.AdsIconComponent, selector: "ads-icon", inputs: ["size", "name", "color", "theme", "stroke"] }, { kind: "component", type: i7.AdsInputTooltipComponent, selector: "ads-input-tooltip", inputs: ["tooltip", "smallSize"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i9.AdsSuccessComponent, selector: "ads-success", inputs: ["success"] }, { kind: "component", type: i10.AdsErrorComponent, selector: "ads-error", inputs: ["error"] }, { kind: "component", type: i11.AdsHintComponent, selector: "ads-hint", inputs: ["control", "hint"] }, { kind: "component", type: i12.AdsTagComponent, selector: "ads-tag", inputs: ["color", "id", "removable", "tag"], outputs: ["remove", "selected"] }, { kind: "component", type: i13.AdsCheckboxComponent, selector: "ads-checkbox", inputs: ["indeterminate", "width"] }] }); }
60
60
  }
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AdsMultiSelectDropdownComponent, decorators: [{
62
62
  type: Component,
63
- args: [{ selector: 'ads-multi-select-dropdown', template: "<div [ngStyle]=\"{ minWidth: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"'ads-dropdown-panel' + (fitContent ? ' fit-content' : '')\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option [value]=\"option\" [ngClass]=\"{ checkbox: isMultiselect && checkSelected }\">\n @if (isMultiselect && checkSelected) {\n <ads-checkbox\n width=\"100%\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n />\n } @else {\n <span\n [innerHTML]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n</div>\n\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n}\n", styles: [":host{display:flex;gap:12px;align-items:flex-start}:host::ng-deep mat-form-field{--mdc-filled-text-field-input-text-color: var(--color-medium);--mdc-filled-text-field-error-label-text-color: var(--color-error);--mdc-filled-text-field-label-text-color: var(--color-medium);--mdc-filled-text-field-focus-label-text-color: var(--color-medium);--mdc-filled-text-field-hover-label-text-color: var(--color-medium);--mdc-filled-text-field-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mdc-filled-text-field-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mdc-filled-text-field-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mdc-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mdc-icon-button-state-layer-size: 22px}:host::ng-deep mat-form-field.readonly .mdc-text-field{background-color:var(--mdc-filled-text-field-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mdc-filled-text-field-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}\n", "mat-select{--mat-select-trigger-text-line-height: 24px;--mat-select-enabled-trigger-text-color: var(--color-medium);--mat-select-disabled-trigger-text-color: var(--color-medium);--mat-select-placeholder-text-color: var(--color-medium)}mat-option{--mat-option-selected-state-layer-color: var(--color-secondary);--mat-option-selected-state-label-text-color: var(--color-white);--mat-option-hover-state-layer-color: var(--color-secondary-hover);padding:0 12px}mat-option.checkbox{padding:0 12px 0 6px}mat-option:active{background-color:var(--color-secondary-pressed)!important}mat-form-field.pill ::ng-deep .mdc-text-field{border-radius:24px;padding-left:16px;background-color:var(--color-light-30)}mat-form-field.pill ::ng-deep .mdc-text-field:not(.mdc-text-field--invalid){border-color:transparent}mat-form-field ::ng-deep .mdc-text-field .mat-mdc-select-arrow-wrapper{display:none}mat-form-field.x-small mat-select{font-size:12px;line-height:16px}mat-option:hover:not(.mdc-list-item--disabled){color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled).mdc-list-item--selected{background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option.mdc-list-item--disabled{opacity:.5}mat-option ::ng-deep .mat-pseudo-checkbox{display:none}mat-option ::ng-deep .mdc-list-item__primary-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", "mat-form-field.chips ::ng-deep .mdc-text-field{height:auto;min-height:var(--mat-form-field-container-height)}mat-form-field.x-small ::ng-deep{--mat-form-field-container-height: 32px}mat-option:not(.mdc-list-item--disabled):hover ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):focus ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):active ::ng-deep .checkbox-label{color:var(--color-white)}.tag-container{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0}\n", ".footer-container{min-height:20px}\n"] }]
63
+ args: [{ selector: 'ads-multi-select-dropdown', template: "<div [ngStyle]=\"{ minWidth: width }\" class=\"ads-field-container\">\n <div [ngStyle]=\"{ width: width }\">\n <mat-form-field\n (click)=\"onOpened()\"\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': !showExclamation,\n pill: mode === 'pill',\n chips: showChips && isMultiselect,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((!showChips || valueControl.value.length === 0) && (label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <!--&nbsp; is required in placeholder for smoother animation -->\n <mat-select\n #panel\n [disableRipple]=\"true\"\n [id]=\"id\"\n [placeholder]=\"placeholder || '&nbsp;'\"\n [panelClass]=\"'ads-dropdown-panel' + (fitContent ? ' fit-content' : '')\"\n [disableOptionCentering]=\"true\"\n [required]=\"required\"\n [formControl]=\"valueControl\"\n [multiple]=\"isMultiselect\"\n >\n @if (showChips && isMultiselect) {\n <mat-select-trigger>\n <div class=\"tag-container\">\n @for (option of valueControl.value; track $index) {\n <ads-tag\n [tag]=\"chipName(option)\"\n [color]=\"Colors.Medium\"\n [id]=\"'' + $index\"\n (remove)=\"onOptionRemoved(option)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n </div>\n </mat-select-trigger>\n }\n\n @if (hasEmptyValue) {\n <mat-option [value]=\"undefined\"></mat-option>\n }\n\n @for (option of displayedOptionsArray; track $index) {\n <mat-option [value]=\"option\" [ngClass]=\"{ checkbox: isMultiselect && checkSelected }\">\n @if (isMultiselect && checkSelected) {\n <ads-checkbox\n width=\"100%\"\n (change)=\"onCheckboxChange(option)\"\n [label]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n />\n } @else {\n <span\n [innerHTML]=\"displayValueFormatter ? displayValueFormatter(option) : displayedOptions.get(option)\"\n ></span>\n }\n </mat-option>\n }\n </mat-select>\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" class=\"cross-icon\" />\n </button>\n }\n <button matTextSuffix type=\"button\" mat-icon-button class=\"action-icon\">\n <ads-icon\n matTextSuffix\n name=\"chevron_down\"\n [size]=\"smallSize ? 'xxs' : 'xs'\"\n [theme]=\"'iconPrimary'\"\n class=\"chevron-down\"\n />\n </button>\n </mat-form-field>\n\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n </div>\n\n @if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n }\n</div>\n", styles: [".ads-field-container{display:flex;gap:12px;align-items:flex-start}:host::ng-deep mat-form-field{--mdc-filled-text-field-input-text-color: var(--color-medium);--mdc-filled-text-field-error-label-text-color: var(--color-error);--mdc-filled-text-field-label-text-color: var(--color-medium);--mdc-filled-text-field-focus-label-text-color: var(--color-medium);--mdc-filled-text-field-hover-label-text-color: var(--color-medium);--mdc-filled-text-field-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mdc-filled-text-field-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mdc-filled-text-field-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mdc-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mdc-icon-button-state-layer-size: 22px}:host::ng-deep mat-form-field.readonly .mdc-text-field{background-color:var(--mdc-filled-text-field-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mdc-filled-text-field-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}\n", "mat-select{--mat-select-trigger-text-line-height: 24px;--mat-select-enabled-trigger-text-color: var(--color-medium);--mat-select-disabled-trigger-text-color: var(--color-medium);--mat-select-placeholder-text-color: var(--color-medium)}mat-option{--mat-option-selected-state-layer-color: var(--color-secondary);--mat-option-selected-state-label-text-color: var(--color-white);--mat-option-hover-state-layer-color: var(--color-secondary-hover);padding:0 12px}mat-option.checkbox{padding:0 12px 0 6px}mat-option:active{background-color:var(--color-secondary-pressed)!important}mat-form-field.pill ::ng-deep .mdc-text-field{border-radius:24px;padding-left:16px;background-color:var(--color-light-30)}mat-form-field.pill ::ng-deep .mdc-text-field:not(.mdc-text-field--invalid){border-color:transparent}mat-form-field ::ng-deep .mdc-text-field .mat-mdc-select-arrow-wrapper{display:none}mat-form-field.x-small mat-select{font-size:12px;line-height:16px}mat-option:hover:not(.mdc-list-item--disabled){color:var(--color-white);background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled).mdc-list-item--selected{background-color:var(--mat-option-hover-state-layer-color)}mat-option:hover:not(.mdc-list-item--disabled) ::ng-deep .mdc-list-item__primary-text{color:var(--color-white)!important}mat-option.mdc-list-item--disabled{opacity:.5}mat-option ::ng-deep .mat-pseudo-checkbox{display:none}mat-option ::ng-deep .mdc-list-item__primary-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n", "mat-form-field.chips ::ng-deep .mdc-text-field{height:auto;min-height:var(--mat-form-field-container-height)}mat-form-field.x-small ::ng-deep{--mat-form-field-container-height: 32px}mat-option:not(.mdc-list-item--disabled):hover ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):focus ::ng-deep .checkbox-label,mat-option:not(.mdc-list-item--disabled):active ::ng-deep .checkbox-label{color:var(--color-white)}.tag-container{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0}\n", ".footer-container{min-height:20px}\n"] }]
64
64
  }], propDecorators: { showChips: [{
65
65
  type: Input
66
66
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRzLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkcy9kcm9wZG93bnMvbXVsdGktc2VsZWN0LWRyb3Bkb3duL211bHRpLXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Fkcy11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZHMvZHJvcGRvd25zL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBY25ELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxvQkFBb0I7SUFWekU7O1FBV0UsY0FBYztRQUNQLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBSzdCLGNBQWM7UUFDRSxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUU5Qyw0REFBNEQ7UUFDbkQsY0FBUyxHQUFHLElBQUksQ0FBQztLQXFDM0I7SUFuQ0MsY0FBYztJQUNKLDJCQUEyQjtRQUNuQzs7V0FFRztRQUNILElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNoRSxDQUFDO0lBRUQsY0FBYztJQUNkOzs7T0FHRztJQUNPLGVBQWUsQ0FBQyxVQUF1QixJQUFJLENBQUMsWUFBWTtRQUNoRTs7V0FFRztRQUNILElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXJCLE9BQU87UUFDVCxDQUFDO1FBRUQ7O1dBRUc7UUFDSCxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBL0NVLCtCQUErQjtrR0FBL0IsK0JBQStCLDRIQ2Y1Qyx3NUdBa0dBOzsyRkRuRmEsK0JBQStCO2tCQVYzQyxTQUFTOytCQUNFLDJCQUEyQjs4QkFvQjVCLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBZHNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3Bkb3duJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnRPcHRpb24gfSBmcm9tICcuLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuZHJvcGRvd24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRzLW11bHRpLXNlbGVjdC1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi4vLi4vaW5wdXQvaW5wdXQuY29tcG9uZW50LnNjc3MnLFxuICAgICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuc2NzcycsXG4gICAgJy4vbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi4vLi4vY29tbW9uL2NvbW1vbi5pbnB1dC5jb21wb25lbnQuc2NzcycsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFkc011bHRpU2VsZWN0RHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBBZHNEcm9wZG93bkNvbXBvbmVudCB7XG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBoYXNFbXB0eVZhbHVlID0gZmFsc2U7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIGRlY2xhcmUgZGlzcGxheVZhbHVlRm9ybWF0dGVyPzogKChvcHRpb246IERyb3Bkb3duQ29tcG9uZW50T3B0aW9uKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyByZWFkb25seSBpc011bHRpc2VsZWN0OiBib29sZWFuID0gdHJ1ZTtcblxuICAvKiogaWYgc2V0IHRvIHRydWUgc2VsZWN0ZWQgdmFsdWVzIHdpbGwgYmUgc2hvd24gYXMgY2hpcHMgKi9cbiAgQElucHV0KCkgc2hvd0NoaXBzID0gdHJ1ZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgc2V0Q29udHJvbFZhbHVlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIFdlIGFsd2F5cyBzdWJzY3JpYmUgdG8gZm9ybSBjb250cm9sIHZhbHVlIHRvIG1ha2Ugc3VyZSBpdCBpcyBhbiBhcnJheVxuICAgICAqL1xuICAgIHRoaXMuc3Vic2NyaWJlVG9Db250cm9sKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBnZXQgY2FuQ2xlYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0NsZWFyQnV0dG9uICYmIHRoaXMudmFsdWVDb250cm9sLnZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIC8qKlxuICAgKiBOT1RFOiB0aGlzIG1ldGhvZCBpcyBuZWVkZWQgYmVjYXVzZSBpZiBjb250cm9sIHZhbHVlIGlzIGFuIG9iamVjdCwgaXQgTVVTVCByZWZlcmVuY2UgdGhlIHNhbWVcbiAgICogb2JqZWN0IGFzIGNvcnJlc3BvbmRpbmcgZHJvcGRvd24gb3B0aW9uLCB0aHVzIGhlcmUgd2UgcmVwbGFjZSBkcm9wZG93biBvcHRpb24gd2l0aCBjb250cm9sIHZhbHVlIGlmIG5lZWRlZFxuICAgKi9cbiAgcHJvdGVjdGVkIG1hcENvbnRyb2xWYWx1ZShjb250cm9sOiBGb3JtQ29udHJvbCA9IHRoaXMudmFsdWVDb250cm9sKTogdm9pZCB7XG4gICAgLyoqXG4gICAgICogbWFrZSBzdXJlIGNvbnRyb2wgdmFsdWUgaXMgYXJyYXlcbiAgICAgKi9cbiAgICBpZiAoIShjb250cm9sLnZhbHVlIGluc3RhbmNlb2YgQXJyYXkpKSB7XG4gICAgICBjb250cm9sLnNldFZhbHVlKFtdKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvb3AgdGhyb3VnaCBjb250cm9sIHZhbHVlcyBhbmQgbWFrZSBzdXJlIHRoZXkgZXhpc3QgaW4gb3B0aW9uc1xuICAgICAqL1xuICAgIGNvbnRyb2wudmFsdWUuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMucmVwbGFjZURpc3BsYXllZE9wdGlvbldpdGhDb250cm9sVmFsdWUodmFsdWUpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IFtuZ1N0eWxlXT1cInsgbWluV2lkdGg6IHdpZHRoIH1cIj5cbiAgPG1hdC1mb3JtLWZpZWxkXG4gICAgKGNsaWNrKT1cIm9uT3BlbmVkKClcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdpbW1lZGlhdGUtdmFsaWRhdGlvbic6IGltbWVkaWF0ZVZhbGlkYXRpb24sXG4gICAgICAnbm8tbGVmdC1wYWRkaW5nJzogIXNob3dFeGNsYW1hdGlvbixcbiAgICAgIHBpbGw6IG1vZGUgPT09ICdwaWxsJyxcbiAgICAgIGNoaXBzOiBzaG93Q2hpcHMgJiYgaXNNdWx0aXNlbGVjdCxcbiAgICAgICdzdWNjZXNzLWxhYmVsJzogY2FuU2hvd1N1Y2Nlc3MoKSxcbiAgICAgICdlcnJvci1sYWJlbCc6IGNhblNob3dFcnJvcigpLFxuICAgICAgJ3gtc21hbGwnOiBzbWFsbFNpemUsXG4gICAgfVwiXG4gICAgW25nU3R5bGVdPVwieyB3aWR0aDogd2lkdGggfVwiXG4gID5cbiAgICBAaWYgKCghc2hvd0NoaXBzIHx8IHZhbHVlQ29udHJvbC52YWx1ZS5sZW5ndGggPT09IDApICYmIChsYWJlbCB8fCByZXF1aXJlZCkgJiYgIXNtYWxsU2l6ZSkge1xuICAgICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgIH1cbiAgICA8IS0tJm5ic3A7IGlzIHJlcXVpcmVkIGluIHBsYWNlaG9sZGVyIGZvciBzbW9vdGhlciBhbmltYXRpb24gLS0+XG4gICAgPG1hdC1zZWxlY3RcbiAgICAgICNwYW5lbFxuICAgICAgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXG4gICAgICBbaWRdPVwiaWRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8ICcmbmJzcDsnXCJcbiAgICAgIFtwYW5lbENsYXNzXT1cIidhZHMtZHJvcGRvd24tcGFuZWwnICsgKGZpdENvbnRlbnQgPyAnIGZpdC1jb250ZW50JyA6ICcnKVwiXG4gICAgICBbZGlzYWJsZU9wdGlvbkNlbnRlcmluZ109XCJ0cnVlXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwidmFsdWVDb250cm9sXCJcbiAgICAgIFttdWx0aXBsZV09XCJpc011bHRpc2VsZWN0XCJcbiAgICA+XG4gICAgICBAaWYgKHNob3dDaGlwcyAmJiBpc011bHRpc2VsZWN0KSB7XG4gICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhZy1jb250YWluZXJcIj5cbiAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiB2YWx1ZUNvbnRyb2wudmFsdWU7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICA8YWRzLXRhZ1xuICAgICAgICAgICAgICAgIFt0YWddPVwiY2hpcE5hbWUob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cIkNvbG9ycy5NZWRpdW1cIlxuICAgICAgICAgICAgICAgIFtpZF09XCInJyArICRpbmRleFwiXG4gICAgICAgICAgICAgICAgKHJlbW92ZSk9XCJvbk9wdGlvblJlbW92ZWQob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgfVxuXG4gICAgICBAaWYgKGhhc0VtcHR5VmFsdWUpIHtcbiAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInVuZGVmaW5lZFwiPjwvbWF0LW9wdGlvbj5cbiAgICAgIH1cblxuICAgICAgQGZvciAob3B0aW9uIG9mIGRpc3BsYXllZE9wdGlvbnNBcnJheTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcHRpb25cIiBbbmdDbGFzc109XCJ7IGNoZWNrYm94OiBpc011bHRpc2VsZWN0ICYmIGNoZWNrU2VsZWN0ZWQgfVwiPlxuICAgICAgICAgIEBpZiAoaXNNdWx0aXNlbGVjdCAmJiBjaGVja1NlbGVjdGVkKSB7XG4gICAgICAgICAgICA8YWRzLWNoZWNrYm94XG4gICAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGVja2JveENoYW5nZShvcHRpb24pXCJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cImRpc3BsYXlWYWx1ZUZvcm1hdHRlciA/IGRpc3BsYXlWYWx1ZUZvcm1hdHRlcihvcHRpb24pIDogZGlzcGxheWVkT3B0aW9ucy5nZXQob3B0aW9uKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJkaXNwbGF5VmFsdWVGb3JtYXR0ZXIgPyBkaXNwbGF5VmFsdWVGb3JtYXR0ZXIob3B0aW9uKSA6IGRpc3BsYXllZE9wdGlvbnMuZ2V0KG9wdGlvbilcIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICBAaWYgKGNhbkNsZWFyKSB7XG4gICAgICA8YnV0dG9uIG1hdFRleHRTdWZmaXggdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xlYXIoJGV2ZW50KVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj5cbiAgICAgICAgPGFkcy1pY29uIG5hbWU9XCJjcm9zc1wiIFtzaXplXT1cInNtYWxsU2l6ZSA/ICd4eHMnIDogJ3hzJ1wiIFt0aGVtZV09XCInaWNvblByaW1hcnknXCIgY2xhc3M9XCJjcm9zcy1pY29uXCIgLz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgICA8YnV0dG9uIG1hdFRleHRTdWZmaXggdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cImFjdGlvbi1pY29uXCI+XG4gICAgICA8YWRzLWljb25cbiAgICAgICAgbWF0VGV4dFN1ZmZpeFxuICAgICAgICBuYW1lPVwiY2hldnJvbl9kb3duXCJcbiAgICAgICAgW3NpemVdPVwic21hbGxTaXplID8gJ3h4cycgOiAneHMnXCJcbiAgICAgICAgW3RoZW1lXT1cIidpY29uUHJpbWFyeSdcIlxuICAgICAgICBjbGFzcz1cImNoZXZyb24tZG93blwiXG4gICAgICAvPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIEBpZiAoc2hvd0Zvb3Rlcikge1xuICAgIDxkaXYgY2xhc3M9XCJmb290ZXItY29udGFpbmVyXCI+XG4gICAgICBAaWYgKGNhblNob3dFcnJvcigpKSB7XG4gICAgICAgIDxhZHMtZXJyb3IgW2Vycm9yXT1cImRpc3BsYXlGaXJzdEVycm9yKClcIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCIgLz5cbiAgICAgIH0gQGVsc2UgaWYgKGNhblNob3dTdWNjZXNzKCkpIHtcbiAgICAgICAgPGFkcy1zdWNjZXNzIFtzdWNjZXNzXT1cInN1Y2Nlc3NNZXNzYWdlIVwiIFtuZ1N0eWxlXT1cInsgd2lkdGg6IHdpZHRoIH1cIiAvPlxuICAgICAgfSBAZWxzZSBpZiAoaGludCkge1xuICAgICAgICA8YWRzLWhpbnQgW2hpbnRdPVwiaGludFwiIFtjb250cm9sXT1cInZhbHVlQ29udHJvbFwiIFtuZ1N0eWxlXT1cInsgd2lkdGg6IHdpZHRoIH1cIiAvPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cblxuQGlmICh0b29sdGlwKSB7XG4gIDxhZHMtaW5wdXQtdG9vbHRpcCBbdG9vbHRpcF09XCJ0b29sdGlwXCIgW3NtYWxsU2l6ZV09XCJzbWFsbFNpemVcIiAvPlxufVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRzLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkcy9kcm9wZG93bnMvbXVsdGktc2VsZWN0LWRyb3Bkb3duL211bHRpLXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Fkcy11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZHMvZHJvcGRvd25zL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBY25ELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxvQkFBb0I7SUFWekU7O1FBV0UsY0FBYztRQUNQLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBSzdCLGNBQWM7UUFDRSxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUU5Qyw0REFBNEQ7UUFDbkQsY0FBUyxHQUFHLElBQUksQ0FBQztLQXFDM0I7SUFuQ0MsY0FBYztJQUNKLDJCQUEyQjtRQUNuQzs7V0FFRztRQUNILElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNoRSxDQUFDO0lBRUQsY0FBYztJQUNkOzs7T0FHRztJQUNPLGVBQWUsQ0FBQyxVQUF1QixJQUFJLENBQUMsWUFBWTtRQUNoRTs7V0FFRztRQUNILElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXJCLE9BQU87UUFDVCxDQUFDO1FBRUQ7O1dBRUc7UUFDSCxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBL0NVLCtCQUErQjtrR0FBL0IsK0JBQStCLDRIQ2Y1Qyw4cEhBb0dBOzsyRkRyRmEsK0JBQStCO2tCQVYzQyxTQUFTOytCQUNFLDJCQUEyQjs4QkFvQjVCLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBZHNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3Bkb3duJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnRPcHRpb24gfSBmcm9tICcuLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuZHJvcGRvd24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWRzLW11bHRpLXNlbGVjdC1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi4vLi4vaW5wdXQvaW5wdXQuY29tcG9uZW50LnNjc3MnLFxuICAgICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuc2NzcycsXG4gICAgJy4vbXVsdGktc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi4vLi4vY29tbW9uL2NvbW1vbi5pbnB1dC5jb21wb25lbnQuc2NzcycsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFkc011bHRpU2VsZWN0RHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBBZHNEcm9wZG93bkNvbXBvbmVudCB7XG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBoYXNFbXB0eVZhbHVlID0gZmFsc2U7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIGRlY2xhcmUgZGlzcGxheVZhbHVlRm9ybWF0dGVyPzogKChvcHRpb246IERyb3Bkb3duQ29tcG9uZW50T3B0aW9uKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyByZWFkb25seSBpc011bHRpc2VsZWN0OiBib29sZWFuID0gdHJ1ZTtcblxuICAvKiogaWYgc2V0IHRvIHRydWUgc2VsZWN0ZWQgdmFsdWVzIHdpbGwgYmUgc2hvd24gYXMgY2hpcHMgKi9cbiAgQElucHV0KCkgc2hvd0NoaXBzID0gdHJ1ZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgc2V0Q29udHJvbFZhbHVlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIFdlIGFsd2F5cyBzdWJzY3JpYmUgdG8gZm9ybSBjb250cm9sIHZhbHVlIHRvIG1ha2Ugc3VyZSBpdCBpcyBhbiBhcnJheVxuICAgICAqL1xuICAgIHRoaXMuc3Vic2NyaWJlVG9Db250cm9sKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBnZXQgY2FuQ2xlYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0NsZWFyQnV0dG9uICYmIHRoaXMudmFsdWVDb250cm9sLnZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIC8qKlxuICAgKiBOT1RFOiB0aGlzIG1ldGhvZCBpcyBuZWVkZWQgYmVjYXVzZSBpZiBjb250cm9sIHZhbHVlIGlzIGFuIG9iamVjdCwgaXQgTVVTVCByZWZlcmVuY2UgdGhlIHNhbWVcbiAgICogb2JqZWN0IGFzIGNvcnJlc3BvbmRpbmcgZHJvcGRvd24gb3B0aW9uLCB0aHVzIGhlcmUgd2UgcmVwbGFjZSBkcm9wZG93biBvcHRpb24gd2l0aCBjb250cm9sIHZhbHVlIGlmIG5lZWRlZFxuICAgKi9cbiAgcHJvdGVjdGVkIG1hcENvbnRyb2xWYWx1ZShjb250cm9sOiBGb3JtQ29udHJvbCA9IHRoaXMudmFsdWVDb250cm9sKTogdm9pZCB7XG4gICAgLyoqXG4gICAgICogbWFrZSBzdXJlIGNvbnRyb2wgdmFsdWUgaXMgYXJyYXlcbiAgICAgKi9cbiAgICBpZiAoIShjb250cm9sLnZhbHVlIGluc3RhbmNlb2YgQXJyYXkpKSB7XG4gICAgICBjb250cm9sLnNldFZhbHVlKFtdKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvb3AgdGhyb3VnaCBjb250cm9sIHZhbHVlcyBhbmQgbWFrZSBzdXJlIHRoZXkgZXhpc3QgaW4gb3B0aW9uc1xuICAgICAqL1xuICAgIGNvbnRyb2wudmFsdWUuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMucmVwbGFjZURpc3BsYXllZE9wdGlvbldpdGhDb250cm9sVmFsdWUodmFsdWUpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IFtuZ1N0eWxlXT1cInsgbWluV2lkdGg6IHdpZHRoIH1cIiBjbGFzcz1cImFkcy1maWVsZC1jb250YWluZXJcIj5cbiAgPGRpdiBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICAoY2xpY2spPVwib25PcGVuZWQoKVwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdpbW1lZGlhdGUtdmFsaWRhdGlvbic6IGltbWVkaWF0ZVZhbGlkYXRpb24sXG4gICAgICAgICduby1sZWZ0LXBhZGRpbmcnOiAhc2hvd0V4Y2xhbWF0aW9uLFxuICAgICAgICBwaWxsOiBtb2RlID09PSAncGlsbCcsXG4gICAgICAgIGNoaXBzOiBzaG93Q2hpcHMgJiYgaXNNdWx0aXNlbGVjdCxcbiAgICAgICAgJ3N1Y2Nlc3MtbGFiZWwnOiBjYW5TaG93U3VjY2VzcygpLFxuICAgICAgICAnZXJyb3ItbGFiZWwnOiBjYW5TaG93RXJyb3IoKSxcbiAgICAgICAgJ3gtc21hbGwnOiBzbWFsbFNpemUsXG4gICAgICB9XCJcbiAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6IHdpZHRoIH1cIlxuICAgID5cbiAgICAgIEBpZiAoKCFzaG93Q2hpcHMgfHwgdmFsdWVDb250cm9sLnZhbHVlLmxlbmd0aCA9PT0gMCkgJiYgKGxhYmVsIHx8IHJlcXVpcmVkKSAmJiAhc21hbGxTaXplKSB7XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgbGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICAgIH1cbiAgICAgIDwhLS0mbmJzcDsgaXMgcmVxdWlyZWQgaW4gcGxhY2Vob2xkZXIgZm9yIHNtb290aGVyIGFuaW1hdGlvbiAtLT5cbiAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICNwYW5lbFxuICAgICAgICBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCJcbiAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8ICcmbmJzcDsnXCJcbiAgICAgICAgW3BhbmVsQ2xhc3NdPVwiJ2Fkcy1kcm9wZG93bi1wYW5lbCcgKyAoZml0Q29udGVudCA/ICcgZml0LWNvbnRlbnQnIDogJycpXCJcbiAgICAgICAgW2Rpc2FibGVPcHRpb25DZW50ZXJpbmddPVwidHJ1ZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJ2YWx1ZUNvbnRyb2xcIlxuICAgICAgICBbbXVsdGlwbGVdPVwiaXNNdWx0aXNlbGVjdFwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoc2hvd0NoaXBzICYmIGlzTXVsdGlzZWxlY3QpIHtcbiAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZy1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIHZhbHVlQ29udHJvbC52YWx1ZTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGFkcy10YWdcbiAgICAgICAgICAgICAgICAgIFt0YWddPVwiY2hpcE5hbWUob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgICBbY29sb3JdPVwiQ29sb3JzLk1lZGl1bVwiXG4gICAgICAgICAgICAgICAgICBbaWRdPVwiJycgKyAkaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgKHJlbW92ZSk9XCJvbk9wdGlvblJlbW92ZWQob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoaGFzRW1wdHlWYWx1ZSkge1xuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ1bmRlZmluZWRcIj48L21hdC1vcHRpb24+XG4gICAgICAgIH1cblxuICAgICAgICBAZm9yIChvcHRpb24gb2YgZGlzcGxheWVkT3B0aW9uc0FycmF5OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uXCIgW25nQ2xhc3NdPVwieyBjaGVja2JveDogaXNNdWx0aXNlbGVjdCAmJiBjaGVja1NlbGVjdGVkIH1cIj5cbiAgICAgICAgICAgIEBpZiAoaXNNdWx0aXNlbGVjdCAmJiBjaGVja1NlbGVjdGVkKSB7XG4gICAgICAgICAgICAgIDxhZHMtY2hlY2tib3hcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGVja2JveENoYW5nZShvcHRpb24pXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZGlzcGxheVZhbHVlRm9ybWF0dGVyID8gZGlzcGxheVZhbHVlRm9ybWF0dGVyKG9wdGlvbikgOiBkaXNwbGF5ZWRPcHRpb25zLmdldChvcHRpb24pXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZGlzcGxheVZhbHVlRm9ybWF0dGVyID8gZGlzcGxheVZhbHVlRm9ybWF0dGVyKG9wdGlvbikgOiBkaXNwbGF5ZWRPcHRpb25zLmdldChvcHRpb24pXCJcbiAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LXNlbGVjdD5cblxuICAgICAgQGlmIChjYW5DbGVhcikge1xuICAgICAgICA8YnV0dG9uIG1hdFRleHRTdWZmaXggdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xlYXIoJGV2ZW50KVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj5cbiAgICAgICAgICA8YWRzLWljb24gbmFtZT1cImNyb3NzXCIgW3NpemVdPVwic21hbGxTaXplID8gJ3h4cycgOiAneHMnXCIgW3RoZW1lXT1cIidpY29uUHJpbWFyeSdcIiBjbGFzcz1cImNyb3NzLWljb25cIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICAgIDxidXR0b24gbWF0VGV4dFN1ZmZpeCB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiYWN0aW9uLWljb25cIj5cbiAgICAgICAgPGFkcy1pY29uXG4gICAgICAgICAgbWF0VGV4dFN1ZmZpeFxuICAgICAgICAgIG5hbWU9XCJjaGV2cm9uX2Rvd25cIlxuICAgICAgICAgIFtzaXplXT1cInNtYWxsU2l6ZSA/ICd4eHMnIDogJ3hzJ1wiXG4gICAgICAgICAgW3RoZW1lXT1cIidpY29uUHJpbWFyeSdcIlxuICAgICAgICAgIGNsYXNzPVwiY2hldnJvbi1kb3duXCJcbiAgICAgICAgLz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICBAaWYgKHNob3dGb290ZXIpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXItY29udGFpbmVyXCI+XG4gICAgICAgIEBpZiAoY2FuU2hvd0Vycm9yKCkpIHtcbiAgICAgICAgICA8YWRzLWVycm9yIFtlcnJvcl09XCJkaXNwbGF5Rmlyc3RFcnJvcigpXCIgW25nU3R5bGVdPVwieyB3aWR0aDogd2lkdGggfVwiIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKGNhblNob3dTdWNjZXNzKCkpIHtcbiAgICAgICAgICA8YWRzLXN1Y2Nlc3MgW3N1Y2Nlc3NdPVwic3VjY2Vzc01lc3NhZ2UhXCIgW25nU3R5bGVdPVwieyB3aWR0aDogd2lkdGggfVwiIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKGhpbnQpIHtcbiAgICAgICAgICA8YWRzLWhpbnQgW2hpbnRdPVwiaGludFwiIFtjb250cm9sXT1cInZhbHVlQ29udHJvbFwiIFtuZ1N0eWxlXT1cInsgd2lkdGg6IHdpZHRoIH1cIiAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuXG4gIEBpZiAodG9vbHRpcCkge1xuICAgIDxhZHMtaW5wdXQtdG9vbHRpcCBbdG9vbHRpcF09XCJ0b29sdGlwXCIgW3NtYWxsU2l6ZV09XCJzbWFsbFNpemVcIiAvPlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -48,11 +48,11 @@ export class AdsInputComponent extends AbstractInputComponent {
48
48
  this.hidePassword = !this.hidePassword;
49
49
  }
50
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AdsInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: AdsInputComponent, selector: "ads-input", inputs: { maxlength: "maxlength", type: "type", pattern: "pattern", defaultValue: "defaultValue", readonly: "readonly", isPasswordField: "isPasswordField" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [ngStyle]=\"{ minWidth: width }\">\n <mat-form-field\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': canClear,\n readonly: readonly,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <input\n #input\n matInput\n [maxlength]=\"maxlength\"\n [readonly]=\"readonly\"\n [pattern]=\"pattern\"\n [id]=\"id\"\n [type]=\"isPasswordField ? (hidePassword ? 'password' : 'text') : type\"\n [formControl]=\"valueControl\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n />\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon class=\"cross-icon\" name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" />\n </button>\n }\n\n @if (isPasswordField && !readonly) {\n <button type=\"button\" mat-icon-button matTextSuffix (click)=\"showHidePassword()\" class=\"action-icon\">\n <ads-icon\n class=\"visibility-eye\"\n [name]=\"hidePassword ? 'visibility_eye_none' : 'visibility_eye'\"\n [size]=\"smallSize ? 'xxs' : 'sm'\"\n stroke=\"iconPrimary\"\n color=\"--color-medium\"\n />\n </button>\n }\n </mat-form-field>\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n</div>\n\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n}\n", styles: [":host{display:flex;gap:12px;align-items:flex-start}:host::ng-deep mat-form-field{--mdc-filled-text-field-input-text-color: var(--color-medium);--mdc-filled-text-field-error-label-text-color: var(--color-error);--mdc-filled-text-field-label-text-color: var(--color-medium);--mdc-filled-text-field-focus-label-text-color: var(--color-medium);--mdc-filled-text-field-hover-label-text-color: var(--color-medium);--mdc-filled-text-field-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mdc-filled-text-field-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mdc-filled-text-field-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mdc-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mdc-icon-button-state-layer-size: 22px}:host::ng-deep mat-form-field.readonly .mdc-text-field{background-color:var(--mdc-filled-text-field-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mdc-filled-text-field-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}\n", ".footer-container{min-height:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.AdsIconComponent, selector: "ads-icon", inputs: ["size", "name", "color", "theme", "stroke"] }, { kind: "component", type: i6.AdsInputTooltipComponent, selector: "ads-input-tooltip", inputs: ["tooltip", "smallSize"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.AdsSuccessComponent, selector: "ads-success", inputs: ["success"] }, { kind: "component", type: i9.AdsErrorComponent, selector: "ads-error", inputs: ["error"] }, { kind: "component", type: i10.AdsHintComponent, selector: "ads-hint", inputs: ["control", "hint"] }] }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: AdsInputComponent, selector: "ads-input", inputs: { maxlength: "maxlength", type: "type", pattern: "pattern", defaultValue: "defaultValue", readonly: "readonly", isPasswordField: "isPasswordField" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [ngStyle]=\"{ minWidth: width }\" class=\"ads-field-container\">\n <div [ngStyle]=\"{ width: width }\">\n <mat-form-field\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': canClear,\n readonly: readonly,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <input\n #input\n matInput\n [maxlength]=\"maxlength\"\n [readonly]=\"readonly\"\n [pattern]=\"pattern\"\n [id]=\"id\"\n [type]=\"isPasswordField ? (hidePassword ? 'password' : 'text') : type\"\n [formControl]=\"valueControl\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n />\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon class=\"cross-icon\" name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" />\n </button>\n }\n\n @if (isPasswordField && !readonly) {\n <button type=\"button\" mat-icon-button matTextSuffix (click)=\"showHidePassword()\" class=\"action-icon\">\n <ads-icon\n class=\"visibility-eye\"\n [name]=\"hidePassword ? 'visibility_eye_none' : 'visibility_eye'\"\n [size]=\"smallSize ? 'xxs' : 'sm'\"\n stroke=\"iconPrimary\"\n color=\"--color-medium\"\n />\n </button>\n }\n </mat-form-field>\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n </div>\n\n @if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n }\n</div>\n", styles: [".ads-field-container{display:flex;gap:12px;align-items:flex-start}:host::ng-deep mat-form-field{--mdc-filled-text-field-input-text-color: var(--color-medium);--mdc-filled-text-field-error-label-text-color: var(--color-error);--mdc-filled-text-field-label-text-color: var(--color-medium);--mdc-filled-text-field-focus-label-text-color: var(--color-medium);--mdc-filled-text-field-hover-label-text-color: var(--color-medium);--mdc-filled-text-field-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mdc-filled-text-field-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mdc-filled-text-field-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mdc-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mdc-icon-button-state-layer-size: 22px}:host::ng-deep mat-form-field.readonly .mdc-text-field{background-color:var(--mdc-filled-text-field-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mdc-filled-text-field-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}\n", ".footer-container{min-height:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.AdsIconComponent, selector: "ads-icon", inputs: ["size", "name", "color", "theme", "stroke"] }, { kind: "component", type: i6.AdsInputTooltipComponent, selector: "ads-input-tooltip", inputs: ["tooltip", "smallSize"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.AdsSuccessComponent, selector: "ads-success", inputs: ["success"] }, { kind: "component", type: i9.AdsErrorComponent, selector: "ads-error", inputs: ["error"] }, { kind: "component", type: i10.AdsHintComponent, selector: "ads-hint", inputs: ["control", "hint"] }] }); }
52
52
  }
53
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AdsInputComponent, decorators: [{
54
54
  type: Component,
55
- args: [{ selector: 'ads-input', template: "<div [ngStyle]=\"{ minWidth: width }\">\n <mat-form-field\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': canClear,\n readonly: readonly,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <input\n #input\n matInput\n [maxlength]=\"maxlength\"\n [readonly]=\"readonly\"\n [pattern]=\"pattern\"\n [id]=\"id\"\n [type]=\"isPasswordField ? (hidePassword ? 'password' : 'text') : type\"\n [formControl]=\"valueControl\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n />\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon class=\"cross-icon\" name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" />\n </button>\n }\n\n @if (isPasswordField && !readonly) {\n <button type=\"button\" mat-icon-button matTextSuffix (click)=\"showHidePassword()\" class=\"action-icon\">\n <ads-icon\n class=\"visibility-eye\"\n [name]=\"hidePassword ? 'visibility_eye_none' : 'visibility_eye'\"\n [size]=\"smallSize ? 'xxs' : 'sm'\"\n stroke=\"iconPrimary\"\n color=\"--color-medium\"\n />\n </button>\n }\n </mat-form-field>\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n</div>\n\n@if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n}\n", styles: [":host{display:flex;gap:12px;align-items:flex-start}:host::ng-deep mat-form-field{--mdc-filled-text-field-input-text-color: var(--color-medium);--mdc-filled-text-field-error-label-text-color: var(--color-error);--mdc-filled-text-field-label-text-color: var(--color-medium);--mdc-filled-text-field-focus-label-text-color: var(--color-medium);--mdc-filled-text-field-hover-label-text-color: var(--color-medium);--mdc-filled-text-field-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mdc-filled-text-field-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mdc-filled-text-field-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mdc-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mdc-icon-button-state-layer-size: 22px}:host::ng-deep mat-form-field.readonly .mdc-text-field{background-color:var(--mdc-filled-text-field-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mdc-filled-text-field-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}\n", ".footer-container{min-height:20px}\n"] }]
55
+ args: [{ selector: 'ads-input', template: "<div [ngStyle]=\"{ minWidth: width }\" class=\"ads-field-container\">\n <div [ngStyle]=\"{ width: width }\">\n <mat-form-field\n [ngClass]=\"{\n 'immediate-validation': immediateValidation,\n 'no-left-padding': canClear,\n readonly: readonly,\n 'success-label': canShowSuccess(),\n 'error-label': canShowError(),\n 'x-small': smallSize,\n }\"\n [ngStyle]=\"{ width: width }\"\n >\n @if ((label || required) && !smallSize) {\n <mat-label>{{ label }}</mat-label>\n }\n <input\n #input\n matInput\n [maxlength]=\"maxlength\"\n [readonly]=\"readonly\"\n [pattern]=\"pattern\"\n [id]=\"id\"\n [type]=\"isPasswordField ? (hidePassword ? 'password' : 'text') : type\"\n [formControl]=\"valueControl\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n />\n\n @if (canClear) {\n <button matTextSuffix type=\"button\" mat-icon-button (click)=\"clear($event)\" class=\"action-icon\">\n <ads-icon class=\"cross-icon\" name=\"cross\" [size]=\"smallSize ? 'xxs' : 'xs'\" [theme]=\"'iconPrimary'\" />\n </button>\n }\n\n @if (isPasswordField && !readonly) {\n <button type=\"button\" mat-icon-button matTextSuffix (click)=\"showHidePassword()\" class=\"action-icon\">\n <ads-icon\n class=\"visibility-eye\"\n [name]=\"hidePassword ? 'visibility_eye_none' : 'visibility_eye'\"\n [size]=\"smallSize ? 'xxs' : 'sm'\"\n stroke=\"iconPrimary\"\n color=\"--color-medium\"\n />\n </button>\n }\n </mat-form-field>\n @if (showFooter) {\n <div class=\"footer-container\">\n @if (canShowError()) {\n <ads-error [error]=\"displayFirstError()\" [ngStyle]=\"{ width: width }\" />\n } @else if (canShowSuccess()) {\n <ads-success [success]=\"successMessage!\" [ngStyle]=\"{ width: width }\" />\n } @else if (hint) {\n <ads-hint [hint]=\"hint\" [control]=\"valueControl\" [ngStyle]=\"{ width: width }\" />\n }\n </div>\n }\n </div>\n\n @if (tooltip) {\n <ads-input-tooltip [tooltip]=\"tooltip\" [smallSize]=\"smallSize\" />\n }\n</div>\n", styles: [".ads-field-container{display:flex;gap:12px;align-items:flex-start}:host::ng-deep mat-form-field{--mdc-filled-text-field-input-text-color: var(--color-medium);--mdc-filled-text-field-error-label-text-color: var(--color-error);--mdc-filled-text-field-label-text-color: var(--color-medium);--mdc-filled-text-field-focus-label-text-color: var(--color-medium);--mdc-filled-text-field-hover-label-text-color: var(--color-medium);--mdc-filled-text-field-label-text-size: 16px}:host::ng-deep mat-form-field .mdc-floating-label--float-above{--mdc-filled-text-field-label-text-size: 12px}:host::ng-deep mat-form-field .mdc-text-field{box-sizing:border-box;border-radius:5px;outline:1px solid var(--color-light);outline-offset:-1px;align-items:center;padding:0 12px;cursor:text;height:48px}:host::ng-deep mat-form-field .mdc-text-field .cross-icon{stroke:var(--color-medium)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex{height:100%}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--no-label .mat-mdc-form-field-flex .mat-mdc-form-field-infix{align-items:center}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input{height:24px}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-outer-spin-button,:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host::ng-deep mat-form-field .mdc-text-field:not(.mdc-text-field--no-label) .mat-mdc-form-field-infix input[type=number]{-moz-appearance:textfield}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .cross-icon,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .visibility-eye,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .picker{stroke:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .chevron-down,:host::ng-deep mat-form-field .mdc-text-field.mdc-text-field--invalid .search-icon{color:var(--color-error)!important}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex{align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{display:flex;align-items:flex-end;width:120px}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label{width:100%}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix label .mat-mdc-form-field-required-marker{color:var(--mdc-filled-text-field-error-label-text-color)}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix{display:flex;align-items:center}:host::ng-deep mat-form-field .mdc-text-field .mat-mdc-form-field-text-suffix .mat-mdc-icon-button{display:flex;align-items:center;justify-content:center}:host::ng-deep mat-form-field .action-icon{padding:0;--mdc-icon-button-state-layer-size: 35px}:host::ng-deep mat-form-field .action-icon .mat-mdc-button-touch-target{height:unset;width:unset}:host::ng-deep mat-form-field.x-small .mdc-text-field{height:24px;padding:0 8px}:host::ng-deep mat-form-field.x-small .mdc-text-field .mat-mdc-form-field-input-control{font-size:12px;line-height:16px}:host::ng-deep mat-form-field.x-small .action-icon{--mdc-icon-button-state-layer-size: 22px}:host::ng-deep mat-form-field.readonly .mdc-text-field{background-color:var(--mdc-filled-text-field-disabled-container-color);border:none}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover{background-color:var(--color-light-30);outline:2px solid var(--color-secondary-hover);outline-offset:-2px}:host::ng-deep mat-form-field:not(.readonly) .mdc-text-field:hover .visibility-eye{fill:var(--color-light-30)!important}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px;background-color:var(--color-muted)}:host::ng-deep mat-form-field:not(.readonly).mat-focused .mdc-text-field .visibility-eye{fill:var(--color-muted)!important}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field{outline:2px solid var(--color-medium);outline-offset:-2px}:host::ng-deep mat-form-field.immediate-validation .mdc-text-field.mdc-text-field--invalid{outline:2px solid var(--color-error);outline-offset:-2px}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper{color:var(--mdc-filled-text-field-label-text-color)}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper:before{content:none}:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host::ng-deep mat-form-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{position:relative;padding:0}:host::ng-deep mat-form-field .mdc-line-ripple{display:none}:host::ng-deep mat-form-field.success-label .mat-mdc-form-field-required-marker,:host::ng-deep mat-form-field.success-label mat-label{color:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .mdc-text-field{outline:2px solid var(--color-success);outline-offset:-2px}:host::ng-deep mat-form-field.success-label .cross-icon,:host::ng-deep mat-form-field.success-label .visibility-eye,:host::ng-deep mat-form-field.success-label .picker{stroke:var(--color-success)!important}:host::ng-deep mat-form-field.success-label .chevron-down,:host::ng-deep mat-form-field.success-label .search-icon{color:var(--color-success)!important}:host::ng-deep mat-form-field.error-label mat-label{color:var(--color-error)}:host::ng-deep mat-hint{display:inline-block}:host::ng-deep .mat-mdc-form-field-hint-spacer{display:none}.info-tooltip{position:relative;top:12px}mat-error{display:flex;padding-top:2px}mat-error .error{display:flex;align-items:flex-start;gap:2px}mat-error .error ads-icon{position:relative;top:2px}\n", ".footer-container{min-height:20px}\n"] }]
56
56
  }], propDecorators: { maxlength: [{
57
57
  type: Input
58
58
  }], type: [{
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
69
69
  type: ViewChild,
70
70
  args: ['input']
71
71
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZHMtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGRzL2lucHV0L2lucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRzLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkcy9pbnB1dC9pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFRL0UsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHNCQUFzQjtJQUw3RDs7UUFNRSxzREFBc0Q7UUFDN0MsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUV6Qix1RkFBdUY7UUFDOUUsU0FBSSxHQUF5RSxNQUFNLENBQUM7UUFFN0YsMkVBQTJFO1FBQ2xFLFlBQU8sR0FBb0IsRUFBRSxDQUFDO1FBS3ZDLG1DQUFtQztRQUMxQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRTFCLG1DQUFtQztRQUMxQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUtqQyxjQUFjO1FBQ2QsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFcEIsY0FBYztRQUNLLHlCQUFvQixHQUErQjtZQUNwRSxPQUFPLEVBQUUsdUNBQXVDO1NBQ2pELENBQUM7S0FtQkg7SUFqQkMsUUFBUTtRQUNOOztXQUVHO1FBQ0gsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNsRCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDaEQsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO0lBQ2QsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDekMsQ0FBQzs4R0E5Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsc1VDVDlCLGdqRUE4REE7OzJGRHJEYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVzs4QkFNWixTQUFTO3NCQUFqQixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR2MsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdHMvYWJzdHJhY3QuaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEdFTkVSSUNfQ09MTEVDVElPTiB9IGZyb20gJ0Bhc2NlbnRnbC9hZHMtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZHMtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC5jb21wb25lbnQuc2NzcycsICcuLi9jb21tb24vY29tbW9uLmlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkc0lucHV0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiBNYXhpbXVtIGFtb3VudCBvZiBjaGFyYWN0ZXJzIGluIHRoZSBpbnB1dCBmaWVsZCAqL1xuICBASW5wdXQoKSBtYXhsZW5ndGggPSAyNTU7XG5cbiAgLyoqIFBvc3NpYmxlIGlucHV0IHR5cGUgKGFzIHBlciBIVE1MIGRvY3VtZW50YXRpb24pLiBOT1RFOiBub3QgYWxsIHR5cGVzIGFyZSBhbGxvd2VkICovXG4gIEBJbnB1dCgpIHR5cGU6ICd0ZXh0JyB8ICdudW1iZXInIHwgJ2VtYWlsJyB8ICdwYXNzd29yZCcgfCAndXJsJyB8ICdwYXR0ZXJuJyB8ICd0ZWwnID0gJ3RleHQnO1xuXG4gIC8qKiBQcm92aWRlIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuIGlmIGlucHV0IHR5cGUgaXMgc2V0IHRvIFwicGF0dGVyblwiICovXG4gIEBJbnB1dCgpIHBhdHRlcm46IHN0cmluZyB8IFJlZ0V4cCA9ICcnO1xuXG4gIC8qKiBQcm92aWRlIFwiZGVmYXVsdFwiIHZhbHVlIHRoYXQgd2lsbCBiZSB1c2VkIHdoZW4gY29udHJvbCB2YWx1ZSBpcyBjbGVhcmVkICovXG4gIEBJbnB1dCgpIGRlZmF1bHRWYWx1ZT86IHVua25vd247XG5cbiAgLyoqIG1hcmsgaW5wdXQgZmllbGQgYXMgcmVhZG9ubHkgKi9cbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcblxuICAvKiogbWFyayBpbnB1dCBmaWVsZCBhcyByZWFkb25seSAqL1xuICBASW5wdXQoKSBpc1Bhc3N3b3JkRmllbGQgPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0PzogRWxlbWVudFJlZjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBoaWRlUGFzc3dvcmQgPSB0cnVlO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0RXJyb3JNZXNzYWdlczogR0VORVJJQ19DT0xMRUNUSU9OPHN0cmluZz4gPSB7XG4gICAgcGF0dGVybjogJ1Byb3ZpZGVkIHZhbHVlIGRvZXMgbm90IG1hdGNoIHBhdHRlcm4nLFxuICB9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIGlmIGRlZmF1bHQgdmFsdWUgaXMgcHJvdmlkZWQgLSBlbWl0IGl0IHdoZW4gaW5wdXQgaXMgY2xlYXJlZFxuICAgICAqL1xuICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnZhbHVlQ29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKCF2YWx1ZSAmJiB2YWx1ZSAhPT0gdGhpcy5kZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnZhbHVlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHNob3dIaWRlUGFzc3dvcmQoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlUGFzc3dvcmQgPSAhdGhpcy5oaWRlUGFzc3dvcmQ7XG4gIH1cbn1cbiIsIjxkaXYgW25nU3R5bGVdPVwieyBtaW5XaWR0aDogd2lkdGggfVwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnaW1tZWRpYXRlLXZhbGlkYXRpb24nOiBpbW1lZGlhdGVWYWxpZGF0aW9uLFxuICAgICAgJ25vLWxlZnQtcGFkZGluZyc6IGNhbkNsZWFyLFxuICAgICAgcmVhZG9ubHk6IHJlYWRvbmx5LFxuICAgICAgJ3N1Y2Nlc3MtbGFiZWwnOiBjYW5TaG93U3VjY2VzcygpLFxuICAgICAgJ2Vycm9yLWxhYmVsJzogY2FuU2hvd0Vycm9yKCksXG4gICAgICAneC1zbWFsbCc6IHNtYWxsU2l6ZSxcbiAgICB9XCJcbiAgICBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCJcbiAgPlxuICAgIEBpZiAoKGxhYmVsIHx8IHJlcXVpcmVkKSAmJiAhc21hbGxTaXplKSB7XG4gICAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgfVxuICAgIDxpbnB1dFxuICAgICAgI2lucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtwYXR0ZXJuXT1cInBhdHRlcm5cIlxuICAgICAgW2lkXT1cImlkXCJcbiAgICAgIFt0eXBlXT1cImlzUGFzc3dvcmRGaWVsZCA/IChoaWRlUGFzc3dvcmQgPyAncGFzc3dvcmQnIDogJ3RleHQnKSA6IHR5cGVcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cInZhbHVlQ29udHJvbFwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAvPlxuXG4gICAgQGlmIChjYW5DbGVhcikge1xuICAgICAgPGJ1dHRvbiBtYXRUZXh0U3VmZml4IHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNsZWFyKCRldmVudClcIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+XG4gICAgICAgIDxhZHMtaWNvbiBjbGFzcz1cImNyb3NzLWljb25cIiBuYW1lPVwiY3Jvc3NcIiBbc2l6ZV09XCJzbWFsbFNpemUgPyAneHhzJyA6ICd4cydcIiBbdGhlbWVdPVwiJ2ljb25QcmltYXJ5J1wiIC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG5cbiAgICBAaWYgKGlzUGFzc3dvcmRGaWVsZCAmJiAhcmVhZG9ubHkpIHtcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBtYXRUZXh0U3VmZml4IChjbGljayk9XCJzaG93SGlkZVBhc3N3b3JkKClcIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+XG4gICAgICAgIDxhZHMtaWNvblxuICAgICAgICAgIGNsYXNzPVwidmlzaWJpbGl0eS1leWVcIlxuICAgICAgICAgIFtuYW1lXT1cImhpZGVQYXNzd29yZCA/ICd2aXNpYmlsaXR5X2V5ZV9ub25lJyA6ICd2aXNpYmlsaXR5X2V5ZSdcIlxuICAgICAgICAgIFtzaXplXT1cInNtYWxsU2l6ZSA/ICd4eHMnIDogJ3NtJ1wiXG4gICAgICAgICAgc3Ryb2tlPVwiaWNvblByaW1hcnlcIlxuICAgICAgICAgIGNvbG9yPVwiLS1jb2xvci1tZWRpdW1cIlxuICAgICAgICAvPlxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICA8L21hdC1mb3JtLWZpZWxkPlxuICBAaWYgKHNob3dGb290ZXIpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLWNvbnRhaW5lclwiPlxuICAgICAgQGlmIChjYW5TaG93RXJyb3IoKSkge1xuICAgICAgICA8YWRzLWVycm9yIFtlcnJvcl09XCJkaXNwbGF5Rmlyc3RFcnJvcigpXCIgW25nU3R5bGVdPVwieyB3aWR0aDogd2lkdGggfVwiIC8+XG4gICAgICB9IEBlbHNlIGlmIChjYW5TaG93U3VjY2VzcygpKSB7XG4gICAgICAgIDxhZHMtc3VjY2VzcyBbc3VjY2Vzc109XCJzdWNjZXNzTWVzc2FnZSFcIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCIgLz5cbiAgICAgIH0gQGVsc2UgaWYgKGhpbnQpIHtcbiAgICAgICAgPGFkcy1oaW50IFtoaW50XT1cImhpbnRcIiBbY29udHJvbF09XCJ2YWx1ZUNvbnRyb2xcIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCIgLz5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG5cbkBpZiAodG9vbHRpcCkge1xuICA8YWRzLWlucHV0LXRvb2x0aXAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiIFtzbWFsbFNpemVdPVwic21hbGxTaXplXCIgLz5cbn1cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZHMtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGRzL2lucHV0L2lucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRzLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkcy9pbnB1dC9pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFRL0UsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHNCQUFzQjtJQUw3RDs7UUFNRSxzREFBc0Q7UUFDN0MsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUV6Qix1RkFBdUY7UUFDOUUsU0FBSSxHQUF5RSxNQUFNLENBQUM7UUFFN0YsMkVBQTJFO1FBQ2xFLFlBQU8sR0FBb0IsRUFBRSxDQUFDO1FBS3ZDLG1DQUFtQztRQUMxQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRTFCLG1DQUFtQztRQUMxQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUtqQyxjQUFjO1FBQ2QsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFcEIsY0FBYztRQUNLLHlCQUFvQixHQUErQjtZQUNwRSxPQUFPLEVBQUUsdUNBQXVDO1NBQ2pELENBQUM7S0FtQkg7SUFqQkMsUUFBUTtRQUNOOztXQUVHO1FBQ0gsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNsRCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDaEQsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO0lBQ2QsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDekMsQ0FBQzs4R0E5Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsc1VDVDlCLGt2RUFnRUE7OzJGRHZEYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVzs4QkFNWixTQUFTO3NCQUFqQixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR2MsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdHMvYWJzdHJhY3QuaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEdFTkVSSUNfQ09MTEVDVElPTiB9IGZyb20gJ0Bhc2NlbnRnbC9hZHMtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZHMtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC5jb21wb25lbnQuc2NzcycsICcuLi9jb21tb24vY29tbW9uLmlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFkc0lucHV0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiBNYXhpbXVtIGFtb3VudCBvZiBjaGFyYWN0ZXJzIGluIHRoZSBpbnB1dCBmaWVsZCAqL1xuICBASW5wdXQoKSBtYXhsZW5ndGggPSAyNTU7XG5cbiAgLyoqIFBvc3NpYmxlIGlucHV0IHR5cGUgKGFzIHBlciBIVE1MIGRvY3VtZW50YXRpb24pLiBOT1RFOiBub3QgYWxsIHR5cGVzIGFyZSBhbGxvd2VkICovXG4gIEBJbnB1dCgpIHR5cGU6ICd0ZXh0JyB8ICdudW1iZXInIHwgJ2VtYWlsJyB8ICdwYXNzd29yZCcgfCAndXJsJyB8ICdwYXR0ZXJuJyB8ICd0ZWwnID0gJ3RleHQnO1xuXG4gIC8qKiBQcm92aWRlIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuIGlmIGlucHV0IHR5cGUgaXMgc2V0IHRvIFwicGF0dGVyblwiICovXG4gIEBJbnB1dCgpIHBhdHRlcm46IHN0cmluZyB8IFJlZ0V4cCA9ICcnO1xuXG4gIC8qKiBQcm92aWRlIFwiZGVmYXVsdFwiIHZhbHVlIHRoYXQgd2lsbCBiZSB1c2VkIHdoZW4gY29udHJvbCB2YWx1ZSBpcyBjbGVhcmVkICovXG4gIEBJbnB1dCgpIGRlZmF1bHRWYWx1ZT86IHVua25vd247XG5cbiAgLyoqIG1hcmsgaW5wdXQgZmllbGQgYXMgcmVhZG9ubHkgKi9cbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcblxuICAvKiogbWFyayBpbnB1dCBmaWVsZCBhcyByZWFkb25seSAqL1xuICBASW5wdXQoKSBpc1Bhc3N3b3JkRmllbGQgPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0PzogRWxlbWVudFJlZjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBoaWRlUGFzc3dvcmQgPSB0cnVlO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0RXJyb3JNZXNzYWdlczogR0VORVJJQ19DT0xMRUNUSU9OPHN0cmluZz4gPSB7XG4gICAgcGF0dGVybjogJ1Byb3ZpZGVkIHZhbHVlIGRvZXMgbm90IG1hdGNoIHBhdHRlcm4nLFxuICB9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIGlmIGRlZmF1bHQgdmFsdWUgaXMgcHJvdmlkZWQgLSBlbWl0IGl0IHdoZW4gaW5wdXQgaXMgY2xlYXJlZFxuICAgICAqL1xuICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnZhbHVlQ29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKCF2YWx1ZSAmJiB2YWx1ZSAhPT0gdGhpcy5kZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnZhbHVlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHNob3dIaWRlUGFzc3dvcmQoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlUGFzc3dvcmQgPSAhdGhpcy5oaWRlUGFzc3dvcmQ7XG4gIH1cbn1cbiIsIjxkaXYgW25nU3R5bGVdPVwieyBtaW5XaWR0aDogd2lkdGggfVwiIGNsYXNzPVwiYWRzLWZpZWxkLWNvbnRhaW5lclwiPlxuICA8ZGl2IFtuZ1N0eWxlXT1cInsgd2lkdGg6IHdpZHRoIH1cIj5cbiAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2ltbWVkaWF0ZS12YWxpZGF0aW9uJzogaW1tZWRpYXRlVmFsaWRhdGlvbixcbiAgICAgICAgJ25vLWxlZnQtcGFkZGluZyc6IGNhbkNsZWFyLFxuICAgICAgICByZWFkb25seTogcmVhZG9ubHksXG4gICAgICAgICdzdWNjZXNzLWxhYmVsJzogY2FuU2hvd1N1Y2Nlc3MoKSxcbiAgICAgICAgJ2Vycm9yLWxhYmVsJzogY2FuU2hvd0Vycm9yKCksXG4gICAgICAgICd4LXNtYWxsJzogc21hbGxTaXplLFxuICAgICAgfVwiXG4gICAgICBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCJcbiAgICA+XG4gICAgICBAaWYgKChsYWJlbCB8fCByZXF1aXJlZCkgJiYgIXNtYWxsU2l6ZSkge1xuICAgICAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgICB9XG4gICAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW3BhdHRlcm5dPVwicGF0dGVyblwiXG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIFt0eXBlXT1cImlzUGFzc3dvcmRGaWVsZCA/IChoaWRlUGFzc3dvcmQgPyAncGFzc3dvcmQnIDogJ3RleHQnKSA6IHR5cGVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwidmFsdWVDb250cm9sXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIC8+XG5cbiAgICAgIEBpZiAoY2FuQ2xlYXIpIHtcbiAgICAgICAgPGJ1dHRvbiBtYXRUZXh0U3VmZml4IHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNsZWFyKCRldmVudClcIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+XG4gICAgICAgICAgPGFkcy1pY29uIGNsYXNzPVwiY3Jvc3MtaWNvblwiIG5hbWU9XCJjcm9zc1wiIFtzaXplXT1cInNtYWxsU2l6ZSA/ICd4eHMnIDogJ3hzJ1wiIFt0aGVtZV09XCInaWNvblByaW1hcnknXCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoaXNQYXNzd29yZEZpZWxkICYmICFyZWFkb25seSkge1xuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gbWF0VGV4dFN1ZmZpeCAoY2xpY2spPVwic2hvd0hpZGVQYXNzd29yZCgpXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPlxuICAgICAgICAgIDxhZHMtaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJ2aXNpYmlsaXR5LWV5ZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJoaWRlUGFzc3dvcmQgPyAndmlzaWJpbGl0eV9leWVfbm9uZScgOiAndmlzaWJpbGl0eV9leWUnXCJcbiAgICAgICAgICAgIFtzaXplXT1cInNtYWxsU2l6ZSA/ICd4eHMnIDogJ3NtJ1wiXG4gICAgICAgICAgICBzdHJva2U9XCJpY29uUHJpbWFyeVwiXG4gICAgICAgICAgICBjb2xvcj1cIi0tY29sb3ItbWVkaXVtXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIEBpZiAoc2hvd0Zvb3Rlcikge1xuICAgICAgPGRpdiBjbGFzcz1cImZvb3Rlci1jb250YWluZXJcIj5cbiAgICAgICAgQGlmIChjYW5TaG93RXJyb3IoKSkge1xuICAgICAgICAgIDxhZHMtZXJyb3IgW2Vycm9yXT1cImRpc3BsYXlGaXJzdEVycm9yKClcIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCIgLz5cbiAgICAgICAgfSBAZWxzZSBpZiAoY2FuU2hvd1N1Y2Nlc3MoKSkge1xuICAgICAgICAgIDxhZHMtc3VjY2VzcyBbc3VjY2Vzc109XCJzdWNjZXNzTWVzc2FnZSFcIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCB9XCIgLz5cbiAgICAgICAgfSBAZWxzZSBpZiAoaGludCkge1xuICAgICAgICAgIDxhZHMtaGludCBbaGludF09XCJoaW50XCIgW2NvbnRyb2xdPVwidmFsdWVDb250cm9sXCIgW25nU3R5bGVdPVwieyB3aWR0aDogd2lkdGggfVwiIC8+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgQGlmICh0b29sdGlwKSB7XG4gICAgPGFkcy1pbnB1dC10b29sdGlwIFt0b29sdGlwXT1cInRvb2x0aXBcIiBbc21hbGxTaXplXT1cInNtYWxsU2l6ZVwiIC8+XG4gIH1cbjwvZGl2PlxuIl19