@apipass/inputs 0.1.1 → 0.1.6-alpha.0

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 (43) hide show
  1. package/apipass-inputs.d.ts +5 -6
  2. package/assets/css/buttons.scss +112 -112
  3. package/assets/css/colors.scss +34 -34
  4. package/assets/css/fonts.scss +24 -24
  5. package/assets/css/inputs.scss +197 -197
  6. package/assets/css/pt_sans.scss +143 -143
  7. package/assets/css/spacing.scss +28 -28
  8. package/assets/css/texts.scss +18 -18
  9. package/bundles/apipass-inputs.umd.js +1855 -1011
  10. package/bundles/apipass-inputs.umd.js.map +1 -1
  11. package/bundles/apipass-inputs.umd.min.js +2 -2
  12. package/bundles/apipass-inputs.umd.min.js.map +1 -1
  13. package/custom-select/custom-select-item.d.ts +5 -5
  14. package/custom-select/custom-select.component.d.ts +41 -38
  15. package/esm2015/apipass-inputs.js +5 -7
  16. package/esm2015/custom-select/custom-select-item.js +7 -7
  17. package/esm2015/custom-select/custom-select.component.js +254 -147
  18. package/esm2015/field/field.component.js +94 -33
  19. package/esm2015/input-avatar/input-avatar.component.js +167 -77
  20. package/esm2015/input-file/input-file.component.js +133 -0
  21. package/esm2015/input-password/input-password.component.js +159 -75
  22. package/esm2015/input-text/input-text.component.js +118 -50
  23. package/esm2015/inputs.module.js +121 -68
  24. package/esm2015/public-api.js +11 -10
  25. package/esm2015/select-box/mat-select-infinite-scroll.directive.js +86 -83
  26. package/esm2015/select-box/select-box.component.js +227 -132
  27. package/esm2015/select-enum/select-enum.component.js +97 -38
  28. package/esm2015/value-acessor-base.js +31 -31
  29. package/fesm2015/apipass-inputs.js +1402 -696
  30. package/fesm2015/apipass-inputs.js.map +1 -1
  31. package/field/field.component.d.ts +15 -12
  32. package/input-avatar/input-avatar.component.d.ts +29 -26
  33. package/input-file/input-file.component.d.ts +31 -0
  34. package/input-password/input-password.component.d.ts +29 -26
  35. package/input-text/input-text.component.d.ts +17 -14
  36. package/inputs.module.d.ts +29 -2
  37. package/package.json +13 -16
  38. package/public-api.d.ts +10 -9
  39. package/select-box/mat-select-infinite-scroll.directive.d.ts +26 -23
  40. package/select-box/select-box.component.d.ts +43 -40
  41. package/select-enum/select-enum.component.d.ts +12 -9
  42. package/value-acessor-base.d.ts +13 -13
  43. package/apipass-inputs.metadata.json +0 -1
