otimus-library 0.1.51 → 0.1.53

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,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
2
+ import { Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewChild, } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
@@ -22,7 +22,7 @@ export class OcAutocompleteComponent {
22
22
  this.filteredData = [];
23
23
  this.selectedValue = {
24
24
  name: '',
25
- value: null
25
+ value: null,
26
26
  };
27
27
  }
28
28
  get computedWidth() {
@@ -35,30 +35,37 @@ export class OcAutocompleteComponent {
35
35
  return this.ocMaxWidth || '100%';
36
36
  }
37
37
  ngOnChanges(changes) {
38
- if (this.ocPrefix)
38
+ if (this.ocPrefix) {
39
39
  this.hasPrefix = true;
40
- if (this.ocSuffix)
40
+ }
41
+ if (this.ocSuffix) {
41
42
  this.hasSuffix = true;
43
+ }
42
44
  this.formatOcValueType();
43
45
  this.loadOptions();
44
46
  }
45
47
  ngAfterViewInit() {
46
- if (this.ocPrefix)
48
+ if (this.ocPrefix) {
47
49
  this.hasPrefix = true;
48
- if (this.ocSuffix)
50
+ }
51
+ if (this.ocSuffix) {
49
52
  this.hasSuffix = true;
53
+ }
50
54
  this.formatOcValueType();
51
55
  this.loadOptions();
52
56
  }
53
57
  ngAfterContentChecked() {
54
- if (this.ocPrefix)
58
+ if (this.ocPrefix) {
55
59
  this.hasPrefix = true;
56
- if (this.ocSuffix)
60
+ }
61
+ if (this.ocSuffix) {
57
62
  this.hasSuffix = true;
63
+ }
58
64
  }
59
65
  formatOcValueType() {
60
- if (this.ocValue)
66
+ if (this.ocValue) {
61
67
  return `${this.ocValue}`;
68
+ }
62
69
  return null;
63
70
  }
64
71
  loadOptions() {
@@ -66,7 +73,7 @@ export class OcAutocompleteComponent {
66
73
  setTimeout(() => {
67
74
  this.filteredData = this.ocData;
68
75
  const inputBox = this.el.nativeElement;
69
- const found = this.ocData.find(el => el.value == this.ocValue);
76
+ const found = this.ocData.find((el) => el.value == this.ocValue);
70
77
  if (found) {
71
78
  this.selectedValue = found;
72
79
  this.ocValue = found.name;
@@ -94,11 +101,11 @@ export class OcAutocompleteComponent {
94
101
  if (!this.ocValue.trim().length) {
95
102
  this.ocChange.emit(null);
96
103
  }
97
- const foundValue = this.ocData.find(data => data.name.toLowerCase() == this.ocValue.toLowerCase());
104
+ const foundValue = this.ocData.find((data) => data.name.toLowerCase() == this.ocValue.toLowerCase());
98
105
  if (!foundValue) {
99
106
  this.selectedValue = {
100
107
  name: '',
101
- value: null
108
+ value: null,
102
109
  };
103
110
  if (!this.ocAllowNotListedValue) {
104
111
  this.ocValue = '';
@@ -110,7 +117,7 @@ export class OcAutocompleteComponent {
110
117
  }
111
118
  filterData(name) {
112
119
  this.isOptionsShown = true;
113
- this.filteredData = this.ocData.filter(data => data.name.toLowerCase().includes(name.toLowerCase()));
120
+ this.filteredData = this.ocData.filter((data) => data.name.toLowerCase().includes(name.toLowerCase()));
114
121
  }
115
122
  toggleOptions() {
116
123
  this.closeOnClickOut();
@@ -121,7 +128,7 @@ export class OcAutocompleteComponent {
121
128
  if (!foundValue) {
122
129
  this.selectedValue = {
123
130
  name: '',
124
- value: null
131
+ value: null,
125
132
  };
126
133
  return;
127
134
  }
@@ -138,21 +145,21 @@ export class OcAutocompleteComponent {
138
145
  clearValue() {
139
146
  this.selectedValue = {
140
147
  name: '',
141
- value: null
148
+ value: null,
142
149
  };
143
150
  this.ocValue = '';
144
151
  this.filteredData = this.ocData;
145
152
  }
146
153
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcAutocompleteComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: OcAutocompleteComponent, isStandalone: true, selector: "oc-autocomplete", inputs: { ocPlaceholder: "ocPlaceholder", ocError: "ocError", ocSize: "ocSize", ocData: "ocData", ocValue: "ocValue", ocClearOnChange: "ocClearOnChange", ocWidth: "ocWidth", ocMinWidth: "ocMinWidth", ocMaxWidth: "ocMaxWidth", ocRequired: "ocRequired", ocMaxResults: "ocMaxResults", ocAllowNotListedValue: "ocAllowNotListedValue", ocNoAvailableOptionsText: "ocNoAvailableOptionsText", ocTypeForMoreResultsText: "ocTypeForMoreResultsText" }, outputs: { ocValueChange: "ocValueChange", ocChange: "ocChange" }, host: { properties: { "style.width": "this.computedWidth", "style.min-width": "this.computedMinWidth", "style.max-width": "this.computedMaxWidth" } }, queries: [{ propertyName: "ocPrefix", first: true, predicate: ["ocPrefix"], descendants: true }, { propertyName: "ocSuffix", first: true, predicate: ["ocSuffix"], descendants: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "options", first: true, predicate: ["options"], descendants: true }, { propertyName: "outerDiv", first: true, predicate: ["outerDiv"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"oc-input-box\" [ngClass]=\"{\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix\r\n }\"\r\n >\r\n <ng-content></ng-content>\r\n <input #input (click)=\"toggleOptions()\" type=\"text\" (input)=\"filterData(ocValue)\" [(ngModel)]=\"ocValue\" (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\">\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ocError}}</small>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div \r\n class=\"oc-options-div\"\r\n>\r\n @if(isOptionsShown){\r\n <ul #options class=\"oc-options\">\r\n @if(!filteredData.length){\r\n <li class=\"no-options\">\r\n {{ ocNoAvailableOptionsText || 'Nenhuma op\u00E7\u00E3o dispon\u00EDvel'}}\r\n </li>\r\n }@else {\r\n @for(data of filteredData; track data.value; let i = $index) {\r\n @if(!ocMaxResults || i < ocMaxResults) {\r\n <li>\r\n <button type=\"button\" (click)=\"selectValue(data.value)\">\r\n {{data.name}}\r\n </button>\r\n </li>\r\n }\r\n }\r\n @if(ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{ocTypeForMoreResultsText || 'Digite um valor para mais resultados'}}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n }\r\n</div>\r\n</div>\r\n\r\n", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:2.5rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:2.5rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}input.small input,input.small textarea,input.small select{padding:.3rem .7rem;border-radius:.5rem}input.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}input.small.prefix label{padding:.45rem 2.5rem}input.small.suffix .material-symbols-outlined{padding:.35rem .7rem}input.small.suffix label{padding:.45rem .7rem}input.small label{padding:.5rem .7rem}input.small input:focus~label,input.small input:not(:placeholder-shown)~label,input.small textarea:focus~label,input.small textarea:not(:placeholder-shown)~label,input.small select:focus~label,input.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}input.large input,input.large textarea,input.large select{padding:1rem;border-radius:1rem}input.large label,input.large.prefix .material-symbols-outlined{padding:1rem .7rem}input.large.prefix input{padding-left:2.5rem}input.large.prefix label{padding:1.1rem 2.5rem}input.large.suffix .material-symbols-outlined{padding:.9rem .7rem}input.large.suffix input{padding-right:2.5rem}input.large.suffix label{padding:1.1rem .7rem}input.large input:focus~label,input.large input:not(:placeholder-shown)~label,input.large textarea:focus~label,input.large textarea:not(:placeholder-shown)~label,input.large select:focus~label,input.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box{position:relative}.oc-options-div{position:absolute;min-width:20vw}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer}.oc-options>li button:hover{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: OcAutocompleteComponent, isStandalone: true, selector: "oc-autocomplete", inputs: { ocPlaceholder: "ocPlaceholder", ocError: "ocError", ocSize: "ocSize", ocData: "ocData", ocValue: "ocValue", ocClearOnChange: "ocClearOnChange", ocWidth: "ocWidth", ocMinWidth: "ocMinWidth", ocMaxWidth: "ocMaxWidth", ocOptionsMaxHeight: "ocOptionsMaxHeight", ocRequired: "ocRequired", ocMaxResults: "ocMaxResults", ocAllowNotListedValue: "ocAllowNotListedValue", ocNoAvailableOptionsText: "ocNoAvailableOptionsText", ocTypeForMoreResultsText: "ocTypeForMoreResultsText" }, outputs: { ocValueChange: "ocValueChange", ocChange: "ocChange" }, host: { properties: { "style.width": "this.computedWidth", "style.min-width": "this.computedMinWidth", "style.max-width": "this.computedMaxWidth" } }, queries: [{ propertyName: "ocPrefix", first: true, predicate: ["ocPrefix"], descendants: true }, { propertyName: "ocSuffix", first: true, predicate: ["ocSuffix"], descendants: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "options", first: true, predicate: ["options"], descendants: true }, { propertyName: "outerDiv", first: true, predicate: ["outerDiv"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"oc-input-box\" [ngClass]=\"{\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix\r\n }\"\r\n >\r\n <ng-content></ng-content>\r\n <input #input (click)=\"toggleOptions()\" type=\"text\" (input)=\"filterData(ocValue)\" [(ngModel)]=\"ocValue\" (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\">\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ocError}}</small>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div \r\n class=\"oc-options-div\"\r\n>\r\n @if(isOptionsShown){\r\n <ul #options class=\"oc-options\" [ngStyle]=\"{\r\n 'max-height': ocOptionsMaxHeight\r\n }\">\r\n @if(!filteredData.length){\r\n <li class=\"no-options\">\r\n {{ ocNoAvailableOptionsText || 'Nenhuma op\u00E7\u00E3o dispon\u00EDvel'}}\r\n </li>\r\n }@else {\r\n @for(data of filteredData; track data.value; let i = $index) {\r\n @if(!ocMaxResults || i < ocMaxResults) {\r\n <li>\r\n <button type=\"button\" (click)=\"selectValue(data.value)\">\r\n {{data.name}}\r\n </button>\r\n </li>\r\n }\r\n }\r\n @if(ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{ocTypeForMoreResultsText || 'Digite um valor para mais resultados'}}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n }\r\n</div>\r\n</div>\r\n\r\n", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:2.7rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:2.8rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}input.small input,input.small textarea,input.small select{padding:.3rem .7rem;border-radius:.5rem}input.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}input.small.prefix label{padding:.45rem 2.5rem}input.small.suffix .material-symbols-outlined{padding:.35rem .7rem}input.small.suffix label{padding:.45rem .7rem}input.small label{padding:.5rem .7rem}input.small input:focus~label,input.small input:not(:placeholder-shown)~label,input.small textarea:focus~label,input.small textarea:not(:placeholder-shown)~label,input.small select:focus~label,input.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}input.large input,input.large textarea,input.large select{padding:1rem;border-radius:1rem}input.large label,input.large.prefix .material-symbols-outlined{padding:1rem .7rem}input.large.prefix input{padding-left:2.5rem}input.large.prefix label{padding:1.1rem 2.5rem}input.large.suffix .material-symbols-outlined{padding:.9rem .7rem}input.large.suffix input{padding-right:2.5rem}input.large.suffix label{padding:1.1rem .7rem}input.large input:focus~label,input.large input:not(:placeholder-shown)~label,input.large textarea:focus~label,input.large textarea:not(:placeholder-shown)~label,input.large select:focus~label,input.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box{position:relative}.oc-options-div{position:absolute;min-width:20vw}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer}.oc-options>li button:hover{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
148
155
  }
149
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcAutocompleteComponent, decorators: [{
150
157
  type: Component,
151
158
  args: [{ selector: 'oc-autocomplete', standalone: true, imports: [CommonModule, FormsModule], host: {
152
159
  '[style.width]': 'computedWidth',
153
160
  '[style.min-width]': 'computedMinWidth',
154
- '[style.max-width]': 'computedMaxWidth'
155
- }, template: "<div class=\"oc-input-box\" [ngClass]=\"{\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix\r\n }\"\r\n >\r\n <ng-content></ng-content>\r\n <input #input (click)=\"toggleOptions()\" type=\"text\" (input)=\"filterData(ocValue)\" [(ngModel)]=\"ocValue\" (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\">\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ocError}}</small>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div \r\n class=\"oc-options-div\"\r\n>\r\n @if(isOptionsShown){\r\n <ul #options class=\"oc-options\">\r\n @if(!filteredData.length){\r\n <li class=\"no-options\">\r\n {{ ocNoAvailableOptionsText || 'Nenhuma op\u00E7\u00E3o dispon\u00EDvel'}}\r\n </li>\r\n }@else {\r\n @for(data of filteredData; track data.value; let i = $index) {\r\n @if(!ocMaxResults || i < ocMaxResults) {\r\n <li>\r\n <button type=\"button\" (click)=\"selectValue(data.value)\">\r\n {{data.name}}\r\n </button>\r\n </li>\r\n }\r\n }\r\n @if(ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{ocTypeForMoreResultsText || 'Digite um valor para mais resultados'}}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n }\r\n</div>\r\n</div>\r\n\r\n", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:2.5rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:2.5rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}input.small input,input.small textarea,input.small select{padding:.3rem .7rem;border-radius:.5rem}input.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}input.small.prefix label{padding:.45rem 2.5rem}input.small.suffix .material-symbols-outlined{padding:.35rem .7rem}input.small.suffix label{padding:.45rem .7rem}input.small label{padding:.5rem .7rem}input.small input:focus~label,input.small input:not(:placeholder-shown)~label,input.small textarea:focus~label,input.small textarea:not(:placeholder-shown)~label,input.small select:focus~label,input.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}input.large input,input.large textarea,input.large select{padding:1rem;border-radius:1rem}input.large label,input.large.prefix .material-symbols-outlined{padding:1rem .7rem}input.large.prefix input{padding-left:2.5rem}input.large.prefix label{padding:1.1rem 2.5rem}input.large.suffix .material-symbols-outlined{padding:.9rem .7rem}input.large.suffix input{padding-right:2.5rem}input.large.suffix label{padding:1.1rem .7rem}input.large input:focus~label,input.large input:not(:placeholder-shown)~label,input.large textarea:focus~label,input.large textarea:not(:placeholder-shown)~label,input.large select:focus~label,input.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box{position:relative}.oc-options-div{position:absolute;min-width:20vw}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer}.oc-options>li button:hover{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}\n"] }]
161
+ '[style.max-width]': 'computedMaxWidth',
162
+ }, template: "<div class=\"oc-input-box\" [ngClass]=\"{\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix\r\n }\"\r\n >\r\n <ng-content></ng-content>\r\n <input #input (click)=\"toggleOptions()\" type=\"text\" (input)=\"filterData(ocValue)\" [(ngModel)]=\"ocValue\" (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\">\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ocError}}</small>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div \r\n class=\"oc-options-div\"\r\n>\r\n @if(isOptionsShown){\r\n <ul #options class=\"oc-options\" [ngStyle]=\"{\r\n 'max-height': ocOptionsMaxHeight\r\n }\">\r\n @if(!filteredData.length){\r\n <li class=\"no-options\">\r\n {{ ocNoAvailableOptionsText || 'Nenhuma op\u00E7\u00E3o dispon\u00EDvel'}}\r\n </li>\r\n }@else {\r\n @for(data of filteredData; track data.value; let i = $index) {\r\n @if(!ocMaxResults || i < ocMaxResults) {\r\n <li>\r\n <button type=\"button\" (click)=\"selectValue(data.value)\">\r\n {{data.name}}\r\n </button>\r\n </li>\r\n }\r\n }\r\n @if(ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{ocTypeForMoreResultsText || 'Digite um valor para mais resultados'}}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n }\r\n</div>\r\n</div>\r\n\r\n", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:2.7rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:2.8rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}input.small input,input.small textarea,input.small select{padding:.3rem .7rem;border-radius:.5rem}input.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}input.small.prefix label{padding:.45rem 2.5rem}input.small.suffix .material-symbols-outlined{padding:.35rem .7rem}input.small.suffix label{padding:.45rem .7rem}input.small label{padding:.5rem .7rem}input.small input:focus~label,input.small input:not(:placeholder-shown)~label,input.small textarea:focus~label,input.small textarea:not(:placeholder-shown)~label,input.small select:focus~label,input.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}input.large input,input.large textarea,input.large select{padding:1rem;border-radius:1rem}input.large label,input.large.prefix .material-symbols-outlined{padding:1rem .7rem}input.large.prefix input{padding-left:2.5rem}input.large.prefix label{padding:1.1rem 2.5rem}input.large.suffix .material-symbols-outlined{padding:.9rem .7rem}input.large.suffix input{padding-right:2.5rem}input.large.suffix label{padding:1.1rem .7rem}input.large input:focus~label,input.large input:not(:placeholder-shown)~label,input.large textarea:focus~label,input.large textarea:not(:placeholder-shown)~label,input.large select:focus~label,input.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box{position:relative}.oc-options-div{position:absolute;min-width:20vw}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer}.oc-options>li button:hover{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}\n"] }]
156
163
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { input: [{
157
164
  type: ViewChild,
158
165
  args: ['input']
@@ -186,6 +193,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
186
193
  type: Input
187
194
  }], ocMaxWidth: [{
188
195
  type: Input
196
+ }], ocOptionsMaxHeight: [{
197
+ type: Input
189
198
  }], ocRequired: [{
190
199
  type: Input
191
200
  }], ocMaxResults: [{
@@ -210,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
210
219
  type: HostBinding,
211
220
  args: ['style.max-width']
212
221
  }] } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXNDLFNBQVMsRUFBRSxZQUFZLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBNEIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFNLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWM3QyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQW9CLFFBQW1CLEVBQVUsRUFBYztRQUEzQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQVV0RCxXQUFNLEdBQWlDLFFBQVEsQ0FBQTtRQUMvQyxXQUFNLEdBQXlCLEVBQUUsQ0FBQTtRQUNqQyxZQUFPLEdBQVEsRUFBRSxDQUFBO1FBQ2pCLG9CQUFlLEdBQVksS0FBSyxDQUFBO1FBSWhDLGVBQVUsR0FBWSxLQUFLLENBQUE7UUFFM0IsMEJBQXFCLEdBQVksS0FBSyxDQUFBO1FBSXJDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQTtRQUMxQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUE7UUFFdEQsY0FBUyxHQUFZLEtBQUssQ0FBQTtRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFB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QkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBYUgsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyxhQUFhO2dCQU10QixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU0xQixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPY0F1dG9Db21wbGV0ZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLWF1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdvYy1hdXRvY29tcGxldGUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbc3R5bGUud2lkdGhdJzogJ2NvbXB1dGVkV2lkdGgnLFxyXG4gICAgJ1tzdHlsZS5taW4td2lkdGhdJzogJ2NvbXB1dGVkTWluV2lkdGgnLFxyXG4gICAgJ1tzdHlsZS5tYXgtd2lkdGhdJzogJ2NvbXB1dGVkTWF4V2lkdGgnXHJcbiAgfSxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgT2NBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cclxuICBcclxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0ITogRWxlbWVudFJlZlxyXG4gIEBWaWV3Q2hpbGQoJ29wdGlvbnMnKSBvcHRpb25zITogRWxlbWVudFJlZlxyXG4gIEBWaWV3Q2hpbGQoJ291dGVyRGl2Jykgb3V0ZXJEaXYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PlxyXG5cclxuICBAQ29udGVudENoaWxkKCdvY1ByZWZpeCcpIG9jUHJlZml4OiBhbnlcclxuICBAQ29udGVudENoaWxkKCdvY1N1ZmZpeCcpIG9jU3VmZml4OiBhbnlcclxuICBASW5wdXQoKSBvY1BsYWNlaG9sZGVyPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NFcnJvcj86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3NtYWxsJyB8ICdsYXJnZScgfCAnbWVkaXVtJyA9ICdtZWRpdW0nXHJcbiAgQElucHV0KCkgb2NEYXRhOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSA9IFtdXHJcbiAgQElucHV0KCkgb2NWYWx1ZTogYW55ID0gJydcclxuICBASW5wdXQoKSBvY0NsZWFyT25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZSBcclxuICBASW5wdXQoKSBvY1dpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NNaW5XaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTWF4V2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY01heFJlc3VsdHM/OiBudW1iZXJcclxuICBASW5wdXQoKSBvY0FsbG93Tm90TGlzdGVkVmFsdWU6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jTm9BdmFpbGFibGVPcHRpb25zVGV4dD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jVHlwZUZvck1vcmVSZXN1bHRzVGV4dD86IHN0cmluZ1xyXG5cclxuICBAT3V0cHV0KCkgb2NWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXHJcbiAgQE91dHB1dCgpIG9jQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpXHJcblxyXG4gIGhhc1N1ZmZpeDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgaGFzUHJlZml4OiBib29sZWFuID0gZmFsc2VcclxuXHJcbiAgaXNPcHRpb25zU2hvd246IGJvb2xlYW4gPSBmYWxzZVxyXG4gIGZpbHRlcmVkRGF0YTogT2NBdXRvQ29tcGxldGVUeXBlW10gPSBbXVxyXG4gIHNlbGVjdGVkVmFsdWU6IE9jQXV0b0NvbXBsZXRlVHlwZSA9IHtcclxuICAgIG5hbWU6ICcnLFxyXG4gICAgdmFsdWU6IG51bGxcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZFdpZHRoICgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jV2lkdGggPyB0aGlzLm9jV2lkdGggOiBudWxsXHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkTWluV2lkdGggKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NNaW5XaWR0aCB8fCAnMCdcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJylcclxuICBnZXQgY29tcHV0ZWRNYXhXaWR0aCAoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vY01heFdpZHRoIHx8ICcxMDAlJ1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5vY1ByZWZpeCkgdGhpcy5oYXNQcmVmaXggPSB0cnVlXHJcbiAgICBpZih0aGlzLm9jU3VmZml4KSB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcclxuICAgIHRoaXMuZm9ybWF0T2NWYWx1ZVR5cGUoKVxyXG4gICAgdGhpcy5sb2FkT3B0aW9ucygpXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZih0aGlzLm9jUHJlZml4KSB0aGlzLmhhc1ByZWZpeCA9IHRydWVcclxuICAgIGlmKHRoaXMub2NTdWZmaXgpIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxyXG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXHJcbiAgICB0aGlzLmxvYWRPcHRpb25zKClcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMub2NQcmVmaXgpIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxyXG4gICAgaWYodGhpcy5vY1N1ZmZpeCkgdGhpcy5oYXNTdWZmaXggPSB0cnVlXHJcbiAgfVxyXG5cclxuICBmb3JtYXRPY1ZhbHVlVHlwZSgpIHtcclxuICAgIGlmKHRoaXMub2NWYWx1ZSkgcmV0dXJuIGAke3RoaXMub2NWYWx1ZX1gXHJcbiAgICByZXR1cm4gbnVsbFxyXG4gIH1cclxuXHJcbiAgbG9hZE9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcclxuICAgIHNldFRpbWVvdXQoKCkgPT57XHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICAgICAgY29uc3QgaW5wdXRCb3ggPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgICBjb25zdCBmb3VuZCA9IHRoaXMub2NEYXRhLmZpbmQoZWwgPT4gZWwudmFsdWUgPT0gdGhpcy5vY1ZhbHVlKVxyXG4gICAgICBpZihmb3VuZCl7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZm91bmRcclxuICAgICAgICB0aGlzLm9jVmFsdWUgPSBmb3VuZC5uYW1lXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbnB1dEJveCkge1xyXG4gICAgICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IGlucHV0Qm94LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XHJcbiAgXHJcbiAgICAgICAgaWYgKGlucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaW5wdXRFbGVtZW50LCAncGxhY2Vob2xkZXInLCAnJylcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0RWxlbWVudCwgJ3JlcXVpcmVkJywgdGhpcy5vY1JlcXVpcmVkLnRvU3RyaW5nKCkpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LDUwKVxyXG4gIH1cclxuXHJcbiAgY2xvc2VPbkNsaWNrT3V0KCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdjbGljaycsKGU6RXZlbnQpPT57XHJcbiAgICAgIGlmKHRoaXMuaW5wdXQgJiYgdGhpcy5vcHRpb25zKXtcclxuICAgICAgICBpZihlLnRhcmdldCAhPT0gdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50ICYmIGUudGFyZ2V0IT09dGhpcy5vcHRpb25zLm5hdGl2ZUVsZW1lbnQpe1xyXG4gICAgICAgICAgdGhpcy5pc09wdGlvbnNTaG93biA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpbmRCeVR5cGluZygpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZmluZEJ5VHlwaW5nKCkge1xyXG4gICAgaWYoIXRoaXMub2NWYWx1ZS50cmltKCkubGVuZ3RoKXtcclxuICAgICAgdGhpcy5vY0NoYW5nZS5lbWl0KG51bGwpXHJcbiAgICB9XHJcbiAgICBjb25zdCBmb3VuZFZhbHVlID0gdGhpcy5vY0RhdGEuZmluZChkYXRhID0+IGRhdGEubmFtZS50b0xvd2VyQ2FzZSgpID09IHRoaXMub2NWYWx1ZS50b0xvd2VyQ2FzZSgpKVxyXG5cclxuICAgIGlmKCFmb3VuZFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcclxuICAgICAgIG5hbWU6ICcnLFxyXG4gICAgICAgdmFsdWU6IG51bGxcclxuICAgICAgfVxyXG4gICAgICBpZighdGhpcy5vY0FsbG93Tm90TGlzdGVkVmFsdWUpIHtcclxuICAgICAgICB0aGlzLm9jVmFsdWUgPSAnJ1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFZhbHVlXHJcbiAgfVxyXG5cclxuICBmaWx0ZXJEYXRhKG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5pc09wdGlvbnNTaG93biA9IHRydWVcclxuICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobmFtZS50b0xvd2VyQ2FzZSgpKSlcclxuICB9XHJcblxyXG4gIHRvZ2dsZU9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLmNsb3NlT25DbGlja091dCgpXHJcbiAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gIXRoaXMuaXNPcHRpb25zU2hvd25cclxuICB9XHJcblxyXG4gIHNlbGVjdFZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGNvbnN0IGZvdW5kVmFsdWUgPSB0aGlzLm9jRGF0YS5maW5kKChkYXRhKSA9PiBkYXRhLnZhbHVlID09IHZhbHVlKVxyXG4gICAgXHJcbiAgICBpZighZm91bmRWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB7XHJcbiAgICAgICAgbmFtZTogJycsXHJcbiAgICAgICAgdmFsdWU6IG51bGxcclxuICAgICAgfVxyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFZhbHVlXHJcbiAgICBpZih0aGlzLm9jQ2xlYXJPbkNoYW5nZSl7XHJcbiAgICAgIHRoaXMub2NWYWx1ZSA9ICcnXHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLm9jVmFsdWUgPSBmb3VuZFZhbHVlLm5hbWVcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9jQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKVxyXG4gIH1cclxuXHJcbiAgY2xlYXJWYWx1ZSgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcclxuICAgICAgbmFtZTogJycsXHJcbiAgICAgIHZhbHVlOiBudWxsXHJcbiAgICB9XHJcbiAgICB0aGlzLm9jVmFsdWUgPSAnJ1xyXG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib2MtaW5wdXQtYm94XCIgW25nQ2xhc3NdPVwie1xyXG4gICdzbWFsbCc6IG9jU2l6ZSA9PT0gJ3NtYWxsJyxcclxuICAnbGFyZ2UnOiBvY1NpemUgPT09ICdsYXJnZScsXHJcbiAgZXJyb3I6ICEhb2NFcnJvcixcclxuICBwcmVmaXg6IGhhc1ByZWZpeCxcclxuICBzdWZmaXg6IGhhc1N1ZmZpeFxyXG4gIH1cIlxyXG4gID5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPGlucHV0ICNpbnB1dCAoY2xpY2spPVwidG9nZ2xlT3B0aW9ucygpXCIgdHlwZT1cInRleHRcIiAoaW5wdXQpPVwiZmlsdGVyRGF0YShvY1ZhbHVlKVwiIFsobmdNb2RlbCldPVwib2NWYWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9jVmFsdWUgPSAkZXZlbnQ7IG9jVmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCI+XHJcbiAgPGxhYmVsPnt7b2NQbGFjZWhvbGRlcn19XHJcbiAgICBAaWYob2NSZXF1aXJlZCkge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cIm9jIGNvbG9yIGVycm9yXCI+Kjwvc3Bhbj5cclxuICAgIH1cclxuICA8L2xhYmVsPlxyXG4gIDxzbWFsbFxyXG4gICAgKm5nSWY9XCJvY0Vycm9yXCJcclxuICAgIGNsYXNzPVwiZXJyb3ItbXNnXCJcclxuICA+e3tvY0Vycm9yfX08L3NtYWxsPlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm9jUHJlZml4XCI+PC9uZy1jb250ZW50PlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm9jU3VmZml4XCI+PC9uZy1jb250ZW50PlxyXG5cclxuICA8ZGl2IFxyXG4gIGNsYXNzPVwib2Mtb3B0aW9ucy1kaXZcIlxyXG4+XHJcbiAgQGlmKGlzT3B0aW9uc1Nob3duKXtcclxuICAgIDx1bCAjb3B0aW9ucyBjbGFzcz1cIm9jLW9wdGlvbnNcIj5cclxuICAgICAgQGlmKCFmaWx0ZXJlZERhdGEubGVuZ3RoKXtcclxuICAgICAgICA8bGkgY2xhc3M9XCJuby1vcHRpb25zXCI+XHJcbiAgICAgICAgICB7eyBvY05vQXZhaWxhYmxlT3B0aW9uc1RleHQgfHwgJ05lbmh1bWEgb3DDp8OjbyBkaXNwb27DrXZlbCd9fVxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIH1AZWxzZSB7XHJcbiAgICAgICAgQGZvcihkYXRhIG9mIGZpbHRlcmVkRGF0YTsgdHJhY2sgZGF0YS52YWx1ZTsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgICAgICAgIEBpZighb2NNYXhSZXN1bHRzIHx8IGkgPCBvY01heFJlc3VsdHMpIHtcclxuICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzZWxlY3RWYWx1ZShkYXRhLnZhbHVlKVwiPlxyXG4gICAgICAgICAgICAgICAge3tkYXRhLm5hbWV9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYob2NNYXhSZXN1bHRzICYmIGZpbHRlcmVkRGF0YS5sZW5ndGggPiBvY01heFJlc3VsdHMpIHtcclxuICAgICAgICAgIDxsaSBjbGFzcz1cIm5vLW9wdGlvbnNcIj5cclxuICAgICAgICAgICAge3tvY1R5cGVGb3JNb3JlUmVzdWx0c1RleHQgfHwgJ0RpZ2l0ZSB1bSB2YWxvciBwYXJhIG1haXMgcmVzdWx0YWRvcyd9fVxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIDwvdWw+XHJcbiAgfVxyXG48L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7OztBQWM1QyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ1UsUUFBbUIsRUFDbkIsRUFBYztRQURkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQVdmLFdBQU0sR0FBaUMsUUFBUSxDQUFBO1FBQy9DLFdBQU0sR0FBeUIsRUFBRSxDQUFBO1FBQ2pDLFlBQU8sR0FBUSxFQUFFLENBQUE7UUFDakIsb0JBQWUsR0FBWSxLQUFLLENBQUE7UUFLaEMsZUFBVSxHQUFZLEtBQUssQ0FBQTtRQUUzQiwwQkFBcUIsR0FBWSxLQUFLLENBQUE7UUFJckMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO1FBQzFDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQTtRQUV0RCxjQUFTLEdBQVksS0FBSyxDQUFBO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUE7UUFF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Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFhSCxhQUFhO3NCQURoQixXQUFXO3VCQUFDLGFBQWE7Z0JBTXRCLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTFCLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE9jQXV0b0NvbXBsZXRlVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvb2MtYXV0b2NvbXBsZXRlJ1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdvYy1hdXRvY29tcGxldGUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbc3R5bGUud2lkdGhdJzogJ2NvbXB1dGVkV2lkdGgnLFxyXG4gICAgJ1tzdHlsZS5taW4td2lkdGhdJzogJ2NvbXB1dGVkTWluV2lkdGgnLFxyXG4gICAgJ1tzdHlsZS5tYXgtd2lkdGhdJzogJ2NvbXB1dGVkTWF4V2lkdGgnLFxyXG4gIH0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29jLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL29jLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPY0F1dG9jb21wbGV0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmXHJcbiAgKSB7fVxyXG5cclxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0ITogRWxlbWVudFJlZlxyXG4gIEBWaWV3Q2hpbGQoJ29wdGlvbnMnKSBvcHRpb25zITogRWxlbWVudFJlZlxyXG4gIEBWaWV3Q2hpbGQoJ291dGVyRGl2Jykgb3V0ZXJEaXYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PlxyXG5cclxuICBAQ29udGVudENoaWxkKCdvY1ByZWZpeCcpIG9jUHJlZml4OiBhbnlcclxuICBAQ29udGVudENoaWxkKCdvY1N1ZmZpeCcpIG9jU3VmZml4OiBhbnlcclxuICBASW5wdXQoKSBvY1BsYWNlaG9sZGVyPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NFcnJvcj86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3NtYWxsJyB8ICdsYXJnZScgfCAnbWVkaXVtJyA9ICdtZWRpdW0nXHJcbiAgQElucHV0KCkgb2NEYXRhOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSA9IFtdXHJcbiAgQElucHV0KCkgb2NWYWx1ZTogYW55ID0gJydcclxuICBASW5wdXQoKSBvY0NsZWFyT25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jV2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY01pbldpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NNYXhXaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jT3B0aW9uc01heEhlaWdodD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jTWF4UmVzdWx0cz86IG51bWJlclxyXG4gIEBJbnB1dCgpIG9jQWxsb3dOb3RMaXN0ZWRWYWx1ZTogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgb2NOb0F2YWlsYWJsZU9wdGlvbnNUZXh0Pzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NUeXBlRm9yTW9yZVJlc3VsdHNUZXh0Pzogc3RyaW5nXHJcblxyXG4gIEBPdXRwdXQoKSBvY1ZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KClcclxuICBAT3V0cHV0KCkgb2NDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KClcclxuXHJcbiAgaGFzU3VmZml4OiBib29sZWFuID0gZmFsc2VcclxuICBoYXNQcmVmaXg6IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICBpc09wdGlvbnNTaG93bjogYm9vbGVhbiA9IGZhbHNlXHJcbiAgZmlsdGVyZWREYXRhOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSA9IFtdXHJcbiAgc2VsZWN0ZWRWYWx1ZTogT2NBdXRvQ29tcGxldGVUeXBlID0ge1xyXG4gICAgbmFtZTogJycsXHJcbiAgICB2YWx1ZTogbnVsbCxcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZFdpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NXaWR0aCA/IHRoaXMub2NXaWR0aCA6IG51bGxcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJylcclxuICBnZXQgY29tcHV0ZWRNaW5XaWR0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jTWluV2lkdGggfHwgJzAnXHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkTWF4V2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vY01heFdpZHRoIHx8ICcxMDAlJ1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub2NQcmVmaXgpIHtcclxuICAgICAgdGhpcy5oYXNQcmVmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vY1N1ZmZpeCkge1xyXG4gICAgICB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybWF0T2NWYWx1ZVR5cGUoKVxyXG4gICAgdGhpcy5sb2FkT3B0aW9ucygpXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xyXG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXHJcbiAgICB0aGlzLmxvYWRPcHRpb25zKClcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9jUHJlZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub2NTdWZmaXgpIHtcclxuICAgICAgdGhpcy5oYXNTdWZmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb3JtYXRPY1ZhbHVlVHlwZSgpIHtcclxuICAgIGlmICh0aGlzLm9jVmFsdWUpIHtcclxuICAgICAgcmV0dXJuIGAke3RoaXMub2NWYWx1ZX1gXHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbFxyXG4gIH1cclxuXHJcbiAgbG9hZE9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXHJcbiAgICAgIGNvbnN0IGlucHV0Qm94ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50XHJcblxyXG4gICAgICBjb25zdCBmb3VuZCA9IHRoaXMub2NEYXRhLmZpbmQoKGVsKSA9PiBlbC52YWx1ZSA9PSB0aGlzLm9jVmFsdWUpXHJcbiAgICAgIGlmIChmb3VuZCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kXHJcbiAgICAgICAgdGhpcy5vY1ZhbHVlID0gZm91bmQubmFtZVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaW5wdXRCb3gpIHtcclxuICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dEJveC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpXHJcblxyXG4gICAgICAgIGlmIChpbnB1dEVsZW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0RWxlbWVudCwgJ3BsYWNlaG9sZGVyJywgJycpXHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsZW1lbnQsICdyZXF1aXJlZCcsIHRoaXMub2NSZXF1aXJlZC50b1N0cmluZygpKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgNTApXHJcbiAgfVxyXG5cclxuICBjbG9zZU9uQ2xpY2tPdXQoKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ2NsaWNrJywgKGU6IEV2ZW50KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmlucHV0ICYmIHRoaXMub3B0aW9ucykge1xyXG4gICAgICAgIGlmIChlLnRhcmdldCAhPT0gdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50ICYmIGUudGFyZ2V0ICE9PSB0aGlzLm9wdGlvbnMubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgdGhpcy5pc09wdGlvbnNTaG93biA9IGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZmluZEJ5VHlwaW5nKClcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBmaW5kQnlUeXBpbmcoKSB7XHJcbiAgICBpZiAoIXRoaXMub2NWYWx1ZS50cmltKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMub2NDaGFuZ2UuZW1pdChudWxsKVxyXG4gICAgfVxyXG4gICAgY29uc3QgZm91bmRWYWx1ZSA9IHRoaXMub2NEYXRhLmZpbmQoXHJcbiAgICAgIChkYXRhKSA9PiBkYXRhLm5hbWUudG9Mb3dlckNhc2UoKSA9PSB0aGlzLm9jVmFsdWUudG9Mb3dlckNhc2UoKVxyXG4gICAgKVxyXG5cclxuICAgIGlmICghZm91bmRWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB7XHJcbiAgICAgICAgbmFtZTogJycsXHJcbiAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgIH1cclxuICAgICAgaWYgKCF0aGlzLm9jQWxsb3dOb3RMaXN0ZWRWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMub2NWYWx1ZSA9ICcnXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kVmFsdWVcclxuICB9XHJcblxyXG4gIGZpbHRlckRhdGEobmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gdHJ1ZVxyXG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YS5maWx0ZXIoKGRhdGEpID0+XHJcbiAgICAgIGRhdGEubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG5hbWUudG9Mb3dlckNhc2UoKSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIHRvZ2dsZU9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLmNsb3NlT25DbGlja091dCgpXHJcbiAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gIXRoaXMuaXNPcHRpb25zU2hvd25cclxuICB9XHJcblxyXG4gIHNlbGVjdFZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGNvbnN0IGZvdW5kVmFsdWUgPSB0aGlzLm9jRGF0YS5maW5kKChkYXRhKSA9PiBkYXRhLnZhbHVlID09IHZhbHVlKVxyXG5cclxuICAgIGlmICghZm91bmRWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB7XHJcbiAgICAgICAgbmFtZTogJycsXHJcbiAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZm91bmRWYWx1ZVxyXG4gICAgaWYgKHRoaXMub2NDbGVhck9uQ2hhbmdlKSB7XHJcbiAgICAgIHRoaXMub2NWYWx1ZSA9ICcnXHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub2NWYWx1ZSA9IGZvdW5kVmFsdWUubmFtZVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub2NDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpXHJcbiAgfVxyXG5cclxuICBjbGVhclZhbHVlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0ge1xyXG4gICAgICBuYW1lOiAnJyxcclxuICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICB9XHJcbiAgICB0aGlzLm9jVmFsdWUgPSAnJ1xyXG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib2MtaW5wdXQtYm94XCIgW25nQ2xhc3NdPVwie1xyXG4gICdzbWFsbCc6IG9jU2l6ZSA9PT0gJ3NtYWxsJyxcclxuICAnbGFyZ2UnOiBvY1NpemUgPT09ICdsYXJnZScsXHJcbiAgZXJyb3I6ICEhb2NFcnJvcixcclxuICBwcmVmaXg6IGhhc1ByZWZpeCxcclxuICBzdWZmaXg6IGhhc1N1ZmZpeFxyXG4gIH1cIlxyXG4gID5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPGlucHV0ICNpbnB1dCAoY2xpY2spPVwidG9nZ2xlT3B0aW9ucygpXCIgdHlwZT1cInRleHRcIiAoaW5wdXQpPVwiZmlsdGVyRGF0YShvY1ZhbHVlKVwiIFsobmdNb2RlbCldPVwib2NWYWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9jVmFsdWUgPSAkZXZlbnQ7IG9jVmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCI+XHJcbiAgPGxhYmVsPnt7b2NQbGFjZWhvbGRlcn19XHJcbiAgICBAaWYob2NSZXF1aXJlZCkge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cIm9jIGNvbG9yIGVycm9yXCI+Kjwvc3Bhbj5cclxuICAgIH1cclxuICA8L2xhYmVsPlxyXG4gIDxzbWFsbFxyXG4gICAgKm5nSWY9XCJvY0Vycm9yXCJcclxuICAgIGNsYXNzPVwiZXJyb3ItbXNnXCJcclxuICA+e3tvY0Vycm9yfX08L3NtYWxsPlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm9jUHJlZml4XCI+PC9uZy1jb250ZW50PlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm9jU3VmZml4XCI+PC9uZy1jb250ZW50PlxyXG5cclxuICA8ZGl2IFxyXG4gIGNsYXNzPVwib2Mtb3B0aW9ucy1kaXZcIlxyXG4+XHJcbiAgQGlmKGlzT3B0aW9uc1Nob3duKXtcclxuICAgIDx1bCAjb3B0aW9ucyBjbGFzcz1cIm9jLW9wdGlvbnNcIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICdtYXgtaGVpZ2h0Jzogb2NPcHRpb25zTWF4SGVpZ2h0XHJcbiAgICB9XCI+XHJcbiAgICAgIEBpZighZmlsdGVyZWREYXRhLmxlbmd0aCl7XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibm8tb3B0aW9uc1wiPlxyXG4gICAgICAgICAge3sgb2NOb0F2YWlsYWJsZU9wdGlvbnNUZXh0IHx8ICdOZW5odW1hIG9ww6fDo28gZGlzcG9uw612ZWwnfX1cclxuICAgICAgICA8L2xpPlxyXG4gICAgICB9QGVsc2Uge1xyXG4gICAgICAgIEBmb3IoZGF0YSBvZiBmaWx0ZXJlZERhdGE7IHRyYWNrIGRhdGEudmFsdWU7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgICBAaWYoIW9jTWF4UmVzdWx0cyB8fCBpIDwgb2NNYXhSZXN1bHRzKSB7XHJcbiAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2VsZWN0VmFsdWUoZGF0YS52YWx1ZSlcIj5cclxuICAgICAgICAgICAgICAgIHt7ZGF0YS5uYW1lfX1cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmKG9jTWF4UmVzdWx0cyAmJiBmaWx0ZXJlZERhdGEubGVuZ3RoID4gb2NNYXhSZXN1bHRzKSB7XHJcbiAgICAgICAgICA8bGkgY2xhc3M9XCJuby1vcHRpb25zXCI+XHJcbiAgICAgICAgICAgIHt7b2NUeXBlRm9yTW9yZVJlc3VsdHNUZXh0IHx8ICdEaWdpdGUgdW0gdmFsb3IgcGFyYSBtYWlzIHJlc3VsdGFkb3MnfX1cclxuICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICA8L3VsPlxyXG4gIH1cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, ContentChild, HostBinding, Input, ViewEncapsulation } from '@angular/core';
2
+ import { Component, ContentChild, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  export class OcInputComponent {
@@ -23,10 +23,12 @@ export class OcInputComponent {
23
23
  this.hasPrefix = false;
24
24
  }
25
25
  ngOnChanges(changes) {
26
- if (this.ocPrefix)
26
+ if (this.ocPrefix) {
27
27
  this.hasPrefix = true;
28
- if (this.ocSuffix)
28
+ }
29
+ if (this.ocSuffix) {
29
30
  this.hasSuffix = true;
31
+ }
30
32
  }
31
33
  ngAfterViewInit() {
32
34
  const inputBox = this.el.nativeElement;
@@ -39,21 +41,23 @@ export class OcInputComponent {
39
41
  }
40
42
  }
41
43
  ngAfterContentChecked() {
42
- if (this.ocPrefix)
44
+ if (this.ocPrefix) {
43
45
  this.hasPrefix = true;
44
- if (this.ocSuffix)
46
+ }
47
+ if (this.ocSuffix) {
45
48
  this.hasSuffix = true;
49
+ }
46
50
  }
47
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: OcInputComponent, isStandalone: true, selector: "oc-input", inputs: { ocError: "ocError", ocSize: "ocSize", ocPlaceholder: "ocPlaceholder", ocWidth: "ocWidth", ocMinWidth: "ocMinWidth", ocMaxWidth: "ocMaxWidth", ocRequired: "ocRequired" }, host: { properties: { "style.width": "this.computedWidth", "style.min-width": "this.computedMinWidth", "style.max-width": "this.computedMaxWidth" } }, queries: [{ propertyName: "ocPrefix", first: true, predicate: ["ocPrefix"], descendants: true }, { propertyName: "ocSuffix", first: true, predicate: ["ocSuffix"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"oc-input-box\" [ngClass]=\"{\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix\r\n}\"\r\n [id]=\"inputId\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ocError}}</small>\r\n</div>\r\n\r\n", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:2.5rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:2.5rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}input.small input,input.small textarea,input.small select{padding:.3rem .7rem;border-radius:.5rem}input.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}input.small.prefix label{padding:.45rem 2.5rem}input.small.suffix .material-symbols-outlined{padding:.35rem .7rem}input.small.suffix label{padding:.45rem .7rem}input.small label{padding:.5rem .7rem}input.small input:focus~label,input.small input:not(:placeholder-shown)~label,input.small textarea:focus~label,input.small textarea:not(:placeholder-shown)~label,input.small select:focus~label,input.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}input.large input,input.large textarea,input.large select{padding:1rem;border-radius:1rem}input.large label,input.large.prefix .material-symbols-outlined{padding:1rem .7rem}input.large.prefix input{padding-left:2.5rem}input.large.prefix label{padding:1.1rem 2.5rem}input.large.suffix .material-symbols-outlined{padding:.9rem .7rem}input.large.suffix input{padding-right:2.5rem}input.large.suffix label{padding:1.1rem .7rem}input.large input:focus~label,input.large input:not(:placeholder-shown)~label,input.large textarea:focus~label,input.large textarea:not(:placeholder-shown)~label,input.large select:focus~label,input.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: OcInputComponent, isStandalone: true, selector: "oc-input", inputs: { ocError: "ocError", ocSize: "ocSize", ocPlaceholder: "ocPlaceholder", ocWidth: "ocWidth", ocMinWidth: "ocMinWidth", ocMaxWidth: "ocMaxWidth", ocRequired: "ocRequired" }, host: { properties: { "style.width": "this.computedWidth", "style.min-width": "this.computedMinWidth", "style.max-width": "this.computedMaxWidth" } }, queries: [{ propertyName: "ocPrefix", first: true, predicate: ["ocPrefix"], descendants: true }, { propertyName: "ocSuffix", first: true, predicate: ["ocSuffix"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"oc-input-box\" [ngClass]=\"{\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix\r\n}\"\r\n [id]=\"inputId\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ocError}}</small>\r\n</div>\r\n\r\n", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:2.7rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:2.8rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}input.small input,input.small textarea,input.small select{padding:.3rem .7rem;border-radius:.5rem}input.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}input.small.prefix label{padding:.45rem 2.5rem}input.small.suffix .material-symbols-outlined{padding:.35rem .7rem}input.small.suffix label{padding:.45rem .7rem}input.small label{padding:.5rem .7rem}input.small input:focus~label,input.small input:not(:placeholder-shown)~label,input.small textarea:focus~label,input.small textarea:not(:placeholder-shown)~label,input.small select:focus~label,input.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}input.large input,input.large textarea,input.large select{padding:1rem;border-radius:1rem}input.large label,input.large.prefix .material-symbols-outlined{padding:1rem .7rem}input.large.prefix input{padding-left:2.5rem}input.large.prefix label{padding:1.1rem 2.5rem}input.large.suffix .material-symbols-outlined{padding:.9rem .7rem}input.large.suffix input{padding-right:2.5rem}input.large.suffix label{padding:1.1rem .7rem}input.large input:focus~label,input.large input:not(:placeholder-shown)~label,input.large textarea:focus~label,input.large textarea:not(:placeholder-shown)~label,input.large select:focus~label,input.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
49
53
  }
50
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcInputComponent, decorators: [{
51
55
  type: Component,
52
56
  args: [{ selector: 'oc-input', host: {
53
57
  '[style.width]': 'computedWidth',
54
58
  '[style.min-width]': 'computedMinWidth',
55
- '[style.max-width]': 'computedMaxWidth'
56
- }, standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"oc-input-box\" [ngClass]=\"{\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix\r\n}\"\r\n [id]=\"inputId\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ocError}}</small>\r\n</div>\r\n\r\n", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:2.5rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:2.5rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}input.small input,input.small textarea,input.small select{padding:.3rem .7rem;border-radius:.5rem}input.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}input.small.prefix label{padding:.45rem 2.5rem}input.small.suffix .material-symbols-outlined{padding:.35rem .7rem}input.small.suffix label{padding:.45rem .7rem}input.small label{padding:.5rem .7rem}input.small input:focus~label,input.small input:not(:placeholder-shown)~label,input.small textarea:focus~label,input.small textarea:not(:placeholder-shown)~label,input.small select:focus~label,input.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}input.large input,input.large textarea,input.large select{padding:1rem;border-radius:1rem}input.large label,input.large.prefix .material-symbols-outlined{padding:1rem .7rem}input.large.prefix input{padding-left:2.5rem}input.large.prefix label{padding:1.1rem 2.5rem}input.large.suffix .material-symbols-outlined{padding:.9rem .7rem}input.large.suffix input{padding-right:2.5rem}input.large.suffix label{padding:1.1rem .7rem}input.large input:focus~label,input.large input:not(:placeholder-shown)~label,input.large textarea:focus~label,input.large textarea:not(:placeholder-shown)~label,input.large select:focus~label,input.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}\n"] }]
59
+ '[style.max-width]': 'computedMaxWidth',
60
+ }, standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"oc-input-box\" [ngClass]=\"{\r\n 'small': ocSize === 'small',\r\n 'large': ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix\r\n}\"\r\n [id]=\"inputId\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n <label>{{ocPlaceholder}}\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ocError}}</small>\r\n</div>\r\n\r\n", styles: [".oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:2.7rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:2.8rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.error small,.error label{color:#ed3a3a!important;font-weight:600}input.small input,input.small textarea,input.small select{padding:.3rem .7rem;border-radius:.5rem}input.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}input.small.prefix label{padding:.45rem 2.5rem}input.small.suffix .material-symbols-outlined{padding:.35rem .7rem}input.small.suffix label{padding:.45rem .7rem}input.small label{padding:.5rem .7rem}input.small input:focus~label,input.small input:not(:placeholder-shown)~label,input.small textarea:focus~label,input.small textarea:not(:placeholder-shown)~label,input.small select:focus~label,input.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}input.large input,input.large textarea,input.large select{padding:1rem;border-radius:1rem}input.large label,input.large.prefix .material-symbols-outlined{padding:1rem .7rem}input.large.prefix input{padding-left:2.5rem}input.large.prefix label{padding:1.1rem 2.5rem}input.large.suffix .material-symbols-outlined{padding:.9rem .7rem}input.large.suffix input{padding-right:2.5rem}input.large.suffix label{padding:1.1rem .7rem}input.large input:focus~label,input.large input:not(:placeholder-shown)~label,input.large textarea:focus~label,input.large textarea:not(:placeholder-shown)~label,input.large select:focus~label,input.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}\n"] }]
57
61
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { ocPrefix: [{
58
62
  type: ContentChild,
59
63
  args: ['ocPrefix']
@@ -84,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
84
88
  type: HostBinding,
85
89
  args: ['style.max-width']
86
90
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWlucHV0L29jLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1pbnB1dC9vYy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF3RCxTQUFTLEVBQUUsWUFBWSxFQUFjLFdBQVcsRUFBRSxLQUFLLEVBQWtELGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFlak4sTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDM0MsQ0FBQztJQUVELElBQ0ksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUE7SUFDL0IsQ0FBQztJQUVELElBQ0ksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUE7SUFDbEMsQ0FBQztJQUVELFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQTFCdEQsV0FBTSxHQUFrQyxRQUFRLENBQUM7UUFDakQsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFJM0IsZUFBVSxHQUFZLEtBQUssQ0FBQTtRQUVwQyxZQUFPLEdBQVcsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUN4QyxjQUFTLEdBQVksS0FBSyxDQUFBO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUE7SUFpQndDLENBQUM7SUFFbkUsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUcsSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQTtRQUN2QyxJQUFHLElBQUksQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUE7SUFDekMsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUV2QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVyRCxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUNsRixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBRyxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ3ZDLElBQUcsSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQTtJQUN6QyxDQUFDOytHQXREVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQiw2bEJDaEI3Qixta0JBc0JBLDZ1R0RYWSxZQUFZOzs0RkFLWCxnQkFBZ0I7a0JBYjVCLFNBQVM7K0JBQ0UsVUFBVSxRQUNkO3dCQUNKLGVBQWUsRUFBRSxlQUFlO3dCQUNoQyxtQkFBbUIsRUFBRSxrQkFBa0I7d0JBQ3ZDLG1CQUFtQixFQUFFLGtCQUFrQjtxQkFDeEMsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTt1R0FHWCxRQUFRO3NCQUFqQyxZQUFZO3VCQUFDLFVBQVU7Z0JBQ0UsUUFBUTtzQkFBakMsWUFBWTt1QkFBQyxVQUFVO2dCQUVmLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0YsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyxhQUFhO2dCQU10QixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU0xQixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnb2MtaW5wdXQnLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbc3R5bGUud2lkdGhdJzogJ2NvbXB1dGVkV2lkdGgnLFxyXG4gICAgJ1tzdHlsZS5taW4td2lkdGhdJzogJ2NvbXB1dGVkTWluV2lkdGgnLFxyXG4gICAgJ1tzdHlsZS5tYXgtd2lkdGhdJzogJ2NvbXB1dGVkTWF4V2lkdGgnXHJcbiAgfSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vYy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vb2MtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPY0lucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRDaGVja2VkIHtcclxuICBAQ29udGVudENoaWxkKCdvY1ByZWZpeCcpIG9jUHJlZml4OiBhbnlcclxuICBAQ29udGVudENoaWxkKCdvY1N1ZmZpeCcpIG9jU3VmZml4OiBhbnlcclxuXHJcbiAgQElucHV0KCkgb2NFcnJvcj86IHN0cmluZztcclxuICBASW5wdXQoKSBvY1NpemU/OiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnID0gJ21lZGl1bSc7XHJcbiAgQElucHV0KCkgb2NQbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgb2NXaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTWluV2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY01heFdpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlXHJcblxyXG4gIGlucHV0SWQ6IHN0cmluZyA9IGBvYy0ke01hdGgucmFuZG9tKCl9YDtcclxuICBoYXNTdWZmaXg6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIGhhc1ByZWZpeDogYm9vbGVhbiA9IGZhbHNlXHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZFdpZHRoICgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jV2lkdGggPyB0aGlzLm9jV2lkdGggOiBudWxsXHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkTWluV2lkdGggKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NNaW5XaWR0aCB8fCAnMCdcclxuICB9XHJcbiAgXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZE1heFdpZHRoICgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jTWF4V2lkdGggfHwgJzEwMCUnXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMub2NQcmVmaXgpIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxyXG4gICAgaWYodGhpcy5vY1N1ZmZpeCkgdGhpcy5oYXNTdWZmaXggPSB0cnVlXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBjb25zdCBpbnB1dEJveCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICBpZiAoaW5wdXRCb3gpIHtcclxuICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gaW5wdXRCb3gucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcclxuXHJcbiAgICAgIGlmIChpbnB1dEVsZW1lbnQpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsZW1lbnQsICdwbGFjZWhvbGRlcicsICcnKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsZW1lbnQsICdyZXF1aXJlZCcsIHRoaXMub2NSZXF1aXJlZC50b1N0cmluZygpKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSBcclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5vY1ByZWZpeCkgdGhpcy5oYXNQcmVmaXggPSB0cnVlXHJcbiAgICBpZih0aGlzLm9jU3VmZml4KSB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm9jLWlucHV0LWJveFwiIFtuZ0NsYXNzXT1cIntcclxuICAnc21hbGwnOiBvY1NpemUgPT09ICdzbWFsbCcsXHJcbiAgJ2xhcmdlJzogb2NTaXplID09PSAnbGFyZ2UnLFxyXG4gIGVycm9yOiAhIW9jRXJyb3IsXHJcbiAgcHJlZml4OiBoYXNQcmVmaXgsXHJcbiAgc3VmZml4OiBoYXNTdWZmaXhcclxufVwiXHJcbiAgW2lkXT1cImlucHV0SWRcIj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2NQcmVmaXhcIj48L25nLWNvbnRlbnQ+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2NTdWZmaXhcIj48L25nLWNvbnRlbnQ+XHJcbiAgPGxhYmVsPnt7b2NQbGFjZWhvbGRlcn19XHJcbiAgICBAaWYob2NSZXF1aXJlZCkge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cIm9jIGNvbG9yIGVycm9yXCI+Kjwvc3Bhbj5cclxuICAgIH1cclxuICA8L2xhYmVsPlxyXG4gIDxzbWFsbFxyXG4gICAgKm5nSWY9XCJvY0Vycm9yXCJcclxuICAgIGNsYXNzPVwiZXJyb3ItbXNnXCJcclxuICA+e3tvY0Vycm9yfX08L3NtYWxsPlxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWlucHV0L29jLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1pbnB1dC9vYy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBRVosV0FBVyxFQUNYLEtBQUssRUFJTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7OztBQWV0QixNQUFNLE9BQU8sZ0JBQWdCO0lBZ0IzQixJQUNJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUMzQyxDQUFDO0lBRUQsSUFDSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQTtJQUMvQixDQUFDO0lBRUQsSUFDSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQTtJQUNsQyxDQUFDO0lBRUQsWUFDVSxFQUFjLEVBQ2QsUUFBbUI7UUFEbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUE1QnBCLFdBQU0sR0FBa0MsUUFBUSxDQUFBO1FBQ2hELGtCQUFhLEdBQVcsRUFBRSxDQUFBO1FBSTFCLGVBQVUsR0FBWSxLQUFLLENBQUE7UUFFcEMsWUFBTyxHQUFXLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUE7UUFDdkMsY0FBUyxHQUFZLEtBQUssQ0FBQTtRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFBO0lBb0J2QixDQUFDO0lBRUosV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQTtRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQTtRQUV0QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUVwRCxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUNsRixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUE7UUFDdkIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLENBQUM7SUFDSCxDQUFDOytHQWpFVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQiw2bEJDNUI3Qixta0JBc0JBLDYwR0RDWSxZQUFZOzs0RkFLWCxnQkFBZ0I7a0JBYjVCLFNBQVM7K0JBQ0UsVUFBVSxRQUNkO3dCQUNKLGVBQWUsRUFBRSxlQUFlO3dCQUNoQyxtQkFBbUIsRUFBRSxrQkFBa0I7d0JBQ3ZDLG1CQUFtQixFQUFFLGtCQUFrQjtxQkFDeEMsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTt1R0FHWCxRQUFRO3NCQUFqQyxZQUFZO3VCQUFDLFVBQVU7Z0JBQ0UsUUFBUTtzQkFBakMsWUFBWTt1QkFBQyxVQUFVO2dCQUVmLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0YsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyxhQUFhO2dCQU10QixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU0xQixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ29jLWlucHV0JyxcclxuICBob3N0OiB7XHJcbiAgICAnW3N0eWxlLndpZHRoXSc6ICdjb21wdXRlZFdpZHRoJyxcclxuICAgICdbc3R5bGUubWluLXdpZHRoXSc6ICdjb21wdXRlZE1pbldpZHRoJyxcclxuICAgICdbc3R5bGUubWF4LXdpZHRoXSc6ICdjb21wdXRlZE1heFdpZHRoJyxcclxuICB9LFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29jLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9vYy1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPY0lucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRDaGVja2VkIHtcclxuICBAQ29udGVudENoaWxkKCdvY1ByZWZpeCcpIG9jUHJlZml4OiBhbnlcclxuICBAQ29udGVudENoaWxkKCdvY1N1ZmZpeCcpIG9jU3VmZml4OiBhbnlcclxuXHJcbiAgQElucHV0KCkgb2NFcnJvcj86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jU2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbWVkaXVtJ1xyXG4gIEBJbnB1dCgpIG9jUGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnXHJcbiAgQElucHV0KCkgb2NXaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTWluV2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY01heFdpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlXHJcblxyXG4gIGlucHV0SWQ6IHN0cmluZyA9IGBvYy0ke01hdGgucmFuZG9tKCl9YFxyXG4gIGhhc1N1ZmZpeDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgaGFzUHJlZml4OiBib29sZWFuID0gZmFsc2VcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkV2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vY1dpZHRoID8gdGhpcy5vY1dpZHRoIDogbnVsbFxyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5taW4td2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZE1pbldpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NNaW5XaWR0aCB8fCAnMCdcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJylcclxuICBnZXQgY29tcHV0ZWRNYXhXaWR0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jTWF4V2lkdGggfHwgJzEwMCUnXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9jUHJlZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub2NTdWZmaXgpIHtcclxuICAgICAgdGhpcy5oYXNTdWZmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBjb25zdCBpbnB1dEJveCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudFxyXG5cclxuICAgIGlmIChpbnB1dEJveCkge1xyXG4gICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dEJveC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpXHJcblxyXG4gICAgICBpZiAoaW5wdXRFbGVtZW50KSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaW5wdXRFbGVtZW50LCAncGxhY2Vob2xkZXInLCAnJylcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsZW1lbnQsICdyZXF1aXJlZCcsIHRoaXMub2NSZXF1aXJlZC50b1N0cmluZygpKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xyXG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib2MtaW5wdXQtYm94XCIgW25nQ2xhc3NdPVwie1xyXG4gICdzbWFsbCc6IG9jU2l6ZSA9PT0gJ3NtYWxsJyxcclxuICAnbGFyZ2UnOiBvY1NpemUgPT09ICdsYXJnZScsXHJcbiAgZXJyb3I6ICEhb2NFcnJvcixcclxuICBwcmVmaXg6IGhhc1ByZWZpeCxcclxuICBzdWZmaXg6IGhhc1N1ZmZpeFxyXG59XCJcclxuICBbaWRdPVwiaW5wdXRJZFwiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvY1ByZWZpeFwiPjwvbmctY29udGVudD5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvY1N1ZmZpeFwiPjwvbmctY29udGVudD5cclxuICA8bGFiZWw+e3tvY1BsYWNlaG9sZGVyfX1cclxuICAgIEBpZihvY1JlcXVpcmVkKSB7XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwib2MgY29sb3IgZXJyb3JcIj4qPC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvbGFiZWw+XHJcbiAgPHNtYWxsXHJcbiAgICAqbmdJZj1cIm9jRXJyb3JcIlxyXG4gICAgY2xhc3M9XCJlcnJvci1tc2dcIlxyXG4gID57e29jRXJyb3J9fTwvc21hbGw+XHJcbjwvZGl2PlxyXG5cclxuIl19