@apipass/inputs 0.2.1-alpha.4 → 0.2.1-alpha.5

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/inputs/src/value-acessor-base.ts","../../../projects/inputs/src/select-enum/select-enum.component.html","../../../projects/inputs/src/select-enum/select-enum.component.ts","../../../projects/inputs/src/input-password/input-password.component.html","../../../projects/inputs/src/input-password/input-password.component.ts","../../../projects/inputs/src/input-text/input-text.component.html","../../../projects/inputs/src/input-text/input-text.component.ts","../../../projects/inputs/src/input-avatar/input-avatar.component.html","../../../projects/inputs/src/input-avatar/input-avatar.component.ts","../../../projects/inputs/src/field/field.component.ts","../../../projects/inputs/src/select-box/select-box.component.html","../../../projects/inputs/src/select-box/select-box.component.ts","../../../projects/inputs/src/select-box/mat-select-infinite-scroll.directive.ts","../../../projects/inputs/src/custom-select/custom-select-item.ts","../../../projects/inputs/src/custom-select/custom-select.component.html","../../../projects/inputs/src/custom-select/custom-select.component.ts","../../../projects/inputs/src/input-file/input-file.component.html","../../../projects/inputs/src/input-file/input-file.component.ts","../../../projects/inputs/src/inputs.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","ValueAccessorBase","onChange","onTouched","defineProperty","innerValue","changeValue","writeValue","registerOnChange","fn","registerOnTouched","touch","forEach","f","i0.ɵɵelementStart","i0.ɵɵlistener","i0.ɵɵelementEnd","i0.ɵɵadvance","i0.ɵɵproperty","i0.ɵɵtext","i0.ɵɵtextInterpolate","SelectEnumComponent","_this","_super","apply","placeholder","enabledSearch","disabled","search","onKeyDown","event","which","target","stopPropagation","selectors","inputs","data","features","i0","ɵɵProvidersFeature","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","i0.ɵɵtemplate","i0.ɵɵtextInterpolate2","i0.ɵɵelement","ctx_r5","upperCaseCriteriaMsg","digitsCriteriaMsg","specialCharsCriteriaMsg","minCharsCriteriaMsg","_r4","InputPasswordComponent","label","showPasswordRuleDetails","showPasswordLengthDetails","enableLengthRule","enableLowerCaseLetterRule","enableUpperCaseLetterRule","enableDigitRule","enableSpecialCharRule","minLength","maxLength","strengthToValid","lowerCaseCriteriaMsg","onValidPassword","EventEmitter","onStrengthChanged","strength","emit","getStrength","lodash.inRange","outputs","$event","ɵɵpureFunction1","_c0","_r1","InputTextComponent","iconSuffix","iconPrefix","autoComplete","suffixIconClick","prefixIconClick","prefixClick","suffixClick","_r2","click","ctx_r3","uploadTitle","ctx_r4","modifyTitle","removeTitle","InputAvatarComponent","avatarFormData","FormData","avatarUrl","imageAlt","imageTitle","canRemove","canUpload","canModify","imageBorderRadius","width","height","iconFontSize","onFileChanged","hasImage","canAction","fileChange","fileList","files","file","append","name","type","match","reader_1","FileReader","readAsDataURL","onload","result","emitChangeEvent","removeClick","ɵɵpureFunction2","_c3","FieldComponent","state","ngContentSelectors","i0.ɵɵprojection","bindValue","ctx_r7","addNewItemIcon","item_r11","ctx_r13","SelectBoxComponent","searchPlaceHolder","clearText","notFoundText","bindImageUrl","bindKey","limitItens","showAddNewItem","addNewItemText","addNewItemClickCloseSelect","onOpenSelectBox","onCloseSelectBox","onSelectChange","onSelectClear","onAddNewItemClick","visibleItens","loading","inputFilter","Subject","lastSearchTerm","ngOnInit","onSearch","pipe","debounceTime","distinctUntilChanged","subscribe","searchString","filter","item","_a","toLowerCase","includes","slice","setTimeout","onScroll","_b","end","fetchMore","onScrollToEnd","len","more","onSelectionChange","selectedItem","el","openSelectBox","compareFn","a","onClear","onClose","onAddNewItem","ngSelectComponent","close","viewQuery","_c1$2","MatSelectInfiniteScrollDirective","matSelect","ngZone","threshold","infiniteScroll","thrPx","thrPc","singleOptionHeight","destroyed$","evaluateThreshold","ngAfterViewInit","openedChange","takeUntil","opened","panel","nativeElement","getSelectItemHeightPx","registerScrollListener","ngOnDestroy","complete","lastIndexOf","parseFloat","fromEvent","tap","handleScrollEvent","runOutsideAngular","countOfRenderedOptions","options","infiniteScrollDistance","clientHeight","scrollTop","run","getComputedStyle","fontSize","ɵɵdirectiveInject","i1$1","MatSelect","NgZone","id","text","ɵɵrestoreView","_r8_1","i_r6","$implicit","ɵɵnextContext","selectItem","i0.ɵɵtextInterpolate1","_r11_1","onBlur","addItem","ctx_r2","searchText","CustomSelectComponent","items","allowTyping","allowRemove","placeHolder","findPlaceHolder","onSelect","onUnSelect","onAddItem","edited","tabindex","onTouchedCallback","onChangeCallback","CustomSelectItem","undefined","relatedTarget","classList","contains","selectedModelValue","keyPress","clicked","setDisabledState","isDisabled","arrowClick","input","focus","onDrop","ɵɵpureFunction0","_c2$1","_r0","InputFileComponent","fileFormData","emptyFileLabel","fileTypes","onInvalidFileType","fileUrl","hasFile","fileName","isFileTypeSupported","typesSupported","typeInvalid","reader","loadEvent","fileType","InputsModule","providers","imports","RouterModule","forChild","CommonModule","FormsModule","MatFormFieldModule","MatInputModule","MatPasswordStrengthModule","MatSelectModule","MatSelectFilterModule","NgSelectModule","PipeModule","MatIconModule","TranslateModule","IconsModule","MatTooltipModule","DndModule","declarations","i1$3","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {ControlValueAccessor} from '@angular/forms';\n\nexport abstract class ValueAccessorBase<T> implements ControlValueAccessor {\n\n private innerValue: any;\n\n public onChange: any = () => {};\n public onTouched: any = () => {};\n\n get value(): T {\n return this.innerValue;\n }\n\n set value(value: T) {\n value = this.changeValue(value);\n this.innerValue = value;\n this.onChange(value);\n this.onTouched();\n }\n\n protected changeValue(value: T): T {\n return value;\n }\n\n writeValue(value: T): void {\n this.innerValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n touch(): void {\n this.onTouched.forEach((f: () => any) => f());\n }\n\n}\n","<mat-form-field class=\"apipass-select apipass-select-enum\" appearance=\"fill\">\n <mat-select [(ngModel)]=\"value\" [disabled]=\"disabled\" (click)=\"search = ''\" [placeholder]=\"placeholder\">\n <mat-option class=\"mat-select-input\" *ngIf=\"enabledSearch\" (keydown)=\"onKeyDown($event)\" disabled=\"disabled\">\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"search\" />\n </mat-option>\n <mat-option *ngFor=\"let enumData of data | enum | selectEnumFilter: search\" [value]=\"enumData.key\">{{enumData.value | translate}}</mat-option>\n </mat-select>\n</mat-form-field>\n","import {Component, forwardRef, Input, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'select-enum',\n templateUrl: 'select-enum.component.html',\n styleUrls: ['select-enum.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectEnumComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectEnumComponent extends ValueAccessorBase<string> {\n\n @Input() public placeholder = 'Selecione';\n @Input() public enabledSearch = true;\n @Input() public data: any;\n @Input() public disabled = false;\n\n public search = '';\n\n onKeyDown(event: any): void {\n if (event.which === 32) {event.target.value += ' '; }\n event.stopPropagation();\n }\n\n}\n","<mat-form-field\n class=\"apipass-input-password apipass-input-text\"\n [color]=\"passwordComponent.color\"\n [ngClass]=\"{'label-input': label}\"\n appearance=\"fill\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput #password\n [type]=\"toggle.type\"\n [disabled]=\"disabled\"\n [maxLength]=\"maxLength\"\n [minlength]=\"minLength\"\n class=\"apipass-input\"\n required\n [(ngModel)]=\"value\" />\n <mat-pass-toggle-visibility #toggle matSuffix></mat-pass-toggle-visibility>\n <mat-hint align=\"end\" aria-live=\"polite\" *ngIf=\"showPasswordLengthDetails\">\n {{password.value.length}} / {{passwordComponent.max}}\n </mat-hint>\n</mat-form-field>\n\n<mat-password-strength\n class=\"green\"\n #passwordComponent\n (onStrengthChanged)=\"onStrengthChanged($event)\"\n [enableLengthRule]=\"enableLengthRule\"\n [min]=\"minLength\" [max]=\"maxLength\"\n [enableLowerCaseLetterRule]=\"enableLowerCaseLetterRule\"\n [enableUpperCaseLetterRule]=\"enableUpperCaseLetterRule\"\n [enableDigitRule]=\"enableDigitRule\"\n [enableSpecialCharRule]=\"enableSpecialCharRule\"\n [password]=\"password.value\">\n</mat-password-strength>\n\n<mat-password-strength-info\n *ngIf=\"showPasswordRuleDetails\"\n [lowerCaseCriteriaMsg]=\"lowerCaseCriteriaMsg\"\n [upperCaseCriteriaMsg]=\"upperCaseCriteriaMsg\"\n [digitsCriteriaMsg]=\"digitsCriteriaMsg\"\n [specialCharsCriteriaMsg]=\"specialCharsCriteriaMsg\"\n [minCharsCriteriaMsg]=\"minCharsCriteriaMsg\"\n [passwordComponent]=\"passwordComponent\">\n</mat-password-strength-info>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\nimport * as lodash from 'lodash';\n\n@Component({\n selector: 'input-password',\n templateUrl: 'input-password.component.html',\n styleUrls: ['input-password.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputPasswordComponent),\n multi: true\n }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class InputPasswordComponent extends ValueAccessorBase<string> {\n\n @Input() label = '';\n @Input() disabled = false;\n\n @Input() showPasswordRuleDetails = false;\n @Input() showPasswordLengthDetails = false;\n\n @Input() enableLengthRule = false;\n @Input() enableLowerCaseLetterRule = false;\n @Input() enableUpperCaseLetterRule = false;\n @Input() enableDigitRule = false;\n @Input() enableSpecialCharRule = false;\n @Input() minLength = 0;\n @Input() maxLength = 200;\n @Input() strengthToValid = 100;\n\n @Input() lowerCaseCriteriaMsg = 'Your password must have a lowercase letter';\n @Input() upperCaseCriteriaMsg = 'Your password must have an uppercase letter';\n @Input() digitsCriteriaMsg = 'Your password must have a number';\n @Input() specialCharsCriteriaMsg = 'Your password must have a special character';\n @Input() minCharsCriteriaMsg = `Your password must be at least ${this.minLength} characters`;\n\n\n @Output() public onValidPassword = new EventEmitter<boolean>();\n\n constructor() {\n super();\n }\n\n public onKeyDown(event: any): void {\n if (event.which === 32) {event.target.value += ' '; }\n event.stopPropagation();\n }\n\n public onStrengthChanged(strength: number): void {\n this.onValidPassword.emit(strength >= this.getStrength());\n }\n\n private getStrength(): number {\n return lodash.inRange(this.strengthToValid, 0, 100) ? this.strengthToValid : 100;\n }\n\n}\n","<mat-form-field class=\"apipass-input-text label-input\" appearance=\"fill\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-icon class=\"mat-icon-prefix\" matSuffix *ngIf=\"iconPrefix\" (click)=\"prefixClick()\">{{iconPrefix}}</mat-icon>\n <input matInput type=\"text\" class=\"input-text\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [autocomplete]=\"autoComplete\" />\n <mat-icon class=\"mat-icon-suffix\" matSuffix *ngIf=\"iconSuffix\" (click)=\"suffixClick()\">{{iconSuffix}}</mat-icon>\n</mat-form-field>\n","import {Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'input-text',\n templateUrl: 'input-text.component.html',\n styleUrls: ['input-text.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputTextComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputTextComponent extends ValueAccessorBase<string> {\n\n @Input() label = '';\n @Input() disabled = false;\n @Input() iconSuffix = '';\n @Input() iconPrefix = '';\n @Input() autoComplete = 'on';\n\n @Output() public suffixIconClick = new EventEmitter<boolean>();\n @Output() public prefixIconClick = new EventEmitter<boolean>();\n\n onKeyDown(event: any): void {\n if (event.which === 32) {\n event.target.value += ' ';\n }\n event.stopPropagation();\n }\n\n prefixClick(): void {\n this.prefixIconClick.emit(true);\n }\n\n suffixClick(): void {\n this.suffixIconClick.emit(true);\n }\n\n}\n","<div class=\"input-avatar\" [ngStyle]=\"{'width': width, 'height': height}\">\n <img loading=\"lazy\" [src]=\"avatarUrl\" [alt]=\"imageAlt\" [matTooltip]=\"imageTitle\"\n [ngStyle]=\"{'width': width, 'height': 'auto', 'max-height': '100%', 'border-radius': imageBorderRadius}\"/>\n <div class=\"image-backdrop\" *ngIf=\"canAction()\" [ngStyle]=\"{'width': width, 'height': height, 'border-radius': imageBorderRadius}\"></div>\n <div class=\"image-actions\" *ngIf=\"canAction()\" [ngStyle]=\"{'width': width, 'height': height, 'border-radius': imageBorderRadius}\">\n <icon *ngIf=\"!hasImage() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = null;\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasImage() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n <icon *ngIf=\"hasImage() && canRemove\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"removeTitle\"\n (click)=\"removeClick(); actionFile.value = '';\"\n [type]=\"'remove'\"\n [name]=\"'fas fa-trash-alt'\"></icon>\n </div>\n <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n</div>\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'input-avatar',\n templateUrl: 'input-avatar.component.html',\n styleUrls: ['input-avatar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputAvatarComponent {\n\n @Input() avatarFormData: FormData = new FormData();\n @Input() avatarUrl: string | ArrayBuffer | null = 'assets/images/no-image.png';\n @Input() imageAlt = 'Avatar';\n @Input() imageTitle = '';\n\n @Input() canRemove = false;\n @Input() removeTitle = '';\n\n @Input() canUpload = false;\n @Input() uploadTitle = '';\n\n @Input() canModify = false;\n @Input() modifyTitle = '';\n\n @Input() imageBorderRadius = '50%';\n @Input() width = '65px';\n @Input() height = '65px';\n @Input() iconFontSize = '16px';\n\n @Output() public onFileChanged = new EventEmitter<{ avatarUrl: string | ArrayBuffer | null, avatarFormData: FormData }>();\n\n public hasImage(): boolean {\n return this.avatarUrl !== 'assets/images/no-image.png';\n }\n\n public canAction(): boolean {\n return this.canRemove || this.canModify || this.canUpload;\n }\n\n public fileChange(event: any): void {\n const fileList: FileList = event.target.files;\n if (fileList.length > 0) {\n const file: File = fileList[0];\n this.avatarFormData = new FormData();\n this.avatarFormData.append('file', file, file.name);\n if (!file.type.match(/image\\/*/)) {\n return;\n }\n const reader = new FileReader();\n reader.readAsDataURL(fileList[0]);\n reader.onload = () => {\n this.avatarUrl = reader.result;\n this.emitChangeEvent();\n };\n }\n }\n\n removeClick(): void {\n this.avatarFormData = new FormData();\n this.avatarUrl = 'assets/images/no-image.png';\n this.emitChangeEvent();\n }\n\n private emitChangeEvent(): void {\n this.onFileChanged.emit({avatarUrl: this.avatarUrl, avatarFormData: this.avatarFormData});\n }\n\n}\n","import {Component, Input} from '@angular/core';\nimport {FormControl} from '@angular/forms';\n\n@Component({\n selector: 'app-field',\n template: `\n <div [ngClass]=\"{'has-error':state && !state.valid && (!state.pristine || state.touched) && state.errors}\">\n <label class=\"label-text\" *ngIf=\"label\">{{ label | translate }}</label>\n\n <!-- Input, textarea or select -->\n <ng-content></ng-content>\n\n <span *ngIf=\"state && !state.valid && !state.pristine && state.touched && state.errors\" class=\"help-block text-danger\">\n <span *ngIf=\"state.hasError('required')\">Este campo é obrigatório</span>\n <span *ngIf=\"!state.hasError('required') && state.hasError('validateEmail')\">E-mail inválido</span>\n <span *ngIf=\"!state.hasError('required') && state.hasError('minlength')\">Tamanho mínimo inválido</span>\n </span>\n </div>\n `\n})\nexport class FieldComponent {\n\n /**\n * Texto para label do Input\n */\n @Input() label = '';\n\n /**\n * Estado do input no formulário para validar quando\n * é necessário exibir as mensagens de erro.\n */\n @Input() state: FormControl | undefined;\n\n}\n","<ng-select #ngSelectComponent\n [(ngModel)]=\"value\"\n [items]=\"visibleItens\"\n [virtualScroll]=\"true\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder\"\n [clearAllText]=\"clearText\"\n [searchable]=\"enabledSearch\"\n [typeToSearchText]=\"searchPlaceHolder\"\n (open)=\"openSelectBox($event)\"\n (close)=\"onClose($event)\"\n (clear)=\"onClear()\"\n [notFoundText]=\"notFoundText\"\n [disabled]=\"disabled\"\n appendTo=\"body\"\n (scroll)=\"onScroll($event)\"\n (scrollToEnd)=\"onScrollToEnd()\"\n (change)=\"onSelectionChange($event)\"\n [typeahead]=\"inputFilter\"\n [ngClass]=\"{'apipass-select-image' : bindImageUrl, 'apipass-select': !bindImageUrl}\"\n [compareWith]=\"compareFn\">\n\n <ng-template ng-label-tmp let-item=\"item\" [ngIf]=\"value && value[bindKey] && value[bindValue]\">\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\"\n *ngIf=\"value && value[bindKey] && value[bindValue] && bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"value[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"value[bindValue]\"\n [matTooltip]=\"value[bindValue]\"\n style=\"width: auto;max-width: 40px;height: 40px;\"\n />\n </div>\n <span class=\"select-text-element\" *ngIf=\"value && value[bindKey] && value[bindValue]\">{{value[bindValue]}}</span>\n </ng-template>\n\n <ng-template ng-header-tmp [ngIf]=\"this.showAddNewItem\">\n <div class=\"add-new-item-option\" style=\"display: flex; align-items: center; cursor: pointer;\" (click)=\"onAddNewItem()\">\n <icon style=\"margin-right: 5px\" *ngIf=\"addNewItemIcon\" [title]=\"addNewItemText\" [name]=\"addNewItemIcon\" [size]=\"20\"></icon>\n <span class=\"add-new-item-text\" style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\"\n *ngIf=\"addNewItemText\">{{addNewItemText}}</span>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\" *ngIf=\"bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"item[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"item[bindValue]\"\n [matTooltip]=\"item[bindValue]\"\n style=\"width: auto;max-width: 40px;height: 40px;\"\n />\n </div>\n <span class=\"select-text-element\"\n style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\">{{item[bindValue]}}</span>\n </ng-template>\n\n</ng-select>\n","import {Component, EventEmitter, forwardRef, Input, OnInit, Output, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Subject} from 'rxjs';\nimport {debounceTime, distinctUntilChanged} from 'rxjs/operators';\nimport {NgSelectComponent} from '@ng-select/ng-select';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'select-box',\n templateUrl: 'select-box.component.html',\n styleUrls: ['select-box.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectBoxComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectBoxComponent extends ValueAccessorBase<any> implements OnInit {\n\n @Input() public placeholder = 'Selecione';\n @Input() public searchPlaceHolder = 'Buscar';\n @Input() public clearText = 'Limpar';\n @Input() public notFoundText = 'Nenhum item encontrado';\n @Input() public enabledSearch = true;\n @Input() public data: Array<any> = [];\n @Input() public disabled = false;\n @Input() public selectedItem: any;\n\n @Input() public bindImageUrl = '';\n @Input() public bindKey = '';\n @Input() public bindValue = '';\n\n @Input() public limitItens = 30;\n\n @Input() public showAddNewItem = false;\n @Input() public addNewItemText = '';\n @Input() public addNewItemIcon = '';\n @Input() public addNewItemClickCloseSelect = false;\n\n @Output() public onOpenSelectBox = new EventEmitter<any>();\n @Output() public onCloseSelectBox = new EventEmitter<any>();\n @Output() public onSelectChange = new EventEmitter<any>();\n @Output() public onSelectClear = new EventEmitter<any>();\n @Output() public onAddNewItemClick = new EventEmitter<any>();\n\n @ViewChild('ngSelectComponent')\n public ngSelectComponent: NgSelectComponent | undefined;\n\n public visibleItens: Array<any> = [];\n public loading = false;\n public inputFilter = new Subject<string>();\n public lastSearchTerm = '';\n\n ngOnInit(): void {\n this.onSearch();\n }\n\n onSearch(): void {\n this.inputFilter.pipe(debounceTime(200), distinctUntilChanged()).subscribe(searchString => {\n this.loading = true;\n this.lastSearchTerm = searchString;\n if (searchString && this.data) {\n this.visibleItens = this.data.filter(\n item => item[this.bindValue]?.toLowerCase().includes(searchString.toLowerCase())\n ).slice(0, this.limitItens);\n } else if (this.data) {\n this.visibleItens = this.data.slice(0, this.limitItens);\n } else {\n this.visibleItens = [];\n }\n setTimeout(() => this.loading = false, 300);\n });\n }\n\n // @ts-ignore\n onScroll({end}): void {\n if (this.loading || this.data.length <= this.visibleItens.length) {\n return;\n }\n if (end + 5 >= this.visibleItens.length) {\n this.fetchMore();\n }\n }\n\n onScrollToEnd(): void {\n if (this.loading) {\n return;\n }\n this.fetchMore();\n }\n\n fetchMore(): void {\n this.loading = true;\n const len = this.visibleItens.length;\n const more = this.lastSearchTerm ?\n this.data.filter(\n item => item[this.bindValue]?.toLowerCase().includes(this.lastSearchTerm.toLowerCase())\n ).slice(len, this.limitItens + len) :\n this.data.slice(len, this.limitItens + len);\n this.visibleItens = this.visibleItens.concat(more);\n this.loading = false;\n }\n\n onKeyDown(event: any): void {\n if (event.which === 32) {\n event.target.value += ' ';\n }\n event.stopPropagation();\n }\n\n onSelectionChange(event: Event): void {\n this.selectedItem = this.data?.filter(el => el[this.bindKey] === this.value)[0];\n this.onSelectChange.emit(this.selectedItem);\n }\n\n openSelectBox($event: any): void {\n this.visibleItens = [];\n if (this.data) {\n this.visibleItens = this.data.slice(0, this.limitItens);\n }\n this.onOpenSelectBox.next();\n }\n\n public compareFn(a: any, b: any): boolean {\n return a[this.bindKey] === b[this.bindKey];\n }\n\n onClear(): void {\n this.onSelectClear.next();\n }\n\n onClose($event?: any): void {\n this.onCloseSelectBox.next();\n }\n\n onAddNewItem(): void {\n if (this.addNewItemClickCloseSelect) {\n this.ngSelectComponent?.close();\n }\n this.onAddNewItemClick.next();\n }\n\n}\n","import {AfterViewInit, Directive, EventEmitter, Input, NgZone, OnDestroy, OnInit, Output} from '@angular/core';\nimport {MatSelect} from '@angular/material/select';\nimport {debounceTime, takeUntil, tap} from 'rxjs/operators';\nimport {fromEvent, Subject} from 'rxjs';\n\n/** The height of the select items in `em` units. */\nconst SELECT_ITEM_HEIGHT_EM = 3;\n\n@Directive({\n selector: '[msInfiniteScroll]'\n})\nexport class MatSelectInfiniteScrollDirective implements OnInit, OnDestroy, AfterViewInit {\n\n @Input() threshold = '15%';\n @Input() debounceTime = 150;\n @Input() complete!: boolean;\n @Output() infiniteScroll = new EventEmitter<void>();\n\n private panel!: Element;\n private thrPx = 0;\n private thrPc = 0;\n private singleOptionHeight = SELECT_ITEM_HEIGHT_EM;\n\n private destroyed$ = new Subject<boolean>();\n\n constructor(private matSelect: MatSelect, private ngZone: NgZone) {\n }\n\n ngOnInit(): void {\n this.evaluateThreshold();\n }\n\n ngAfterViewInit(): void {\n this.matSelect.openedChange.pipe(\n takeUntil(this.destroyed$)\n ).subscribe((opened) => {\n if (opened) {\n this.panel = this.matSelect.panel.nativeElement;\n this.singleOptionHeight = this.getSelectItemHeightPx();\n this.registerScrollListener();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next(true);\n this.destroyed$.complete();\n }\n\n evaluateThreshold(): void {\n if (this.threshold.lastIndexOf('%') > -1) {\n this.thrPx = 0;\n this.thrPc = (parseFloat(this.threshold) / 100);\n\n } else {\n this.thrPx = parseFloat(this.threshold);\n this.thrPc = 0;\n }\n }\n\n registerScrollListener(): void {\n fromEvent(this.panel, 'scroll').pipe(\n takeUntil(this.destroyed$),\n debounceTime(this.debounceTime),\n tap((event) => {\n this.handleScrollEvent(event);\n })\n ).subscribe();\n }\n\n handleScrollEvent(event: any): void {\n this.ngZone.runOutsideAngular(() => {\n if (this.complete) {\n return;\n }\n const countOfRenderedOptions = this.matSelect.options.length;\n const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions;\n const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx;\n\n const scrolledDistance = this.panel.clientHeight + event.target.scrollTop;\n\n if ((scrolledDistance + threshold) >= infiniteScrollDistance) {\n this.ngZone.run(() => this.infiniteScroll.emit());\n }\n });\n }\n\n getSelectItemHeightPx(): number {\n return parseFloat(getComputedStyle(this.panel).fontSize) * SELECT_ITEM_HEIGHT_EM;\n }\n\n}\n","export class CustomSelectItem {\n public id: string | undefined | null;\n public text: string;\n\n constructor(id: string | undefined | null, text: string) {\n this.id = id;\n this.text = text;\n }\n}\n","<mat-form-field class=\"custom-select-component\" [ngClass]=\"{'select-open' : opened}\" appearance=\"fill\" autocomplete=\"off\">\n <input matInput #input\n [placeholder]=\"placeHolder\"\n (focus)=\"opened = true\"\n (blur)=\"onBlur($event)\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled\"\n (keyup)=keyPress()\n (click)=\"clicked()\"\n dndDropzone\n (dndDrop)=\"onDrop($event)\"\n autocomplete=\"off\"\n />\n <span *ngIf=\"allowRemove\" title=\"Remover\" class=\"remove-icon\" (click)=\"removeClick($event)\">\n <i class=\"fa fa-times\"></i>\n </span>\n <span class=\"open-icon\" (click)=\"arrowClick()\">\n <i class=\"fa fa-caret-down\"></i>\n </span>\n</mat-form-field>\n<div class=\"custom-select-component\">\n <ul class=\"ul-ac\" *ngIf=\"opened && ((value && value.length !== 0) || items)\">\n <li class=\"li-search search-input-item\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"fill\">\n <input matInput class=\"search-input-item\"\n [placeholder]=\"findPlaceHolder\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n aria-autocomplete=\"none\"\n />\n </mat-form-field>\n </li>\n\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\n (click)=\"selectItem(i)\"\n (mousedown)=\"selectItem(i)\">\n {{i.text}}\n </li>\n\n <li class=\"li-add\" (mousedown)=\"addItem()\" (click)=\"addItem()\">\n <span class=\"fa fa-plus-circle\"></span>\n <span>Adicionar novo item</span>\n </li>\n </ul>\n</div>\n","import {Component, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {CustomSelectItem} from './custom-select-item';\n\n@Component({\n selector: 'custom-select',\n templateUrl: 'custom-select.component.html',\n styleUrls: ['custom-select.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomSelectComponent),\n multi: true\n }]\n\n})\nexport class CustomSelectComponent implements ControlValueAccessor {\n\n @Input() disabled = false;\n @Input() public items: CustomSelectItem[] = [];\n @Input() allowTyping = false;\n @Input() allowRemove = false;\n @Input() placeHolder = 'Selecione';\n @Input() findPlaceHolder = 'Busque um item';\n @Input() searchText = '';\n\n @Output() onSelect: EventEmitter<CustomSelectItem> = new EventEmitter();\n @Output() onUnSelect: EventEmitter<any> = new EventEmitter();\n @Output() onAddItem: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('input', { static: true }) input: ElementRef | undefined;\n\n public opened = false;\n public selectedItem: CustomSelectItem | undefined;\n private innerValue: any;\n private selectedModelValue: string | undefined;\n\n private edited = false;\n\n @HostBinding('attr.tabindex') tabindex = '0';\n @HostListener('blur', ['$event.target']) onBlur(target: any): void {\n if (this.allowTyping) {\n if (this.value) {\n if (this.edited) {\n this.writeValue(this.value);\n this.selectedItem = new CustomSelectItem(this.value, this.value);\n this.onSelect.next(this.selectedItem);\n }\n } else {\n this.writeValue(undefined);\n this.onSelect.next(undefined);\n }\n }\n if (target && target.relatedTarget && target.relatedTarget.classList.contains('search-input-item')) {\n return;\n }\n this.opened = false;\n }\n\n\n public selectItem(item: CustomSelectItem): void {\n this.opened = false;\n this.selectedItem = item;\n this.edited = false;\n this.selectedModelValue = item.text;\n this.value = item.text;\n this.searchText = '';\n this.onSelect.next(item);\n }\n\n public addItem(): void {\n this.opened = false;\n this.searchText = '';\n this.onAddItem.next();\n }\n\n public keyPress(): any {\n if (this.allowTyping) {\n this.opened = false;\n this.edited = true;\n this.selectedModelValue = this.value;\n this.searchText = '';\n } else {\n this.edited = false;\n return false;\n }\n }\n\n public clicked(): void {\n this.opened = true;\n this.searchText = '';\n }\n\n private onTouchedCallback: () => void = () => {\n }\n\n private onChangeCallback: (_: any) => void = () => {\n }\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(value: any) {\n this.innerValue = value;\n this.onChangeCallback(value);\n this.onSelect.next(value);\n }\n\n writeValue(value: any): void {\n if (value !== this.innerValue) {\n if (!this.selectedItem || !this.selectedItem.text || !value) {\n this.selectedItem = new CustomSelectItem(null, value);\n }\n this.innerValue = value;\n this.selectedModelValue = value;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public arrowClick(): void {\n this.opened = true;\n this.searchText = '';\n this.input?.nativeElement.focus();\n }\n\n public removeClick(event: any): void {\n event.stopPropagation();\n this.opened = false;\n this.searchText = '';\n this.innerValue = null;\n this.onUnSelect.next();\n }\n\n public onDrop($event: any): void {\n this.searchText = '';\n if (!this.value) {\n this.value = '';\n }\n this.value += `{{${$event.data}}}`;\n }\n\n}\n"," <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n <div class=\"input-file\">\n <div class=\"file-name\" *ngIf=\"fileName || emptyFileLabel\" >\n {{fileName || emptyFileLabel}}\n </div>\n <div class=\"file-actions\">\n <icon *ngIf=\"!hasFile() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = null;\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasFile() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = null;\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n </div>\n </div>\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'input-file',\n templateUrl: 'input-file.component.html',\n styleUrls: ['input-file.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputFileComponent {\n\n @Input() fileFormData: FormData = new FormData();\n @Input() fileName: string | undefined;\n\n @Input() canRemove = false;\n @Input() canUpload = false;\n\n @Input() uploadTitle = '';\n\n @Input() canModify = false;\n @Input() modifyTitle = '';\n\n @Input() iconFontSize = '16px';\n\n @Input() emptyFileLabel = '';\n @Input() fileTypes: Array<string> = [];\n\n @Output() public onFileChanged = new EventEmitter<{ fileUrl: boolean, fileFormData: FormData }>();\n @Output() public onInvalidFileType = new EventEmitter<{fileName: string, typesSupported: Array<string>, typeInvalid: string}>();\n\n public fileUrl = false;\n\n public hasFile(): boolean {\n return this.fileUrl;\n }\n\n public canAction(): boolean {\n return this.canRemove || this.canModify || this.canUpload;\n }\n\n public fileChange(event: any): void {\n const fileList: FileList = event.target.files;\n if (fileList.length > 0) {\n const file: File = fileList[0];\n this.fileName = file.name;\n if (!this.isFileTypeSupported(file.type)) {\n this.onInvalidFileType.emit({fileName: this.fileName, typesSupported: this.fileTypes, typeInvalid: file.type});\n return;\n }\n this.fileFormData = new FormData();\n this.fileFormData.append('file', file, file.name);\n const reader = new FileReader();\n reader.readAsDataURL(fileList[0]);\n reader.onload = (loadEvent) => {\n this.fileUrl = true;\n this.emitChangeEvent();\n };\n }\n }\n\n public isFileTypeSupported(fileType: any): boolean {\n return !this.fileTypes || this.fileTypes.includes(fileType);\n }\n\n private emitChangeEvent(): void {\n this.onFileChanged.emit({fileUrl: this.fileUrl, fileFormData: this.fileFormData});\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {SelectEnumComponent} from './select-enum/select-enum.component';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {InputPasswordComponent} from './input-password/input-password.component';\nimport {InputTextComponent} from './input-text/input-text.component';\nimport {InputAvatarComponent} from './input-avatar/input-avatar.component';\nimport {FieldComponent} from './field/field.component';\nimport {SelectBoxComponent} from './select-box/select-box.component';\nimport {MatSelectFilterModule} from 'mat-select-filter';\nimport {MatSelectInfiniteScrollDirective} from './select-box/mat-select-infinite-scroll.directive';\nimport {NgSelectModule} from '@ng-select/ng-select';\nimport {CustomSelectComponent} from './custom-select/custom-select.component';\nimport {DndModule} from 'ngx-drag-drop';\nimport {IconsModule} from '@apipass/icons';\nimport {PipeModule} from '@apipass/pipes';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {RouterModule} from '@angular/router';\nimport {MatPasswordStrengthModule} from '@angular-material-extensions/password-strength';\nimport {InputFileComponent} from './input-file/input-file.component';\n\n@NgModule({\n imports: [\n RouterModule.forChild([]),\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatPasswordStrengthModule,\n MatSelectModule,\n MatSelectFilterModule,\n NgSelectModule,\n PipeModule,\n MatIconModule,\n TranslateModule,\n IconsModule,\n MatTooltipModule,\n DndModule,\n ],\n declarations: [\n MatSelectInfiniteScrollDirective,\n SelectBoxComponent,\n SelectEnumComponent,\n InputTextComponent,\n InputPasswordComponent,\n InputAvatarComponent,\n InputFileComponent,\n CustomSelectComponent,\n FieldComponent\n ],\n exports: [\n SelectBoxComponent,\n SelectEnumComponent,\n InputTextComponent,\n InputPasswordComponent,\n InputAvatarComponent,\n InputFileComponent,\n CustomSelectComponent,\n FieldComponent\n ],\n providers: [],\n})\nexport class InputsModule {\n}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/inputs/src/value-acessor-base.ts","../../../projects/inputs/src/select-enum/select-enum.component.html","../../../projects/inputs/src/select-enum/select-enum.component.ts","../../../projects/inputs/src/input-password/input-password.component.html","../../../projects/inputs/src/input-password/input-password.component.ts","../../../projects/inputs/src/input-text/input-text.component.html","../../../projects/inputs/src/input-text/input-text.component.ts","../../../projects/inputs/src/input-avatar/input-avatar.component.html","../../../projects/inputs/src/input-avatar/input-avatar.component.ts","../../../projects/inputs/src/field/field.component.ts","../../../projects/inputs/src/select-box/select-box.component.html","../../../projects/inputs/src/select-box/select-box.component.ts","../../../projects/inputs/src/select-box/mat-select-infinite-scroll.directive.ts","../../../projects/inputs/src/custom-select/custom-select-item.ts","../../../projects/inputs/src/custom-select/custom-select.component.html","../../../projects/inputs/src/custom-select/custom-select.component.ts","../../../projects/inputs/src/input-file/input-file.component.html","../../../projects/inputs/src/input-file/input-file.component.ts","../../../projects/inputs/src/inputs.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","ValueAccessorBase","onChange","onTouched","defineProperty","innerValue","changeValue","writeValue","registerOnChange","fn","registerOnTouched","touch","forEach","f","i0.ɵɵelementStart","i0.ɵɵlistener","i0.ɵɵelementEnd","i0.ɵɵadvance","i0.ɵɵproperty","i0.ɵɵtext","i0.ɵɵtextInterpolate","SelectEnumComponent","_this","_super","apply","placeholder","enabledSearch","disabled","search","onKeyDown","event","which","target","stopPropagation","selectors","inputs","data","features","i0","ɵɵProvidersFeature","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","i0.ɵɵtemplate","i0.ɵɵtextInterpolate2","i0.ɵɵelement","ctx_r5","upperCaseCriteriaMsg","digitsCriteriaMsg","specialCharsCriteriaMsg","minCharsCriteriaMsg","_r4","InputPasswordComponent","label","showPasswordRuleDetails","showPasswordLengthDetails","enableLengthRule","enableLowerCaseLetterRule","enableUpperCaseLetterRule","enableDigitRule","enableSpecialCharRule","minLength","maxLength","strengthToValid","lowerCaseCriteriaMsg","onValidPassword","EventEmitter","onStrengthChanged","strength","emit","getStrength","lodash.inRange","outputs","$event","ɵɵpureFunction1","_c0","_r1","InputTextComponent","iconSuffix","iconPrefix","autoComplete","suffixIconClick","prefixIconClick","prefixClick","suffixClick","_r2","click","ctx_r3","uploadTitle","ctx_r4","modifyTitle","removeTitle","InputAvatarComponent","avatarFormData","FormData","avatarUrl","imageAlt","imageTitle","canRemove","canUpload","canModify","imageBorderRadius","width","height","iconFontSize","onFileChanged","hasImage","canAction","fileChange","fileList","files","file","append","name","type","match","reader_1","FileReader","readAsDataURL","onload","result","emitChangeEvent","removeClick","ɵɵpureFunction2","_c3","FieldComponent","state","ngContentSelectors","i0.ɵɵprojection","bindValue","ctx_r7","addNewItemIcon","item_r11","ctx_r13","SelectBoxComponent","searchPlaceHolder","clearText","notFoundText","bindImageUrl","bindKey","limitItens","showAddNewItem","addNewItemText","addNewItemClickCloseSelect","closeOnBodyScroll","onOpenSelectBox","onCloseSelectBox","onSelectChange","onSelectClear","onAddNewItemClick","visibleItens","loading","inputFilter","Subject","lastSearchTerm","onBodyScroll","_a","ngSelectComponent","isOpen","_b","className","indexOf","close","ngOnInit","onSearch","window","addEventListener","ngOnDestroy","removeEventListener","pipe","debounceTime","distinctUntilChanged","subscribe","searchString","filter","item","toLowerCase","includes","slice","setTimeout","onScroll","_c","end","fetchMore","onScrollToEnd","len","more","onSelectionChange","selectedItem","el","openSelectBox","compareFn","a","onClear","onClose","onAddNewItem","viewQuery","_c1$2","MatSelectInfiniteScrollDirective","matSelect","ngZone","threshold","infiniteScroll","thrPx","thrPc","singleOptionHeight","destroyed$","evaluateThreshold","ngAfterViewInit","openedChange","takeUntil","opened","panel","nativeElement","getSelectItemHeightPx","registerScrollListener","complete","lastIndexOf","parseFloat","fromEvent","tap","handleScrollEvent","runOutsideAngular","countOfRenderedOptions","options","infiniteScrollDistance","clientHeight","scrollTop","run","getComputedStyle","fontSize","ɵɵdirectiveInject","i1$1","MatSelect","NgZone","id","text","ɵɵrestoreView","_r8_1","i_r6","$implicit","ɵɵnextContext","selectItem","i0.ɵɵtextInterpolate1","_r11_1","onBlur","addItem","ctx_r2","searchText","CustomSelectComponent","items","allowTyping","allowRemove","placeHolder","findPlaceHolder","onSelect","onUnSelect","onAddItem","edited","tabindex","onTouchedCallback","onChangeCallback","CustomSelectItem","undefined","relatedTarget","classList","contains","selectedModelValue","keyPress","clicked","setDisabledState","isDisabled","arrowClick","input","focus","onDrop","ɵɵpureFunction0","_c2$1","_r0","InputFileComponent","fileFormData","emptyFileLabel","fileTypes","onInvalidFileType","fileUrl","hasFile","fileName","isFileTypeSupported","typesSupported","typeInvalid","reader","loadEvent","fileType","InputsModule","providers","imports","RouterModule","forChild","CommonModule","FormsModule","MatFormFieldModule","MatInputModule","MatPasswordStrengthModule","MatSelectModule","MatSelectFilterModule","NgSelectModule","PipeModule","MatIconModule","TranslateModule","IconsModule","MatTooltipModule","DndModule","declarations","i1$3","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {ControlValueAccessor} from '@angular/forms';\n\nexport abstract class ValueAccessorBase<T> implements ControlValueAccessor {\n\n private innerValue: any;\n\n public onChange: any = () => {};\n public onTouched: any = () => {};\n\n get value(): T {\n return this.innerValue;\n }\n\n set value(value: T) {\n value = this.changeValue(value);\n this.innerValue = value;\n this.onChange(value);\n this.onTouched();\n }\n\n protected changeValue(value: T): T {\n return value;\n }\n\n writeValue(value: T): void {\n this.innerValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n touch(): void {\n this.onTouched.forEach((f: () => any) => f());\n }\n\n}\n","<mat-form-field class=\"apipass-select apipass-select-enum\" appearance=\"fill\">\n <mat-select [(ngModel)]=\"value\" [disabled]=\"disabled\" (click)=\"search = ''\" [placeholder]=\"placeholder\">\n <mat-option class=\"mat-select-input\" *ngIf=\"enabledSearch\" (keydown)=\"onKeyDown($event)\" disabled=\"disabled\">\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"search\" />\n </mat-option>\n <mat-option *ngFor=\"let enumData of data | enum | selectEnumFilter: search\" [value]=\"enumData.key\">{{enumData.value | translate}}</mat-option>\n </mat-select>\n</mat-form-field>\n","import {Component, forwardRef, Input, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'select-enum',\n templateUrl: 'select-enum.component.html',\n styleUrls: ['select-enum.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectEnumComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectEnumComponent extends ValueAccessorBase<string> {\n\n @Input() public placeholder = 'Selecione';\n @Input() public enabledSearch = true;\n @Input() public data: any;\n @Input() public disabled = false;\n\n public search = '';\n\n onKeyDown(event: any): void {\n if (event.which === 32) {event.target.value += ' '; }\n event.stopPropagation();\n }\n\n}\n","<mat-form-field\n class=\"apipass-input-password apipass-input-text\"\n [color]=\"passwordComponent.color\"\n [ngClass]=\"{'label-input': label}\"\n appearance=\"fill\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput #password\n [type]=\"toggle.type\"\n [disabled]=\"disabled\"\n [maxLength]=\"maxLength\"\n [minlength]=\"minLength\"\n class=\"apipass-input\"\n required\n [(ngModel)]=\"value\" />\n <mat-pass-toggle-visibility #toggle matSuffix></mat-pass-toggle-visibility>\n <mat-hint align=\"end\" aria-live=\"polite\" *ngIf=\"showPasswordLengthDetails\">\n {{password.value.length}} / {{passwordComponent.max}}\n </mat-hint>\n</mat-form-field>\n\n<mat-password-strength\n class=\"green\"\n #passwordComponent\n (onStrengthChanged)=\"onStrengthChanged($event)\"\n [enableLengthRule]=\"enableLengthRule\"\n [min]=\"minLength\" [max]=\"maxLength\"\n [enableLowerCaseLetterRule]=\"enableLowerCaseLetterRule\"\n [enableUpperCaseLetterRule]=\"enableUpperCaseLetterRule\"\n [enableDigitRule]=\"enableDigitRule\"\n [enableSpecialCharRule]=\"enableSpecialCharRule\"\n [password]=\"password.value\">\n</mat-password-strength>\n\n<mat-password-strength-info\n *ngIf=\"showPasswordRuleDetails\"\n [lowerCaseCriteriaMsg]=\"lowerCaseCriteriaMsg\"\n [upperCaseCriteriaMsg]=\"upperCaseCriteriaMsg\"\n [digitsCriteriaMsg]=\"digitsCriteriaMsg\"\n [specialCharsCriteriaMsg]=\"specialCharsCriteriaMsg\"\n [minCharsCriteriaMsg]=\"minCharsCriteriaMsg\"\n [passwordComponent]=\"passwordComponent\">\n</mat-password-strength-info>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\nimport * as lodash from 'lodash';\n\n@Component({\n selector: 'input-password',\n templateUrl: 'input-password.component.html',\n styleUrls: ['input-password.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputPasswordComponent),\n multi: true\n }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class InputPasswordComponent extends ValueAccessorBase<string> {\n\n @Input() label = '';\n @Input() disabled = false;\n\n @Input() showPasswordRuleDetails = false;\n @Input() showPasswordLengthDetails = false;\n\n @Input() enableLengthRule = false;\n @Input() enableLowerCaseLetterRule = false;\n @Input() enableUpperCaseLetterRule = false;\n @Input() enableDigitRule = false;\n @Input() enableSpecialCharRule = false;\n @Input() minLength = 0;\n @Input() maxLength = 200;\n @Input() strengthToValid = 100;\n\n @Input() lowerCaseCriteriaMsg = 'Your password must have a lowercase letter';\n @Input() upperCaseCriteriaMsg = 'Your password must have an uppercase letter';\n @Input() digitsCriteriaMsg = 'Your password must have a number';\n @Input() specialCharsCriteriaMsg = 'Your password must have a special character';\n @Input() minCharsCriteriaMsg = `Your password must be at least ${this.minLength} characters`;\n\n\n @Output() public onValidPassword = new EventEmitter<boolean>();\n\n constructor() {\n super();\n }\n\n public onKeyDown(event: any): void {\n if (event.which === 32) {event.target.value += ' '; }\n event.stopPropagation();\n }\n\n public onStrengthChanged(strength: number): void {\n this.onValidPassword.emit(strength >= this.getStrength());\n }\n\n private getStrength(): number {\n return lodash.inRange(this.strengthToValid, 0, 100) ? this.strengthToValid : 100;\n }\n\n}\n","<mat-form-field class=\"apipass-input-text label-input\" appearance=\"fill\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-icon class=\"mat-icon-prefix\" matSuffix *ngIf=\"iconPrefix\" (click)=\"prefixClick()\">{{iconPrefix}}</mat-icon>\n <input matInput type=\"text\" class=\"input-text\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [autocomplete]=\"autoComplete\" />\n <mat-icon class=\"mat-icon-suffix\" matSuffix *ngIf=\"iconSuffix\" (click)=\"suffixClick()\">{{iconSuffix}}</mat-icon>\n</mat-form-field>\n","import {Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'input-text',\n templateUrl: 'input-text.component.html',\n styleUrls: ['input-text.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputTextComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputTextComponent extends ValueAccessorBase<string> {\n\n @Input() label = '';\n @Input() disabled = false;\n @Input() iconSuffix = '';\n @Input() iconPrefix = '';\n @Input() autoComplete = 'on';\n\n @Output() public suffixIconClick = new EventEmitter<boolean>();\n @Output() public prefixIconClick = new EventEmitter<boolean>();\n\n onKeyDown(event: any): void {\n if (event.which === 32) {\n event.target.value += ' ';\n }\n event.stopPropagation();\n }\n\n prefixClick(): void {\n this.prefixIconClick.emit(true);\n }\n\n suffixClick(): void {\n this.suffixIconClick.emit(true);\n }\n\n}\n","<div class=\"input-avatar\" [ngStyle]=\"{'width': width, 'height': height}\">\n <img loading=\"lazy\" [src]=\"avatarUrl\" [alt]=\"imageAlt\" [matTooltip]=\"imageTitle\"\n [ngStyle]=\"{'width': width, 'height': 'auto', 'max-height': '100%', 'border-radius': imageBorderRadius}\"/>\n <div class=\"image-backdrop\" *ngIf=\"canAction()\" [ngStyle]=\"{'width': width, 'height': height, 'border-radius': imageBorderRadius}\"></div>\n <div class=\"image-actions\" *ngIf=\"canAction()\" [ngStyle]=\"{'width': width, 'height': height, 'border-radius': imageBorderRadius}\">\n <icon *ngIf=\"!hasImage() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = null;\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasImage() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n <icon *ngIf=\"hasImage() && canRemove\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"removeTitle\"\n (click)=\"removeClick(); actionFile.value = '';\"\n [type]=\"'remove'\"\n [name]=\"'fas fa-trash-alt'\"></icon>\n </div>\n <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n</div>\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'input-avatar',\n templateUrl: 'input-avatar.component.html',\n styleUrls: ['input-avatar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputAvatarComponent {\n\n @Input() avatarFormData: FormData = new FormData();\n @Input() avatarUrl: string | ArrayBuffer | null = 'assets/images/no-image.png';\n @Input() imageAlt = 'Avatar';\n @Input() imageTitle = '';\n\n @Input() canRemove = false;\n @Input() removeTitle = '';\n\n @Input() canUpload = false;\n @Input() uploadTitle = '';\n\n @Input() canModify = false;\n @Input() modifyTitle = '';\n\n @Input() imageBorderRadius = '50%';\n @Input() width = '65px';\n @Input() height = '65px';\n @Input() iconFontSize = '16px';\n\n @Output() public onFileChanged = new EventEmitter<{ avatarUrl: string | ArrayBuffer | null, avatarFormData: FormData }>();\n\n public hasImage(): boolean {\n return this.avatarUrl !== 'assets/images/no-image.png';\n }\n\n public canAction(): boolean {\n return this.canRemove || this.canModify || this.canUpload;\n }\n\n public fileChange(event: any): void {\n const fileList: FileList = event.target.files;\n if (fileList.length > 0) {\n const file: File = fileList[0];\n this.avatarFormData = new FormData();\n this.avatarFormData.append('file', file, file.name);\n if (!file.type.match(/image\\/*/)) {\n return;\n }\n const reader = new FileReader();\n reader.readAsDataURL(fileList[0]);\n reader.onload = () => {\n this.avatarUrl = reader.result;\n this.emitChangeEvent();\n };\n }\n }\n\n removeClick(): void {\n this.avatarFormData = new FormData();\n this.avatarUrl = 'assets/images/no-image.png';\n this.emitChangeEvent();\n }\n\n private emitChangeEvent(): void {\n this.onFileChanged.emit({avatarUrl: this.avatarUrl, avatarFormData: this.avatarFormData});\n }\n\n}\n","import {Component, Input} from '@angular/core';\nimport {FormControl} from '@angular/forms';\n\n@Component({\n selector: 'app-field',\n template: `\n <div [ngClass]=\"{'has-error':state && !state.valid && (!state.pristine || state.touched) && state.errors}\">\n <label class=\"label-text\" *ngIf=\"label\">{{ label | translate }}</label>\n\n <!-- Input, textarea or select -->\n <ng-content></ng-content>\n\n <span *ngIf=\"state && !state.valid && !state.pristine && state.touched && state.errors\" class=\"help-block text-danger\">\n <span *ngIf=\"state.hasError('required')\">Este campo é obrigatório</span>\n <span *ngIf=\"!state.hasError('required') && state.hasError('validateEmail')\">E-mail inválido</span>\n <span *ngIf=\"!state.hasError('required') && state.hasError('minlength')\">Tamanho mínimo inválido</span>\n </span>\n </div>\n `\n})\nexport class FieldComponent {\n\n /**\n * Texto para label do Input\n */\n @Input() label = '';\n\n /**\n * Estado do input no formulário para validar quando\n * é necessário exibir as mensagens de erro.\n */\n @Input() state: FormControl | undefined;\n\n}\n","<ng-select #ngSelectComponent\n [(ngModel)]=\"value\"\n [items]=\"visibleItens\"\n [virtualScroll]=\"true\"\n [loading]=\"loading\"\n [placeholder]=\"placeholder\"\n [clearAllText]=\"clearText\"\n [searchable]=\"enabledSearch\"\n [typeToSearchText]=\"searchPlaceHolder\"\n (open)=\"openSelectBox($event)\"\n (close)=\"onClose($event)\"\n (clear)=\"onClear()\"\n [notFoundText]=\"notFoundText\"\n [disabled]=\"disabled\"\n appendTo=\"body\"\n (scroll)=\"onScroll($event)\"\n (scrollToEnd)=\"onScrollToEnd()\"\n (change)=\"onSelectionChange($event)\"\n [typeahead]=\"inputFilter\"\n [ngClass]=\"{'apipass-select-image' : bindImageUrl, 'apipass-select': !bindImageUrl}\"\n [compareWith]=\"compareFn\">\n\n <ng-template ng-label-tmp let-item=\"item\" [ngIf]=\"value && value[bindKey] && value[bindValue]\">\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\"\n *ngIf=\"value && value[bindKey] && value[bindValue] && bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"value[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"value[bindValue]\"\n [matTooltip]=\"value[bindValue]\"\n style=\"width: auto;max-width: 40px;height: 40px;\"\n />\n </div>\n <span class=\"select-text-element\" *ngIf=\"value && value[bindKey] && value[bindValue]\">{{value[bindValue]}}</span>\n </ng-template>\n\n <ng-template ng-header-tmp [ngIf]=\"this.showAddNewItem\">\n <div class=\"add-new-item-option\" style=\"display: flex; align-items: center; cursor: pointer;\" (click)=\"onAddNewItem()\">\n <icon style=\"margin-right: 5px\" *ngIf=\"addNewItemIcon\" [title]=\"addNewItemText\" [name]=\"addNewItemIcon\" [size]=\"20\"></icon>\n <span class=\"add-new-item-text\" style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\"\n *ngIf=\"addNewItemText\">{{addNewItemText}}</span>\n </div>\n </ng-template>\n\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\n <div class=\"image\" style=\"width: 40px;height: 40px; margin-right: 10px;\" *ngIf=\"bindImageUrl\">\n <img loading=\"lazy\"\n [src]=\"item[bindImageUrl] || './assets/images/no-image.png'\"\n [alt]=\"item[bindValue]\"\n [matTooltip]=\"item[bindValue]\"\n style=\"width: auto;max-width: 40px;height: 40px;\"\n />\n </div>\n <span class=\"select-text-element\"\n style=\"white-space: nowrap;overflow: hidden;text-overflow: ellipsis;\">{{item[bindValue]}}</span>\n </ng-template>\n\n</ng-select>\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Subject} from 'rxjs';\nimport {debounceTime, distinctUntilChanged} from 'rxjs/operators';\nimport {NgSelectComponent} from '@ng-select/ng-select';\nimport {ValueAccessorBase} from '../value-acessor-base';\n\n@Component({\n selector: 'select-box',\n templateUrl: 'select-box.component.html',\n styleUrls: ['select-box.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectBoxComponent),\n multi: true\n }],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectBoxComponent extends ValueAccessorBase<any> implements OnInit, OnDestroy {\n\n @Input() public placeholder = 'Selecione';\n @Input() public searchPlaceHolder = 'Buscar';\n @Input() public clearText = 'Limpar';\n @Input() public notFoundText = 'Nenhum item encontrado';\n @Input() public enabledSearch = true;\n @Input() public data: Array<any> = [];\n @Input() public disabled = false;\n @Input() public selectedItem: any;\n\n @Input() public bindImageUrl = '';\n @Input() public bindKey = '';\n @Input() public bindValue = '';\n\n @Input() public limitItens = 30;\n\n @Input() public showAddNewItem = false;\n @Input() public addNewItemText = '';\n @Input() public addNewItemIcon = '';\n @Input() public addNewItemClickCloseSelect = false;\n\n @Input() public closeOnBodyScroll = false;\n\n @Output() public onOpenSelectBox = new EventEmitter<any>();\n @Output() public onCloseSelectBox = new EventEmitter<any>();\n @Output() public onSelectChange = new EventEmitter<any>();\n @Output() public onSelectClear = new EventEmitter<any>();\n @Output() public onAddNewItemClick = new EventEmitter<any>();\n\n @ViewChild('ngSelectComponent')\n public ngSelectComponent: NgSelectComponent | undefined;\n\n public visibleItens: Array<any> = [];\n public loading = false;\n public inputFilter = new Subject<string>();\n public lastSearchTerm = '';\n\n ngOnInit(): void {\n this.onSearch();\n if (this.closeOnBodyScroll) {\n window.addEventListener('scroll', this.onBodyScroll, true);\n }\n }\n\n private onBodyScroll = (event: any) => {\n if (this.closeOnBodyScroll && this.ngSelectComponent?.isOpen) {\n const isScrollingInScrollHost = (event.target.className as string)?.indexOf('ng-dropdown-panel-items') > -1;\n if (isScrollingInScrollHost) {\n return;\n }\n this.ngSelectComponent.close();\n }\n }\n\n ngOnDestroy(): void {\n if (this.closeOnBodyScroll) {\n window.removeEventListener('scroll', this.onBodyScroll, true);\n }\n }\n\n onSearch(): void {\n this.inputFilter.pipe(debounceTime(200), distinctUntilChanged()).subscribe(searchString => {\n this.loading = true;\n this.lastSearchTerm = searchString;\n if (searchString && this.data) {\n this.visibleItens = this.data.filter(\n item => item[this.bindValue]?.toLowerCase().includes(searchString.toLowerCase())\n ).slice(0, this.limitItens);\n } else if (this.data) {\n this.visibleItens = this.data.slice(0, this.limitItens);\n } else {\n this.visibleItens = [];\n }\n setTimeout(() => this.loading = false, 300);\n });\n }\n\n // @ts-ignore\n onScroll({end}): void {\n if (this.loading || this.data.length <= this.visibleItens.length) {\n return;\n }\n if (end + 5 >= this.visibleItens.length) {\n this.fetchMore();\n }\n }\n\n onScrollToEnd(): void {\n if (this.loading) {\n return;\n }\n this.fetchMore();\n }\n\n fetchMore(): void {\n this.loading = true;\n const len = this.visibleItens.length;\n const more = this.lastSearchTerm ?\n this.data.filter(\n item => item[this.bindValue]?.toLowerCase().includes(this.lastSearchTerm.toLowerCase())\n ).slice(len, this.limitItens + len) :\n this.data.slice(len, this.limitItens + len);\n this.visibleItens = this.visibleItens.concat(more);\n this.loading = false;\n }\n\n onKeyDown(event: any): void {\n if (event.which === 32) {\n event.target.value += ' ';\n }\n event.stopPropagation();\n }\n\n onSelectionChange(event: Event): void {\n this.selectedItem = this.data?.filter(el => el[this.bindKey] === this.value)[0];\n this.onSelectChange.emit(this.selectedItem);\n }\n\n openSelectBox($event: any): void {\n this.visibleItens = [];\n if (this.data) {\n this.visibleItens = this.data.slice(0, this.limitItens);\n }\n this.onOpenSelectBox.next();\n }\n\n public compareFn(a: any, b: any): boolean {\n return a[this.bindKey] === b[this.bindKey];\n }\n\n onClear(): void {\n this.onSelectClear.next();\n }\n\n onClose($event?: any): void {\n this.onCloseSelectBox.next();\n }\n\n onAddNewItem(): void {\n if (this.addNewItemClickCloseSelect) {\n this.ngSelectComponent?.close();\n }\n this.onAddNewItemClick.next();\n }\n\n}\n","import {AfterViewInit, Directive, EventEmitter, Input, NgZone, OnDestroy, OnInit, Output} from '@angular/core';\nimport {MatSelect} from '@angular/material/select';\nimport {debounceTime, takeUntil, tap} from 'rxjs/operators';\nimport {fromEvent, Subject} from 'rxjs';\n\n/** The height of the select items in `em` units. */\nconst SELECT_ITEM_HEIGHT_EM = 3;\n\n@Directive({\n selector: '[msInfiniteScroll]'\n})\nexport class MatSelectInfiniteScrollDirective implements OnInit, OnDestroy, AfterViewInit {\n\n @Input() threshold = '15%';\n @Input() debounceTime = 150;\n @Input() complete!: boolean;\n @Output() infiniteScroll = new EventEmitter<void>();\n\n private panel!: Element;\n private thrPx = 0;\n private thrPc = 0;\n private singleOptionHeight = SELECT_ITEM_HEIGHT_EM;\n\n private destroyed$ = new Subject<boolean>();\n\n constructor(private matSelect: MatSelect, private ngZone: NgZone) {\n }\n\n ngOnInit(): void {\n this.evaluateThreshold();\n }\n\n ngAfterViewInit(): void {\n this.matSelect.openedChange.pipe(\n takeUntil(this.destroyed$)\n ).subscribe((opened) => {\n if (opened) {\n this.panel = this.matSelect.panel.nativeElement;\n this.singleOptionHeight = this.getSelectItemHeightPx();\n this.registerScrollListener();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next(true);\n this.destroyed$.complete();\n }\n\n evaluateThreshold(): void {\n if (this.threshold.lastIndexOf('%') > -1) {\n this.thrPx = 0;\n this.thrPc = (parseFloat(this.threshold) / 100);\n\n } else {\n this.thrPx = parseFloat(this.threshold);\n this.thrPc = 0;\n }\n }\n\n registerScrollListener(): void {\n fromEvent(this.panel, 'scroll').pipe(\n takeUntil(this.destroyed$),\n debounceTime(this.debounceTime),\n tap((event) => {\n this.handleScrollEvent(event);\n })\n ).subscribe();\n }\n\n handleScrollEvent(event: any): void {\n this.ngZone.runOutsideAngular(() => {\n if (this.complete) {\n return;\n }\n const countOfRenderedOptions = this.matSelect.options.length;\n const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions;\n const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx;\n\n const scrolledDistance = this.panel.clientHeight + event.target.scrollTop;\n\n if ((scrolledDistance + threshold) >= infiniteScrollDistance) {\n this.ngZone.run(() => this.infiniteScroll.emit());\n }\n });\n }\n\n getSelectItemHeightPx(): number {\n return parseFloat(getComputedStyle(this.panel).fontSize) * SELECT_ITEM_HEIGHT_EM;\n }\n\n}\n","export class CustomSelectItem {\n public id: string | undefined | null;\n public text: string;\n\n constructor(id: string | undefined | null, text: string) {\n this.id = id;\n this.text = text;\n }\n}\n","<mat-form-field class=\"custom-select-component\" [ngClass]=\"{'select-open' : opened}\" appearance=\"fill\" autocomplete=\"off\">\n <input matInput #input\n [placeholder]=\"placeHolder\"\n (focus)=\"opened = true\"\n (blur)=\"onBlur($event)\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled\"\n (keyup)=keyPress()\n (click)=\"clicked()\"\n dndDropzone\n (dndDrop)=\"onDrop($event)\"\n autocomplete=\"off\"\n />\n <span *ngIf=\"allowRemove\" title=\"Remover\" class=\"remove-icon\" (click)=\"removeClick($event)\">\n <i class=\"fa fa-times\"></i>\n </span>\n <span class=\"open-icon\" (click)=\"arrowClick()\">\n <i class=\"fa fa-caret-down\"></i>\n </span>\n</mat-form-field>\n<div class=\"custom-select-component\">\n <ul class=\"ul-ac\" *ngIf=\"opened && ((value && value.length !== 0) || items)\">\n <li class=\"li-search search-input-item\">\n <mat-form-field class=\"apipass-input-text search-input-item\" appearance=\"fill\">\n <input matInput class=\"search-input-item\"\n [placeholder]=\"findPlaceHolder\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n aria-autocomplete=\"none\"\n />\n </mat-form-field>\n </li>\n\n <li class=\"clickable\" *ngFor=\"let i of items | selectFilter:searchText:'text'\"\n (click)=\"selectItem(i)\"\n (mousedown)=\"selectItem(i)\">\n {{i.text}}\n </li>\n\n <li class=\"li-add\" (mousedown)=\"addItem()\" (click)=\"addItem()\">\n <span class=\"fa fa-plus-circle\"></span>\n <span>Adicionar novo item</span>\n </li>\n </ul>\n</div>\n","import {Component, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {CustomSelectItem} from './custom-select-item';\n\n@Component({\n selector: 'custom-select',\n templateUrl: 'custom-select.component.html',\n styleUrls: ['custom-select.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomSelectComponent),\n multi: true\n }]\n\n})\nexport class CustomSelectComponent implements ControlValueAccessor {\n\n @Input() disabled = false;\n @Input() public items: CustomSelectItem[] = [];\n @Input() allowTyping = false;\n @Input() allowRemove = false;\n @Input() placeHolder = 'Selecione';\n @Input() findPlaceHolder = 'Busque um item';\n @Input() searchText = '';\n\n @Output() onSelect: EventEmitter<CustomSelectItem> = new EventEmitter();\n @Output() onUnSelect: EventEmitter<any> = new EventEmitter();\n @Output() onAddItem: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('input', { static: true }) input: ElementRef | undefined;\n\n public opened = false;\n public selectedItem: CustomSelectItem | undefined;\n private innerValue: any;\n private selectedModelValue: string | undefined;\n\n private edited = false;\n\n @HostBinding('attr.tabindex') tabindex = '0';\n @HostListener('blur', ['$event.target']) onBlur(target: any): void {\n if (this.allowTyping) {\n if (this.value) {\n if (this.edited) {\n this.writeValue(this.value);\n this.selectedItem = new CustomSelectItem(this.value, this.value);\n this.onSelect.next(this.selectedItem);\n }\n } else {\n this.writeValue(undefined);\n this.onSelect.next(undefined);\n }\n }\n if (target && target.relatedTarget && target.relatedTarget.classList.contains('search-input-item')) {\n return;\n }\n this.opened = false;\n }\n\n\n public selectItem(item: CustomSelectItem): void {\n this.opened = false;\n this.selectedItem = item;\n this.edited = false;\n this.selectedModelValue = item.text;\n this.value = item.text;\n this.searchText = '';\n this.onSelect.next(item);\n }\n\n public addItem(): void {\n this.opened = false;\n this.searchText = '';\n this.onAddItem.next();\n }\n\n public keyPress(): any {\n if (this.allowTyping) {\n this.opened = false;\n this.edited = true;\n this.selectedModelValue = this.value;\n this.searchText = '';\n } else {\n this.edited = false;\n return false;\n }\n }\n\n public clicked(): void {\n this.opened = true;\n this.searchText = '';\n }\n\n private onTouchedCallback: () => void = () => {\n }\n\n private onChangeCallback: (_: any) => void = () => {\n }\n\n get value(): any {\n return this.innerValue;\n }\n\n set value(value: any) {\n this.innerValue = value;\n this.onChangeCallback(value);\n this.onSelect.next(value);\n }\n\n writeValue(value: any): void {\n if (value !== this.innerValue) {\n if (!this.selectedItem || !this.selectedItem.text || !value) {\n this.selectedItem = new CustomSelectItem(null, value);\n }\n this.innerValue = value;\n this.selectedModelValue = value;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public arrowClick(): void {\n this.opened = true;\n this.searchText = '';\n this.input?.nativeElement.focus();\n }\n\n public removeClick(event: any): void {\n event.stopPropagation();\n this.opened = false;\n this.searchText = '';\n this.innerValue = null;\n this.onUnSelect.next();\n }\n\n public onDrop($event: any): void {\n this.searchText = '';\n if (!this.value) {\n this.value = '';\n }\n this.value += `{{${$event.data}}}`;\n }\n\n}\n"," <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n <div class=\"input-file\">\n <div class=\"file-name\" *ngIf=\"fileName || emptyFileLabel\" >\n {{fileName || emptyFileLabel}}\n </div>\n <div class=\"file-actions\">\n <icon *ngIf=\"!hasFile() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = null;\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasFile() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = null;\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n </div>\n </div>\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'input-file',\n templateUrl: 'input-file.component.html',\n styleUrls: ['input-file.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputFileComponent {\n\n @Input() fileFormData: FormData = new FormData();\n @Input() fileName: string | undefined;\n\n @Input() canRemove = false;\n @Input() canUpload = false;\n\n @Input() uploadTitle = '';\n\n @Input() canModify = false;\n @Input() modifyTitle = '';\n\n @Input() iconFontSize = '16px';\n\n @Input() emptyFileLabel = '';\n @Input() fileTypes: Array<string> = [];\n\n @Output() public onFileChanged = new EventEmitter<{ fileUrl: boolean, fileFormData: FormData }>();\n @Output() public onInvalidFileType = new EventEmitter<{fileName: string, typesSupported: Array<string>, typeInvalid: string}>();\n\n public fileUrl = false;\n\n public hasFile(): boolean {\n return this.fileUrl;\n }\n\n public canAction(): boolean {\n return this.canRemove || this.canModify || this.canUpload;\n }\n\n public fileChange(event: any): void {\n const fileList: FileList = event.target.files;\n if (fileList.length > 0) {\n const file: File = fileList[0];\n this.fileName = file.name;\n if (!this.isFileTypeSupported(file.type)) {\n this.onInvalidFileType.emit({fileName: this.fileName, typesSupported: this.fileTypes, typeInvalid: file.type});\n return;\n }\n this.fileFormData = new FormData();\n this.fileFormData.append('file', file, file.name);\n const reader = new FileReader();\n reader.readAsDataURL(fileList[0]);\n reader.onload = (loadEvent) => {\n this.fileUrl = true;\n this.emitChangeEvent();\n };\n }\n }\n\n public isFileTypeSupported(fileType: any): boolean {\n return !this.fileTypes || this.fileTypes.includes(fileType);\n }\n\n private emitChangeEvent(): void {\n this.onFileChanged.emit({fileUrl: this.fileUrl, fileFormData: this.fileFormData});\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {SelectEnumComponent} from './select-enum/select-enum.component';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {InputPasswordComponent} from './input-password/input-password.component';\nimport {InputTextComponent} from './input-text/input-text.component';\nimport {InputAvatarComponent} from './input-avatar/input-avatar.component';\nimport {FieldComponent} from './field/field.component';\nimport {SelectBoxComponent} from './select-box/select-box.component';\nimport {MatSelectFilterModule} from 'mat-select-filter';\nimport {MatSelectInfiniteScrollDirective} from './select-box/mat-select-infinite-scroll.directive';\nimport {NgSelectModule} from '@ng-select/ng-select';\nimport {CustomSelectComponent} from './custom-select/custom-select.component';\nimport {DndModule} from 'ngx-drag-drop';\nimport {IconsModule} from '@apipass/icons';\nimport {PipeModule} from '@apipass/pipes';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {RouterModule} from '@angular/router';\nimport {MatPasswordStrengthModule} from '@angular-material-extensions/password-strength';\nimport {InputFileComponent} from './input-file/input-file.component';\n\n@NgModule({\n imports: [\n RouterModule.forChild([]),\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatPasswordStrengthModule,\n MatSelectModule,\n MatSelectFilterModule,\n NgSelectModule,\n PipeModule,\n MatIconModule,\n TranslateModule,\n IconsModule,\n MatTooltipModule,\n DndModule,\n ],\n declarations: [\n MatSelectInfiniteScrollDirective,\n SelectBoxComponent,\n SelectEnumComponent,\n InputTextComponent,\n InputPasswordComponent,\n InputAvatarComponent,\n InputFileComponent,\n CustomSelectComponent,\n FieldComponent\n ],\n exports: [\n SelectBoxComponent,\n SelectEnumComponent,\n InputTextComponent,\n InputPasswordComponent,\n InputAvatarComponent,\n InputFileComponent,\n CustomSelectComponent,\n FieldComponent\n ],\n providers: [],\n})\nexport class InputsModule {\n}\n"]}
@@ -107,6 +107,7 @@ export class SelectBoxComponent extends ValueAccessorBase {
107
107
  this.addNewItemText = '';
108
108
  this.addNewItemIcon = '';
109
109
  this.addNewItemClickCloseSelect = false;
110
+ this.closeOnBodyScroll = false;
110
111
  this.onOpenSelectBox = new EventEmitter();
111
112
  this.onCloseSelectBox = new EventEmitter();
112
113
  this.onSelectChange = new EventEmitter();
@@ -116,9 +117,27 @@ export class SelectBoxComponent extends ValueAccessorBase {
116
117
  this.loading = false;
117
118
  this.inputFilter = new Subject();
118
119
  this.lastSearchTerm = '';
120
+ this.onBodyScroll = (event) => {
121
+ var _a, _b;
122
+ if (this.closeOnBodyScroll && ((_a = this.ngSelectComponent) === null || _a === void 0 ? void 0 : _a.isOpen)) {
123
+ const isScrollingInScrollHost = ((_b = event.target.className) === null || _b === void 0 ? void 0 : _b.indexOf('ng-dropdown-panel-items')) > -1;
124
+ if (isScrollingInScrollHost) {
125
+ return;
126
+ }
127
+ this.ngSelectComponent.close();
128
+ }
129
+ };
119
130
  }
120
131
  ngOnInit() {
121
132
  this.onSearch();
133
+ if (this.closeOnBodyScroll) {
134
+ window.addEventListener('scroll', this.onBodyScroll, true);
135
+ }
136
+ }
137
+ ngOnDestroy() {
138
+ if (this.closeOnBodyScroll) {
139
+ window.removeEventListener('scroll', this.onBodyScroll, true);
140
+ }
122
141
  }
123
142
  onSearch() {
124
143
  this.inputFilter.pipe(debounceTime(200), distinctUntilChanged()).subscribe(searchString => {
@@ -201,7 +220,7 @@ SelectBoxComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectBoxComponent, se
201
220
  } if (rf & 2) {
202
221
  var _t;
203
222
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.ngSelectComponent = _t.first);
204
- } }, inputs: { placeholder: "placeholder", searchPlaceHolder: "searchPlaceHolder", clearText: "clearText", notFoundText: "notFoundText", enabledSearch: "enabledSearch", data: "data", disabled: "disabled", selectedItem: "selectedItem", bindImageUrl: "bindImageUrl", bindKey: "bindKey", bindValue: "bindValue", limitItens: "limitItens", showAddNewItem: "showAddNewItem", addNewItemText: "addNewItemText", addNewItemIcon: "addNewItemIcon", addNewItemClickCloseSelect: "addNewItemClickCloseSelect" }, outputs: { onOpenSelectBox: "onOpenSelectBox", onCloseSelectBox: "onCloseSelectBox", onSelectChange: "onSelectChange", onSelectClear: "onSelectClear", onAddNewItemClick: "onAddNewItemClick" }, features: [i0.ɵɵProvidersFeature([{
223
+ } }, inputs: { placeholder: "placeholder", searchPlaceHolder: "searchPlaceHolder", clearText: "clearText", notFoundText: "notFoundText", enabledSearch: "enabledSearch", data: "data", disabled: "disabled", selectedItem: "selectedItem", bindImageUrl: "bindImageUrl", bindKey: "bindKey", bindValue: "bindValue", limitItens: "limitItens", showAddNewItem: "showAddNewItem", addNewItemText: "addNewItemText", addNewItemIcon: "addNewItemIcon", addNewItemClickCloseSelect: "addNewItemClickCloseSelect", closeOnBodyScroll: "closeOnBodyScroll" }, outputs: { onOpenSelectBox: "onOpenSelectBox", onCloseSelectBox: "onCloseSelectBox", onSelectChange: "onSelectChange", onSelectClear: "onSelectClear", onAddNewItemClick: "onAddNewItemClick" }, features: [i0.ɵɵProvidersFeature([{
205
224
  provide: NG_VALUE_ACCESSOR,
206
225
  useExisting: forwardRef(() => SelectBoxComponent),
207
226
  multi: true
@@ -265,6 +284,8 @@ const ɵSelectBoxComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactor
265
284
  type: Input
266
285
  }], addNewItemClickCloseSelect: [{
267
286
  type: Input
287
+ }], closeOnBodyScroll: [{
288
+ type: Input
268
289
  }], onOpenSelectBox: [{
269
290
  type: Output
270
291
  }], onCloseSelectBox: [{
@@ -279,4 +300,4 @@ const ɵSelectBoxComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactor
279
300
  type: ViewChild,
280
301
  args: ['ngSelectComponent']
281
302
  }] }); })();
282
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztJQ2tCcEQsOEJBRUU7SUFBQSx5QkFNRjtJQUFBLGlCQUFNOzs7SUFMQyxlQUE2RDtJQUE3RCwyR0FBNkQsdUNBQUEsOENBQUE7OztJQU1wRSwrQkFBc0Y7SUFBQSxZQUFvQjtJQUFBLGlCQUFPOzs7SUFBM0IsZUFBb0I7SUFBcEIsb0RBQW9COzs7SUFUMUcsaUZBRUU7SUFPRixtRkFBc0Y7OztJQVJqRiw0SEFBbUU7SUFRdEMsZUFBbUQ7SUFBbkQscUdBQW1EOzs7SUFLbkYsMkJBQTJIOzs7SUFBcEUsNkNBQXdCLCtCQUFBLFlBQUE7OztJQUMvRSxnQ0FDNkI7SUFBQSxZQUFrQjtJQUFBLGlCQUFPOzs7SUFBekIsZUFBa0I7SUFBbEIsMkNBQWtCOzs7O0lBSGpELCtCQUNFO0lBRDRGLDhMQUF3QjtJQUNwSCxvRkFBb0g7SUFDcEgsb0ZBQzZCO0lBQy9C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QUNVLGlCQUFpQjtrQkFBaEMsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsYUFBYTtrQkFBNUIsS0FBSztZQUNVLElBQUk7a0JBQW5CLEtBQUs7WUFDVSxRQUFRO2tCQUF2QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUVVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxPQUFPO2tCQUF0QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUVVLFVBQVU7a0JBQXpCLEtBQUs7WUFFVSxjQUFjO2tCQUE3QixLQUFLO1lBQ1UsY0FBYztrQkFBN0IsS0FBSztZQUNVLGNBQWM7a0JBQTdCLEtBQUs7WUFDVSwwQkFBMEI7a0JBQXpDLEtBQUs7WUFFVyxlQUFlO2tCQUEvQixNQUFNO1lBQ1UsZ0JBQWdCO2tCQUFoQyxNQUFNO1lBQ1UsY0FBYztrQkFBOUIsTUFBTTtZQUNVLGFBQWE7a0JBQTdCLE1BQU07WUFDVSxpQkFBaUI7a0JBQWpDLE1BQU07WUFHQSxpQkFBaUI7a0JBRHZCLFNBQVM7bUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWR9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TmdTZWxlY3RDb21wb25lbnR9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7VmFsdWVBY2Nlc3NvckJhc2V9IGZyb20gJy4uL3ZhbHVlLWFjZXNzb3ItYmFzZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlbGVjdC1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJ3NlbGVjdC1ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc2VsZWN0LWJveC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Qm94Q29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RCb3hDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yQmFzZTxhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXIgPSAnU2VsZWNpb25lJztcbiAgQElucHV0KCkgcHVibGljIHNlYXJjaFBsYWNlSG9sZGVyID0gJ0J1c2Nhcic7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhclRleHQgPSAnTGltcGFyJztcbiAgQElucHV0KCkgcHVibGljIG5vdEZvdW5kVGV4dCA9ICdOZW5odW0gaXRlbSBlbmNvbnRyYWRvJztcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZWRTZWFyY2ggPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZGF0YTogQXJyYXk8YW55PiA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkSXRlbTogYW55O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBiaW5kSW1hZ2VVcmwgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGJpbmRLZXkgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGJpbmRWYWx1ZSA9ICcnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBsaW1pdEl0ZW5zID0gMzA7XG5cbiAgQElucHV0KCkgcHVibGljIHNob3dBZGROZXdJdGVtID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBhZGROZXdJdGVtVGV4dCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYWRkTmV3SXRlbUljb24gPSAnJztcbiAgQElucHV0KCkgcHVibGljIGFkZE5ld0l0ZW1DbGlja0Nsb3NlU2VsZWN0ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBvbk9wZW5TZWxlY3RCb3ggPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvbkNsb3NlU2VsZWN0Qm94ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25TZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvblNlbGVjdENsZWFyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25BZGROZXdJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAVmlld0NoaWxkKCduZ1NlbGVjdENvbXBvbmVudCcpXG4gIHB1YmxpYyBuZ1NlbGVjdENvbXBvbmVudDogTmdTZWxlY3RDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHZpc2libGVJdGVuczogQXJyYXk8YW55PiA9IFtdO1xuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICBwdWJsaWMgaW5wdXRGaWx0ZXIgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHB1YmxpYyBsYXN0U2VhcmNoVGVybSA9ICcnO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub25TZWFyY2goKTtcbiAgfVxuXG4gIG9uU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRGaWx0ZXIucGlwZShkZWJvdW5jZVRpbWUoMjAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKHNlYXJjaFN0cmluZyA9PiB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5sYXN0U2VhcmNoVGVybSA9IHNlYXJjaFN0cmluZztcbiAgICAgIGlmIChzZWFyY2hTdHJpbmcgJiYgdGhpcy5kYXRhKSB7XG4gICAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy5kYXRhLmZpbHRlcihcbiAgICAgICAgICBpdGVtID0+IGl0ZW1bdGhpcy5iaW5kVmFsdWVdPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApLnNsaWNlKDAsIHRoaXMubGltaXRJdGVucyk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgICB0aGlzLnZpc2libGVJdGVucyA9IHRoaXMuZGF0YS5zbGljZSgwLCB0aGlzLmxpbWl0SXRlbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52aXNpYmxlSXRlbnMgPSBbXTtcbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UsIDMwMCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIG9uU2Nyb2xsKHtlbmR9KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCB0aGlzLmRhdGEubGVuZ3RoIDw9IHRoaXMudmlzaWJsZUl0ZW5zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZW5kICsgNSA+PSB0aGlzLnZpc2libGVJdGVucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmV0Y2hNb3JlKCk7XG4gICAgfVxuICB9XG5cbiAgb25TY3JvbGxUb0VuZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZmV0Y2hNb3JlKCk7XG4gIH1cblxuICBmZXRjaE1vcmUoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBsZW4gPSB0aGlzLnZpc2libGVJdGVucy5sZW5ndGg7XG4gICAgY29uc3QgbW9yZSA9IHRoaXMubGFzdFNlYXJjaFRlcm0gP1xuICAgICAgdGhpcy5kYXRhLmZpbHRlcihcbiAgICAgICAgaXRlbSA9PiBpdGVtW3RoaXMuYmluZFZhbHVlXT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmxhc3RTZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCkpXG4gICAgICApLnNsaWNlKGxlbiwgdGhpcy5saW1pdEl0ZW5zICsgbGVuKSA6XG4gICAgICB0aGlzLmRhdGEuc2xpY2UobGVuLCB0aGlzLmxpbWl0SXRlbnMgKyBsZW4pO1xuICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy52aXNpYmxlSXRlbnMuY29uY2F0KG1vcmUpO1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQud2hpY2ggPT09IDMyKSB7XG4gICAgICBldmVudC50YXJnZXQudmFsdWUgKz0gJyAnO1xuICAgIH1cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5kYXRhPy5maWx0ZXIoZWwgPT4gZWxbdGhpcy5iaW5kS2V5XSA9PT0gdGhpcy52YWx1ZSlbMF07XG4gICAgdGhpcy5vblNlbGVjdENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcbiAgfVxuXG4gIG9wZW5TZWxlY3RCb3goJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVJdGVucyA9IFtdO1xuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy5kYXRhLnNsaWNlKDAsIHRoaXMubGltaXRJdGVucyk7XG4gICAgfVxuICAgIHRoaXMub25PcGVuU2VsZWN0Qm94Lm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wYXJlRm4oYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYVt0aGlzLmJpbmRLZXldID09PSBiW3RoaXMuYmluZEtleV07XG4gIH1cblxuICBvbkNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMub25TZWxlY3RDbGVhci5uZXh0KCk7XG4gIH1cblxuICBvbkNsb3NlKCRldmVudD86IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DbG9zZVNlbGVjdEJveC5uZXh0KCk7XG4gIH1cblxuICBvbkFkZE5ld0l0ZW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWRkTmV3SXRlbUNsaWNrQ2xvc2VTZWxlY3QpIHtcbiAgICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQ/LmNsb3NlKCk7XG4gICAgfVxuICAgIHRoaXMub25BZGROZXdJdGVtQ2xpY2submV4dCgpO1xuICB9XG5cbn1cbiIsIjxuZy1zZWxlY3QgI25nU2VsZWN0Q29tcG9uZW50XG4gICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgICBbaXRlbXNdPVwidmlzaWJsZUl0ZW5zXCJcbiAgICAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICBbY2xlYXJBbGxUZXh0XT1cImNsZWFyVGV4dFwiXG4gICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImVuYWJsZWRTZWFyY2hcIlxuICAgICAgICAgICBbdHlwZVRvU2VhcmNoVGV4dF09XCJzZWFyY2hQbGFjZUhvbGRlclwiXG4gICAgICAgICAgIChvcGVuKT1cIm9wZW5TZWxlY3RCb3goJGV2ZW50KVwiXG4gICAgICAgICAgIChjbG9zZSk9XCJvbkNsb3NlKCRldmVudClcIlxuICAgICAgICAgICAoY2xlYXIpPVwib25DbGVhcigpXCJcbiAgICAgICAgICAgW25vdEZvdW5kVGV4dF09XCJub3RGb3VuZFRleHRcIlxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAoc2Nyb2xsKT1cIm9uU2Nyb2xsKCRldmVudClcIlxuICAgICAgICAgICAoc2Nyb2xsVG9FbmQpPVwib25TY3JvbGxUb0VuZCgpXCJcbiAgICAgICAgICAgKGNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgW3R5cGVhaGVhZF09XCJpbnB1dEZpbHRlclwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYXBpcGFzcy1zZWxlY3QtaW1hZ2UnIDogYmluZEltYWdlVXJsLCAnYXBpcGFzcy1zZWxlY3QnOiAhYmluZEltYWdlVXJsfVwiXG4gICAgICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIj5cblxuICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIFtuZ0lmXT1cInZhbHVlICYmIHZhbHVlW2JpbmRLZXldICYmIHZhbHVlW2JpbmRWYWx1ZV1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIiBzdHlsZT1cIndpZHRoOiA0MHB4O2hlaWdodDogNDBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4O1wiXG4gICAgICAgICAqbmdJZj1cInZhbHVlICYmIHZhbHVlW2JpbmRLZXldICYmIHZhbHVlW2JpbmRWYWx1ZV0gJiYgYmluZEltYWdlVXJsXCI+XG4gICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgW3NyY109XCJ2YWx1ZVtiaW5kSW1hZ2VVcmxdIHx8ICcuL2Fzc2V0cy9pbWFnZXMvbm8taW1hZ2UucG5nJ1wiXG4gICAgICAgICAgIFthbHRdPVwidmFsdWVbYmluZFZhbHVlXVwiXG4gICAgICAgICAgIFttYXRUb29sdGlwXT1cInZhbHVlW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvO21heC13aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7XCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtdGV4dC1lbGVtZW50XCIgKm5nSWY9XCJ2YWx1ZSAmJiB2YWx1ZVtiaW5kS2V5XSAmJiB2YWx1ZVtiaW5kVmFsdWVdXCI+e3t2YWx1ZVtiaW5kVmFsdWVdfX08L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIG5nLWhlYWRlci10bXAgW25nSWZdPVwidGhpcy5zaG93QWRkTmV3SXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGQtbmV3LWl0ZW0tb3B0aW9uXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBjdXJzb3I6IHBvaW50ZXI7XCIgKGNsaWNrKT1cIm9uQWRkTmV3SXRlbSgpXCI+XG4gICAgICA8aWNvbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogNXB4XCIgKm5nSWY9XCJhZGROZXdJdGVtSWNvblwiIFt0aXRsZV09XCJhZGROZXdJdGVtVGV4dFwiIFtuYW1lXT1cImFkZE5ld0l0ZW1JY29uXCIgW3NpemVdPVwiMjBcIj48L2ljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cImFkZC1uZXctaXRlbS10ZXh0XCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO292ZXJmbG93OiBoaWRkZW47dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XCJcbiAgICAgICAgICAgICpuZ0lmPVwiYWRkTmV3SXRlbVRleHRcIj57e2FkZE5ld0l0ZW1UZXh0fX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIiBzdHlsZT1cIndpZHRoOiA0MHB4O2hlaWdodDogNDBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4O1wiICpuZ0lmPVwiYmluZEltYWdlVXJsXCI+XG4gICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgW3NyY109XCJpdGVtW2JpbmRJbWFnZVVybF0gfHwgJy4vYXNzZXRzL2ltYWdlcy9uby1pbWFnZS5wbmcnXCJcbiAgICAgICAgICAgW2FsdF09XCJpdGVtW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJpdGVtW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvO21heC13aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7XCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtdGV4dC1lbGVtZW50XCJcbiAgICAgICAgICBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7b3ZlcmZsb3c6IGhpZGRlbjt0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcIj57e2l0ZW1bYmluZFZhbHVlXX19PC9zcGFuPlxuICA8L25nLXRlbXBsYXRlPlxuXG48L25nLXNlbGVjdD5cbiJdfQ==
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL3NlbGVjdC1ib3gvc2VsZWN0LWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7SUNRcEQsOEJBRUU7SUFBQSx5QkFNRjtJQUFBLGlCQUFNOzs7SUFMQyxlQUE2RDtJQUE3RCwyR0FBNkQsdUNBQUEsOENBQUE7OztJQU1wRSwrQkFBc0Y7SUFBQSxZQUFvQjtJQUFBLGlCQUFPOzs7SUFBM0IsZUFBb0I7SUFBcEIsb0RBQW9COzs7SUFUMUcsaUZBRUU7SUFPRixtRkFBc0Y7OztJQVJqRiw0SEFBbUU7SUFRdEMsZUFBbUQ7SUFBbkQscUdBQW1EOzs7SUFLbkYsMkJBQTJIOzs7SUFBcEUsNkNBQXdCLCtCQUFBLFlBQUE7OztJQUMvRSxnQ0FDNkI7SUFBQSxZQUFrQjtJQUFBLGlCQUFPOzs7SUFBekIsZUFBa0I7SUFBbEIsMkNBQWtCOzs7O0lBSGpELCtCQUNFO0lBRDRGLDhMQUF3QjtJQUNwSCxvRkFBb0g7SUFDcEgsb0ZBQzZCO0lBQy9C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MEI7a0JBQXpDLEtBQUs7WUFFVSxpQkFBaUI7a0JBQWhDLEtBQUs7WUFFVyxlQUFlO2tCQUEvQixNQUFNO1lBQ1UsZ0JBQWdCO2tCQUFoQyxNQUFNO1lBQ1UsY0FBYztrQkFBOUIsTUFBTTtZQUNVLGFBQWE7a0JBQTdCLE1BQU07WUFDVSxpQkFBaUI7a0JBQWpDLE1BQU07WUFHQSxpQkFBaUI7a0JBRHZCLFNBQVM7bUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtOZ1NlbGVjdENvbXBvbmVudH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHtWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vdmFsdWUtYWNlc3Nvci1iYXNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VsZWN0LWJveCcsXG4gIHRlbXBsYXRlVXJsOiAnc2VsZWN0LWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzZWxlY3QtYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RCb3hDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1dLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEJveENvbXBvbmVudCBleHRlbmRzIFZhbHVlQWNjZXNzb3JCYXNlPGFueT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJ1NlbGVjaW9uZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hQbGFjZUhvbGRlciA9ICdCdXNjYXInO1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJUZXh0ID0gJ0xpbXBhcic7XG4gIEBJbnB1dCgpIHB1YmxpYyBub3RGb3VuZFRleHQgPSAnTmVuaHVtIGl0ZW0gZW5jb250cmFkbyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVkU2VhcmNoID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGRhdGE6IEFycmF5PGFueT4gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZEl0ZW06IGFueTtcblxuICBASW5wdXQoKSBwdWJsaWMgYmluZEltYWdlVXJsID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBiaW5kS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBiaW5kVmFsdWUgPSAnJztcblxuICBASW5wdXQoKSBwdWJsaWMgbGltaXRJdGVucyA9IDMwO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QWRkTmV3SXRlbSA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYWRkTmV3SXRlbVRleHQgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGFkZE5ld0l0ZW1JY29uID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhZGROZXdJdGVtQ2xpY2tDbG9zZVNlbGVjdCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjbG9zZU9uQm9keVNjcm9sbCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25PcGVuU2VsZWN0Qm94ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25DbG9zZVNlbGVjdEJveCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9uU2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25TZWxlY3RDbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9uQWRkTmV3SXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbmdTZWxlY3RDb21wb25lbnQnKVxuICBwdWJsaWMgbmdTZWxlY3RDb21wb25lbnQ6IE5nU2VsZWN0Q29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyB2aXNpYmxlSXRlbnM6IEFycmF5PGFueT4gPSBbXTtcbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGlucHV0RmlsdGVyID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwdWJsaWMgbGFzdFNlYXJjaFRlcm0gPSAnJztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uU2VhcmNoKCk7XG4gICAgaWYgKHRoaXMuY2xvc2VPbkJvZHlTY3JvbGwpIHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQm9keVNjcm9sbCwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbkJvZHlTY3JvbGwgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgIGlmICh0aGlzLmNsb3NlT25Cb2R5U2Nyb2xsICYmIHRoaXMubmdTZWxlY3RDb21wb25lbnQ/LmlzT3Blbikge1xuICAgICAgY29uc3QgaXNTY3JvbGxpbmdJblNjcm9sbEhvc3QgPSAoZXZlbnQudGFyZ2V0LmNsYXNzTmFtZSBhcyBzdHJpbmcpPy5pbmRleE9mKCduZy1kcm9wZG93bi1wYW5lbC1pdGVtcycpID4gLTE7XG4gICAgICBpZiAoaXNTY3JvbGxpbmdJblNjcm9sbEhvc3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5uZ1NlbGVjdENvbXBvbmVudC5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3NlT25Cb2R5U2Nyb2xsKSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkJvZHlTY3JvbGwsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRGaWx0ZXIucGlwZShkZWJvdW5jZVRpbWUoMjAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKHNlYXJjaFN0cmluZyA9PiB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5sYXN0U2VhcmNoVGVybSA9IHNlYXJjaFN0cmluZztcbiAgICAgIGlmIChzZWFyY2hTdHJpbmcgJiYgdGhpcy5kYXRhKSB7XG4gICAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy5kYXRhLmZpbHRlcihcbiAgICAgICAgICBpdGVtID0+IGl0ZW1bdGhpcy5iaW5kVmFsdWVdPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApLnNsaWNlKDAsIHRoaXMubGltaXRJdGVucyk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgICB0aGlzLnZpc2libGVJdGVucyA9IHRoaXMuZGF0YS5zbGljZSgwLCB0aGlzLmxpbWl0SXRlbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52aXNpYmxlSXRlbnMgPSBbXTtcbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UsIDMwMCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIG9uU2Nyb2xsKHtlbmR9KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCB0aGlzLmRhdGEubGVuZ3RoIDw9IHRoaXMudmlzaWJsZUl0ZW5zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZW5kICsgNSA+PSB0aGlzLnZpc2libGVJdGVucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmV0Y2hNb3JlKCk7XG4gICAgfVxuICB9XG5cbiAgb25TY3JvbGxUb0VuZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZmV0Y2hNb3JlKCk7XG4gIH1cblxuICBmZXRjaE1vcmUoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBsZW4gPSB0aGlzLnZpc2libGVJdGVucy5sZW5ndGg7XG4gICAgY29uc3QgbW9yZSA9IHRoaXMubGFzdFNlYXJjaFRlcm0gP1xuICAgICAgdGhpcy5kYXRhLmZpbHRlcihcbiAgICAgICAgaXRlbSA9PiBpdGVtW3RoaXMuYmluZFZhbHVlXT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmxhc3RTZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCkpXG4gICAgICApLnNsaWNlKGxlbiwgdGhpcy5saW1pdEl0ZW5zICsgbGVuKSA6XG4gICAgICB0aGlzLmRhdGEuc2xpY2UobGVuLCB0aGlzLmxpbWl0SXRlbnMgKyBsZW4pO1xuICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy52aXNpYmxlSXRlbnMuY29uY2F0KG1vcmUpO1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQud2hpY2ggPT09IDMyKSB7XG4gICAgICBldmVudC50YXJnZXQudmFsdWUgKz0gJyAnO1xuICAgIH1cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5kYXRhPy5maWx0ZXIoZWwgPT4gZWxbdGhpcy5iaW5kS2V5XSA9PT0gdGhpcy52YWx1ZSlbMF07XG4gICAgdGhpcy5vblNlbGVjdENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcbiAgfVxuXG4gIG9wZW5TZWxlY3RCb3goJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVJdGVucyA9IFtdO1xuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMudmlzaWJsZUl0ZW5zID0gdGhpcy5kYXRhLnNsaWNlKDAsIHRoaXMubGltaXRJdGVucyk7XG4gICAgfVxuICAgIHRoaXMub25PcGVuU2VsZWN0Qm94Lm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wYXJlRm4oYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYVt0aGlzLmJpbmRLZXldID09PSBiW3RoaXMuYmluZEtleV07XG4gIH1cblxuICBvbkNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMub25TZWxlY3RDbGVhci5uZXh0KCk7XG4gIH1cblxuICBvbkNsb3NlKCRldmVudD86IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DbG9zZVNlbGVjdEJveC5uZXh0KCk7XG4gIH1cblxuICBvbkFkZE5ld0l0ZW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWRkTmV3SXRlbUNsaWNrQ2xvc2VTZWxlY3QpIHtcbiAgICAgIHRoaXMubmdTZWxlY3RDb21wb25lbnQ/LmNsb3NlKCk7XG4gICAgfVxuICAgIHRoaXMub25BZGROZXdJdGVtQ2xpY2submV4dCgpO1xuICB9XG5cbn1cbiIsIjxuZy1zZWxlY3QgI25nU2VsZWN0Q29tcG9uZW50XG4gICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgICBbaXRlbXNdPVwidmlzaWJsZUl0ZW5zXCJcbiAgICAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICBbY2xlYXJBbGxUZXh0XT1cImNsZWFyVGV4dFwiXG4gICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImVuYWJsZWRTZWFyY2hcIlxuICAgICAgICAgICBbdHlwZVRvU2VhcmNoVGV4dF09XCJzZWFyY2hQbGFjZUhvbGRlclwiXG4gICAgICAgICAgIChvcGVuKT1cIm9wZW5TZWxlY3RCb3goJGV2ZW50KVwiXG4gICAgICAgICAgIChjbG9zZSk9XCJvbkNsb3NlKCRldmVudClcIlxuICAgICAgICAgICAoY2xlYXIpPVwib25DbGVhcigpXCJcbiAgICAgICAgICAgW25vdEZvdW5kVGV4dF09XCJub3RGb3VuZFRleHRcIlxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAoc2Nyb2xsKT1cIm9uU2Nyb2xsKCRldmVudClcIlxuICAgICAgICAgICAoc2Nyb2xsVG9FbmQpPVwib25TY3JvbGxUb0VuZCgpXCJcbiAgICAgICAgICAgKGNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgW3R5cGVhaGVhZF09XCJpbnB1dEZpbHRlclwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYXBpcGFzcy1zZWxlY3QtaW1hZ2UnIDogYmluZEltYWdlVXJsLCAnYXBpcGFzcy1zZWxlY3QnOiAhYmluZEltYWdlVXJsfVwiXG4gICAgICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIj5cblxuICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIFtuZ0lmXT1cInZhbHVlICYmIHZhbHVlW2JpbmRLZXldICYmIHZhbHVlW2JpbmRWYWx1ZV1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIiBzdHlsZT1cIndpZHRoOiA0MHB4O2hlaWdodDogNDBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4O1wiXG4gICAgICAgICAqbmdJZj1cInZhbHVlICYmIHZhbHVlW2JpbmRLZXldICYmIHZhbHVlW2JpbmRWYWx1ZV0gJiYgYmluZEltYWdlVXJsXCI+XG4gICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgW3NyY109XCJ2YWx1ZVtiaW5kSW1hZ2VVcmxdIHx8ICcuL2Fzc2V0cy9pbWFnZXMvbm8taW1hZ2UucG5nJ1wiXG4gICAgICAgICAgIFthbHRdPVwidmFsdWVbYmluZFZhbHVlXVwiXG4gICAgICAgICAgIFttYXRUb29sdGlwXT1cInZhbHVlW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvO21heC13aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7XCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtdGV4dC1lbGVtZW50XCIgKm5nSWY9XCJ2YWx1ZSAmJiB2YWx1ZVtiaW5kS2V5XSAmJiB2YWx1ZVtiaW5kVmFsdWVdXCI+e3t2YWx1ZVtiaW5kVmFsdWVdfX08L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIG5nLWhlYWRlci10bXAgW25nSWZdPVwidGhpcy5zaG93QWRkTmV3SXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGQtbmV3LWl0ZW0tb3B0aW9uXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBjdXJzb3I6IHBvaW50ZXI7XCIgKGNsaWNrKT1cIm9uQWRkTmV3SXRlbSgpXCI+XG4gICAgICA8aWNvbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogNXB4XCIgKm5nSWY9XCJhZGROZXdJdGVtSWNvblwiIFt0aXRsZV09XCJhZGROZXdJdGVtVGV4dFwiIFtuYW1lXT1cImFkZE5ld0l0ZW1JY29uXCIgW3NpemVdPVwiMjBcIj48L2ljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cImFkZC1uZXctaXRlbS10ZXh0XCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO292ZXJmbG93OiBoaWRkZW47dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XCJcbiAgICAgICAgICAgICpuZ0lmPVwiYWRkTmV3SXRlbVRleHRcIj57e2FkZE5ld0l0ZW1UZXh0fX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIiBzdHlsZT1cIndpZHRoOiA0MHB4O2hlaWdodDogNDBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4O1wiICpuZ0lmPVwiYmluZEltYWdlVXJsXCI+XG4gICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgW3NyY109XCJpdGVtW2JpbmRJbWFnZVVybF0gfHwgJy4vYXNzZXRzL2ltYWdlcy9uby1pbWFnZS5wbmcnXCJcbiAgICAgICAgICAgW2FsdF09XCJpdGVtW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJpdGVtW2JpbmRWYWx1ZV1cIlxuICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvO21heC13aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7XCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtdGV4dC1lbGVtZW50XCJcbiAgICAgICAgICBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7b3ZlcmZsb3c6IGhpZGRlbjt0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcIj57e2l0ZW1bYmluZFZhbHVlXX19PC9zcGFuPlxuICA8L25nLXRlbXBsYXRlPlxuXG48L25nLXNlbGVjdD5cbiJdfQ==