@@ -1,147 +1,254 @@
1
- import { Component, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { CustomSelectItem } from "./custom-select-item";
4
- export class CustomSelectComponent {
5
- constructor() {
6
- this.disabled = false;
7
- this.items = [];
8
- this.allowTyping = false;
9
- this.allowRemove = false;
10
- this.placeHolder = 'Selecione';
11
- this.findPlaceHolder = 'Busque um item';
12
- this.searchText = '';
13
- this.onSelect = new EventEmitter();
14
- this.onUnSelect = new EventEmitter();
15
- this.onAddItem = new EventEmitter();
16
- this.opened = false;
17
- this.edited = false;
18
- this.tabindex = '0';
19
- this.onTouchedCallback = () => {
20
- };
21
- this.onChangeCallback = () => {
22
- };
23
- }
24
- onBlur(target) {
25
- if (this.allowTyping) {
26
- if (this.value) {
27
- if (this.edited) {
28
- this.writeValue(this.value);
29
- this.selectedItem = new CustomSelectItem(this.value, this.value);
30
- this.onSelect.next(this.selectedItem);
31
- }
32
- }
33
- else {
34
- this.writeValue(undefined);
35
- this.onSelect.next(undefined);
36
- }
37
- }
38
- if (target && target.relatedTarget && target.relatedTarget.classList.contains('search-input-item')) {
39
- return;
40
- }
41
- this.opened = false;
42
- }
43
- selectItem(item) {
44
- this.opened = false;
45
- this.selectedItem = item;
46
- this.edited = false;
47
- this.selectedModelValue = item.text;
48
- this.value = item.text;
49
- this.searchText = '';
50
- this.onSelect.next(item);
51
- }
52
- addItem() {
53
- this.opened = false;
54
- this.searchText = '';
55
- this.onAddItem.next();
56
- }
57
- keyPress() {
58
- if (this.allowTyping) {
59
- this.opened = false;
60
- this.edited = true;
61
- this.selectedModelValue = this.value;
62
- this.searchText = '';
63
- }
64
- else {
65
- this.edited = false;
66
- return false;
67
- }
68
- }
69
- clicked() {
70
- this.opened = true;
71
- this.searchText = '';
72
- }
73
- get value() {
74
- return this.innerValue;
75
- }
76
- set value(value) {
77
- this.innerValue = value;
78
- this.onChangeCallback(value);
79
- this.onSelect.next(value);
80
- }
81
- writeValue(value) {
82
- if (value !== this.innerValue) {
83
- if (!this.selectedItem || !this.selectedItem.text || !value) {
84
- this.selectedItem = new CustomSelectItem(null, value);
85
- }
86
- this.innerValue = value;
87
- this.selectedModelValue = value;
88
- }
89
- }
90
- registerOnChange(fn) {
91
- this.onChangeCallback = fn;
92
- }
93
- registerOnTouched(fn) {
94
- this.onTouchedCallback = fn;
95
- }
96
- setDisabledState(isDisabled) {
97
- this.disabled = isDisabled;
98
- }
99
- arrowClick() {
100
- var _a;
101
- this.opened = true;
102
- this.searchText = '';
103
- (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement.focus();
104
- }
105
- removeClick(event) {
106
- event.stopPropagation();
107
- this.opened = false;
108
- this.searchText = '';
109
- this.innerValue = null;
110
- this.onUnSelect.next();
111
- }
112
- onDrop($event) {
113
- this.searchText = '';
114
- if (!this.value) {
115
- this.value = '';
116
- }
117
- this.value += `{{${$event.data}}}`;
118
- }
119
- }
120
- CustomSelectComponent.decorators = [
121
- { type: Component, args: [{
122
- selector: 'custom-select',
123
- template: "<mat-form-field class=\"custom-select-component\" [ngClass]=\"{'select-open' : opened}\" appearance=\"fill\" autocomplete=\"off\">\r\n <input matInput #input\r\n [placeholder]=\"placeHolder\"\r\n (focus)=\"opened = true\"\r\n (blur)=\"onBlur($event)\"\r\n [(ngModel)]=\"value\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n [disabled]=\"disabled\"\r\n (keyup)=keyPress()\r\n (click)=\"clicked()\"\r\n dndDropzone\r\n (dndDrop)=\"onDrop($event)\"\r\n autocomplete=\"off\"\r\n />\r\n <span *ngIf=\"allowRemove\" title=\"Remover\" class=\"remove-icon\" (click)=\"removeClick($event)\">\r\n <i class=\"fa fa-times\"></i>\r\n </span>\r\n <span class=\"open-icon\" (click)=\"arrowClick()\">\r\n <i class=\"fa fa-caret-down\"></i>\r\n </span>\r\n</mat-form-field>\r\n<div class=\"custom-select-component\">\r\n <ul class=\"ul-ac\" *ngIf=\"opened && ((value && value.length !== 0) || items)\">\r\n <li class=\"li-search search-input-item\">\r\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"fill\">\r\n <input matInput class=\"search-input-item\"\r\n [placeholder]=\"findPlaceHolder\"\r\n [(ngModel)]=\"searchText\"\r\n (blur)=\"onBlur($event)\"\r\n aria-autocomplete=\"none\"\r\n />\r\n </mat-form-field>\r\n </li>\r\n\r\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\r\n (click)=\"selectItem(i)\"\r\n (mousedown)=\"selectItem(i)\">\r\n {{i.text}}\r\n </li>\r\n\r\n <li class=\"li-add\" (mousedown)=\"addItem()\" (click)=\"addItem()\">\r\n <span class=\"fa fa-plus-circle\"></span>\r\n <span>Adicionar novo item</span>\r\n </li>\r\n </ul>\r\n</div>\r\n",
124
- providers: [{
125
- provide: NG_VALUE_ACCESSOR,
126
- useExisting: forwardRef(() => CustomSelectComponent),
127
- multi: true
128
- }],
129
- styles: [":root{--color-body-light:#fff;--color-fonts-tertiary:#777;--color-inputs-background:#fff;--color-inputs-border:#ddd;--color-primary:#222d57;--color-primary-active:#29376a;--color-primary-hover:#18203d;--color-red:red;--color-secondary:#d3d921;--color-secondary-active:#dce13f;--color-secondary-hover:#b3b81c;--color-tertiary:#efefef;--color-tertiary-active:#f1f1f1;--color-tertiary-hover:#cbcbcb;--color_components_light:#fff;--color_disabled:#e0e0e0;--color_graph_error:#eb5757;--color_graph_error_hover:#c91717;--color_graph_primary:#1643ef;--color_graph_primary_hover:#0a2692;--color_icon_remove:var(--color-red);--color_icon_success:#070;--limit-plan-color:#ff6c00}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:400;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0ysmIEDQ.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:400;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0w8mIEDQ.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:400;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0ycmIEDQ.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:400;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0x8mI.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:700;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydIhUdwzM.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:700;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydKxUdwzM.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:700;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydIRUdwzM.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:700;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydLxUd.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:400;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0-ExdGM.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:400;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0aExdGM.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:400;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0yExdGM.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:400;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0KExQ.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:700;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0OOtLQ0Z.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:700;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0OqtLQ0Z.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:700;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0OCtLQ0Z.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:700;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0O6tLQ.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.text-primary{color:var(--color-primary)!important}.text-secondary{color:var(--color-secondary)!important}.text-tertiary{color:var(--color-fonts-tertiary)!important}.text-weight-bold{font-weight:700!important}.text-weight-normal{font-weight:400!important}.mat-form-field-underline,.mat-input-underline{display:none}.mat-form-field-appearance-fill .mat-form-field-flex{align-items:center!important;background:var(--color-inputs-background)!important;border:1px solid var(--color-inputs-border)!important;border-radius:6px!important;display:flex!important}.mat-form-field-infix{align-items:center!important;border-top:none!important;padding:0!important}.mat-form-field-infix,.mat-select-arrow-wrapper{display:flex!important}.mat-icon-button{width:auto!important}.no-border .mat-form-field-flex{border:none!important}.no-border .mat-form-field-flex input{padding:1px}.mat-form-field-label-wrapper{top:-10px}.mat-form-field-should-float .mat-form-field-label-wrapper{font-size:14px}.placeholder-primary .mat-focused .mat-form-field-placeholder,.placeholder-primary .mat-form-field-label-wrapper,.placeholder-primary .mat-form-field-label-wrapper label,.placeholder-primary .mat-form-field-placeholder,.placeholder-primary ::ng-deep .mat-focused .mat-form-field-placeholder,.placeholder-primary ::ng-deep .mat-form-field-placeholder{color:var(--color-primary)!important}.placeholder-primary input ::placeholder{color:var(--color-primary)!important}.placeholder-bold .mat-focused .mat-form-field-placeholder,.placeholder-bold .mat-form-field-label-wrapper,.placeholder-bold .mat-form-field-label-wrapper label,.placeholder-bold .mat-form-field-placeholder,.placeholder-bold ::ng-deep .mat-focused .mat-form-field-placeholder,.placeholder-bold ::ng-deep .mat-form-field-placeholder{font-weight:700!important}.placeholder-bold input ::placeholder{font-weight:700!important}.apipass-input-text{width:100%}.apipass-input-text .mat-form-field-flex{padding:10px!important}.apipass-date-filter .mat-form-field-wrapper,.apipass-input-text .mat-form-field-wrapper,.apipass-search-input-text .mat-form-field-wrapper,.apipass-select .mat-form-field-wrapper,.custom-select-component .mat-form-field-wrapper{padding:0!important}.apipass-date-filter .mat-icon-button,.apipass-input-text .mat-icon-button,.apipass-search-input-text .mat-icon-button,.apipass-select .mat-icon-button,.custom-select-component .mat-icon-button{height:auto!important;width:auto!important}.apipass-date-filter.label-input .mat-form-field-label-wrapper,.apipass-input-text.label-input .mat-form-field-label-wrapper,.apipass-search-input-text.label-input .mat-form-field-label-wrapper,.apipass-select.label-input .mat-form-field-label-wrapper,.custom-select-component.label-input .mat-form-field-label-wrapper{padding-top:0;top:auto!important}.apipass-date-filter.label-input input,.apipass-input-text.label-input input,.apipass-search-input-text.label-input input,.apipass-select.label-input input,.custom-select-component.label-input input{padding-bottom:5px!important;padding-top:10px!important}.apipass-date-filter.mat-form-field-should-float .mat-form-field-label-wrapper,.apipass-input-text.mat-form-field-should-float .mat-form-field-label-wrapper,.apipass-search-input-text.mat-form-field-should-float .mat-form-field-label-wrapper,.apipass-select.mat-form-field-should-float .mat-form-field-label-wrapper,.custom-select-component.mat-form-field-should-float .mat-form-field-label-wrapper{margin-top:-10px!important;padding-top:0!important}.apipass-search-input-text{width:100%}.apipass-search-input-text.small-text{font-size:12px}.apipass-search-input-text .mat-form-field-flex{border-left:none!important;border-radius:0!important;border-right:none!important;border-top:none!important;padding:2px 5px 2px 2px!important}.apipass-search-input-text .search-icon{margin-top:-5px!important}.custom-select-component{width:100%}.custom-select-component .mat-form-field-flex{padding:1px 10px!important}.apipass-select{width:100%}.apipass-select .mat-form-field-flex{padding:10px 5px 10px 10px!important}.apipass-select.label-input .mat-form-field-infix{padding-bottom:7px!important;padding-top:7px!important}.apipass-date-filter{width:100%}.apipass-date-filter .mat-form-field-flex{padding:7px 10px!important}.apipass-date-filter .mat-form-field-suffix span{color:#777;cursor:pointer}.apipass-date-filter .mat-form-field-wrapper{padding-bottom:0!important}.custom-select-component{cursor:pointer}.custom-select-component input{background:#fff!important;height:37px}.custom-select-component .ul-ac{background:#fff;border:1px solid #ccc;box-sizing:border-box;list-style:none;margin-top:-1px;padding:0;position:absolute;width:calc(100% - 30px);z-index:7!important}.custom-select-component .ul-ac li{cursor:pointer;font-size:12px;overflow:hidden;padding:10px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.custom-select-component .ul-ac li:hover{background:#bbbcbc}.custom-select-component .ul-ac .li-add{border-top:1px solid #d3d3d3}.custom-select-component .ul-ac .li-add .fa{color:#ff8f17;padding-right:5px}.custom-select-component .selected{background-color:#898a8a!important}.custom-select-component .selected .fa{color:#fff!important}.custom-select-component .remove-icon i{color:red;margin-right:10px}.custom-select-component .open-icon i{color:rgba(0,0,0,.54)}.custom-select-component .li-search{border-bottom:1px solid #ccc!important;cursor:default!important}.custom-select-component .li-search:hover{background:#fff!important}.select-open .mat-form-field-flex{border-radius:6px 6px 0 0!important}"]
130
- },] }
131
- ];
132
- CustomSelectComponent.propDecorators = {
133
- disabled: [{ type: Input }],
134
- items: [{ type: Input }],
135
- allowTyping: [{ type: Input }],
136
- allowRemove: [{ type: Input }],
137
- placeHolder: [{ type: Input }],
138
- findPlaceHolder: [{ type: Input }],
139
- searchText: [{ type: Input }],
140
- onSelect: [{ type: Output }],
141
- onUnSelect: [{ type: Output }],
142
- onAddItem: [{ type: Output }],
143
- input: [{ type: ViewChild, args: ['input', { static: true },] }],
144
- tabindex: [{ type: HostBinding, args: ['attr.tabindex',] }],
145
- onBlur: [{ type: HostListener, args: ['blur', ['$event.target'],] }]
146
- };
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2N1c3RvbS1zZWxlY3QvY3VzdG9tLXNlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkksT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBYXRELE1BQU0sT0FBTyxxQkFBcUI7SUFYbEM7UUFhVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ1YsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFDdEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxXQUFXLENBQUM7UUFDMUIsb0JBQWUsR0FBRyxnQkFBZ0IsQ0FBQztRQUNuQyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWYsYUFBUSxHQUFtQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzlELGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuRCxjQUFTLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFJckQsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUtkLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFRixhQUFRLEdBQUcsR0FBRyxDQUFDO1FBc0RyQyxzQkFBaUIsR0FBZSxHQUFHLEVBQUU7UUFDN0MsQ0FBQyxDQUFBO1FBRU8scUJBQWdCLEdBQXFCLEdBQUcsRUFBRTtRQUNsRCxDQUFDLENBQUE7SUF3REgsQ0FBQztJQWpIMEMsTUFBTSxDQUFDLE1BQVc7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OztZQWxKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLGswREFBMkM7Z0JBRTNDLFNBQVMsRUFBRSxDQUFDO3dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7d0JBQ3BELEtBQUssRUFBRSxJQUFJO3FCQUNaLENBQUM7O2FBRUg7Ozt1QkFHRSxLQUFLO29CQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxLQUFLOzBCQUNMLEtBQUs7OEJBQ0wsS0FBSzt5QkFDTCxLQUFLO3VCQUVMLE1BQU07eUJBQ04sTUFBTTt3QkFDTixNQUFNO29CQUVOLFNBQVMsU0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3VCQVNuQyxXQUFXLFNBQUMsZUFBZTtxQkFDM0IsWUFBWSxTQUFDLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7Q3VzdG9tU2VsZWN0SXRlbX0gZnJvbSBcIi4vY3VzdG9tLXNlbGVjdC1pdGVtXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N1c3RvbS1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJ2N1c3RvbS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEN1c3RvbVNlbGVjdENvbXBvbmVudCksXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG4gIH1dXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtczogQ3VzdG9tU2VsZWN0SXRlbVtdID0gW107XHJcbiAgQElucHV0KCkgYWxsb3dUeXBpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhbGxvd1JlbW92ZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBsYWNlSG9sZGVyID0gJ1NlbGVjaW9uZSc7XHJcbiAgQElucHV0KCkgZmluZFBsYWNlSG9sZGVyID0gJ0J1c3F1ZSB1bSBpdGVtJztcclxuICBASW5wdXQoKSBzZWFyY2hUZXh0ID0gJyc7XHJcblxyXG4gIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPEN1c3RvbVNlbGVjdEl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblVuU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25BZGRJdGVtOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgcHVibGljIG9wZW5lZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW06IEN1c3RvbVNlbGVjdEl0ZW0gfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBpbm5lclZhbHVlOiBhbnk7XHJcbiAgcHJpdmF0ZSBzZWxlY3RlZE1vZGVsVmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgcHJpdmF0ZSBlZGl0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiaW5kZXggPSAnMCc7XHJcbiAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50LnRhcmdldCddKSBvbkJsdXIodGFyZ2V0OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmFsbG93VHlwaW5nKSB7XHJcbiAgICAgIGlmICh0aGlzLnZhbHVlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZWRpdGVkKSB7XHJcbiAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG5ldyBDdXN0b21TZWxlY3RJdGVtKHRoaXMudmFsdWUsIHRoaXMudmFsdWUpO1xyXG4gICAgICAgICAgdGhpcy5vblNlbGVjdC5uZXh0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHVuZGVmaW5lZCk7XHJcbiAgICAgICAgdGhpcy5vblNlbGVjdC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LnJlbGF0ZWRUYXJnZXQgJiYgdGFyZ2V0LnJlbGF0ZWRUYXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWFyY2gtaW5wdXQtaXRlbScpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIHNlbGVjdEl0ZW0oaXRlbTogQ3VzdG9tU2VsZWN0SXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gaXRlbTtcclxuICAgIHRoaXMuZWRpdGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkTW9kZWxWYWx1ZSA9IGl0ZW0udGV4dDtcclxuICAgIHRoaXMudmFsdWUgPSBpdGVtLnRleHQ7XHJcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcclxuICAgIHRoaXMub25TZWxlY3QubmV4dChpdGVtKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRJdGVtKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xyXG4gICAgdGhpcy5vbkFkZEl0ZW0ubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGtleVByZXNzKCkgOiBhbnkge1xyXG4gICAgaWYgKHRoaXMuYWxsb3dUeXBpbmcpIHtcclxuICAgICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5lZGl0ZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTW9kZWxWYWx1ZSA9IHRoaXMudmFsdWU7XHJcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lZGl0ZWQgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsaWNrZWQoKSB7XHJcbiAgICB0aGlzLm9wZW5lZCA9IHRydWU7XHJcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSAoKSA9PiB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmlubmVyVmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodmFsdWUpO1xyXG4gICAgdGhpcy5vblNlbGVjdC5uZXh0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcclxuICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkSXRlbSB8fCAhdGhpcy5zZWxlY3RlZEl0ZW0udGV4dCB8fCAhdmFsdWUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG5ldyBDdXN0b21TZWxlY3RJdGVtKG51bGwsIHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsVmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFycm93Q2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wZW5lZCA9IHRydWU7XHJcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcclxuICAgIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmVDbGljayhldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcclxuICAgIHRoaXMuaW5uZXJWYWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLm9uVW5TZWxlY3QubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRHJvcCgkZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XHJcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZSArPSBge3skeyRldmVudC5kYXRhfX19YDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
1
+ import { Component, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { CustomSelectItem } from './custom-select-item';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/form-field";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/material/input";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "ngx-drag-drop";
10
+ import * as i6 from "@apipass/pipes";
11
+ const _c0 = ["input"];
12
+ function CustomSelectComponent_span_3_Template(rf, ctx) { if (rf & 1) {
13
+ const _r4 = i0.ɵɵgetCurrentView();
14
+ i0.ɵɵelementStart(0, "span", 8);
15
+ i0.ɵɵlistener("click", function CustomSelectComponent_span_3_Template_span_click_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return ctx_r3.removeClick($event); });
16
+ i0.ɵɵelement(1, "i", 9);
17
+ i0.ɵɵelementEnd();
18
+ } }
19
+ function CustomSelectComponent_ul_7_li_4_Template(rf, ctx) { if (rf & 1) {
20
+ const _r8 = i0.ɵɵgetCurrentView();
21
+ i0.ɵɵelementStart(0, "li", 17);
22
+ i0.ɵɵlistener("click", function CustomSelectComponent_ul_7_li_4_Template_li_click_0_listener() { i0.ɵɵrestoreView(_r8); const i_r6 = ctx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.selectItem(i_r6); })("mousedown", function CustomSelectComponent_ul_7_li_4_Template_li_mousedown_0_listener() { i0.ɵɵrestoreView(_r8); const i_r6 = ctx.$implicit; const ctx_r9 = i0.ɵɵnextContext(2); return ctx_r9.selectItem(i_r6); });
23
+ i0.ɵɵtext(1);
24
+ i0.ɵɵelementEnd();
25
+ } if (rf & 2) {
26
+ const i_r6 = ctx.$implicit;
27
+ i0.ɵɵadvance(1);
28
+ i0.ɵɵtextInterpolate1(" ", i_r6.text, " ");
29
+ } }
30
+ function CustomSelectComponent_ul_7_Template(rf, ctx) { if (rf & 1) {
31
+ const _r11 = i0.ɵɵgetCurrentView();
32
+ i0.ɵɵelementStart(0, "ul", 10);
33
+ i0.ɵɵelementStart(1, "li", 11);
34
+ i0.ɵɵelementStart(2, "mat-form-field", 12);
35
+ i0.ɵɵelementStart(3, "input", 13);
36
+ i0.ɵɵlistener("ngModelChange", function CustomSelectComponent_ul_7_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return ctx_r10.searchText = $event; })("blur", function CustomSelectComponent_ul_7_Template_input_blur_3_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return ctx_r12.onBlur($event); });
37
+ i0.ɵɵelementEnd();
38
+ i0.ɵɵelementEnd();
39
+ i0.ɵɵelementEnd();
40
+ i0.ɵɵtemplate(4, CustomSelectComponent_ul_7_li_4_Template, 2, 1, "li", 14);
41
+ i0.ɵɵpipe(5, "selectFilter");
42
+ i0.ɵɵelementStart(6, "li", 15);
43
+ i0.ɵɵlistener("mousedown", function CustomSelectComponent_ul_7_Template_li_mousedown_6_listener() { i0.ɵɵrestoreView(_r11); const ctx_r13 = i0.ɵɵnextContext(); return ctx_r13.addItem(); })("click", function CustomSelectComponent_ul_7_Template_li_click_6_listener() { i0.ɵɵrestoreView(_r11); const ctx_r14 = i0.ɵɵnextContext(); return ctx_r14.addItem(); });
44
+ i0.ɵɵelement(7, "span", 16);
45
+ i0.ɵɵelementStart(8, "span");
46
+ i0.ɵɵtext(9, "Adicionar novo item");
47
+ i0.ɵɵelementEnd();
48
+ i0.ɵɵelementEnd();
49
+ i0.ɵɵelementEnd();
50
+ } if (rf & 2) {
51
+ const ctx_r2 = i0.ɵɵnextContext();
52
+ i0.ɵɵadvance(3);
53
+ i0.ɵɵproperty("placeholder", ctx_r2.findPlaceHolder)("ngModel", ctx_r2.searchText);
54
+ i0.ɵɵadvance(1);
55
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind3(5, 3, ctx_r2.items, ctx_r2.searchText, "text"));
56
+ } }
57
+ const _c1 = function (a0) { return { "select-open": a0 }; };
58
+ const _c2 = function () { return { standalone: true }; };
59
+ export class CustomSelectComponent {
60
+ constructor() {
61
+ this.disabled = false;
62
+ this.items = [];
63
+ this.allowTyping = false;
64
+ this.allowRemove = false;
65
+ this.placeHolder = 'Selecione';
66
+ this.findPlaceHolder = 'Busque um item';
67
+ this.searchText = '';
68
+ this.onSelect = new EventEmitter();
69
+ this.onUnSelect = new EventEmitter();
70
+ this.onAddItem = new EventEmitter();
71
+ this.opened = false;
72
+ this.edited = false;
73
+ this.tabindex = '0';
74
+ this.onTouchedCallback = () => {
75
+ };
76
+ this.onChangeCallback = () => {
77
+ };
78
+ }
79
+ onBlur(target) {
80
+ if (this.allowTyping) {
81
+ if (this.value) {
82
+ if (this.edited) {
83
+ this.writeValue(this.value);
84
+ this.selectedItem = new CustomSelectItem(this.value, this.value);
85
+ this.onSelect.next(this.selectedItem);
86
+ }
87
+ }
88
+ else {
89
+ this.writeValue(undefined);
90
+ this.onSelect.next(undefined);
91
+ }
92
+ }
93
+ if (target && target.relatedTarget && target.relatedTarget.classList.contains('search-input-item')) {
94
+ return;
95
+ }
96
+ this.opened = false;
97
+ }
98
+ selectItem(item) {
99
+ this.opened = false;
100
+ this.selectedItem = item;
101
+ this.edited = false;
102
+ this.selectedModelValue = item.text;
103
+ this.value = item.text;
104
+ this.searchText = '';
105
+ this.onSelect.next(item);
106
+ }
107
+ addItem() {
108
+ this.opened = false;
109
+ this.searchText = '';
110
+ this.onAddItem.next();
111
+ }
112
+ keyPress() {
113
+ if (this.allowTyping) {
114
+ this.opened = false;
115
+ this.edited = true;
116
+ this.selectedModelValue = this.value;
117
+ this.searchText = '';
118
+ }
119
+ else {
120
+ this.edited = false;
121
+ return false;
122
+ }
123
+ }
124
+ clicked() {
125
+ this.opened = true;
126
+ this.searchText = '';
127
+ }
128
+ get value() {
129
+ return this.innerValue;
130
+ }
131
+ set value(value) {
132
+ this.innerValue = value;
133
+ this.onChangeCallback(value);
134
+ this.onSelect.next(value);
135
+ }
136
+ writeValue(value) {
137
+ if (value !== this.innerValue) {
138
+ if (!this.selectedItem || !this.selectedItem.text || !value) {
139
+ this.selectedItem = new CustomSelectItem(null, value);
140
+ }
141
+ this.innerValue = value;
142
+ this.selectedModelValue = value;
143
+ }
144
+ }
145
+ registerOnChange(fn) {
146
+ this.onChangeCallback = fn;
147
+ }
148
+ registerOnTouched(fn) {
149
+ this.onTouchedCallback = fn;
150
+ }
151
+ setDisabledState(isDisabled) {
152
+ this.disabled = isDisabled;
153
+ }
154
+ arrowClick() {
155
+ var _a;
156
+ this.opened = true;
157
+ this.searchText = '';
158
+ (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement.focus();
159
+ }
160
+ removeClick(event) {
161
+ event.stopPropagation();
162
+ this.opened = false;
163
+ this.searchText = '';
164
+ this.innerValue = null;
165
+ this.onUnSelect.next();
166
+ }
167
+ onDrop($event) {
168
+ this.searchText = '';
169
+ if (!this.value) {
170
+ this.value = '';
171
+ }
172
+ this.value += `{{${$event.data}}}`;
173
+ }
174
+ }
175
+ CustomSelectComponent.ɵfac = function CustomSelectComponent_Factory(t) { return new (t || CustomSelectComponent)(); };
176
+ CustomSelectComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CustomSelectComponent, selectors: [["custom-select"]], viewQuery: function CustomSelectComponent_Query(rf, ctx) { if (rf & 1) {
177
+ i0.ɵɵstaticViewQuery(_c0, true);
178
+ } if (rf & 2) {
179
+ var _t;
180
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
181
+ } }, hostVars: 1, hostBindings: function CustomSelectComponent_HostBindings(rf, ctx) { if (rf & 1) {
182
+ i0.ɵɵlistener("blur", function CustomSelectComponent_blur_HostBindingHandler($event) { return ctx.onBlur($event.target); });
183
+ } if (rf & 2) {
184
+ i0.ɵɵattribute("tabindex", ctx.tabindex);
185
+ } }, inputs: { disabled: "disabled", items: "items", allowTyping: "allowTyping", allowRemove: "allowRemove", placeHolder: "placeHolder", findPlaceHolder: "findPlaceHolder", searchText: "searchText" }, outputs: { onSelect: "onSelect", onUnSelect: "onUnSelect", onAddItem: "onAddItem" }, features: [i0.ɵɵProvidersFeature([{
186
+ provide: NG_VALUE_ACCESSOR,
187
+ useExisting: forwardRef(() => CustomSelectComponent),
188
+ multi: true
189
+ }])], decls: 8, vars: 10, consts: [["appearance", "fill", "autocomplete", "off", 1, "custom-select-component", 3, "ngClass"], ["matInput", "", "dndDropzone", "", "autocomplete", "off", 3, "placeholder", "ngModel", "ngModelOptions", "disabled", "focus", "blur", "ngModelChange", "keyup", "click", "dndDrop"], ["input", ""], ["title", "Remover", "class", "remove-icon", 3, "click", 4, "ngIf"], [1, "open-icon", 3, "click"], [1, "fa", "fa-caret-down"], [1, "custom-select-component"], ["class", "ul-ac", 4, "ngIf"], ["title", "Remover", 1, "remove-icon", 3, "click"], [1, "fa", "fa-times"], [1, "ul-ac"], [1, "li-search", "search-input-item"], ["appearance", "fill", 1, "apipass-input-text", "search-input-item"], ["matInput", "", "aria-autocomplete", "none", 1, "search-input-item", 3, "placeholder", "ngModel", "ngModelChange", "blur"], ["class", "clickable", 3, "click", "mousedown", 4, "ngFor", "ngForOf"], [1, "li-add", 3, "mousedown", "click"], [1, "fa", "fa-plus-circle"], [1, "clickable", 3, "click", "mousedown"]], template: function CustomSelectComponent_Template(rf, ctx) { if (rf & 1) {
190
+ i0.ɵɵelementStart(0, "mat-form-field", 0);
191
+ i0.ɵɵelementStart(1, "input", 1, 2);
192
+ i0.ɵɵlistener("focus", function CustomSelectComponent_Template_input_focus_1_listener() { return ctx.opened = true; })("blur", function CustomSelectComponent_Template_input_blur_1_listener($event) { return ctx.onBlur($event); })("ngModelChange", function CustomSelectComponent_Template_input_ngModelChange_1_listener($event) { return ctx.value = $event; })("keyup", function CustomSelectComponent_Template_input_keyup_1_listener() { return ctx.keyPress(); })("click", function CustomSelectComponent_Template_input_click_1_listener() { return ctx.clicked(); })("dndDrop", function CustomSelectComponent_Template_input_dndDrop_1_listener($event) { return ctx.onDrop($event); });
193
+ i0.ɵɵelementEnd();
194
+ i0.ɵɵtemplate(3, CustomSelectComponent_span_3_Template, 2, 0, "span", 3);
195
+ i0.ɵɵelementStart(4, "span", 4);
196
+ i0.ɵɵlistener("click", function CustomSelectComponent_Template_span_click_4_listener() { return ctx.arrowClick(); });
197
+ i0.ɵɵelement(5, "i", 5);
198
+ i0.ɵɵelementEnd();
199
+ i0.ɵɵelementEnd();
200
+ i0.ɵɵelementStart(6, "div", 6);
201
+ i0.ɵɵtemplate(7, CustomSelectComponent_ul_7_Template, 10, 7, "ul", 7);
202
+ i0.ɵɵelementEnd();
203
+ } if (rf & 2) {
204
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1, ctx.opened));
205
+ i0.ɵɵadvance(1);
206
+ i0.ɵɵproperty("placeholder", ctx.placeHolder)("ngModel", ctx.value)("ngModelOptions", i0.ɵɵpureFunction0(9, _c2))("disabled", ctx.disabled);
207
+ i0.ɵɵadvance(2);
208
+ i0.ɵɵproperty("ngIf", ctx.allowRemove);
209
+ i0.ɵɵadvance(4);
210
+ i0.ɵɵproperty("ngIf", ctx.opened && (ctx.value && ctx.value.length !== 0 || ctx.items));
211
+ } }, directives: [i1.MatFormField, i2.NgClass, i3.MatInput, i4.DefaultValueAccessor, i5.DndDropzoneDirective, i4.NgControlStatus, i4.NgModel, i2.NgIf, i2.NgForOf], pipes: [i6.SelectFilterPipe], styles: ["[_ngcontent-%COMP%]:root{--color-body-light:#fff;--color-fonts-tertiary:#777;--color-inputs-background:#fff;--color-inputs-border:#ddd;--color-primary:#222d57;--color-primary-active:#29376a;--color-primary-hover:#18203d;--color-red:red;--color-secondary:#d3d921;--color-secondary-active:#dce13f;--color-secondary-hover:#b3b81c;--color-tertiary:#efefef;--color-tertiary-active:#f1f1f1;--color-tertiary-hover:#cbcbcb;--color_components_light:#fff;--color_disabled:#e0e0e0;--color_graph_error:#eb5757;--color_graph_error_hover:#c91717;--color_graph_primary:#1643ef;--color_graph_primary_hover:#0a2692;--color_icon_remove:var(--color-red);--color_icon_success:#070;--limit-plan-color:#ff6c00}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:400;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0ysmIEDQ.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:400;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0w8mIEDQ.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:400;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0ycmIEDQ.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:400;src:local(\"PT Sans Italic\"),local(\"PTSans-Italic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizYRExUiTo99u79D0e0x8mI.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:700;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydIhUdwzM.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:700;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydKxUdwzM.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:700;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydIRUdwzM.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-display:swap;font-family:PT Sans;font-style:italic;font-weight:700;src:local(\"PT Sans Bold Italic\"),local(\"PTSans-BoldItalic\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizdRExUiTo99u79D0e8fOydLxUd.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:400;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0-ExdGM.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:400;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0aExdGM.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:400;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0yExdGM.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:400;src:local(\"PT Sans\"),local(\"PTSans-Regular\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizaRExUiTo99u79D0KExQ.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:700;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0OOtLQ0Z.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:700;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0OqtLQ0Z.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:700;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0OCtLQ0Z.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-display:swap;font-family:PT Sans;font-style:normal;font-weight:700;src:local(\"PT Sans Bold\"),local(\"PTSans-Bold\"),url(https://fonts.gstatic.com/s/ptsans/v11/jizfRExUiTo99u79B_mh0O6tLQ.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.text-primary[_ngcontent-%COMP%]{color:var(--color-primary)!important}.text-secondary[_ngcontent-%COMP%]{color:var(--color-secondary)!important}.text-tertiary[_ngcontent-%COMP%]{color:var(--color-fonts-tertiary)!important}.text-weight-bold[_ngcontent-%COMP%]{font-weight:700!important}.text-weight-normal[_ngcontent-%COMP%]{font-weight:400!important}.mat-form-field-underline[_ngcontent-%COMP%], .mat-input-underline[_ngcontent-%COMP%]{display:none}.mat-form-field-appearance-fill[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%]{align-items:center!important;background:var(--color-inputs-background)!important;border:1px solid var(--color-inputs-border)!important;border-radius:6px!important;display:flex!important}.mat-form-field-infix[_ngcontent-%COMP%]{align-items:center!important;border-top:none!important;padding:0!important}.mat-form-field-infix[_ngcontent-%COMP%], .mat-select-arrow-wrapper[_ngcontent-%COMP%]{display:flex!important}.mat-icon-button[_ngcontent-%COMP%]{width:auto!important}.no-border[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%]{border:none!important}.no-border[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding:1px}.mat-form-field-label-wrapper[_ngcontent-%COMP%]{top:-10px}.mat-form-field-should-float[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%]{font-size:14px}.placeholder-primary[_ngcontent-%COMP%] .mat-focused[_ngcontent-%COMP%] .mat-form-field-placeholder[_ngcontent-%COMP%], .placeholder-primary[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%], .placeholder-primary[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%] label[_ngcontent-%COMP%], .placeholder-primary[_ngcontent-%COMP%] .mat-form-field-placeholder[_ngcontent-%COMP%], .placeholder-primary[_ngcontent-%COMP%] .mat-focused .mat-form-field-placeholder, .placeholder-primary[_ngcontent-%COMP%] .mat-form-field-placeholder{color:var(--color-primary)!important}.placeholder-primary[_ngcontent-%COMP%] input[_ngcontent-%COMP%] [_ngcontent-%COMP%]::placeholder{color:var(--color-primary)!important}.placeholder-bold[_ngcontent-%COMP%] .mat-focused[_ngcontent-%COMP%] .mat-form-field-placeholder[_ngcontent-%COMP%], .placeholder-bold[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%], .placeholder-bold[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%] label[_ngcontent-%COMP%], .placeholder-bold[_ngcontent-%COMP%] .mat-form-field-placeholder[_ngcontent-%COMP%], .placeholder-bold[_ngcontent-%COMP%] .mat-focused .mat-form-field-placeholder, .placeholder-bold[_ngcontent-%COMP%] .mat-form-field-placeholder{font-weight:700!important}.placeholder-bold[_ngcontent-%COMP%] input[_ngcontent-%COMP%] [_ngcontent-%COMP%]::placeholder{font-weight:700!important}.apipass-input-text[_ngcontent-%COMP%]{width:100%}.apipass-input-text[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%]{padding:10px!important}.apipass-date-filter[_ngcontent-%COMP%] .mat-form-field-wrapper[_ngcontent-%COMP%], .apipass-input-text[_ngcontent-%COMP%] .mat-form-field-wrapper[_ngcontent-%COMP%], .apipass-search-input-text[_ngcontent-%COMP%] .mat-form-field-wrapper[_ngcontent-%COMP%], .apipass-select[_ngcontent-%COMP%] .mat-form-field-wrapper[_ngcontent-%COMP%], .custom-select-component[_ngcontent-%COMP%] .mat-form-field-wrapper[_ngcontent-%COMP%]{padding:0!important}.apipass-date-filter[_ngcontent-%COMP%] .mat-icon-button[_ngcontent-%COMP%], .apipass-input-text[_ngcontent-%COMP%] .mat-icon-button[_ngcontent-%COMP%], .apipass-search-input-text[_ngcontent-%COMP%] .mat-icon-button[_ngcontent-%COMP%], .apipass-select[_ngcontent-%COMP%] .mat-icon-button[_ngcontent-%COMP%], .custom-select-component[_ngcontent-%COMP%] .mat-icon-button[_ngcontent-%COMP%]{height:auto!important;width:auto!important}.apipass-date-filter.label-input[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%], .apipass-input-text.label-input[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%], .apipass-search-input-text.label-input[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%], .apipass-select.label-input[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%], .custom-select-component.label-input[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%]{padding-top:0;top:auto!important}.apipass-date-filter.label-input[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .apipass-input-text.label-input[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .apipass-search-input-text.label-input[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .apipass-select.label-input[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .custom-select-component.label-input[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding-bottom:5px!important;padding-top:10px!important}.apipass-date-filter.mat-form-field-should-float[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%], .apipass-input-text.mat-form-field-should-float[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%], .apipass-search-input-text.mat-form-field-should-float[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%], .apipass-select.mat-form-field-should-float[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%], .custom-select-component.mat-form-field-should-float[_ngcontent-%COMP%] .mat-form-field-label-wrapper[_ngcontent-%COMP%]{margin-top:-10px!important;padding-top:0!important}.apipass-search-input-text[_ngcontent-%COMP%]{width:100%}.apipass-search-input-text.small-text[_ngcontent-%COMP%]{font-size:12px}.apipass-search-input-text[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%]{border-left:none!important;border-radius:0!important;border-right:none!important;border-top:none!important;padding:2px 5px 2px 2px!important}.apipass-search-input-text[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{margin-top:-5px!important}.custom-select-component[_ngcontent-%COMP%]{width:100%}.custom-select-component[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%]{padding:1px 10px!important}.apipass-select[_ngcontent-%COMP%]{width:100%}.apipass-select[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%]{padding:10px 5px 10px 10px!important}.apipass-select.label-input[_ngcontent-%COMP%] .mat-form-field-infix[_ngcontent-%COMP%]{padding-bottom:7px!important;padding-top:7px!important}.apipass-date-filter[_ngcontent-%COMP%]{width:100%}.apipass-date-filter[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%]{padding:7px 10px!important}.apipass-date-filter[_ngcontent-%COMP%] .mat-form-field-suffix[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#777;cursor:pointer}.apipass-date-filter[_ngcontent-%COMP%] .mat-form-field-wrapper[_ngcontent-%COMP%]{padding-bottom:0!important}.custom-select-component[_ngcontent-%COMP%]{cursor:pointer}.custom-select-component[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{background:#fff!important;height:37px}.custom-select-component[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%]{background:#fff;border:1px solid #ccc;box-sizing:border-box;list-style:none;margin-top:-1px;padding:0;position:absolute;width:calc(100% - 30px);z-index:7!important}.custom-select-component[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{cursor:pointer;font-size:12px;overflow:hidden;padding:10px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.custom-select-component[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:hover{background:#bbbcbc}.custom-select-component[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%] .li-add[_ngcontent-%COMP%]{border-top:1px solid #d3d3d3}.custom-select-component[_ngcontent-%COMP%] .ul-ac[_ngcontent-%COMP%] .li-add[_ngcontent-%COMP%] .fa[_ngcontent-%COMP%]{color:#ff8f17;padding-right:5px}.custom-select-component[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]{background-color:#898a8a!important}.custom-select-component[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%] .fa[_ngcontent-%COMP%]{color:#fff!important}.custom-select-component[_ngcontent-%COMP%] .remove-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:red;margin-right:10px}.custom-select-component[_ngcontent-%COMP%] .open-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:rgba(0,0,0,.54)}.custom-select-component[_ngcontent-%COMP%] .li-search[_ngcontent-%COMP%]{border-bottom:1px solid #ccc!important;cursor:default!important}.custom-select-component[_ngcontent-%COMP%] .li-search[_ngcontent-%COMP%]:hover{background:#fff!important}.select-open[_ngcontent-%COMP%] .mat-form-field-flex[_ngcontent-%COMP%]{border-radius:6px 6px 0 0!important}"] });
212
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CustomSelectComponent, [{
213
+ type: Component,
214
+ args: [{
215
+ selector: 'custom-select',
216
+ templateUrl: 'custom-select.component.html',
217
+ styleUrls: ['custom-select.component.scss'],
218
+ providers: [{
219
+ provide: NG_VALUE_ACCESSOR,
220
+ useExisting: forwardRef(() => CustomSelectComponent),
221
+ multi: true
222
+ }]
223
+ }]
224
+ }], null, { disabled: [{
225
+ type: Input
226
+ }], items: [{
227
+ type: Input
228
+ }], allowTyping: [{
229
+ type: Input
230
+ }], allowRemove: [{
231
+ type: Input
232
+ }], placeHolder: [{
233
+ type: Input
234
+ }], findPlaceHolder: [{
235
+ type: Input
236
+ }], searchText: [{
237
+ type: Input
238
+ }], onSelect: [{
239
+ type: Output
240
+ }], onUnSelect: [{
241
+ type: Output
242
+ }], onAddItem: [{
243
+ type: Output
244
+ }], input: [{
245
+ type: ViewChild,
246
+ args: ['input', { static: true }]
247
+ }], tabindex: [{
248
+ type: HostBinding,
249
+ args: ['attr.tabindex']
250
+ }], onBlur: [{
251
+ type: HostListener,
252
+ args: ['blur', ['$event.target']]
253
+ }] }); })();
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2N1c3RvbS1zZWxlY3QvY3VzdG9tLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2N1c3RvbS1zZWxlY3QvY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuSSxPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7O0lDWXBELCtCQUNFO0lBRDRELHFNQUE2QjtJQUN6Rix1QkFBMkI7SUFDN0IsaUJBQU87Ozs7SUFrQkwsOEJBR0U7SUFGRSwwTkFBdUIscU5BQUE7SUFFekIsWUFDRjtJQUFBLGlCQUFLOzs7SUFESCxlQUNGO0lBREUsMENBQ0Y7Ozs7SUFoQkYsOEJBQ0U7SUFBQSw4QkFDRTtJQUFBLDBDQUNFO0lBQUEsaUNBTUY7SUFKUyx1TkFBd0IsbUxBQUE7SUFGL0IsaUJBTUY7SUFBQSxpQkFBaUI7SUFDbkIsaUJBQUs7SUFFTCwwRUFHRTs7SUFHRiw4QkFDRTtJQURpQiw0TEFBdUIsdUtBQUE7SUFDeEMsMkJBQXVDO0lBQ3ZDLDRCQUFNO0lBQUEsbUNBQW1CO0lBQUEsaUJBQU87SUFDbEMsaUJBQUs7SUFDUCxpQkFBSzs7O0lBbEJRLGVBQStCO0lBQS9CLG9EQUErQiw4QkFBQTtJQVFwQixlQUF3RDtJQUF4RCx1RkFBd0Q7Ozs7QURuQmxGLE1BQU0sT0FBTyxxQkFBcUI7SUFYbEM7UUFh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QU07O1FBN0MwQyxnRUFBb0M7UUFFM0UsZUFBMkI7UUFBM0IsNkNBQTJCLHNCQUFBLDhDQUFBLDBCQUFBO1FBWTVCLGVBQW1CO1FBQW5CLHNDQUFtQjtRQVFQLGVBQTBEO1FBQTFELHVGQUEwRDs7a0REUGpFLHFCQUFxQjtjQVhqQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFdBQVcsRUFBRSw4QkFBOEI7Z0JBQzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2dCQUMzQyxTQUFTLEVBQUUsQ0FBQzt3QkFDVixPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO3dCQUNwRCxLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDO2FBRUg7Z0JBR1UsUUFBUTtrQkFBaEIsS0FBSztZQUNVLEtBQUs7a0JBQXBCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxlQUFlO2tCQUF2QixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUVJLFFBQVE7a0JBQWpCLE1BQU07WUFDRyxVQUFVO2tCQUFuQixNQUFNO1lBQ0csU0FBUztrQkFBbEIsTUFBTTtZQUUrQixLQUFLO2tCQUExQyxTQUFTO21CQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFTTixRQUFRO2tCQUFyQyxXQUFXO21CQUFDLGVBQWU7WUFDYSxNQUFNO2tCQUE5QyxZQUFZO21CQUFDLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDdXN0b21TZWxlY3RJdGVtfSBmcm9tICcuL2N1c3RvbS1zZWxlY3QtaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1c3RvbS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJ2N1c3RvbS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VzdG9tU2VsZWN0Q29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxuXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaXRlbXM6IEN1c3RvbVNlbGVjdEl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBhbGxvd1R5cGluZyA9IGZhbHNlO1xuICBASW5wdXQoKSBhbGxvd1JlbW92ZSA9IGZhbHNlO1xuICBASW5wdXQoKSBwbGFjZUhvbGRlciA9ICdTZWxlY2lvbmUnO1xuICBASW5wdXQoKSBmaW5kUGxhY2VIb2xkZXIgPSAnQnVzcXVlIHVtIGl0ZW0nO1xuICBASW5wdXQoKSBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgQE91dHB1dCgpIG9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tU2VsZWN0SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvblVuU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uQWRkSXRlbTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgb3BlbmVkID0gZmFsc2U7XG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW06IEN1c3RvbVNlbGVjdEl0ZW0gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgaW5uZXJWYWx1ZTogYW55O1xuICBwcml2YXRlIHNlbGVjdGVkTW9kZWxWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgZWRpdGVkID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiaW5kZXggPSAnMCc7XG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInLCBbJyRldmVudC50YXJnZXQnXSkgb25CbHVyKHRhcmdldDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWxsb3dUeXBpbmcpIHtcbiAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgIGlmICh0aGlzLmVkaXRlZCkge1xuICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG5ldyBDdXN0b21TZWxlY3RJdGVtKHRoaXMudmFsdWUsIHRoaXMudmFsdWUpO1xuICAgICAgICAgIHRoaXMub25TZWxlY3QubmV4dCh0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZSh1bmRlZmluZWQpO1xuICAgICAgICB0aGlzLm9uU2VsZWN0Lm5leHQodW5kZWZpbmVkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRhcmdldCAmJiB0YXJnZXQucmVsYXRlZFRhcmdldCAmJiB0YXJnZXQucmVsYXRlZFRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ3NlYXJjaC1pbnB1dC1pdGVtJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgfVxuXG5cbiAgcHVibGljIHNlbGVjdEl0ZW0oaXRlbTogQ3VzdG9tU2VsZWN0SXRlbSk6IHZvaWQge1xuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBpdGVtO1xuICAgIHRoaXMuZWRpdGVkID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZE1vZGVsVmFsdWUgPSBpdGVtLnRleHQ7XG4gICAgdGhpcy52YWx1ZSA9IGl0ZW0udGV4dDtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcbiAgICB0aGlzLm9uU2VsZWN0Lm5leHQoaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgYWRkSXRlbSgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICAgIHRoaXMub25BZGRJdGVtLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBrZXlQcmVzcygpOiBhbnkge1xuICAgIGlmICh0aGlzLmFsbG93VHlwaW5nKSB7XG4gICAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgICAgdGhpcy5lZGl0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZWRpdGVkID0gZmFsc2U7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuZWQgPSB0cnVlO1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmlubmVyVmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2YWx1ZSk7XG4gICAgdGhpcy5vblNlbGVjdC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5pbm5lclZhbHVlKSB7XG4gICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJdGVtIHx8ICF0aGlzLnNlbGVjdGVkSXRlbS50ZXh0IHx8ICF2YWx1ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG5ldyBDdXN0b21TZWxlY3RJdGVtKG51bGwsIHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsVmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBhcnJvd0NsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbmVkID0gdHJ1ZTtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcbiAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgdGhpcy5pbm5lclZhbHVlID0gbnVsbDtcbiAgICB0aGlzLm9uVW5TZWxlY3QubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIG9uRHJvcCgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlICs9IGB7eyR7JGV2ZW50LmRhdGF9fX1gO1xuICB9XG5cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImN1c3RvbS1zZWxlY3QtY29tcG9uZW50XCIgW25nQ2xhc3NdPVwieydzZWxlY3Qtb3BlbicgOiBvcGVuZWR9XCIgYXBwZWFyYW5jZT1cImZpbGxcIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cbiAgPGlucHV0IG1hdElucHV0ICNpbnB1dFxuICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCJcbiAgICAgICAgIChmb2N1cyk9XCJvcGVuZWQgPSB0cnVlXCJcbiAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgKGtleXVwKT1rZXlQcmVzcygpXG4gICAgICAgICAoY2xpY2spPVwiY2xpY2tlZCgpXCJcbiAgICAgICAgIGRuZERyb3B6b25lXG4gICAgICAgICAoZG5kRHJvcCk9XCJvbkRyb3AoJGV2ZW50KVwiXG4gICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAvPlxuICA8c3BhbiAqbmdJZj1cImFsbG93UmVtb3ZlXCIgdGl0bGU9XCJSZW1vdmVyXCIgY2xhc3M9XCJyZW1vdmUtaWNvblwiIChjbGljayk9XCJyZW1vdmVDbGljaygkZXZlbnQpXCI+XG4gICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiPjwvaT5cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cIm9wZW4taWNvblwiIChjbGljayk9XCJhcnJvd0NsaWNrKClcIj5cbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2FyZXQtZG93blwiPjwvaT5cbiAgPC9zcGFuPlxuPC9tYXQtZm9ybS1maWVsZD5cbjxkaXYgY2xhc3M9XCJjdXN0b20tc2VsZWN0LWNvbXBvbmVudFwiPlxuICA8dWwgY2xhc3M9XCJ1bC1hY1wiICpuZ0lmPVwib3BlbmVkICYmICgodmFsdWUgJiYgdmFsdWUubGVuZ3RoICE9PSAwKSB8fCBpdGVtcylcIj5cbiAgICA8bGkgY2xhc3M9XCJsaS1zZWFyY2ggc2VhcmNoLWlucHV0LWl0ZW1cIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dCBzZWFyY2gtaW5wdXQtaXRlbVwiIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBjbGFzcz1cInNlYXJjaC1pbnB1dC1pdGVtXCJcbiAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaW5kUGxhY2VIb2xkZXJcIlxuICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibm9uZVwiXG4gICAgICAgIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvbGk+XG5cbiAgICA8bGkgY2xhc3M9XCJjbGlja2FibGVcIiAqbmdGb3I9XCJsZXQgaSBvZiBpdGVtcyB8IHNlbGVjdEZpbHRlcjpzZWFyY2hUZXh0Oid0ZXh0J1wiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGkpXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJzZWxlY3RJdGVtKGkpXCI+XG4gICAgICB7e2kudGV4dH19XG4gICAgPC9saT5cblxuICAgIDxsaSBjbGFzcz1cImxpLWFkZFwiIChtb3VzZWRvd24pPVwiYWRkSXRlbSgpXCIgKGNsaWNrKT1cImFkZEl0ZW0oKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1wbHVzLWNpcmNsZVwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuPkFkaWNpb25hciBub3ZvIGl0ZW08L3NwYW4+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuIl19