otimus-library 0.1.38 → 0.1.40

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.
@@ -144,7 +144,7 @@ export class OcAutocompleteComponent {
144
144
  this.filteredData = this.ocData;
145
145
  }
146
146
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", 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: "17.3.11", 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</div>\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", 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"] }] }); }
147
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", 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"] }] }); }
148
148
  }
149
149
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OcAutocompleteComponent, decorators: [{
150
150
  type: Component,
@@ -152,7 +152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
152
152
  '[style.width]': 'computedWidth',
153
153
  '[style.min-width]': 'computedMinWidth',
154
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</div>\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", 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"] }]
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"] }]
156
156
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { input: [{
157
157
  type: ViewChild,
158
158
  args: ['input']
@@ -210,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
210
210
  type: HostBinding,
211
211
  args: ['style.max-width']
212
212
  }] } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXNDLFNBQVMsRUFBRSxZQUFZLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBNEIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFNLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWM3QyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQW9CLFFBQW1CLEVBQVUsRUFBYztRQUEzQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQVV0RCxXQUFNLEdBQWlDLFFBQVEsQ0FBQTtRQUMvQyxXQUFNLEdBQXlCLEVBQUUsQ0FBQTtRQUNqQyxZQUFPLEdBQVEsRUFBRSxDQUFBO1FBQ2pCLG9CQUFlLEdBQVksS0FBSyxDQUFBO1FBSWhDLGVBQVUsR0FBWSxLQUFLLENBQUE7UUFFM0IsMEJBQXFCLEdBQVksS0FBSyxDQUFBO1FBSXJDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQTtRQUMxQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUE7UUFFdEQsY0FBUyxHQUFZLEtBQUssQ0FBQTtRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFB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QkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBYUgsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyxhQUFhO2dCQU10QixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU0xQixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPY0F1dG9Db21wbGV0ZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLWF1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdvYy1hdXRvY29tcGxldGUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbc3R5bGUud2lkdGhdJzogJ2NvbXB1dGVkV2lkdGgnLFxyXG4gICAgJ1tzdHlsZS5taW4td2lkdGhdJzogJ2NvbXB1dGVkTWluV2lkdGgnLFxyXG4gICAgJ1tzdHlsZS5tYXgtd2lkdGhdJzogJ2NvbXB1dGVkTWF4V2lkdGgnXHJcbiAgfSxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgT2NBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cclxuICBcclxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0ITogRWxlbWVudFJlZlxyXG4gIEBWaWV3Q2hpbGQoJ29wdGlvbnMnKSBvcHRpb25zITogRWxlbWVudFJlZlxyXG4gIEBWaWV3Q2hpbGQoJ291dGVyRGl2Jykgb3V0ZXJEaXYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PlxyXG5cclxuICBAQ29udGVudENoaWxkKCdvY1ByZWZpeCcpIG9jUHJlZml4OiBhbnlcclxuICBAQ29udGVudENoaWxkKCdvY1N1ZmZpeCcpIG9jU3VmZml4OiBhbnlcclxuICBASW5wdXQoKSBvY1BsYWNlaG9sZGVyPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NFcnJvcj86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3NtYWxsJyB8ICdsYXJnZScgfCAnbWVkaXVtJyA9ICdtZWRpdW0nXHJcbiAgQElucHV0KCkgb2NEYXRhOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSA9IFtdXHJcbiAgQElucHV0KCkgb2NWYWx1ZTogYW55ID0gJydcclxuICBASW5wdXQoKSBvY0NsZWFyT25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZSBcclxuICBASW5wdXQoKSBvY1dpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NNaW5XaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTWF4V2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY01heFJlc3VsdHM/OiBudW1iZXJcclxuICBASW5wdXQoKSBvY0FsbG93Tm90TGlzdGVkVmFsdWU6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jTm9BdmFpbGFibGVPcHRpb25zVGV4dD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jVHlwZUZvck1vcmVSZXN1bHRzVGV4dD86IHN0cmluZ1xyXG5cclxuICBAT3V0cHV0KCkgb2NWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXHJcbiAgQE91dHB1dCgpIG9jQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpXHJcblxyXG4gIGhhc1N1ZmZpeDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgaGFzUHJlZml4OiBib29sZWFuID0gZmFsc2VcclxuXHJcbiAgaXNPcHRpb25zU2hvd246IGJvb2xlYW4gPSBmYWxzZVxyXG4gIGZpbHRlcmVkRGF0YTogT2NBdXRvQ29tcGxldGVUeXBlW10gPSBbXVxyXG4gIHNlbGVjdGVkVmFsdWU6IE9jQXV0b0NvbXBsZXRlVHlwZSA9IHtcclxuICAgIG5hbWU6ICcnLFxyXG4gICAgdmFsdWU6IG51bGxcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZFdpZHRoICgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jV2lkdGggPyB0aGlzLm9jV2lkdGggOiBudWxsXHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkTWluV2lkdGggKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NNaW5XaWR0aCB8fCAnMCdcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJylcclxuICBnZXQgY29tcHV0ZWRNYXhXaWR0aCAoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vY01heFdpZHRoIHx8ICcxMDAlJ1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5vY1ByZWZpeCkgdGhpcy5oYXNQcmVmaXggPSB0cnVlXHJcbiAgICBpZih0aGlzLm9jU3VmZml4KSB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcclxuICAgIHRoaXMuZm9ybWF0T2NWYWx1ZVR5cGUoKVxyXG4gICAgdGhpcy5sb2FkT3B0aW9ucygpXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZih0aGlzLm9jUHJlZml4KSB0aGlzLmhhc1ByZWZpeCA9IHRydWVcclxuICAgIGlmKHRoaXMub2NTdWZmaXgpIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxyXG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXHJcbiAgICB0aGlzLmxvYWRPcHRpb25zKClcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMub2NQcmVmaXgpIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxyXG4gICAgaWYodGhpcy5vY1N1ZmZpeCkgdGhpcy5oYXNTdWZmaXggPSB0cnVlXHJcbiAgfVxyXG5cclxuICBmb3JtYXRPY1ZhbHVlVHlwZSgpIHtcclxuICAgIGlmKHRoaXMub2NWYWx1ZSkgcmV0dXJuIGAke3RoaXMub2NWYWx1ZX1gXHJcbiAgICByZXR1cm4gbnVsbFxyXG4gIH1cclxuXHJcbiAgbG9hZE9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcclxuICAgIHNldFRpbWVvdXQoKCkgPT57XHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICAgICAgY29uc3QgaW5wdXRCb3ggPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgICBjb25zdCBmb3VuZCA9IHRoaXMub2NEYXRhLmZpbmQoZWwgPT4gZWwudmFsdWUgPT0gdGhpcy5vY1ZhbHVlKVxyXG4gICAgICBpZihmb3VuZCl7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZm91bmRcclxuICAgICAgICB0aGlzLm9jVmFsdWUgPSBmb3VuZC5uYW1lXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbnB1dEJveCkge1xyXG4gICAgICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IGlucHV0Qm94LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XHJcbiAgXHJcbiAgICAgICAgaWYgKGlucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaW5wdXRFbGVtZW50LCAncGxhY2Vob2xkZXInLCAnJylcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0RWxlbWVudCwgJ3JlcXVpcmVkJywgdGhpcy5vY1JlcXVpcmVkLnRvU3RyaW5nKCkpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LDUwKVxyXG4gIH1cclxuXHJcbiAgY2xvc2VPbkNsaWNrT3V0KCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdjbGljaycsKGU6RXZlbnQpPT57XHJcbiAgICAgIGlmKHRoaXMuaW5wdXQgJiYgdGhpcy5vcHRpb25zKXtcclxuICAgICAgICBpZihlLnRhcmdldCAhPT0gdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50ICYmIGUudGFyZ2V0IT09dGhpcy5vcHRpb25zLm5hdGl2ZUVsZW1lbnQpe1xyXG4gICAgICAgICAgdGhpcy5pc09wdGlvbnNTaG93biA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpbmRCeVR5cGluZygpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZmluZEJ5VHlwaW5nKCkge1xyXG4gICAgaWYoIXRoaXMub2NWYWx1ZS50cmltKCkubGVuZ3RoKXtcclxuICAgICAgdGhpcy5vY0NoYW5nZS5lbWl0KG51bGwpXHJcbiAgICB9XHJcbiAgICBjb25zdCBmb3VuZFZhbHVlID0gdGhpcy5vY0RhdGEuZmluZChkYXRhID0+IGRhdGEubmFtZS50b0xvd2VyQ2FzZSgpID09IHRoaXMub2NWYWx1ZS50b0xvd2VyQ2FzZSgpKVxyXG5cclxuICAgIGlmKCFmb3VuZFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcclxuICAgICAgIG5hbWU6ICcnLFxyXG4gICAgICAgdmFsdWU6IG51bGxcclxuICAgICAgfVxyXG4gICAgICBpZighdGhpcy5vY0FsbG93Tm90TGlzdGVkVmFsdWUpIHtcclxuICAgICAgICB0aGlzLm9jVmFsdWUgPSAnJ1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFZhbHVlXHJcbiAgfVxyXG5cclxuICBmaWx0ZXJEYXRhKG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5pc09wdGlvbnNTaG93biA9IHRydWVcclxuICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobmFtZS50b0xvd2VyQ2FzZSgpKSlcclxuICB9XHJcblxyXG4gIHRvZ2dsZU9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLmNsb3NlT25DbGlja091dCgpXHJcbiAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gIXRoaXMuaXNPcHRpb25zU2hvd25cclxuICB9XHJcblxyXG4gIHNlbGVjdFZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGNvbnN0IGZvdW5kVmFsdWUgPSB0aGlzLm9jRGF0YS5maW5kKChkYXRhKSA9PiBkYXRhLnZhbHVlID09IHZhbHVlKVxyXG4gICAgXHJcbiAgICBpZighZm91bmRWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB7XHJcbiAgICAgICAgbmFtZTogJycsXHJcbiAgICAgICAgdmFsdWU6IG51bGxcclxuICAgICAgfVxyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFZhbHVlXHJcbiAgICBpZih0aGlzLm9jQ2xlYXJPbkNoYW5nZSl7XHJcbiAgICAgIHRoaXMub2NWYWx1ZSA9ICcnXHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLm9jVmFsdWUgPSBmb3VuZFZhbHVlLm5hbWVcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9jQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKVxyXG4gIH1cclxuXHJcbiAgY2xlYXJWYWx1ZSgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcclxuICAgICAgbmFtZTogJycsXHJcbiAgICAgIHZhbHVlOiBudWxsXHJcbiAgICB9XHJcbiAgICB0aGlzLm9jVmFsdWUgPSAnJ1xyXG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib2MtaW5wdXQtYm94XCIgW25nQ2xhc3NdPVwie1xyXG4gICdzbWFsbCc6IG9jU2l6ZSA9PT0gJ3NtYWxsJyxcclxuICAnbGFyZ2UnOiBvY1NpemUgPT09ICdsYXJnZScsXHJcbiAgZXJyb3I6ICEhb2NFcnJvcixcclxuICBwcmVmaXg6IGhhc1ByZWZpeCxcclxuICBzdWZmaXg6IGhhc1N1ZmZpeFxyXG4gIH1cIlxyXG4gID5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPGlucHV0ICNpbnB1dCAoY2xpY2spPVwidG9nZ2xlT3B0aW9ucygpXCIgdHlwZT1cInRleHRcIiAoaW5wdXQpPVwiZmlsdGVyRGF0YShvY1ZhbHVlKVwiIFsobmdNb2RlbCldPVwib2NWYWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9jVmFsdWUgPSAkZXZlbnQ7IG9jVmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCI+XHJcbiAgPGxhYmVsPnt7b2NQbGFjZWhvbGRlcn19XHJcbiAgICBAaWYob2NSZXF1aXJlZCkge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cIm9jIGNvbG9yIGVycm9yXCI+Kjwvc3Bhbj5cclxuICAgIH1cclxuICA8L2xhYmVsPlxyXG4gIDxzbWFsbFxyXG4gICAgKm5nSWY9XCJvY0Vycm9yXCJcclxuICAgIGNsYXNzPVwiZXJyb3ItbXNnXCJcclxuICA+e3tvY0Vycm9yfX08L3NtYWxsPlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm9jUHJlZml4XCI+PC9uZy1jb250ZW50PlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm9jU3VmZml4XCI+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgXHJcbiAgY2xhc3M9XCJvYy1vcHRpb25zLWRpdlwiXHJcbj5cclxuICBAaWYoaXNPcHRpb25zU2hvd24pe1xyXG4gICAgPHVsICNvcHRpb25zIGNsYXNzPVwib2Mtb3B0aW9uc1wiPlxyXG4gICAgICBAaWYoIWZpbHRlcmVkRGF0YS5sZW5ndGgpe1xyXG4gICAgICAgIDxsaSBjbGFzcz1cIm5vLW9wdGlvbnNcIj5cclxuICAgICAgICAgIHt7IG9jTm9BdmFpbGFibGVPcHRpb25zVGV4dCB8fCAnTmVuaHVtYSBvcMOnw6NvIGRpc3BvbsOtdmVsJ319XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgfUBlbHNlIHtcclxuICAgICAgICBAZm9yKGRhdGEgb2YgZmlsdGVyZWREYXRhOyB0cmFjayBkYXRhLnZhbHVlOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICAgICAgQGlmKCFvY01heFJlc3VsdHMgfHwgaSA8IG9jTWF4UmVzdWx0cykge1xyXG4gICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNlbGVjdFZhbHVlKGRhdGEudmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICB7e2RhdGEubmFtZX19XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZihvY01heFJlc3VsdHMgJiYgZmlsdGVyZWREYXRhLmxlbmd0aCA+IG9jTWF4UmVzdWx0cykge1xyXG4gICAgICAgICAgPGxpIGNsYXNzPVwibm8tb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICB7e29jVHlwZUZvck1vcmVSZXN1bHRzVGV4dCB8fCAnRGlnaXRlIHVtIHZhbG9yIHBhcmEgbWFpcyByZXN1bHRhZG9zJ319XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgPC91bD5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
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=
@@ -1,6 +1,6 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
2
+ import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
3
+ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  import * as i2 from "@angular/forms";
@@ -14,20 +14,46 @@ export class OcCheckboxComponent {
14
14
  this.ocName = '';
15
15
  this.ocColor = 'green';
16
16
  this.ocBorderColor = 'white';
17
+ this.onChange = (value) => { };
18
+ this.onTouched = () => { };
17
19
  }
20
+ writeValue(value) {
21
+ this.ocChecked = value;
22
+ }
23
+ registerOnChange(fn) {
24
+ this.onChange = fn;
25
+ }
26
+ registerOnTouched(fn) {
27
+ this.onTouched = fn;
28
+ }
29
+ setDisabledState(isDisabled) { }
18
30
  toggleChecked() {
19
31
  this.ocChecked = !this.ocChecked;
32
+ this.onChange(this.ocChecked);
33
+ this.onTouched();
20
34
  this.ocChange.emit(this.ocChecked);
21
35
  if (this.formControl) {
22
36
  this.formControl.setValue(this.ocChecked);
23
37
  }
24
38
  }
25
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OcCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: OcCheckboxComponent, isStandalone: true, selector: "oc-checkbox", inputs: { ocChecked: "ocChecked", ocSize: "ocSize", ocLabel: "ocLabel", ocName: "ocName", ocColor: "ocColor", ocBorderColor: "ocBorderColor", formControl: "formControl" }, outputs: { ocChange: "ocChange" }, ngImport: i0, template: "<button class=\"oc-checkbox-content cbx\" type=\"button\"\r\n(click)=\"toggleChecked()\">\r\n\r\n <div class=\"oc-checkbox cbx\" [ngClass]=\"{\r\n 'checked': ocChecked,\r\n 'tiny': ocSize === 'tiny',\r\n purple: ocColor === 'purple',\r\n 'gray-border': ocBorderColor === 'gray'\r\n }\"\r\n >\r\n\r\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\r\n </div>\r\n \r\n @if(ocLabel) {\r\n <span class=\"oc-checkbox-label cbx\">\r\n {{ocLabel}}\r\n </span>\r\n }\r\n\r\n <ng-content>\r\n </ng-content>\r\n\r\n @if(formControl) {\r\n <input [formControl]=\"formControl\" [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n } @else {\r\n <input [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n }\r\n</button>", styles: [".oc-checkbox-content{display:flex;align-items:center;padding:0;margin:0;border:none;background-color:transparent;gap:.3rem}.oc-checkbox-content .oc-checkbox-label{background-color:transparent;border:none;color:#8f9596;font-weight:500}.oc-checkbox{min-width:1rem;width:1.2rem;height:1.2rem;border-radius:.3rem;background-color:#f7f7f7;border:2px solid #ffffff;display:flex;align-items:center;justify-content:center;transition:.15s ease;cursor:pointer;overflow:hidden}.oc-checkbox:hover{filter:brightness(.95)}.oc-checkbox .check-icon{font-weight:700;color:#f8f9ff;opacity:0;pointer-events:none;position:absolute;margin:0;font-size:1.15rem;transition:.2s ease;transform:translateY(15px) scale(.5)}.oc-checkbox.gray-border{border:2px solid #d1d5db}.oc-checkbox.tiny{width:1rem;height:1rem;border:1px solid #ffffff}.oc-checkbox.tiny.gray{border:1px solid #d1d5db}.checked{background-color:#00dda3;box-shadow:0 2px 10px #00dda32b;border:none!important}.checked .check-icon{transform:translateY(0) scale(1);opacity:1;color:#f8f9ff}.checked.purple{background-color:#5505a2;box-shadow:0 2px 10px #5505a233}.label{width:18.4px!important;height:18.4px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: OcCheckboxComponent, isStandalone: true, selector: "oc-checkbox", inputs: { ocChecked: "ocChecked", ocSize: "ocSize", ocLabel: "ocLabel", ocName: "ocName", ocColor: "ocColor", ocBorderColor: "ocBorderColor", formControl: "formControl" }, outputs: { ocChange: "ocChange" }, providers: [
41
+ {
42
+ provide: NG_VALUE_ACCESSOR,
43
+ useExisting: forwardRef(() => OcCheckboxComponent),
44
+ multi: true,
45
+ },
46
+ ], ngImport: i0, template: "<button class=\"oc-checkbox-content cbx\" type=\"button\"\r\n(click)=\"toggleChecked()\">\r\n\r\n <div class=\"oc-checkbox cbx\" [ngClass]=\"{\r\n 'checked': ocChecked,\r\n 'tiny': ocSize === 'tiny',\r\n purple: ocColor === 'purple',\r\n 'gray-border': ocBorderColor === 'gray'\r\n }\"\r\n >\r\n\r\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\r\n </div>\r\n \r\n @if(ocLabel) {\r\n <span class=\"oc-checkbox-label cbx\">\r\n {{ocLabel}}\r\n </span>\r\n }\r\n\r\n <ng-content>\r\n </ng-content>\r\n\r\n @if(formControl) {\r\n <input [formControl]=\"formControl\" [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n } @else {\r\n <input [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n }\r\n</button>", styles: [".oc-checkbox-content{display:flex;align-items:center;padding:0;margin:0;border:none;background-color:transparent;gap:.3rem}.oc-checkbox-content .oc-checkbox-label{background-color:transparent;border:none;color:#8f9596;font-weight:500}.oc-checkbox{min-width:1rem;width:1.2rem;height:1.2rem;border-radius:.3rem;background-color:#f7f7f7;border:2px solid #ffffff;display:flex;align-items:center;justify-content:center;transition:.15s ease;cursor:pointer;overflow:hidden}.oc-checkbox:hover{filter:brightness(.95)}.oc-checkbox .check-icon{font-weight:700;color:#f8f9ff;opacity:0;pointer-events:none;position:absolute;margin:0;font-size:1.15rem;transition:.2s ease;transform:translateY(15px) scale(.5)}.oc-checkbox.gray-border{border:2px solid #d1d5db}.oc-checkbox.tiny{width:1rem;height:1rem;border:1px solid #ffffff}.oc-checkbox.tiny.gray{border:1px solid #d1d5db}.checked{background-color:#00dda3;box-shadow:0 2px 10px #00dda32b;border:none!important}.checked .check-icon{transform:translateY(0) scale(1);opacity:1;color:#f8f9ff}.checked.purple{background-color:#5505a2;box-shadow:0 2px 10px #5505a233}.label{width:18.4px!important;height:18.4px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
27
47
  }
28
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OcCheckboxComponent, decorators: [{
29
49
  type: Component,
30
- args: [{ selector: 'oc-checkbox', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule], template: "<button class=\"oc-checkbox-content cbx\" type=\"button\"\r\n(click)=\"toggleChecked()\">\r\n\r\n <div class=\"oc-checkbox cbx\" [ngClass]=\"{\r\n 'checked': ocChecked,\r\n 'tiny': ocSize === 'tiny',\r\n purple: ocColor === 'purple',\r\n 'gray-border': ocBorderColor === 'gray'\r\n }\"\r\n >\r\n\r\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\r\n </div>\r\n \r\n @if(ocLabel) {\r\n <span class=\"oc-checkbox-label cbx\">\r\n {{ocLabel}}\r\n </span>\r\n }\r\n\r\n <ng-content>\r\n </ng-content>\r\n\r\n @if(formControl) {\r\n <input [formControl]=\"formControl\" [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n } @else {\r\n <input [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n }\r\n</button>", styles: [".oc-checkbox-content{display:flex;align-items:center;padding:0;margin:0;border:none;background-color:transparent;gap:.3rem}.oc-checkbox-content .oc-checkbox-label{background-color:transparent;border:none;color:#8f9596;font-weight:500}.oc-checkbox{min-width:1rem;width:1.2rem;height:1.2rem;border-radius:.3rem;background-color:#f7f7f7;border:2px solid #ffffff;display:flex;align-items:center;justify-content:center;transition:.15s ease;cursor:pointer;overflow:hidden}.oc-checkbox:hover{filter:brightness(.95)}.oc-checkbox .check-icon{font-weight:700;color:#f8f9ff;opacity:0;pointer-events:none;position:absolute;margin:0;font-size:1.15rem;transition:.2s ease;transform:translateY(15px) scale(.5)}.oc-checkbox.gray-border{border:2px solid #d1d5db}.oc-checkbox.tiny{width:1rem;height:1rem;border:1px solid #ffffff}.oc-checkbox.tiny.gray{border:1px solid #d1d5db}.checked{background-color:#00dda3;box-shadow:0 2px 10px #00dda32b;border:none!important}.checked .check-icon{transform:translateY(0) scale(1);opacity:1;color:#f8f9ff}.checked.purple{background-color:#5505a2;box-shadow:0 2px 10px #5505a233}.label{width:18.4px!important;height:18.4px!important}\n"] }]
50
+ args: [{ selector: 'oc-checkbox', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule], providers: [
51
+ {
52
+ provide: NG_VALUE_ACCESSOR,
53
+ useExisting: forwardRef(() => OcCheckboxComponent),
54
+ multi: true,
55
+ },
56
+ ], template: "<button class=\"oc-checkbox-content cbx\" type=\"button\"\r\n(click)=\"toggleChecked()\">\r\n\r\n <div class=\"oc-checkbox cbx\" [ngClass]=\"{\r\n 'checked': ocChecked,\r\n 'tiny': ocSize === 'tiny',\r\n purple: ocColor === 'purple',\r\n 'gray-border': ocBorderColor === 'gray'\r\n }\"\r\n >\r\n\r\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\r\n </div>\r\n \r\n @if(ocLabel) {\r\n <span class=\"oc-checkbox-label cbx\">\r\n {{ocLabel}}\r\n </span>\r\n }\r\n\r\n <ng-content>\r\n </ng-content>\r\n\r\n @if(formControl) {\r\n <input [formControl]=\"formControl\" [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n } @else {\r\n <input [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n }\r\n</button>", styles: [".oc-checkbox-content{display:flex;align-items:center;padding:0;margin:0;border:none;background-color:transparent;gap:.3rem}.oc-checkbox-content .oc-checkbox-label{background-color:transparent;border:none;color:#8f9596;font-weight:500}.oc-checkbox{min-width:1rem;width:1.2rem;height:1.2rem;border-radius:.3rem;background-color:#f7f7f7;border:2px solid #ffffff;display:flex;align-items:center;justify-content:center;transition:.15s ease;cursor:pointer;overflow:hidden}.oc-checkbox:hover{filter:brightness(.95)}.oc-checkbox .check-icon{font-weight:700;color:#f8f9ff;opacity:0;pointer-events:none;position:absolute;margin:0;font-size:1.15rem;transition:.2s ease;transform:translateY(15px) scale(.5)}.oc-checkbox.gray-border{border:2px solid #d1d5db}.oc-checkbox.tiny{width:1rem;height:1rem;border:1px solid #ffffff}.oc-checkbox.tiny.gray{border:1px solid #d1d5db}.checked{background-color:#00dda3;box-shadow:0 2px 10px #00dda32b;border:none!important}.checked .check-icon{transform:translateY(0) scale(1);opacity:1;color:#f8f9ff}.checked.purple{background-color:#5505a2;box-shadow:0 2px 10px #5505a233}.label{width:18.4px!important;height:18.4px!important}\n"] }]
31
57
  }], propDecorators: { ocChange: [{
32
58
  type: Output
33
59
  }], ocChecked: [{
@@ -45,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
45
71
  }], formControl: [{
46
72
  type: Input
47
73
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWNoZWNrYm94L29jLWNoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1jaGVja2JveC9vYy1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQWUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFTL0UsTUFBTSxPQUFPLG1CQUFtQjtJQVBoQztRQVFFLGVBQVUsR0FBVyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFBO1FBRWhDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBRTlCLGNBQVMsR0FBWSxLQUFLLENBQUE7UUFDMUIsV0FBTSxHQUFxQixPQUFPLENBQUE7UUFDbEMsWUFBTyxHQUFZLEVBQUUsQ0FBQTtRQUNyQixXQUFNLEdBQVksRUFBRSxDQUFBO1FBQ3BCLFlBQU8sR0FBdUIsT0FBTyxDQUFBO1FBQ3JDLGtCQUFhLEdBQXFCLE9BQU8sQ0FBQTtLQVluRDtJQVJDLGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFbEMsSUFBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzNDLENBQUM7SUFDSCxDQUFDOytHQXJCVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixzUkNYaEMsNHpCQTRCUywyckNEckJHLFlBQVksNEhBQUUsV0FBVyx1VEFBRSxtQkFBbUI7OzRGQUk3QyxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLENBQUM7OEJBTy9DLFFBQVE7c0JBQWpCLE1BQU07Z0JBRUUsU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdvYy1jaGVja2JveCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29jLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vb2MtY2hlY2tib3guY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPY0NoZWNrYm94Q29tcG9uZW50IHtcclxuICBjaGVja0JveElkOiBzdHJpbmcgPSBgb2MtJHtNYXRoLnJhbmRvbSgpfWBcclxuXHJcbiAgQE91dHB1dCgpIG9jQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpXHJcblxyXG4gIEBJbnB1dCgpIG9jQ2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgb2NTaXplOiAndGlueScgfCAnc21hbGwnID0gJ3NtYWxsJ1xyXG4gIEBJbnB1dCgpIG9jTGFiZWw/OiBzdHJpbmcgPSAnJ1xyXG4gIEBJbnB1dCgpIG9jTmFtZT86IHN0cmluZyA9ICcnXHJcbiAgQElucHV0KCkgb2NDb2xvcjogJ3B1cnBsZScgfCAnZ3JlZW4nID0gJ2dyZWVuJ1xyXG4gIEBJbnB1dCgpIG9jQm9yZGVyQ29sb3I6ICd3aGl0ZScgfCAnZ3JheScgPSAnd2hpdGUnXHJcblxyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sPzogYW55XHJcblxyXG4gIHRvZ2dsZUNoZWNrZWQoKSB7XHJcbiAgICB0aGlzLm9jQ2hlY2tlZCA9ICF0aGlzLm9jQ2hlY2tlZFxyXG4gICAgdGhpcy5vY0NoYW5nZS5lbWl0KHRoaXMub2NDaGVja2VkKVxyXG5cclxuICAgIGlmKHRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLm9jQ2hlY2tlZClcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvbiBjbGFzcz1cIm9jLWNoZWNrYm94LWNvbnRlbnQgY2J4XCIgdHlwZT1cImJ1dHRvblwiXHJcbihjbGljayk9XCJ0b2dnbGVDaGVja2VkKClcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIm9jLWNoZWNrYm94IGNieFwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2NoZWNrZWQnOiBvY0NoZWNrZWQsXHJcbiAgICAgICd0aW55Jzogb2NTaXplID09PSAndGlueScsXHJcbiAgICAgIHB1cnBsZTogb2NDb2xvciA9PT0gJ3B1cnBsZScsXHJcbiAgICAgICdncmF5LWJvcmRlcic6IG9jQm9yZGVyQ29sb3IgPT09ICdncmF5J1xyXG4gICAgfVwiXHJcbiAgICA+XHJcblxyXG4gICAgPHNwYW4gY2xhc3M9XCJjaGVjay1pY29uIG1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5jaGVja19zbWFsbDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICBcclxuICBAaWYob2NMYWJlbCkge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJvYy1jaGVja2JveC1sYWJlbCBjYnhcIj5cclxuICAgICAge3tvY0xhYmVsfX1cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcblxyXG4gIDxuZy1jb250ZW50PlxyXG4gIDwvbmctY29udGVudD5cclxuXHJcbiAgQGlmKGZvcm1Db250cm9sKSB7XHJcbiAgICA8aW5wdXQgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgW25hbWVdPVwib2NOYW1lXCIgW2NoZWNrZWRdPVwib2NDaGVja2VkXCIgdHlwZT1cImNoZWNrYm94XCIgaGlkZGVuPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPGlucHV0IFtuYW1lXT1cIm9jTmFtZVwiIFtjaGVja2VkXT1cIm9jQ2hlY2tlZFwiIHR5cGU9XCJjaGVja2JveFwiIGhpZGRlbj5cclxuICB9XHJcbjwvYnV0dG9uPiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWNoZWNrYm94L29jLWNoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1jaGVja2JveC9vYy1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEYsT0FBTyxFQUdMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUFnQnZCLE1BQU0sT0FBTyxtQkFBbUI7SUFkaEM7UUFlRSxlQUFVLEdBQVcsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQTtRQUVoQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtRQUV2QyxjQUFTLEdBQVksS0FBSyxDQUFBO1FBQzFCLFdBQU0sR0FBcUIsT0FBTyxDQUFBO1FBQ2xDLFlBQU8sR0FBWSxFQUFFLENBQUE7UUFDckIsV0FBTSxHQUFZLEVBQUUsQ0FBQTtRQUNwQixZQUFPLEdBQXVCLE9BQU8sQ0FBQTtRQUNyQyxrQkFBYSxHQUFxQixPQUFPLENBQUE7UUFHMUMsYUFBUSxHQUFHLENBQUMsS0FBYyxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUE7UUFDakMsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQTtLQTBCN0I7SUF4QkMsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUE7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQTRCO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFBO0lBQ3BCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQixJQUFTLENBQUM7SUFFL0MsYUFBYTtRQUNYLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFBO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzdCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFbEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzNDLENBQUM7SUFDSCxDQUFDOytHQXZDVSxtQkFBbUI7bUdBQW5CLG1CQUFtQix5UUFSbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDdEJILDR6QkE0QlMsMnJDRGZHLFlBQVksNEhBQUUsV0FBVyx1VEFBRSxtQkFBbUI7OzRGQVc3QyxtQkFBbUI7a0JBZC9CLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLENBQUMsYUFHOUM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUtTLFFBQVE7c0JBQWpCLE1BQU07Z0JBRUUsU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgRm9ybXNNb2R1bGUsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9mb3JtcydcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnb2MtY2hlY2tib3gnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vYy1jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL29jLWNoZWNrYm94LmNvbXBvbmVudC5zY3NzJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE9jQ2hlY2tib3hDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9jQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgY2hlY2tCb3hJZDogc3RyaW5nID0gYG9jLSR7TWF0aC5yYW5kb20oKX1gXHJcblxyXG4gIEBPdXRwdXQoKSBvY0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxyXG5cclxuICBASW5wdXQoKSBvY0NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3RpbnknIHwgJ3NtYWxsJyA9ICdzbWFsbCdcclxuICBASW5wdXQoKSBvY0xhYmVsPzogc3RyaW5nID0gJydcclxuICBASW5wdXQoKSBvY05hbWU/OiBzdHJpbmcgPSAnJ1xyXG4gIEBJbnB1dCgpIG9jQ29sb3I6ICdwdXJwbGUnIHwgJ2dyZWVuJyA9ICdncmVlbidcclxuICBASW5wdXQoKSBvY0JvcmRlckNvbG9yOiAnd2hpdGUnIHwgJ2dyYXknID0gJ3doaXRlJ1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sPzogRm9ybUNvbnRyb2xcclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICh2YWx1ZTogYm9vbGVhbikgPT4ge31cclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHt9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMub2NDaGVja2VkID0gdmFsdWVcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuXHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmblxyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge31cclxuXHJcbiAgdG9nZ2xlQ2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMub2NDaGVja2VkID0gIXRoaXMub2NDaGVja2VkXHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMub2NDaGVja2VkKVxyXG4gICAgdGhpcy5vblRvdWNoZWQoKVxyXG4gICAgdGhpcy5vY0NoYW5nZS5lbWl0KHRoaXMub2NDaGVja2VkKVxyXG5cclxuICAgIGlmICh0aGlzLmZvcm1Db250cm9sKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5vY0NoZWNrZWQpXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b24gY2xhc3M9XCJvYy1jaGVja2JveC1jb250ZW50IGNieFwiIHR5cGU9XCJidXR0b25cIlxyXG4oY2xpY2spPVwidG9nZ2xlQ2hlY2tlZCgpXCI+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJvYy1jaGVja2JveCBjYnhcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdjaGVja2VkJzogb2NDaGVja2VkLFxyXG4gICAgICAndGlueSc6IG9jU2l6ZSA9PT0gJ3RpbnknLFxyXG4gICAgICBwdXJwbGU6IG9jQ29sb3IgPT09ICdwdXJwbGUnLFxyXG4gICAgICAnZ3JheS1ib3JkZXInOiBvY0JvcmRlckNvbG9yID09PSAnZ3JheSdcclxuICAgIH1cIlxyXG4gICAgPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwiY2hlY2staWNvbiBtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+Y2hlY2tfc21hbGw8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgXHJcbiAgQGlmKG9jTGFiZWwpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwib2MtY2hlY2tib3gtbGFiZWwgY2J4XCI+XHJcbiAgICAgIHt7b2NMYWJlbH19XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG5cclxuICA8bmctY29udGVudD5cclxuICA8L25nLWNvbnRlbnQ+XHJcblxyXG4gIEBpZihmb3JtQ29udHJvbCkge1xyXG4gICAgPGlucHV0IFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIFtuYW1lXT1cIm9jTmFtZVwiIFtjaGVja2VkXT1cIm9jQ2hlY2tlZFwiIHR5cGU9XCJjaGVja2JveFwiIGhpZGRlbj5cclxuICB9IEBlbHNlIHtcclxuICAgIDxpbnB1dCBbbmFtZV09XCJvY05hbWVcIiBbY2hlY2tlZF09XCJvY0NoZWNrZWRcIiB0eXBlPVwiY2hlY2tib3hcIiBoaWRkZW4+XHJcbiAgfVxyXG48L2J1dHRvbj4iXX0=
@@ -1,11 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, Input, Directive, HostListener, ViewEncapsulation, ContentChild, HostBinding, EventEmitter, Output, ViewChild, ContentChildren } from '@angular/core';
2
+ import { Injectable, Component, Input, Directive, HostListener, ViewEncapsulation, ContentChild, HostBinding, EventEmitter, Output, ViewChild, forwardRef, ContentChildren } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i2 from '@angular/cdk/table';
6
6
  import { CdkTableModule } from '@angular/cdk/table';
7
7
  import * as i2$1 from '@angular/forms';
8
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
8
+ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
9
9
  import * as i2$2 from '@angular/cdk/menu';
10
10
  import { CdkMenuModule } from '@angular/cdk/menu';
11
11
 
@@ -633,7 +633,7 @@ class OcAutocompleteComponent {
633
633
  this.filteredData = this.ocData;
634
634
  }
635
635
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OcAutocompleteComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
636
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", 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</div>\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", 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$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
636
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", 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$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
637
637
  }
638
638
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OcAutocompleteComponent, decorators: [{
639
639
  type: Component,
@@ -641,7 +641,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
641
641
  '[style.width]': 'computedWidth',
642
642
  '[style.min-width]': 'computedMinWidth',
643
643
  '[style.max-width]': 'computedMaxWidth'
644
- }, 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</div>\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", 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"] }]
644
+ }, 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"] }]
645
645
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { input: [{
646
646
  type: ViewChild,
647
647
  args: ['input']
@@ -815,20 +815,46 @@ class OcCheckboxComponent {
815
815
  this.ocName = '';
816
816
  this.ocColor = 'green';
817
817
  this.ocBorderColor = 'white';
818
+ this.onChange = (value) => { };
819
+ this.onTouched = () => { };
818
820
  }
821
+ writeValue(value) {
822
+ this.ocChecked = value;
823
+ }
824
+ registerOnChange(fn) {
825
+ this.onChange = fn;
826
+ }
827
+ registerOnTouched(fn) {
828
+ this.onTouched = fn;
829
+ }
830
+ setDisabledState(isDisabled) { }
819
831
  toggleChecked() {
820
832
  this.ocChecked = !this.ocChecked;
833
+ this.onChange(this.ocChecked);
834
+ this.onTouched();
821
835
  this.ocChange.emit(this.ocChecked);
822
836
  if (this.formControl) {
823
837
  this.formControl.setValue(this.ocChecked);
824
838
  }
825
839
  }
826
840
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OcCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
827
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: OcCheckboxComponent, isStandalone: true, selector: "oc-checkbox", inputs: { ocChecked: "ocChecked", ocSize: "ocSize", ocLabel: "ocLabel", ocName: "ocName", ocColor: "ocColor", ocBorderColor: "ocBorderColor", formControl: "formControl" }, outputs: { ocChange: "ocChange" }, ngImport: i0, template: "<button class=\"oc-checkbox-content cbx\" type=\"button\"\r\n(click)=\"toggleChecked()\">\r\n\r\n <div class=\"oc-checkbox cbx\" [ngClass]=\"{\r\n 'checked': ocChecked,\r\n 'tiny': ocSize === 'tiny',\r\n purple: ocColor === 'purple',\r\n 'gray-border': ocBorderColor === 'gray'\r\n }\"\r\n >\r\n\r\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\r\n </div>\r\n \r\n @if(ocLabel) {\r\n <span class=\"oc-checkbox-label cbx\">\r\n {{ocLabel}}\r\n </span>\r\n }\r\n\r\n <ng-content>\r\n </ng-content>\r\n\r\n @if(formControl) {\r\n <input [formControl]=\"formControl\" [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n } @else {\r\n <input [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n }\r\n</button>", styles: [".oc-checkbox-content{display:flex;align-items:center;padding:0;margin:0;border:none;background-color:transparent;gap:.3rem}.oc-checkbox-content .oc-checkbox-label{background-color:transparent;border:none;color:#8f9596;font-weight:500}.oc-checkbox{min-width:1rem;width:1.2rem;height:1.2rem;border-radius:.3rem;background-color:#f7f7f7;border:2px solid #ffffff;display:flex;align-items:center;justify-content:center;transition:.15s ease;cursor:pointer;overflow:hidden}.oc-checkbox:hover{filter:brightness(.95)}.oc-checkbox .check-icon{font-weight:700;color:#f8f9ff;opacity:0;pointer-events:none;position:absolute;margin:0;font-size:1.15rem;transition:.2s ease;transform:translateY(15px) scale(.5)}.oc-checkbox.gray-border{border:2px solid #d1d5db}.oc-checkbox.tiny{width:1rem;height:1rem;border:1px solid #ffffff}.oc-checkbox.tiny.gray{border:1px solid #d1d5db}.checked{background-color:#00dda3;box-shadow:0 2px 10px #00dda32b;border:none!important}.checked .check-icon{transform:translateY(0) scale(1);opacity:1;color:#f8f9ff}.checked.purple{background-color:#5505a2;box-shadow:0 2px 10px #5505a233}.label{width:18.4px!important;height:18.4px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
841
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: OcCheckboxComponent, isStandalone: true, selector: "oc-checkbox", inputs: { ocChecked: "ocChecked", ocSize: "ocSize", ocLabel: "ocLabel", ocName: "ocName", ocColor: "ocColor", ocBorderColor: "ocBorderColor", formControl: "formControl" }, outputs: { ocChange: "ocChange" }, providers: [
842
+ {
843
+ provide: NG_VALUE_ACCESSOR,
844
+ useExisting: forwardRef(() => OcCheckboxComponent),
845
+ multi: true,
846
+ },
847
+ ], ngImport: i0, template: "<button class=\"oc-checkbox-content cbx\" type=\"button\"\r\n(click)=\"toggleChecked()\">\r\n\r\n <div class=\"oc-checkbox cbx\" [ngClass]=\"{\r\n 'checked': ocChecked,\r\n 'tiny': ocSize === 'tiny',\r\n purple: ocColor === 'purple',\r\n 'gray-border': ocBorderColor === 'gray'\r\n }\"\r\n >\r\n\r\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\r\n </div>\r\n \r\n @if(ocLabel) {\r\n <span class=\"oc-checkbox-label cbx\">\r\n {{ocLabel}}\r\n </span>\r\n }\r\n\r\n <ng-content>\r\n </ng-content>\r\n\r\n @if(formControl) {\r\n <input [formControl]=\"formControl\" [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n } @else {\r\n <input [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n }\r\n</button>", styles: [".oc-checkbox-content{display:flex;align-items:center;padding:0;margin:0;border:none;background-color:transparent;gap:.3rem}.oc-checkbox-content .oc-checkbox-label{background-color:transparent;border:none;color:#8f9596;font-weight:500}.oc-checkbox{min-width:1rem;width:1.2rem;height:1.2rem;border-radius:.3rem;background-color:#f7f7f7;border:2px solid #ffffff;display:flex;align-items:center;justify-content:center;transition:.15s ease;cursor:pointer;overflow:hidden}.oc-checkbox:hover{filter:brightness(.95)}.oc-checkbox .check-icon{font-weight:700;color:#f8f9ff;opacity:0;pointer-events:none;position:absolute;margin:0;font-size:1.15rem;transition:.2s ease;transform:translateY(15px) scale(.5)}.oc-checkbox.gray-border{border:2px solid #d1d5db}.oc-checkbox.tiny{width:1rem;height:1rem;border:1px solid #ffffff}.oc-checkbox.tiny.gray{border:1px solid #d1d5db}.checked{background-color:#00dda3;box-shadow:0 2px 10px #00dda32b;border:none!important}.checked .check-icon{transform:translateY(0) scale(1);opacity:1;color:#f8f9ff}.checked.purple{background-color:#5505a2;box-shadow:0 2px 10px #5505a233}.label{width:18.4px!important;height:18.4px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
828
848
  }
829
849
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OcCheckboxComponent, decorators: [{
830
850
  type: Component,
831
- args: [{ selector: 'oc-checkbox', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule], template: "<button class=\"oc-checkbox-content cbx\" type=\"button\"\r\n(click)=\"toggleChecked()\">\r\n\r\n <div class=\"oc-checkbox cbx\" [ngClass]=\"{\r\n 'checked': ocChecked,\r\n 'tiny': ocSize === 'tiny',\r\n purple: ocColor === 'purple',\r\n 'gray-border': ocBorderColor === 'gray'\r\n }\"\r\n >\r\n\r\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\r\n </div>\r\n \r\n @if(ocLabel) {\r\n <span class=\"oc-checkbox-label cbx\">\r\n {{ocLabel}}\r\n </span>\r\n }\r\n\r\n <ng-content>\r\n </ng-content>\r\n\r\n @if(formControl) {\r\n <input [formControl]=\"formControl\" [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n } @else {\r\n <input [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n }\r\n</button>", styles: [".oc-checkbox-content{display:flex;align-items:center;padding:0;margin:0;border:none;background-color:transparent;gap:.3rem}.oc-checkbox-content .oc-checkbox-label{background-color:transparent;border:none;color:#8f9596;font-weight:500}.oc-checkbox{min-width:1rem;width:1.2rem;height:1.2rem;border-radius:.3rem;background-color:#f7f7f7;border:2px solid #ffffff;display:flex;align-items:center;justify-content:center;transition:.15s ease;cursor:pointer;overflow:hidden}.oc-checkbox:hover{filter:brightness(.95)}.oc-checkbox .check-icon{font-weight:700;color:#f8f9ff;opacity:0;pointer-events:none;position:absolute;margin:0;font-size:1.15rem;transition:.2s ease;transform:translateY(15px) scale(.5)}.oc-checkbox.gray-border{border:2px solid #d1d5db}.oc-checkbox.tiny{width:1rem;height:1rem;border:1px solid #ffffff}.oc-checkbox.tiny.gray{border:1px solid #d1d5db}.checked{background-color:#00dda3;box-shadow:0 2px 10px #00dda32b;border:none!important}.checked .check-icon{transform:translateY(0) scale(1);opacity:1;color:#f8f9ff}.checked.purple{background-color:#5505a2;box-shadow:0 2px 10px #5505a233}.label{width:18.4px!important;height:18.4px!important}\n"] }]
851
+ args: [{ selector: 'oc-checkbox', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule], providers: [
852
+ {
853
+ provide: NG_VALUE_ACCESSOR,
854
+ useExisting: forwardRef(() => OcCheckboxComponent),
855
+ multi: true,
856
+ },
857
+ ], template: "<button class=\"oc-checkbox-content cbx\" type=\"button\"\r\n(click)=\"toggleChecked()\">\r\n\r\n <div class=\"oc-checkbox cbx\" [ngClass]=\"{\r\n 'checked': ocChecked,\r\n 'tiny': ocSize === 'tiny',\r\n purple: ocColor === 'purple',\r\n 'gray-border': ocBorderColor === 'gray'\r\n }\"\r\n >\r\n\r\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\r\n </div>\r\n \r\n @if(ocLabel) {\r\n <span class=\"oc-checkbox-label cbx\">\r\n {{ocLabel}}\r\n </span>\r\n }\r\n\r\n <ng-content>\r\n </ng-content>\r\n\r\n @if(formControl) {\r\n <input [formControl]=\"formControl\" [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n } @else {\r\n <input [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n }\r\n</button>", styles: [".oc-checkbox-content{display:flex;align-items:center;padding:0;margin:0;border:none;background-color:transparent;gap:.3rem}.oc-checkbox-content .oc-checkbox-label{background-color:transparent;border:none;color:#8f9596;font-weight:500}.oc-checkbox{min-width:1rem;width:1.2rem;height:1.2rem;border-radius:.3rem;background-color:#f7f7f7;border:2px solid #ffffff;display:flex;align-items:center;justify-content:center;transition:.15s ease;cursor:pointer;overflow:hidden}.oc-checkbox:hover{filter:brightness(.95)}.oc-checkbox .check-icon{font-weight:700;color:#f8f9ff;opacity:0;pointer-events:none;position:absolute;margin:0;font-size:1.15rem;transition:.2s ease;transform:translateY(15px) scale(.5)}.oc-checkbox.gray-border{border:2px solid #d1d5db}.oc-checkbox.tiny{width:1rem;height:1rem;border:1px solid #ffffff}.oc-checkbox.tiny.gray{border:1px solid #d1d5db}.checked{background-color:#00dda3;box-shadow:0 2px 10px #00dda32b;border:none!important}.checked .check-icon{transform:translateY(0) scale(1);opacity:1;color:#f8f9ff}.checked.purple{background-color:#5505a2;box-shadow:0 2px 10px #5505a233}.label{width:18.4px!important;height:18.4px!important}\n"] }]
832
858
  }], propDecorators: { ocChange: [{
833
859
  type: Output
834
860
  }], ocChecked: [{
@@ -1 +1 @@
1
- {"version":3,"file":"otimus-library.mjs","sources":["../../../projects/otimus-library/src/lib/otimus-library.service.ts","../../../projects/otimus-library/src/lib/otimus-library.component.ts","../../../projects/otimus-library/src/lib/services/oc-toast.service.ts","../../../projects/otimus-library/src/lib/components/oc-table/oc-table.component.ts","../../../projects/otimus-library/src/lib/components/oc-table/oc-table.component.html","../../../projects/otimus-library/src/lib/components/oc-badge/oc-badge.component.ts","../../../projects/otimus-library/src/lib/components/oc-badge/oc-badge.component.html","../../../projects/otimus-library/src/lib/components/oc-filter/oc-filter.component.ts","../../../projects/otimus-library/src/lib/components/oc-filter/oc-filter.component.html","../../../projects/otimus-library/src/lib/directives/oc-tooltip/oc-tooltip.directive.ts","../../../projects/otimus-library/src/lib/components/oc-input/oc-input.component.ts","../../../projects/otimus-library/src/lib/components/oc-input/oc-input.component.html","../../../projects/otimus-library/src/lib/components/oc-modal/oc-modal.component.ts","../../../projects/otimus-library/src/lib/components/oc-modal/oc-modal.component.html","../../../projects/otimus-library/src/lib/components/oc-key-value/oc-key-value.component.ts","../../../projects/otimus-library/src/lib/components/oc-key-value/oc-key-value.component.html","../../../projects/otimus-library/src/lib/components/oc-chip/oc-chip.component.ts","../../../projects/otimus-library/src/lib/components/oc-chip/oc-chip.component.html","../../../projects/otimus-library/src/lib/components/oc-modal-footer/oc-modal-footer.component.ts","../../../projects/otimus-library/src/lib/components/oc-modal-footer/oc-modal-footer.component.html","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete.component.ts","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete.component.html","../../../projects/otimus-library/src/lib/components/oc-profile/oc-profile.component.ts","../../../projects/otimus-library/src/lib/components/oc-profile/oc-profile.component.html","../../../projects/otimus-library/src/lib/components/oc-log/oc-log.component.ts","../../../projects/otimus-library/src/lib/components/oc-log/oc-log.component.html","../../../projects/otimus-library/src/lib/components/oc-pagination/oc-pagination.component.ts","../../../projects/otimus-library/src/lib/components/oc-pagination/oc-pagination.component.html","../../../projects/otimus-library/src/lib/components/oc-not-found/oc-not-found.component.ts","../../../projects/otimus-library/src/lib/components/oc-not-found/oc-not-found.component.html","../../../projects/otimus-library/src/lib/components/oc-checkbox/oc-checkbox.component.ts","../../../projects/otimus-library/src/lib/components/oc-checkbox/oc-checkbox.component.html","../../../projects/otimus-library/src/lib/components/oc-menu/oc-menu.component.ts","../../../projects/otimus-library/src/lib/components/oc-menu/oc-menu.component.html","../../../projects/otimus-library/src/lib/components/oc-toast/oc-toast.component.ts","../../../projects/otimus-library/src/lib/components/oc-toast/oc-toast.component.html","../../../projects/otimus-library/src/lib/components/oc-toggle/oc-toggle.component.ts","../../../projects/otimus-library/src/lib/components/oc-toggle/oc-toggle.component.html","../../../projects/otimus-library/src/lib/components/oc-step/oc-step.component.ts","../../../projects/otimus-library/src/lib/components/oc-step/oc-step.component.html","../../../projects/otimus-library/src/lib/components/oc-stepper/oc-stepper.component.ts","../../../projects/otimus-library/src/lib/components/oc-stepper/oc-stepper.component.html","../../../projects/otimus-library/src/lib/components/oc-tab/oc-tab.component.ts","../../../projects/otimus-library/src/lib/components/oc-tab/oc-tab.component.html","../../../projects/otimus-library/src/lib/components/oc-tabs/oc-tabs.component.ts","../../../projects/otimus-library/src/lib/components/oc-tabs/oc-tabs.component.html","../../../projects/otimus-library/src/public-api.ts","../../../projects/otimus-library/src/otimus-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OtimusLibraryService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-otimus-library',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <p>\r\n otimus-library works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class OtimusLibraryComponent {\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastType } from '../interfaces/oc-toast';\r\n\r\ntype ToastStatusType = 'erro' | 'error' | 'success' | 'éxito' | 'sucesso' | 'carregando' | 'cargando' | 'loading' | 'informação' | 'información' | 'information'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OcToastService {\r\n toastList: ToastType[] = []\r\n isRunning: boolean = false\r\n currentToast!: ToastType\r\n\r\n closeToast(id: number) {\r\n this.toastList = this.toastList.map((to) => {\r\n if (to.id === id) {\r\n return { ...to, counter: 0 }\r\n }\r\n return to\r\n })\r\n\r\n this.currentToast = this.toastList[0]\r\n }\r\n\r\n openToast = (\r\n toastStatus: ToastStatusType,\r\n toastMessage: string,\r\n toastCounter?: number,\r\n promiseKey?: string\r\n ) => {\r\n const toast = {\r\n id: this.toastList.length === 0 ? 1 : this.toastList[this.toastList.length - 1].id + 1,\r\n counter: toastCounter || 5,\r\n status: toastStatus,\r\n message: toastMessage,\r\n promiseKey,\r\n hasAnimation: true,\r\n }\r\n\r\n const toastExists = this.toastList.some((to) => {\r\n return to.status === toastStatus && to.message === toastMessage\r\n })\r\n\r\n if (toastExists) return\r\n\r\n const keyExists = this.toastList.find((to) => to.promiseKey === toast.promiseKey)\r\n\r\n if (keyExists) {\r\n this.toastList = this.toastList.map((to) => {\r\n if (to.promiseKey === promiseKey) {\r\n return { ...toast, hasAnimation: false }\r\n }\r\n return to\r\n })\r\n }\r\n\r\n this.toastList.push(toast)\r\n\r\n if (!this.isRunning) {\r\n this.renderToasts()\r\n }\r\n }\r\n\r\n renderToasts() {\r\n if (this.toastList.length === 0) {\r\n this.isRunning = false\r\n return\r\n }\r\n\r\n this.isRunning = true\r\n this.currentToast = this.toastList[0]\r\n\r\n const toastInterval = setInterval(() => {\r\n if (this.toastList.length === 0) {\r\n clearInterval(toastInterval)\r\n this.isRunning = false\r\n return\r\n }\r\n\r\n this.currentToast = this.toastList[0]\r\n if (this.currentToast.status !== 'carregando') {\r\n this.currentToast.counter--\r\n }\r\n\r\n if (this.currentToast.counter <= 0) {\r\n this.toastList = this.toastList.filter((to) => {\r\n return to.status !== this.currentToast.status && to.message !== this.currentToast.message\r\n })\r\n clearInterval(toastInterval)\r\n this.renderToasts()\r\n }\r\n }, 1000)\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {CdkTableModule} from '@angular/cdk/table'\r\n\r\n\r\n@Component({\r\n selector: 'oc-table',\r\n standalone: true,\r\n imports: [CommonModule, CdkTableModule],\r\n templateUrl: './oc-table.component.html',\r\n styleUrls: ['./oc-table.component.scss']\r\n})\r\nexport class OcTableComponent implements OnInit {\r\n\r\n @Input() columns: string[] = []\r\n @Input() dataSource: any[] = []\r\n keys: string[] = []\r\n\r\n ngOnInit(): void {\r\n if(!this.dataSource.length) return\r\n\r\n this.keys = Object.keys(this.dataSource[0])\r\n }\r\n}\r\n","<table cdk-table [dataSource]=\"dataSource\">\r\n\r\n <ng-container *ngFor=\"let column of columns; let i = index\" [cdkColumnDef]=\"column\">\r\n <th cdk-header-cell *cdkHeaderCellDef> {{column}} </th>\r\n <td cdk-cell *cdkCellDef=\"let row\"> {{row[keys[i]]}} </td>\r\n </ng-container>\r\n\r\n <tr cdk-header-row *cdkHeaderRowDef=\"columns\"></tr>\r\n <tr cdk-row *cdkRowDef=\"let row; columns: columns\"></tr>\r\n</table>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-badge',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-badge.component.html',\r\n styleUrl: './oc-badge.component.scss'\r\n})\r\nexport class OcBadgeComponent implements OnInit {\r\n @Input() ocSize: 'small' | 'medium' | 'large' = 'small'\r\n @Input() ocColor: 'notification' | 'brand-g' | 'brand-p' | 'success' | 'warning' = 'notification'\r\n @Input() ocWaved: boolean = false\r\n\r\n classList: string[] = []\r\n\r\n ngOnInit(): void {\r\n this.classList.push(this.ocSize, this.ocColor)\r\n if(this.ocWaved) this.classList.push('waved')\r\n }\r\n}\r\n","<div>\r\n <div class=\"oc-badge\" [ngClass]=\"classList\">\r\n <ng-content>\r\n \r\n </ng-content>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { OcBadgeComponent } from '../oc-badge/oc-badge.component';\r\n\r\n@Component({\r\n selector: 'oc-filter',\r\n standalone: true,\r\n imports: [CommonModule, OcBadgeComponent],\r\n templateUrl: './oc-filter.component.html',\r\n styleUrl: './oc-filter.component.scss'\r\n})\r\nexport class OcFilterComponent {\r\n @Input() isOpen: boolean = false\r\n @Input() ocText: string = 'Filtros'\r\n @Input() ocActive: number = 0\r\n @Input() ocSide: 'left' | 'right' = 'left'\r\n\r\n toggleOpen() {\r\n this.isOpen = !this.isOpen\r\n }\r\n}\r\n","<div class=\"oc-filter-row\" [ngClass]=\"{\r\n reverse: ocSide === 'right'\r\n}\">\r\n <button class=\"oc-filter-btn\" (click)=\"toggleOpen()\">\r\n <span class=\"material-symbols-outlined\">filter_list</span>\r\n {{ocText}}\r\n <div class=\"badge\">\r\n <oc-badge *ngIf=\"ocActive > 0\" ocSize=\"small\" ocColor=\"success\" [ocWaved]=\"true\">{{ocActive}}</oc-badge>\r\n </div>\r\n </button>\r\n \r\n <div class=\"filter-row-content\">\r\n <ng-content select=\"[row]\"></ng-content>\r\n </div>\r\n \r\n</div>\r\n<div *ngIf=\"isOpen\" class=\"oc-filter-content\">\r\n <ng-content select=\"[body]\">\r\n </ng-content>\r\n</div>\r\n","import { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ocTooltip]',\r\n standalone: true\r\n})\r\nexport class OcTooltipDirective {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @Input() content: string = ''\r\n @Input() side: 'bottom' | 'upon' | 'left' | 'right' | 'top' = 'bottom'\r\n\r\n created:boolean = false\r\n\r\n createToolTip() {\r\n if(this.created) return\r\n\r\n const tooltip = this.renderer.createElement('div')\r\n const text = this.renderer.createText(this.content)\r\n\r\n this.renderer.appendChild(tooltip, text)\r\n this.renderer.setStyle(tooltip, 'margin', '0')\r\n this.renderer.addClass(tooltip, 'oc-tooltip')\r\n this.renderer.setStyle(tooltip, 'position', 'absolute')\r\n this.renderer.setStyle(tooltip, 'padding', '0.4rem 0.8rem')\r\n this.renderer.setStyle(tooltip, 'font-size', '0.9rem')\r\n this.renderer.setStyle(tooltip, 'font-weight', '600')\r\n this.renderer.setStyle(tooltip, 'color', '#7E8485')\r\n this.renderer.setStyle(tooltip, 'border', '1px solid #FFFFFF')\r\n this.renderer.setStyle(tooltip, 'background-color', '#F8F9FF')\r\n this.renderer.setStyle(tooltip, 'border-radius','1rem')\r\n this.renderer.setStyle(tooltip, 'box-shadow', '0px 3px 6.5px 0px rgba(0, 0, 0, 0.20)')\r\n this.renderer.setStyle(tooltip, 'transition', '0.1s ease')\r\n this.renderer.setStyle(tooltip, 'max-width', '400px')\r\n\r\n const width = this.elRef.nativeElement.offsetWidth\r\n const height = this.elRef.nativeElement.offsetHeight\r\n\r\n this.renderer.setStyle(tooltip, 'transform', `translateY(${height - 10}px)`)\r\n\r\n if (this.side === 'right') {\r\n this.renderer.setStyle(tooltip, 'transform', `translateX(${width + 20}px) translateY(-50%)`)\r\n } else if (this.side === 'left') {\r\n this.renderer.setStyle(tooltip, 'transform', `translateX(-${width + 20}px) translateY(-50%)`)\r\n } else if (this.side === 'upon' || this.side === 'top') {\r\n this.renderer.setStyle(tooltip, 'transform', `translateY(-${height + 40}px)`)\r\n }\r\n\r\n this.created = true\r\n return tooltip\r\n }\r\n\r\n @HostListener('mouseover')\r\n onMouseOver() {\r\n const tooltip = this.createToolTip()\r\n this.renderer.appendChild(this.elRef.nativeElement, tooltip)\r\n }\r\n\r\n @HostListener('mouseout')\r\n onMouseOut() {\r\n const tooltip = this.elRef.nativeElement.querySelector('.oc-tooltip')\r\n if(tooltip){\r\n this.renderer.removeChild(this.elRef.nativeElement, tooltip)\r\n this.created = false\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { AfterContentChecked, AfterContentInit, AfterViewInit, Component, ContentChild, ElementRef, HostBinding, Input, OnChanges, Renderer2, SimpleChanges, ViewChild, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-input',\r\n host: {\r\n '[style.width]': 'computedWidth',\r\n '[style.min-width]': 'computedMinWidth',\r\n '[style.max-width]': 'computedMaxWidth'\r\n },\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-input.component.html',\r\n styleUrls: ['./oc-input.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OcInputComponent implements AfterViewInit, OnChanges, AfterContentChecked {\r\n @ContentChild('ocPrefix') ocPrefix: any\r\n @ContentChild('ocSuffix') ocSuffix: any\r\n\r\n @Input() ocError?: string;\r\n @Input() ocSize?: 'small' | 'medium' | 'large' = 'medium';\r\n @Input() ocPlaceholder: string = '';\r\n @Input() ocWidth?: string\r\n @Input() ocMinWidth?: string\r\n @Input() ocMaxWidth?: string\r\n @Input() ocRequired: boolean = false\r\n\r\n inputId: string = `oc-${Math.random()}`;\r\n hasSuffix: boolean = false\r\n hasPrefix: boolean = false\r\n\r\n @HostBinding('style.width')\r\n get computedWidth () {\r\n return this.ocWidth ? this.ocWidth : null\r\n }\r\n\r\n @HostBinding('style.min-width')\r\n get computedMinWidth () {\r\n return this.ocMinWidth || '0'\r\n }\r\n \r\n @HostBinding('style.max-width')\r\n get computedMaxWidth () {\r\n return this.ocMaxWidth || '100%'\r\n }\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.ocPrefix) this.hasPrefix = true\r\n if(this.ocSuffix) this.hasSuffix = true\r\n }\r\n\r\n ngAfterViewInit() {\r\n const inputBox = this.el.nativeElement;\r\n\r\n if (inputBox) {\r\n const inputElement = inputBox.querySelector('input');\r\n\r\n if (inputElement) {\r\n this.renderer.setAttribute(inputElement, 'placeholder', '');\r\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\r\n }\r\n }\r\n } \r\n\r\n ngAfterContentChecked(): void {\r\n if(this.ocPrefix) this.hasPrefix = true\r\n if(this.ocSuffix) this.hasSuffix = true\r\n }\r\n}\r\n","<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","import { CommonModule } from '@angular/common'\r\nimport {\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core'\r\n\r\n@Component({\r\n selector: 'oc-modal',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-modal.component.html',\r\n styleUrl: './oc-modal.component.scss',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OcModalComponent {\r\n constructor(private elRef: ElementRef) {}\r\n\r\n @Input() ocClose: boolean = true\r\n @Input() ocTitle: string = ''\r\n @Input() ocSize: 'small' | 'medium' | 'large' | 'screen' = 'medium'\r\n @Input() ocBgColor?: string\r\n @Input() ocWidth: string = ''\r\n @Input() ocMaxWidth: string = ''\r\n @Output() ocOnClose = new EventEmitter<any>()\r\n @Output() ocOnOpen = new EventEmitter<any>()\r\n\r\n @Input() isOpen: boolean = false\r\n closing: boolean = false\r\n\r\n open(): void {\r\n this.isOpen = true\r\n this.elRef.nativeElement.ownerDocument.body.classList.add('disabled-scroll')\r\n this.ocOnOpen.emit(this.isOpen)\r\n }\r\n\r\n close(): void {\r\n this.closing = true\r\n setTimeout(() => {\r\n this.isOpen = false\r\n this.closing = false\r\n\r\n if (this.ocOnClose) {\r\n this.ocOnClose.emit(this.isOpen)\r\n }\r\n\r\n this.elRef.nativeElement.ownerDocument.body.classList.remove('disabled-scroll')\r\n }, 100)\r\n }\r\n\r\n protected getModalStyles(): { [key: string]: string } {\r\n const styles: { [key: string]: string } = {}\r\n if (this.ocBgColor) {\r\n styles['background-color'] = this.ocBgColor\r\n }\r\n if (this.ocWidth) {\r\n styles['width'] = this.ocWidth\r\n }\r\n if (this.ocMaxWidth) {\r\n styles['max-width'] = this.ocMaxWidth\r\n }\r\n return styles\r\n }\r\n}\r\n","@if (isOpen) {\r\n <div class=\"oc-modal-bg\" *ngIf=\"isOpen\" [ngClass]=\"{'closing-bg': closing}\">\r\n <div class=\"oc-modal\"\r\n [ngClass]=\"{\r\n large: ocSize === 'large',\r\n medium: ocSize === 'medium',\r\n small: ocSize === 'small',\r\n closing: closing,\r\n 'total-white': ocBgColor === 'white'\r\n }\"\r\n [ngStyle]=\"getModalStyles()\"\r\n >\r\n <header class=\"oc-modal-header\">\r\n <h3 *ngIf=\"ocTitle.trim().length > 0\">{{ocTitle}}</h3>\r\n @if(ocClose) {\r\n <button (click)=\"close()\" class=\"oc-close-btn\">\r\n <span class=\"material-symbols-outlined md-18\" title=\"Fechar\">close</span>\r\n </button>\r\n }\r\n </header>\r\n <div class=\"oc-modal-content\">\r\n @if(isOpen){\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n}","import { Component, Input, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-key-value',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-key-value.component.html',\r\n styleUrl: './oc-key-value.component.scss',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OcKeyValueComponent {\r\n @Input() ocKey: string = ''\r\n @Input() ocValue: string = ''\r\n}\r\n","<div class=\"oc-key-value\">\r\n <!-- Ícone -->\r\n <ng-content></ng-content>\r\n <p>\r\n @if (ocKey) {\r\n <span>{{ocKey}}:</span>\r\n }\r\n {{ocValue}}\r\n </p>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-chip',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-chip.component.html',\r\n styleUrl: './oc-chip.component.scss'\r\n})\r\nexport class OcChipComponent {\r\n @Input() ocSelected: boolean = false\r\n @Input() ocType: 'select' | 'remove' | 'tag' | 'select_remove' = 'select'\r\n @Input() ocBg: 'green' | 'red' | 'yellow' | 'default' = 'green'\r\n @Input() ocText: string = ''\r\n @Output() ocClick: EventEmitter<any> = new EventEmitter<any>\r\n @Output() ocRemove: EventEmitter<any> = new EventEmitter<any>\r\n\r\n ocEvent(event:any) {\r\n event.stopPropagation()\r\n this.ocClick.emit()\r\n }\r\n \r\n ocRemoveEvent (event: any) {\r\n event.stopPropagation()\r\n if(!this.ocRemove.observed) {\r\n this.ocClick.emit()\r\n return\r\n }\r\n this.ocRemove.emit()\r\n }\r\n}\r\n","<button\r\n [ngClass]=\"{\r\n 'oc-chip': true,\r\n selected: ocSelected,\r\n 'not-selectable': ocType !== 'select' && ocType !== 'select_remove',\r\n 'tag': ocType === 'tag',\r\n 'remove': ocType === 'remove' || ocType==='select_remove',\r\n 'green-bg': ocBg === 'green',\r\n 'red-bg': ocBg === 'red',\r\n 'yellow-bg': ocBg === 'yellow'\r\n }\"\r\n type=\"button\"\r\n [title]=\"ocText\"\r\n (click)=\"ocType.includes('select') ? ocEvent($event) : null\"\r\n>\r\n <ng-content></ng-content>\r\n @if (ocType.includes('remove')) {\r\n <span class=\"material-symbols-outlined\" (click)=\"ocRemoveEvent($event)\">close</span>\r\n }\r\n</button>\r\n","import { CommonModule } from '@angular/common'\r\nimport { Component, Input } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'oc-modal-footer',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-modal-footer.component.html',\r\n styleUrl: './oc-modal-footer.component.scss',\r\n})\r\nexport class OcModalFooterComponent {\r\n @Input() ocSide: 'left' | 'right' = 'right'\r\n @Input() ocBgColor?: string\r\n @Input() ocFixed: boolean = true\r\n}\r\n","<footer class=\"oc-modal-footer\" [ngClass]=\"{\r\n 'left': ocSide === 'left',\r\n 'right': ocSide === 'right',\r\n 'fixed': ocFixed\r\n}\"\r\n [ngStyle]=\"{\r\n 'background-color': ocBgColor\r\n }\"\r\n>\r\n <ng-content></ng-content>\r\n</footer>","import { CommonModule } from '@angular/common';\r\nimport { AfterContentChecked, AfterViewInit, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, Renderer2, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { OcAutoCompleteType } from '../../interfaces/oc-autocomplete';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'oc-autocomplete',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n host: {\r\n '[style.width]': 'computedWidth',\r\n '[style.min-width]': 'computedMinWidth',\r\n '[style.max-width]': 'computedMaxWidth'\r\n },\r\n templateUrl: './oc-autocomplete.component.html',\r\n styleUrl: './oc-autocomplete.component.scss'\r\n})\r\nexport class OcAutocompleteComponent implements AfterViewInit, OnChanges, AfterContentChecked {\r\n constructor(private renderer: Renderer2, private el: ElementRef) {}\r\n \r\n @ViewChild('input') input!: ElementRef\r\n @ViewChild('options') options!: ElementRef\r\n @ViewChild('outerDiv') outerDiv!: ElementRef<HTMLDivElement>\r\n\r\n @ContentChild('ocPrefix') ocPrefix: any\r\n @ContentChild('ocSuffix') ocSuffix: any\r\n @Input() ocPlaceholder?: string\r\n @Input() ocError?: string\r\n @Input() ocSize: 'small' | 'large' | 'medium' = 'medium'\r\n @Input() ocData: OcAutoCompleteType[] = []\r\n @Input() ocValue: any = ''\r\n @Input() ocClearOnChange: boolean = false \r\n @Input() ocWidth?: string\r\n @Input() ocMinWidth?: string\r\n @Input() ocMaxWidth?: string\r\n @Input() ocRequired: boolean = false\r\n @Input() ocMaxResults?: number\r\n @Input() ocAllowNotListedValue: boolean = false\r\n @Input() ocNoAvailableOptionsText?: string\r\n @Input() ocTypeForMoreResultsText?: string\r\n\r\n @Output() ocValueChange = new EventEmitter<string>()\r\n @Output() ocChange = new EventEmitter<string | null>()\r\n\r\n hasSuffix: boolean = false\r\n hasPrefix: boolean = false\r\n\r\n isOptionsShown: boolean = false\r\n filteredData: OcAutoCompleteType[] = []\r\n selectedValue: OcAutoCompleteType = {\r\n name: '',\r\n value: null\r\n }\r\n\r\n @HostBinding('style.width')\r\n get computedWidth () {\r\n return this.ocWidth ? this.ocWidth : null\r\n }\r\n\r\n @HostBinding('style.min-width')\r\n get computedMinWidth () {\r\n return this.ocMinWidth || '0'\r\n }\r\n\r\n @HostBinding('style.max-width')\r\n get computedMaxWidth () {\r\n return this.ocMaxWidth || '100%'\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.ocPrefix) this.hasPrefix = true\r\n if(this.ocSuffix) this.hasSuffix = true\r\n this.formatOcValueType()\r\n this.loadOptions()\r\n }\r\n\r\n ngAfterViewInit() {\r\n if(this.ocPrefix) this.hasPrefix = true\r\n if(this.ocSuffix) this.hasSuffix = true\r\n this.formatOcValueType()\r\n this.loadOptions()\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if(this.ocPrefix) this.hasPrefix = true\r\n if(this.ocSuffix) this.hasSuffix = true\r\n }\r\n\r\n formatOcValueType() {\r\n if(this.ocValue) return `${this.ocValue}`\r\n return null\r\n }\r\n\r\n loadOptions() {\r\n this.formatOcValueType()\r\n setTimeout(() =>{\r\n this.filteredData = this.ocData\r\n const inputBox = this.el.nativeElement;\r\n\r\n const found = this.ocData.find(el => el.value == this.ocValue)\r\n if(found){\r\n this.selectedValue = found\r\n this.ocValue = found.name\r\n }\r\n\r\n if (inputBox) {\r\n const inputElement = inputBox.querySelector('input');\r\n \r\n if (inputElement) {\r\n this.renderer.setAttribute(inputElement, 'placeholder', '')\r\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\r\n }\r\n }\r\n },50)\r\n }\r\n\r\n closeOnClickOut() {\r\n this.renderer.listen('window', 'click',(e:Event)=>{\r\n if(this.input && this.options){\r\n if(e.target !== this.input.nativeElement && e.target!==this.options.nativeElement){\r\n this.isOptionsShown = false;\r\n }\r\n }\r\n this.findByTyping()\r\n })\r\n }\r\n\r\n findByTyping() {\r\n if(!this.ocValue.trim().length){\r\n this.ocChange.emit(null)\r\n }\r\n const foundValue = this.ocData.find(data => data.name.toLowerCase() == this.ocValue.toLowerCase())\r\n\r\n if(!foundValue) {\r\n this.selectedValue = {\r\n name: '',\r\n value: null\r\n }\r\n if(!this.ocAllowNotListedValue) {\r\n this.ocValue = ''\r\n }\r\n this.filteredData = this.ocData\r\n return\r\n }\r\n this.selectedValue = foundValue\r\n }\r\n\r\n filterData(name: string) {\r\n this.isOptionsShown = true\r\n this.filteredData = this.ocData.filter(data => data.name.toLowerCase().includes(name.toLowerCase()))\r\n }\r\n\r\n toggleOptions() {\r\n this.closeOnClickOut()\r\n this.isOptionsShown = !this.isOptionsShown\r\n }\r\n\r\n selectValue(value: string | number) {\r\n const foundValue = this.ocData.find((data) => data.value == value)\r\n \r\n if(!foundValue) {\r\n this.selectedValue = {\r\n name: '',\r\n value: null\r\n }\r\n return\r\n }\r\n\r\n this.selectedValue = foundValue\r\n if(this.ocClearOnChange){\r\n this.ocValue = ''\r\n this.filteredData = this.ocData\r\n }else{\r\n this.ocValue = foundValue.name\r\n }\r\n\r\n this.ocChange.emit(this.selectedValue.value)\r\n }\r\n\r\n clearValue() {\r\n this.selectedValue = {\r\n name: '',\r\n value: null\r\n }\r\n this.ocValue = ''\r\n this.filteredData = this.ocData\r\n }\r\n}\r\n","<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</div>\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ção disponível'}}\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","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-profile',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-profile.component.html',\r\n styleUrl: './oc-profile.component.scss',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OcProfileComponent implements OnInit {\r\n @Input() ocUserName?: string\r\n @Input() ocProfilePic?: string\r\n @Input() ocSize: 'large' | 'medium' | 'small' | 'tiny' = 'medium'\r\n nameInitials: string = ''\r\n \r\n ngOnInit() {\r\n this.getInitials()\r\n }\r\n\r\n getInitials() {\r\n if(!this.ocUserName) return\r\n\r\n const splittedName = this.ocUserName?.split(' ')\r\n\r\n const firstLetter = splittedName[0][0]\r\n let lastLetter = ''\r\n \r\n const lastName = splittedName[splittedName.length - 1]\r\n\r\n if(splittedName.length > 1 && lastName){\r\n lastLetter = lastName[0]\r\n }\r\n\r\n this.nameInitials = (firstLetter + lastLetter).toUpperCase()\r\n }\r\n}\r\n","<div class=\"oc-profile\"\r\n [ngClass]=\"{\r\n small: ocSize === 'small',\r\n tiny: ocSize === 'tiny',\r\n large: ocSize === 'large'\r\n }\"\r\n>\r\n <div class=\"content\">\r\n @if(ocProfilePic){\r\n <img [src]=\"ocProfilePic\" [alt]=\"ocUserName || 'Foto de perfil do usuário'\">\r\n }@else {\r\n <span>\r\n {{nameInitials}}\r\n </span>\r\n }\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { OcProfileComponent } from '../oc-profile/oc-profile.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'oc-log',\r\n standalone: true,\r\n imports: [CommonModule, OcProfileComponent],\r\n templateUrl: './oc-log.component.html',\r\n styleUrl: './oc-log.component.scss'\r\n})\r\nexport class OcLogComponent {\r\n @Input() ocProfilePic?: string = ''\r\n @Input() ocUserName?: string = ''\r\n}\r\n","<div class=\"oc-log\">\r\n <div class=\"left-side\" [ngClass]=\"{\r\n 'has-profile': ocProfilePic || ocUserName\r\n }\">\r\n @if(ocProfilePic || ocUserName) {\r\n <oc-profile [ocProfilePic]=\"ocProfilePic\" [ocUserName]=\"ocUserName\">\r\n </oc-profile>\r\n } @else {\r\n <div class=\"dot\"></div>\r\n }\r\n </div>\r\n\r\n <div class=\"content\" [ngClass]=\"{\r\n 'has-profile-content': ocProfilePic || ocUserName\r\n }\" selector=\"[content]\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-pagination',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-pagination.component.html',\r\n styleUrl: './oc-pagination.component.scss'\r\n})\r\nexport class OcPaginationComponent implements OnInit{\r\n @Input() ocPage: number = 1\r\n @Input() ocMaxPage?: number\r\n @Output() ocGetPage = new EventEmitter<number>()\r\n \r\n ngOnInit(): void {\r\n if(!this.ocMaxPage) this.ocMaxPage = this.ocPage\r\n }\r\n\r\n firstPage() {\r\n this.ocPage = 1\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n\r\n decrementPage() {\r\n if(this.ocPage <= 1) return\r\n this.ocPage--\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n\r\n incrementPage() {\r\n if(!this.ocMaxPage || this.ocPage >= this.ocMaxPage) return\r\n this.ocPage++\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n\r\n lastPage() {\r\n if(!this.ocMaxPage) return\r\n this.ocPage = this.ocMaxPage\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n}\r\n","<div class=\"oc-pagination\">\r\n <p class=\"oc-pagination-text\">\r\n Página\r\n <span>{{ocPage}}</span> \r\n de\r\n <span>{{ocMaxPage}}</span>\r\n </p>\r\n <div class=\"oc-pagination-buttons\">\r\n <button (click)=\"firstPage()\" [ngClass]=\"{\r\n disabled: ocPage === 1\r\n }\">\r\n <span class=\"material-symbols-outlined\">keyboard_double_arrow_left</span>\r\n </button>\r\n <button (click)=\"decrementPage()\" [ngClass]=\"{\r\n disabled: ocPage === 1\r\n }\">\r\n <span class=\"material-symbols-outlined\">navigate_before</span>\r\n </button>\r\n <button (click)=\"incrementPage()\" [ngClass]=\"{\r\n disabled: ocPage === ocMaxPage\r\n }\"> \r\n <span class=\"material-symbols-outlined\">navigate_next</span>\r\n </button>\r\n <button (click)=\"lastPage()\" [ngClass]=\"{\r\n disabled: ocPage === ocMaxPage\r\n }\"> \r\n <span class=\"material-symbols-outlined\">\r\n keyboard_double_arrow_right\r\n </span>\r\n </button>\r\n </div>\r\n</div>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-not-found',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-not-found.component.html',\r\n styleUrl: './oc-not-found.component.scss'\r\n})\r\nexport class OcNotFoundComponent {\r\n\r\n}\r\n","<main class=\"oc-not-found\">\r\n <div class=\"content\">\r\n <div class=\"main-title\">\r\n <h1>404</h1>\r\n <span class=\"s-1\">?</span>\r\n <span class=\"s-2\">?</span>\r\n <span class=\"s-3\">?</span>\r\n </div>\r\n <div class=\"not-found-msg\">\r\n <h2>Página não encontrada</h2>\r\n <p>Não conseguimos encontrar a página que você está procurando</p>\r\n </div>\r\n </div>\r\n</main>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'oc-checkbox',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\r\n templateUrl: './oc-checkbox.component.html',\r\n styleUrl: './oc-checkbox.component.scss'\r\n})\r\nexport class OcCheckboxComponent {\r\n checkBoxId: string = `oc-${Math.random()}`\r\n\r\n @Output() ocChange = new EventEmitter()\r\n\r\n @Input() ocChecked: boolean = false\r\n @Input() ocSize: 'tiny' | 'small' = 'small'\r\n @Input() ocLabel?: string = ''\r\n @Input() ocName?: string = ''\r\n @Input() ocColor: 'purple' | 'green' = 'green'\r\n @Input() ocBorderColor: 'white' | 'gray' = 'white'\r\n\r\n @Input() formControl?: any\r\n\r\n toggleChecked() {\r\n this.ocChecked = !this.ocChecked\r\n this.ocChange.emit(this.ocChecked)\r\n\r\n if(this.formControl) {\r\n this.formControl.setValue(this.ocChecked)\r\n }\r\n }\r\n}\r\n","<button class=\"oc-checkbox-content cbx\" type=\"button\"\r\n(click)=\"toggleChecked()\">\r\n\r\n <div class=\"oc-checkbox cbx\" [ngClass]=\"{\r\n 'checked': ocChecked,\r\n 'tiny': ocSize === 'tiny',\r\n purple: ocColor === 'purple',\r\n 'gray-border': ocBorderColor === 'gray'\r\n }\"\r\n >\r\n\r\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\r\n </div>\r\n \r\n @if(ocLabel) {\r\n <span class=\"oc-checkbox-label cbx\">\r\n {{ocLabel}}\r\n </span>\r\n }\r\n\r\n <ng-content>\r\n </ng-content>\r\n\r\n @if(formControl) {\r\n <input [formControl]=\"formControl\" [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n } @else {\r\n <input [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n }\r\n</button>","import { Component,ElementRef,EventEmitter,Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\r\nimport { CdkMenuModule } from '@angular/cdk/menu';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OcMenuType } from '../../interfaces/oc-menu';\r\nimport { OcCheckboxComponent } from '../oc-checkbox/oc-checkbox.component';\r\n\r\n@Component({\r\n selector: 'oc-menu',\r\n standalone: true,\r\n imports: [CommonModule, CdkMenuModule, OcCheckboxComponent],\r\n templateUrl: './oc-menu.component.html',\r\n styleUrls: ['./oc-menu.component.scss']\r\n})\r\nexport class OcMenuComponent implements OnInit {\r\n constructor(private renderer: Renderer2) {}\r\n\r\n @ViewChild('ocMenuEl') menu!: ElementRef;\r\n @Output() ocChange = new EventEmitter()\r\n @Input() ocMenu: OcMenuType[] = []\r\n isMenuShown: boolean = false\r\n buttonId?:string\r\n\r\n open() {\r\n this.isMenuShown = true\r\n\r\n setTimeout(() => {\r\n if(this.menu){\r\n const parentButton = this.findParentButton(this.menu.nativeElement);\r\n if (parentButton) {\r\n this.buttonId = `oc-${Math.random()}`\r\n this.renderer.setAttribute(parentButton, 'id', this.buttonId);\r\n }\r\n }\r\n }, 100)\r\n }\r\n\r\n ngOnInit() {\r\n this.closeOnClickOut()\r\n }\r\n\r\n findParentButton(element: HTMLElement): HTMLButtonElement | null {\r\n let parent = element.parentElement;\r\n while (parent) {\r\n if (parent.tagName.toLowerCase() === 'button') {\r\n return parent as HTMLButtonElement;\r\n }\r\n parent = parent.parentElement;\r\n }\r\n return null;\r\n }\r\n \r\n closeOnClickOut() {\r\n this.renderer.listen('window', 'click',(e:any)=>{\r\n\r\n const isCheckbox = Array.from(e.target.classList).includes('cbx')\r\n\r\n if(isCheckbox) return\r\n else if(!this.menu) return\r\n\r\n if(this.buttonId && e.target.id !== this.buttonId) {\r\n this.isMenuShown = false\r\n return\r\n }\r\n \r\n })\r\n }\r\n\r\n changeCheckbox(name: string, checked: boolean) {\r\n let foundItem\r\n this.ocMenu.forEach(item => {\r\n if(item.name === name && typeof checked === 'boolean') {\r\n item.checked = checked\r\n\r\n foundItem = item\r\n }\r\n })\r\n this.ocChange.emit(foundItem)\r\n return foundItem\r\n }\r\n\r\n typeof(key: any) {\r\n return typeof key\r\n }\r\n}\r\n","<div class=\"oc-menu\" *ngIf=\"isMenuShown\" cdkMenu #ocMenuEl>\r\n <ul>\r\n @for(option of ocMenu; track $index) {\r\n <li\r\n [ngClass]=\"{\r\n 'checkbox-option cbx': typeof(option.checked) === 'boolean'\r\n }\"\r\n >\r\n @if(typeof(option.checked) === 'boolean'){\r\n <div class=\"checkbox-opt cbx\">\r\n <oc-checkbox (ocChange)=\"changeCheckbox(option.name, $event)\" [ocChecked]=\"option.checked!\" class=\"cbx\" ocSize=\"tiny\" [ocLabel]=\"option.name\" ocBorderColor=\"gray\"/>\r\n </div>\r\n }\r\n @if(option.icon) {\r\n <span class=\"material-symbols-outlined\">\r\n {{option.icon}}\r\n </span>\r\n } \r\n @if(option.callback){\r\n <button (click)=\"option.callback()\">{{option.name}}</button>\r\n }\r\n @if(option.url){\r\n <a [href]=\"option.url\" [target]=\"option.targetBlank ? '_blank' : ''\">{{option.name}}</a>\r\n }\r\n @if (!option.callback && !option.url && typeof(option.checked) !== 'boolean') {\r\n <span>{{option.name}}</span>\r\n }\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { OcToastService } from '../../services/oc-toast.service';\r\n\r\n@Component({\r\n selector: 'oc-toast',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-toast.component.html',\r\n styleUrl: './oc-toast.component.scss'\r\n})\r\nexport class OcToastComponent {\r\n constructor (public toast: OcToastService) {}\r\n}\r\n","<div\r\n class=\"toast\"\r\n [ngClass]=\"{\r\n 'close-toast': toast.currentToast.counter === 1,\r\n error: ['erro', 'error'].includes(toast.currentToast.status.toLowerCase()),\r\n success: ['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase()),\r\n loading: ['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase()),\r\n animation: toast.currentToast.hasAnimation\r\n }\"\r\n *ngIf=\"toast.currentToast && toast.currentToast.counter > 0\"\r\n>\r\n <header>\r\n <ng-container [ngTemplateOutlet]=\"iconTemplate\"></ng-container>\r\n <h4 class=\"status\">\r\n {{ toast.currentToast.status[0].toUpperCase() + toast.currentToast.status.slice(1) }}\r\n </h4>\r\n <button (click)=\"toast.closeToast(toast.currentToast.id)\">\r\n <span class=\"material-symbols-outlined\">close</span>\r\n </button>\r\n </header>\r\n <p>{{ toast.currentToast.message }}</p>\r\n</div>\r\n\r\n<ng-template #iconTemplate>\r\n <span\r\n class=\"material-symbols-outlined\"\r\n *ngIf=\"['erro', 'error'].includes(toast.currentToast.status.toLowerCase())\"\r\n >error</span\r\n >\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n *ngIf=\"['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase())\"\r\n >check_circle</span\r\n >\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n *ngIf=\"['information', 'informação', 'información'].includes(toast.currentToast.status.toLowerCase())\"\r\n >info</span\r\n >\r\n\r\n <svg *ngIf=\"['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase())\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><style>rect{fill:#00DDA3}.spinner_zWVm{animation:spinner_5QiW 1.2s linear infinite,spinner_PnZo 1.2s linear infinite}.spinner_gfyD{animation:spinner_5QiW 1.2s linear infinite,spinner_4j7o 1.2s linear infinite;animation-delay:.1s}.spinner_T5JJ{animation:spinner_5QiW 1.2s linear infinite,spinner_fLK4 1.2s linear infinite;animation-delay:.1s}.spinner_E3Wz{animation:spinner_5QiW 1.2s linear infinite,spinner_tDji 1.2s linear infinite;animation-delay:.2s}.spinner_g2vs{animation:spinner_5QiW 1.2s linear infinite,spinner_CMiT 1.2s linear infinite;animation-delay:.2s}.spinner_ctYB{animation:spinner_5QiW 1.2s linear infinite,spinner_cHKR 1.2s linear infinite;animation-delay:.2s}.spinner_BDNj{animation:spinner_5QiW 1.2s linear infinite,spinner_Re6e 1.2s linear infinite;animation-delay:.3s}.spinner_rCw3{animation:spinner_5QiW 1.2s linear infinite,spinner_EJmJ 1.2s linear infinite;animation-delay:.3s}.spinner_Rszm{animation:spinner_5QiW 1.2s linear infinite,spinner_YJOP 1.2s linear infinite;animation-delay:.4s}@keyframes spinner_5QiW{0%,50%{width:7.33px;height:7.33px}25%{width:1.33px;height:1.33px}}@keyframes spinner_PnZo{0%,50%{x:1px;y:1px}25%{x:4px;y:4px}}@keyframes spinner_4j7o{0%,50%{x:8.33px;y:1px}25%{x:11.33px;y:4px}}@keyframes spinner_fLK4{0%,50%{x:1px;y:8.33px}25%{x:4px;y:11.33px}}@keyframes spinner_tDji{0%,50%{x:15.66px;y:1px}25%{x:18.66px;y:4px}}@keyframes spinner_CMiT{0%,50%{x:8.33px;y:8.33px}25%{x:11.33px;y:11.33px}}@keyframes spinner_cHKR{0%,50%{x:1px;y:15.66px}25%{x:4px;y:18.66px}}@keyframes spinner_Re6e{0%,50%{x:15.66px;y:8.33px}25%{x:18.66px;y:11.33px}}@keyframes spinner_EJmJ{0%,50%{x:8.33px;y:15.66px}25%{x:11.33px;y:18.66px}}@keyframes spinner_YJOP{0%,50%{x:15.66px;y:15.66px}25%{x:18.66px;y:18.66px}}</style><rect class=\"spinner_zWVm\" x=\"1\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_gfyD\" x=\"8.33\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_T5JJ\" x=\"1\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_E3Wz\" x=\"15.66\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_g2vs\" x=\"8.33\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_ctYB\" x=\"1\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_BDNj\" x=\"15.66\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_rCw3\" x=\"8.33\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_Rszm\" x=\"15.66\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/></svg>\r\n \r\n\r\n</ng-template>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-toggle',\r\n standalone: true,\r\n imports: [ CommonModule ],\r\n templateUrl: './oc-toggle.component.html',\r\n styleUrl: './oc-toggle.component.scss'\r\n})\r\nexport class OcToggleComponent {\r\n _ocChecked: boolean = false;\r\n\r\n @Input() set ocChecked(value: boolean) {\r\n this._ocChecked = value\r\n this.ocCheckedChange.emit(this._ocChecked)\r\n }\r\n\r\n get ocChecked() {\r\n return this._ocChecked\r\n }\r\n\r\n @Input() ocColor: 'purple' | 'green' = 'green';\r\n\r\n @Output() ocCheckedChange = new EventEmitter<boolean>();\r\n\r\n toggleChecked() {\r\n this.ocChecked = !this.ocChecked;\r\n }\r\n}\r\n\r\n\r\n","<label class=\"switch\">\r\n <input [checked]=\"ocChecked\" (click)=\"toggleChecked()\" type=\"checkbox\">\r\n <span class=\"slider round\" [ngClass]=\"[ocColor]\"></span>\r\n</label>","import { CommonModule } from '@angular/common'\r\nimport { Component, Input } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'oc-step',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-step.component.html',\r\n styleUrl: './oc-step.component.scss',\r\n})\r\nexport class OcStepComponent {\r\n @Input() ocIsActive: boolean = false\r\n @Input() ocTitle: string = ''\r\n @Input() ocColor: 'purple' | 'green' = 'purple'\r\n @Input() ocCompleted: boolean = false\r\n stepIndex: number = 0\r\n selectedIndex: number = 0\r\n lastIndex: number = 0\r\n\r\n @Input() selectStep!: (index: number) => void\r\n}\r\n","<div class=\"oc-step\" (click)=\"\r\n stepIndex !== selectedIndex && (stepIndex! <= selectedIndex || ocCompleted)\r\n ? selectStep(stepIndex)\r\n : undefined\r\n \"\r\n [ngClass]=\"{\r\n 'oc-not-selected': stepIndex !== selectedIndex\r\n}\">\r\n <div class=\"left-side\">\r\n <div class=\"step-number\" [ngClass]=\"{\r\n 'oc-selected-p': selectedIndex === stepIndex && ocColor === 'purple',\r\n 'oc-selected-g': selectedIndex === stepIndex && ocColor === 'green',\r\n 'oc-purple': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'purple',\r\n 'oc-green': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'green'\r\n }\">\r\n <span>{{stepIndex! + 1}}</span>\r\n </div>\r\n <h2 [ngClass]=\"{\r\n 'oc-selected-p-title': selectedIndex === stepIndex && ocColor === 'purple',\r\n 'oc-selected-g-title': selectedIndex === stepIndex && ocColor === 'green',\r\n }\">{{ocTitle}}</h2>\r\n </div>\r\n <div class=\"oc-content\" [ngClass]=\"{\r\n 'expanded': ocIsActive,\r\n 'oc-prev-selected-p': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'purple',\r\n 'oc-prev-selected-g': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'green',\r\n 'oc-left-border': stepIndex !== lastIndex\r\n }\">\r\n @if (ocIsActive) {\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n</div>","import { AfterViewInit, Component, ContentChildren, QueryList, Input } from '@angular/core'\r\nimport { OcStepComponent } from '../oc-step/oc-step.component'\r\n\r\n@Component({\r\n selector: 'oc-stepper',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-stepper.component.html',\r\n styleUrl: './oc-stepper.component.css',\r\n})\r\nexport class OcStepperComponent implements AfterViewInit {\r\n @ContentChildren(OcStepComponent) ocSteps!: QueryList<OcStepComponent>\r\n @Input() ocAllowNavigation: boolean = false\r\n @Input() ocColor: 'purple' | 'green' = 'purple'\r\n @Input() ocCurrentIndex: number = 0\r\n @Input() ocSaveCompletedSteps: boolean = true\r\n\r\n private completedSteps: number[] = []\r\n\r\n ngAfterViewInit(): void {\r\n this.setStepsValues()\r\n this.selectStep(this.ocCurrentIndex)\r\n this.setCompletedSteps()\r\n }\r\n\r\n private setCompletedSteps(): void {\r\n if (!this.ocSaveCompletedSteps) {\r\n return\r\n }\r\n for (let i = 0; i <= this.ocCurrentIndex; i++) {\r\n this.completedSteps.push(i)\r\n }\r\n }\r\n\r\n setStepsValues(): void {\r\n this.ocSteps.forEach((step, i) => {\r\n step.stepIndex = i\r\n step.ocColor = this.ocColor\r\n step.lastIndex = this.ocSteps.length - 1\r\n\r\n // if (this.ocAllowNavigation) {\r\n step.selectStep = (index: number) => this.selectStep(index)\r\n // }\r\n })\r\n }\r\n\r\n selectStep(index: number): void {\r\n this.ocSteps.forEach((step, i) => {\r\n if (this.completedSteps.includes(i)) {\r\n step.ocCompleted = true\r\n }\r\n if (i !== index) {\r\n step.ocIsActive = false\r\n step.selectedIndex = index\r\n return\r\n }\r\n step.ocIsActive = true\r\n this.ocCurrentIndex = index\r\n step.selectedIndex = this.ocCurrentIndex\r\n this.setCompletedSteps()\r\n })\r\n return\r\n }\r\n\r\n nextStep(event: Event): void {\r\n event.stopPropagation()\r\n if (this.ocCurrentIndex === this.ocSteps.length - 1) {\r\n return\r\n }\r\n this.selectStep(this.ocCurrentIndex + 1)\r\n }\r\n\r\n previousStep(event: Event): void {\r\n event.stopPropagation()\r\n if (!this.ocCurrentIndex) {\r\n return\r\n }\r\n this.selectStep(this.ocCurrentIndex - 1)\r\n }\r\n}\r\n","<div class=\"oc-stepper\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'oc-tab',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-tab.component.html',\r\n styleUrl: './oc-tab.component.scss',\r\n})\r\nexport class OcTabComponent {\r\n @Input() ocTitle: string = ''\r\n @Input() ocIsActive: boolean = false\r\n tabIndex: number = 0\r\n}\r\n","@if (ocIsActive) {\r\n <ng-content></ng-content>\r\n}","import { Component, ContentChildren, QueryList, AfterContentInit } from '@angular/core'\r\nimport { OcTabComponent } from '../oc-tab/oc-tab.component'\r\nimport { CommonModule } from '@angular/common'\r\n\r\n@Component({\r\n selector: 'oc-tabs',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-tabs.component.html',\r\n styleUrl: './oc-tabs.component.scss',\r\n})\r\nexport class OcTabsComponent implements AfterContentInit {\r\n @ContentChildren(OcTabComponent) ocTabs!: QueryList<OcTabComponent>\r\n\r\n activeTabIndex: number = 0\r\n\r\n ngAfterContentInit(): void {\r\n this.selectTab(0)\r\n }\r\n\r\n selectTab(index: number): void {\r\n this.ocTabs.toArray().forEach((tab, i) => {\r\n tab.tabIndex = i\r\n tab.ocIsActive = i === index\r\n })\r\n this.activeTabIndex = index\r\n }\r\n}\r\n","<div class=\"oc-tabs\">\r\n <div class=\"row\">\r\n @for(tab of ocTabs; track $index) {\r\n <button [ngClass]=\"{\r\n 'oc-selected': tab.tabIndex === activeTabIndex\r\n }\" class=\"oc-tab\" (click)=\"selectTab(tab.tabIndex)\" type=\"button\">{{tab.ocTitle}}</button>\r\n }\r\n </div>\r\n <ng-content></ng-content>\r\n</div>","/*\r\n * Public API Surface of otimus-library\r\n */\r\n\r\nexport * from './lib/otimus-library.service'\r\nexport * from './lib/otimus-library.component'\r\nexport * from './lib/services/oc-toast.service'\r\nexport * from './lib/components/oc-table/oc-table.component'\r\nexport * from './lib/components/oc-badge/oc-badge.component'\r\nexport * from './lib/components/oc-filter/oc-filter.component'\r\nexport * from './lib/directives/oc-tooltip/oc-tooltip.directive'\r\nexport * from './lib/components/oc-input/oc-input.component'\r\nexport * from './lib/components/oc-modal/oc-modal.component'\r\nexport * from './lib/components/oc-key-value/oc-key-value.component'\r\nexport * from './lib/components/oc-chip/oc-chip.component'\r\nexport * from './lib/components/oc-modal-footer/oc-modal-footer.component'\r\nexport * from './lib/components/oc-autocomplete/oc-autocomplete.component'\r\nexport * from './lib/components/oc-profile/oc-profile.component'\r\nexport * from './lib/components/oc-log/oc-log.component'\r\nexport * from './lib/components/oc-pagination/oc-pagination.component'\r\nexport * from './lib/components/oc-not-found/oc-not-found.component'\r\nexport * from './lib/components/oc-menu/oc-menu.component'\r\nexport * from './lib/components/oc-toast/oc-toast.component'\r\nexport * from './lib/components/oc-checkbox/oc-checkbox.component'\r\nexport * from './lib/components/oc-toggle/oc-toggle.component'\r\nexport * from './lib/components/oc-stepper/oc-stepper.component'\r\nexport * from './lib/components/oc-step/oc-step.component'\r\nexport * from './lib/components/oc-tabs/oc-tabs.component'\r\nexport * from './lib/components/oc-tab/oc-tab.component'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1.OcToastService"],"mappings":"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"}
1
+ {"version":3,"file":"otimus-library.mjs","sources":["../../../projects/otimus-library/src/lib/otimus-library.service.ts","../../../projects/otimus-library/src/lib/otimus-library.component.ts","../../../projects/otimus-library/src/lib/services/oc-toast.service.ts","../../../projects/otimus-library/src/lib/components/oc-table/oc-table.component.ts","../../../projects/otimus-library/src/lib/components/oc-table/oc-table.component.html","../../../projects/otimus-library/src/lib/components/oc-badge/oc-badge.component.ts","../../../projects/otimus-library/src/lib/components/oc-badge/oc-badge.component.html","../../../projects/otimus-library/src/lib/components/oc-filter/oc-filter.component.ts","../../../projects/otimus-library/src/lib/components/oc-filter/oc-filter.component.html","../../../projects/otimus-library/src/lib/directives/oc-tooltip/oc-tooltip.directive.ts","../../../projects/otimus-library/src/lib/components/oc-input/oc-input.component.ts","../../../projects/otimus-library/src/lib/components/oc-input/oc-input.component.html","../../../projects/otimus-library/src/lib/components/oc-modal/oc-modal.component.ts","../../../projects/otimus-library/src/lib/components/oc-modal/oc-modal.component.html","../../../projects/otimus-library/src/lib/components/oc-key-value/oc-key-value.component.ts","../../../projects/otimus-library/src/lib/components/oc-key-value/oc-key-value.component.html","../../../projects/otimus-library/src/lib/components/oc-chip/oc-chip.component.ts","../../../projects/otimus-library/src/lib/components/oc-chip/oc-chip.component.html","../../../projects/otimus-library/src/lib/components/oc-modal-footer/oc-modal-footer.component.ts","../../../projects/otimus-library/src/lib/components/oc-modal-footer/oc-modal-footer.component.html","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete.component.ts","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete.component.html","../../../projects/otimus-library/src/lib/components/oc-profile/oc-profile.component.ts","../../../projects/otimus-library/src/lib/components/oc-profile/oc-profile.component.html","../../../projects/otimus-library/src/lib/components/oc-log/oc-log.component.ts","../../../projects/otimus-library/src/lib/components/oc-log/oc-log.component.html","../../../projects/otimus-library/src/lib/components/oc-pagination/oc-pagination.component.ts","../../../projects/otimus-library/src/lib/components/oc-pagination/oc-pagination.component.html","../../../projects/otimus-library/src/lib/components/oc-not-found/oc-not-found.component.ts","../../../projects/otimus-library/src/lib/components/oc-not-found/oc-not-found.component.html","../../../projects/otimus-library/src/lib/components/oc-checkbox/oc-checkbox.component.ts","../../../projects/otimus-library/src/lib/components/oc-checkbox/oc-checkbox.component.html","../../../projects/otimus-library/src/lib/components/oc-menu/oc-menu.component.ts","../../../projects/otimus-library/src/lib/components/oc-menu/oc-menu.component.html","../../../projects/otimus-library/src/lib/components/oc-toast/oc-toast.component.ts","../../../projects/otimus-library/src/lib/components/oc-toast/oc-toast.component.html","../../../projects/otimus-library/src/lib/components/oc-toggle/oc-toggle.component.ts","../../../projects/otimus-library/src/lib/components/oc-toggle/oc-toggle.component.html","../../../projects/otimus-library/src/lib/components/oc-step/oc-step.component.ts","../../../projects/otimus-library/src/lib/components/oc-step/oc-step.component.html","../../../projects/otimus-library/src/lib/components/oc-stepper/oc-stepper.component.ts","../../../projects/otimus-library/src/lib/components/oc-stepper/oc-stepper.component.html","../../../projects/otimus-library/src/lib/components/oc-tab/oc-tab.component.ts","../../../projects/otimus-library/src/lib/components/oc-tab/oc-tab.component.html","../../../projects/otimus-library/src/lib/components/oc-tabs/oc-tabs.component.ts","../../../projects/otimus-library/src/lib/components/oc-tabs/oc-tabs.component.html","../../../projects/otimus-library/src/public-api.ts","../../../projects/otimus-library/src/otimus-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OtimusLibraryService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-otimus-library',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <p>\r\n otimus-library works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class OtimusLibraryComponent {\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastType } from '../interfaces/oc-toast';\r\n\r\ntype ToastStatusType = 'erro' | 'error' | 'success' | 'éxito' | 'sucesso' | 'carregando' | 'cargando' | 'loading' | 'informação' | 'información' | 'information'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OcToastService {\r\n toastList: ToastType[] = []\r\n isRunning: boolean = false\r\n currentToast!: ToastType\r\n\r\n closeToast(id: number) {\r\n this.toastList = this.toastList.map((to) => {\r\n if (to.id === id) {\r\n return { ...to, counter: 0 }\r\n }\r\n return to\r\n })\r\n\r\n this.currentToast = this.toastList[0]\r\n }\r\n\r\n openToast = (\r\n toastStatus: ToastStatusType,\r\n toastMessage: string,\r\n toastCounter?: number,\r\n promiseKey?: string\r\n ) => {\r\n const toast = {\r\n id: this.toastList.length === 0 ? 1 : this.toastList[this.toastList.length - 1].id + 1,\r\n counter: toastCounter || 5,\r\n status: toastStatus,\r\n message: toastMessage,\r\n promiseKey,\r\n hasAnimation: true,\r\n }\r\n\r\n const toastExists = this.toastList.some((to) => {\r\n return to.status === toastStatus && to.message === toastMessage\r\n })\r\n\r\n if (toastExists) return\r\n\r\n const keyExists = this.toastList.find((to) => to.promiseKey === toast.promiseKey)\r\n\r\n if (keyExists) {\r\n this.toastList = this.toastList.map((to) => {\r\n if (to.promiseKey === promiseKey) {\r\n return { ...toast, hasAnimation: false }\r\n }\r\n return to\r\n })\r\n }\r\n\r\n this.toastList.push(toast)\r\n\r\n if (!this.isRunning) {\r\n this.renderToasts()\r\n }\r\n }\r\n\r\n renderToasts() {\r\n if (this.toastList.length === 0) {\r\n this.isRunning = false\r\n return\r\n }\r\n\r\n this.isRunning = true\r\n this.currentToast = this.toastList[0]\r\n\r\n const toastInterval = setInterval(() => {\r\n if (this.toastList.length === 0) {\r\n clearInterval(toastInterval)\r\n this.isRunning = false\r\n return\r\n }\r\n\r\n this.currentToast = this.toastList[0]\r\n if (this.currentToast.status !== 'carregando') {\r\n this.currentToast.counter--\r\n }\r\n\r\n if (this.currentToast.counter <= 0) {\r\n this.toastList = this.toastList.filter((to) => {\r\n return to.status !== this.currentToast.status && to.message !== this.currentToast.message\r\n })\r\n clearInterval(toastInterval)\r\n this.renderToasts()\r\n }\r\n }, 1000)\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {CdkTableModule} from '@angular/cdk/table'\r\n\r\n\r\n@Component({\r\n selector: 'oc-table',\r\n standalone: true,\r\n imports: [CommonModule, CdkTableModule],\r\n templateUrl: './oc-table.component.html',\r\n styleUrls: ['./oc-table.component.scss']\r\n})\r\nexport class OcTableComponent implements OnInit {\r\n\r\n @Input() columns: string[] = []\r\n @Input() dataSource: any[] = []\r\n keys: string[] = []\r\n\r\n ngOnInit(): void {\r\n if(!this.dataSource.length) return\r\n\r\n this.keys = Object.keys(this.dataSource[0])\r\n }\r\n}\r\n","<table cdk-table [dataSource]=\"dataSource\">\r\n\r\n <ng-container *ngFor=\"let column of columns; let i = index\" [cdkColumnDef]=\"column\">\r\n <th cdk-header-cell *cdkHeaderCellDef> {{column}} </th>\r\n <td cdk-cell *cdkCellDef=\"let row\"> {{row[keys[i]]}} </td>\r\n </ng-container>\r\n\r\n <tr cdk-header-row *cdkHeaderRowDef=\"columns\"></tr>\r\n <tr cdk-row *cdkRowDef=\"let row; columns: columns\"></tr>\r\n</table>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-badge',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-badge.component.html',\r\n styleUrl: './oc-badge.component.scss'\r\n})\r\nexport class OcBadgeComponent implements OnInit {\r\n @Input() ocSize: 'small' | 'medium' | 'large' = 'small'\r\n @Input() ocColor: 'notification' | 'brand-g' | 'brand-p' | 'success' | 'warning' = 'notification'\r\n @Input() ocWaved: boolean = false\r\n\r\n classList: string[] = []\r\n\r\n ngOnInit(): void {\r\n this.classList.push(this.ocSize, this.ocColor)\r\n if(this.ocWaved) this.classList.push('waved')\r\n }\r\n}\r\n","<div>\r\n <div class=\"oc-badge\" [ngClass]=\"classList\">\r\n <ng-content>\r\n \r\n </ng-content>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { OcBadgeComponent } from '../oc-badge/oc-badge.component';\r\n\r\n@Component({\r\n selector: 'oc-filter',\r\n standalone: true,\r\n imports: [CommonModule, OcBadgeComponent],\r\n templateUrl: './oc-filter.component.html',\r\n styleUrl: './oc-filter.component.scss'\r\n})\r\nexport class OcFilterComponent {\r\n @Input() isOpen: boolean = false\r\n @Input() ocText: string = 'Filtros'\r\n @Input() ocActive: number = 0\r\n @Input() ocSide: 'left' | 'right' = 'left'\r\n\r\n toggleOpen() {\r\n this.isOpen = !this.isOpen\r\n }\r\n}\r\n","<div class=\"oc-filter-row\" [ngClass]=\"{\r\n reverse: ocSide === 'right'\r\n}\">\r\n <button class=\"oc-filter-btn\" (click)=\"toggleOpen()\">\r\n <span class=\"material-symbols-outlined\">filter_list</span>\r\n {{ocText}}\r\n <div class=\"badge\">\r\n <oc-badge *ngIf=\"ocActive > 0\" ocSize=\"small\" ocColor=\"success\" [ocWaved]=\"true\">{{ocActive}}</oc-badge>\r\n </div>\r\n </button>\r\n \r\n <div class=\"filter-row-content\">\r\n <ng-content select=\"[row]\"></ng-content>\r\n </div>\r\n \r\n</div>\r\n<div *ngIf=\"isOpen\" class=\"oc-filter-content\">\r\n <ng-content select=\"[body]\">\r\n </ng-content>\r\n</div>\r\n","import { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ocTooltip]',\r\n standalone: true\r\n})\r\nexport class OcTooltipDirective {\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @Input() content: string = ''\r\n @Input() side: 'bottom' | 'upon' | 'left' | 'right' | 'top' = 'bottom'\r\n\r\n created:boolean = false\r\n\r\n createToolTip() {\r\n if(this.created) return\r\n\r\n const tooltip = this.renderer.createElement('div')\r\n const text = this.renderer.createText(this.content)\r\n\r\n this.renderer.appendChild(tooltip, text)\r\n this.renderer.setStyle(tooltip, 'margin', '0')\r\n this.renderer.addClass(tooltip, 'oc-tooltip')\r\n this.renderer.setStyle(tooltip, 'position', 'absolute')\r\n this.renderer.setStyle(tooltip, 'padding', '0.4rem 0.8rem')\r\n this.renderer.setStyle(tooltip, 'font-size', '0.9rem')\r\n this.renderer.setStyle(tooltip, 'font-weight', '600')\r\n this.renderer.setStyle(tooltip, 'color', '#7E8485')\r\n this.renderer.setStyle(tooltip, 'border', '1px solid #FFFFFF')\r\n this.renderer.setStyle(tooltip, 'background-color', '#F8F9FF')\r\n this.renderer.setStyle(tooltip, 'border-radius','1rem')\r\n this.renderer.setStyle(tooltip, 'box-shadow', '0px 3px 6.5px 0px rgba(0, 0, 0, 0.20)')\r\n this.renderer.setStyle(tooltip, 'transition', '0.1s ease')\r\n this.renderer.setStyle(tooltip, 'max-width', '400px')\r\n\r\n const width = this.elRef.nativeElement.offsetWidth\r\n const height = this.elRef.nativeElement.offsetHeight\r\n\r\n this.renderer.setStyle(tooltip, 'transform', `translateY(${height - 10}px)`)\r\n\r\n if (this.side === 'right') {\r\n this.renderer.setStyle(tooltip, 'transform', `translateX(${width + 20}px) translateY(-50%)`)\r\n } else if (this.side === 'left') {\r\n this.renderer.setStyle(tooltip, 'transform', `translateX(-${width + 20}px) translateY(-50%)`)\r\n } else if (this.side === 'upon' || this.side === 'top') {\r\n this.renderer.setStyle(tooltip, 'transform', `translateY(-${height + 40}px)`)\r\n }\r\n\r\n this.created = true\r\n return tooltip\r\n }\r\n\r\n @HostListener('mouseover')\r\n onMouseOver() {\r\n const tooltip = this.createToolTip()\r\n this.renderer.appendChild(this.elRef.nativeElement, tooltip)\r\n }\r\n\r\n @HostListener('mouseout')\r\n onMouseOut() {\r\n const tooltip = this.elRef.nativeElement.querySelector('.oc-tooltip')\r\n if(tooltip){\r\n this.renderer.removeChild(this.elRef.nativeElement, tooltip)\r\n this.created = false\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { AfterContentChecked, AfterContentInit, AfterViewInit, Component, ContentChild, ElementRef, HostBinding, Input, OnChanges, Renderer2, SimpleChanges, ViewChild, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-input',\r\n host: {\r\n '[style.width]': 'computedWidth',\r\n '[style.min-width]': 'computedMinWidth',\r\n '[style.max-width]': 'computedMaxWidth'\r\n },\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-input.component.html',\r\n styleUrls: ['./oc-input.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OcInputComponent implements AfterViewInit, OnChanges, AfterContentChecked {\r\n @ContentChild('ocPrefix') ocPrefix: any\r\n @ContentChild('ocSuffix') ocSuffix: any\r\n\r\n @Input() ocError?: string;\r\n @Input() ocSize?: 'small' | 'medium' | 'large' = 'medium';\r\n @Input() ocPlaceholder: string = '';\r\n @Input() ocWidth?: string\r\n @Input() ocMinWidth?: string\r\n @Input() ocMaxWidth?: string\r\n @Input() ocRequired: boolean = false\r\n\r\n inputId: string = `oc-${Math.random()}`;\r\n hasSuffix: boolean = false\r\n hasPrefix: boolean = false\r\n\r\n @HostBinding('style.width')\r\n get computedWidth () {\r\n return this.ocWidth ? this.ocWidth : null\r\n }\r\n\r\n @HostBinding('style.min-width')\r\n get computedMinWidth () {\r\n return this.ocMinWidth || '0'\r\n }\r\n \r\n @HostBinding('style.max-width')\r\n get computedMaxWidth () {\r\n return this.ocMaxWidth || '100%'\r\n }\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.ocPrefix) this.hasPrefix = true\r\n if(this.ocSuffix) this.hasSuffix = true\r\n }\r\n\r\n ngAfterViewInit() {\r\n const inputBox = this.el.nativeElement;\r\n\r\n if (inputBox) {\r\n const inputElement = inputBox.querySelector('input');\r\n\r\n if (inputElement) {\r\n this.renderer.setAttribute(inputElement, 'placeholder', '');\r\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\r\n }\r\n }\r\n } \r\n\r\n ngAfterContentChecked(): void {\r\n if(this.ocPrefix) this.hasPrefix = true\r\n if(this.ocSuffix) this.hasSuffix = true\r\n }\r\n}\r\n","<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","import { CommonModule } from '@angular/common'\r\nimport {\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core'\r\n\r\n@Component({\r\n selector: 'oc-modal',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-modal.component.html',\r\n styleUrl: './oc-modal.component.scss',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OcModalComponent {\r\n constructor(private elRef: ElementRef) {}\r\n\r\n @Input() ocClose: boolean = true\r\n @Input() ocTitle: string = ''\r\n @Input() ocSize: 'small' | 'medium' | 'large' | 'screen' = 'medium'\r\n @Input() ocBgColor?: string\r\n @Input() ocWidth: string = ''\r\n @Input() ocMaxWidth: string = ''\r\n @Output() ocOnClose = new EventEmitter<any>()\r\n @Output() ocOnOpen = new EventEmitter<any>()\r\n\r\n @Input() isOpen: boolean = false\r\n closing: boolean = false\r\n\r\n open(): void {\r\n this.isOpen = true\r\n this.elRef.nativeElement.ownerDocument.body.classList.add('disabled-scroll')\r\n this.ocOnOpen.emit(this.isOpen)\r\n }\r\n\r\n close(): void {\r\n this.closing = true\r\n setTimeout(() => {\r\n this.isOpen = false\r\n this.closing = false\r\n\r\n if (this.ocOnClose) {\r\n this.ocOnClose.emit(this.isOpen)\r\n }\r\n\r\n this.elRef.nativeElement.ownerDocument.body.classList.remove('disabled-scroll')\r\n }, 100)\r\n }\r\n\r\n protected getModalStyles(): { [key: string]: string } {\r\n const styles: { [key: string]: string } = {}\r\n if (this.ocBgColor) {\r\n styles['background-color'] = this.ocBgColor\r\n }\r\n if (this.ocWidth) {\r\n styles['width'] = this.ocWidth\r\n }\r\n if (this.ocMaxWidth) {\r\n styles['max-width'] = this.ocMaxWidth\r\n }\r\n return styles\r\n }\r\n}\r\n","@if (isOpen) {\r\n <div class=\"oc-modal-bg\" *ngIf=\"isOpen\" [ngClass]=\"{'closing-bg': closing}\">\r\n <div class=\"oc-modal\"\r\n [ngClass]=\"{\r\n large: ocSize === 'large',\r\n medium: ocSize === 'medium',\r\n small: ocSize === 'small',\r\n closing: closing,\r\n 'total-white': ocBgColor === 'white'\r\n }\"\r\n [ngStyle]=\"getModalStyles()\"\r\n >\r\n <header class=\"oc-modal-header\">\r\n <h3 *ngIf=\"ocTitle.trim().length > 0\">{{ocTitle}}</h3>\r\n @if(ocClose) {\r\n <button (click)=\"close()\" class=\"oc-close-btn\">\r\n <span class=\"material-symbols-outlined md-18\" title=\"Fechar\">close</span>\r\n </button>\r\n }\r\n </header>\r\n <div class=\"oc-modal-content\">\r\n @if(isOpen){\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n}","import { Component, Input, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-key-value',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-key-value.component.html',\r\n styleUrl: './oc-key-value.component.scss',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OcKeyValueComponent {\r\n @Input() ocKey: string = ''\r\n @Input() ocValue: string = ''\r\n}\r\n","<div class=\"oc-key-value\">\r\n <!-- Ícone -->\r\n <ng-content></ng-content>\r\n <p>\r\n @if (ocKey) {\r\n <span>{{ocKey}}:</span>\r\n }\r\n {{ocValue}}\r\n </p>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-chip',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-chip.component.html',\r\n styleUrl: './oc-chip.component.scss'\r\n})\r\nexport class OcChipComponent {\r\n @Input() ocSelected: boolean = false\r\n @Input() ocType: 'select' | 'remove' | 'tag' | 'select_remove' = 'select'\r\n @Input() ocBg: 'green' | 'red' | 'yellow' | 'default' = 'green'\r\n @Input() ocText: string = ''\r\n @Output() ocClick: EventEmitter<any> = new EventEmitter<any>\r\n @Output() ocRemove: EventEmitter<any> = new EventEmitter<any>\r\n\r\n ocEvent(event:any) {\r\n event.stopPropagation()\r\n this.ocClick.emit()\r\n }\r\n \r\n ocRemoveEvent (event: any) {\r\n event.stopPropagation()\r\n if(!this.ocRemove.observed) {\r\n this.ocClick.emit()\r\n return\r\n }\r\n this.ocRemove.emit()\r\n }\r\n}\r\n","<button\r\n [ngClass]=\"{\r\n 'oc-chip': true,\r\n selected: ocSelected,\r\n 'not-selectable': ocType !== 'select' && ocType !== 'select_remove',\r\n 'tag': ocType === 'tag',\r\n 'remove': ocType === 'remove' || ocType==='select_remove',\r\n 'green-bg': ocBg === 'green',\r\n 'red-bg': ocBg === 'red',\r\n 'yellow-bg': ocBg === 'yellow'\r\n }\"\r\n type=\"button\"\r\n [title]=\"ocText\"\r\n (click)=\"ocType.includes('select') ? ocEvent($event) : null\"\r\n>\r\n <ng-content></ng-content>\r\n @if (ocType.includes('remove')) {\r\n <span class=\"material-symbols-outlined\" (click)=\"ocRemoveEvent($event)\">close</span>\r\n }\r\n</button>\r\n","import { CommonModule } from '@angular/common'\r\nimport { Component, Input } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'oc-modal-footer',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-modal-footer.component.html',\r\n styleUrl: './oc-modal-footer.component.scss',\r\n})\r\nexport class OcModalFooterComponent {\r\n @Input() ocSide: 'left' | 'right' = 'right'\r\n @Input() ocBgColor?: string\r\n @Input() ocFixed: boolean = true\r\n}\r\n","<footer class=\"oc-modal-footer\" [ngClass]=\"{\r\n 'left': ocSide === 'left',\r\n 'right': ocSide === 'right',\r\n 'fixed': ocFixed\r\n}\"\r\n [ngStyle]=\"{\r\n 'background-color': ocBgColor\r\n }\"\r\n>\r\n <ng-content></ng-content>\r\n</footer>","import { CommonModule } from '@angular/common';\r\nimport { AfterContentChecked, AfterViewInit, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, Renderer2, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { OcAutoCompleteType } from '../../interfaces/oc-autocomplete';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'oc-autocomplete',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n host: {\r\n '[style.width]': 'computedWidth',\r\n '[style.min-width]': 'computedMinWidth',\r\n '[style.max-width]': 'computedMaxWidth'\r\n },\r\n templateUrl: './oc-autocomplete.component.html',\r\n styleUrl: './oc-autocomplete.component.scss'\r\n})\r\nexport class OcAutocompleteComponent implements AfterViewInit, OnChanges, AfterContentChecked {\r\n constructor(private renderer: Renderer2, private el: ElementRef) {}\r\n \r\n @ViewChild('input') input!: ElementRef\r\n @ViewChild('options') options!: ElementRef\r\n @ViewChild('outerDiv') outerDiv!: ElementRef<HTMLDivElement>\r\n\r\n @ContentChild('ocPrefix') ocPrefix: any\r\n @ContentChild('ocSuffix') ocSuffix: any\r\n @Input() ocPlaceholder?: string\r\n @Input() ocError?: string\r\n @Input() ocSize: 'small' | 'large' | 'medium' = 'medium'\r\n @Input() ocData: OcAutoCompleteType[] = []\r\n @Input() ocValue: any = ''\r\n @Input() ocClearOnChange: boolean = false \r\n @Input() ocWidth?: string\r\n @Input() ocMinWidth?: string\r\n @Input() ocMaxWidth?: string\r\n @Input() ocRequired: boolean = false\r\n @Input() ocMaxResults?: number\r\n @Input() ocAllowNotListedValue: boolean = false\r\n @Input() ocNoAvailableOptionsText?: string\r\n @Input() ocTypeForMoreResultsText?: string\r\n\r\n @Output() ocValueChange = new EventEmitter<string>()\r\n @Output() ocChange = new EventEmitter<string | null>()\r\n\r\n hasSuffix: boolean = false\r\n hasPrefix: boolean = false\r\n\r\n isOptionsShown: boolean = false\r\n filteredData: OcAutoCompleteType[] = []\r\n selectedValue: OcAutoCompleteType = {\r\n name: '',\r\n value: null\r\n }\r\n\r\n @HostBinding('style.width')\r\n get computedWidth () {\r\n return this.ocWidth ? this.ocWidth : null\r\n }\r\n\r\n @HostBinding('style.min-width')\r\n get computedMinWidth () {\r\n return this.ocMinWidth || '0'\r\n }\r\n\r\n @HostBinding('style.max-width')\r\n get computedMaxWidth () {\r\n return this.ocMaxWidth || '100%'\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.ocPrefix) this.hasPrefix = true\r\n if(this.ocSuffix) this.hasSuffix = true\r\n this.formatOcValueType()\r\n this.loadOptions()\r\n }\r\n\r\n ngAfterViewInit() {\r\n if(this.ocPrefix) this.hasPrefix = true\r\n if(this.ocSuffix) this.hasSuffix = true\r\n this.formatOcValueType()\r\n this.loadOptions()\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if(this.ocPrefix) this.hasPrefix = true\r\n if(this.ocSuffix) this.hasSuffix = true\r\n }\r\n\r\n formatOcValueType() {\r\n if(this.ocValue) return `${this.ocValue}`\r\n return null\r\n }\r\n\r\n loadOptions() {\r\n this.formatOcValueType()\r\n setTimeout(() =>{\r\n this.filteredData = this.ocData\r\n const inputBox = this.el.nativeElement;\r\n\r\n const found = this.ocData.find(el => el.value == this.ocValue)\r\n if(found){\r\n this.selectedValue = found\r\n this.ocValue = found.name\r\n }\r\n\r\n if (inputBox) {\r\n const inputElement = inputBox.querySelector('input');\r\n \r\n if (inputElement) {\r\n this.renderer.setAttribute(inputElement, 'placeholder', '')\r\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\r\n }\r\n }\r\n },50)\r\n }\r\n\r\n closeOnClickOut() {\r\n this.renderer.listen('window', 'click',(e:Event)=>{\r\n if(this.input && this.options){\r\n if(e.target !== this.input.nativeElement && e.target!==this.options.nativeElement){\r\n this.isOptionsShown = false;\r\n }\r\n }\r\n this.findByTyping()\r\n })\r\n }\r\n\r\n findByTyping() {\r\n if(!this.ocValue.trim().length){\r\n this.ocChange.emit(null)\r\n }\r\n const foundValue = this.ocData.find(data => data.name.toLowerCase() == this.ocValue.toLowerCase())\r\n\r\n if(!foundValue) {\r\n this.selectedValue = {\r\n name: '',\r\n value: null\r\n }\r\n if(!this.ocAllowNotListedValue) {\r\n this.ocValue = ''\r\n }\r\n this.filteredData = this.ocData\r\n return\r\n }\r\n this.selectedValue = foundValue\r\n }\r\n\r\n filterData(name: string) {\r\n this.isOptionsShown = true\r\n this.filteredData = this.ocData.filter(data => data.name.toLowerCase().includes(name.toLowerCase()))\r\n }\r\n\r\n toggleOptions() {\r\n this.closeOnClickOut()\r\n this.isOptionsShown = !this.isOptionsShown\r\n }\r\n\r\n selectValue(value: string | number) {\r\n const foundValue = this.ocData.find((data) => data.value == value)\r\n \r\n if(!foundValue) {\r\n this.selectedValue = {\r\n name: '',\r\n value: null\r\n }\r\n return\r\n }\r\n\r\n this.selectedValue = foundValue\r\n if(this.ocClearOnChange){\r\n this.ocValue = ''\r\n this.filteredData = this.ocData\r\n }else{\r\n this.ocValue = foundValue.name\r\n }\r\n\r\n this.ocChange.emit(this.selectedValue.value)\r\n }\r\n\r\n clearValue() {\r\n this.selectedValue = {\r\n name: '',\r\n value: null\r\n }\r\n this.ocValue = ''\r\n this.filteredData = this.ocData\r\n }\r\n}\r\n","<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ção disponível'}}\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","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-profile',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-profile.component.html',\r\n styleUrl: './oc-profile.component.scss',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OcProfileComponent implements OnInit {\r\n @Input() ocUserName?: string\r\n @Input() ocProfilePic?: string\r\n @Input() ocSize: 'large' | 'medium' | 'small' | 'tiny' = 'medium'\r\n nameInitials: string = ''\r\n \r\n ngOnInit() {\r\n this.getInitials()\r\n }\r\n\r\n getInitials() {\r\n if(!this.ocUserName) return\r\n\r\n const splittedName = this.ocUserName?.split(' ')\r\n\r\n const firstLetter = splittedName[0][0]\r\n let lastLetter = ''\r\n \r\n const lastName = splittedName[splittedName.length - 1]\r\n\r\n if(splittedName.length > 1 && lastName){\r\n lastLetter = lastName[0]\r\n }\r\n\r\n this.nameInitials = (firstLetter + lastLetter).toUpperCase()\r\n }\r\n}\r\n","<div class=\"oc-profile\"\r\n [ngClass]=\"{\r\n small: ocSize === 'small',\r\n tiny: ocSize === 'tiny',\r\n large: ocSize === 'large'\r\n }\"\r\n>\r\n <div class=\"content\">\r\n @if(ocProfilePic){\r\n <img [src]=\"ocProfilePic\" [alt]=\"ocUserName || 'Foto de perfil do usuário'\">\r\n }@else {\r\n <span>\r\n {{nameInitials}}\r\n </span>\r\n }\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { OcProfileComponent } from '../oc-profile/oc-profile.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'oc-log',\r\n standalone: true,\r\n imports: [CommonModule, OcProfileComponent],\r\n templateUrl: './oc-log.component.html',\r\n styleUrl: './oc-log.component.scss'\r\n})\r\nexport class OcLogComponent {\r\n @Input() ocProfilePic?: string = ''\r\n @Input() ocUserName?: string = ''\r\n}\r\n","<div class=\"oc-log\">\r\n <div class=\"left-side\" [ngClass]=\"{\r\n 'has-profile': ocProfilePic || ocUserName\r\n }\">\r\n @if(ocProfilePic || ocUserName) {\r\n <oc-profile [ocProfilePic]=\"ocProfilePic\" [ocUserName]=\"ocUserName\">\r\n </oc-profile>\r\n } @else {\r\n <div class=\"dot\"></div>\r\n }\r\n </div>\r\n\r\n <div class=\"content\" [ngClass]=\"{\r\n 'has-profile-content': ocProfilePic || ocUserName\r\n }\" selector=\"[content]\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-pagination',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-pagination.component.html',\r\n styleUrl: './oc-pagination.component.scss'\r\n})\r\nexport class OcPaginationComponent implements OnInit{\r\n @Input() ocPage: number = 1\r\n @Input() ocMaxPage?: number\r\n @Output() ocGetPage = new EventEmitter<number>()\r\n \r\n ngOnInit(): void {\r\n if(!this.ocMaxPage) this.ocMaxPage = this.ocPage\r\n }\r\n\r\n firstPage() {\r\n this.ocPage = 1\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n\r\n decrementPage() {\r\n if(this.ocPage <= 1) return\r\n this.ocPage--\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n\r\n incrementPage() {\r\n if(!this.ocMaxPage || this.ocPage >= this.ocMaxPage) return\r\n this.ocPage++\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n\r\n lastPage() {\r\n if(!this.ocMaxPage) return\r\n this.ocPage = this.ocMaxPage\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n}\r\n","<div class=\"oc-pagination\">\r\n <p class=\"oc-pagination-text\">\r\n Página\r\n <span>{{ocPage}}</span> \r\n de\r\n <span>{{ocMaxPage}}</span>\r\n </p>\r\n <div class=\"oc-pagination-buttons\">\r\n <button (click)=\"firstPage()\" [ngClass]=\"{\r\n disabled: ocPage === 1\r\n }\">\r\n <span class=\"material-symbols-outlined\">keyboard_double_arrow_left</span>\r\n </button>\r\n <button (click)=\"decrementPage()\" [ngClass]=\"{\r\n disabled: ocPage === 1\r\n }\">\r\n <span class=\"material-symbols-outlined\">navigate_before</span>\r\n </button>\r\n <button (click)=\"incrementPage()\" [ngClass]=\"{\r\n disabled: ocPage === ocMaxPage\r\n }\"> \r\n <span class=\"material-symbols-outlined\">navigate_next</span>\r\n </button>\r\n <button (click)=\"lastPage()\" [ngClass]=\"{\r\n disabled: ocPage === ocMaxPage\r\n }\"> \r\n <span class=\"material-symbols-outlined\">\r\n keyboard_double_arrow_right\r\n </span>\r\n </button>\r\n </div>\r\n</div>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-not-found',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-not-found.component.html',\r\n styleUrl: './oc-not-found.component.scss'\r\n})\r\nexport class OcNotFoundComponent {\r\n\r\n}\r\n","<main class=\"oc-not-found\">\r\n <div class=\"content\">\r\n <div class=\"main-title\">\r\n <h1>404</h1>\r\n <span class=\"s-1\">?</span>\r\n <span class=\"s-2\">?</span>\r\n <span class=\"s-3\">?</span>\r\n </div>\r\n <div class=\"not-found-msg\">\r\n <h2>Página não encontrada</h2>\r\n <p>Não conseguimos encontrar a página que você está procurando</p>\r\n </div>\r\n </div>\r\n</main>","import { CommonModule } from '@angular/common'\r\nimport { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core'\r\nimport {\r\n ControlValueAccessor,\r\n FormControl,\r\n FormsModule,\r\n NG_VALUE_ACCESSOR,\r\n ReactiveFormsModule,\r\n} from '@angular/forms'\r\n\r\n@Component({\r\n selector: 'oc-checkbox',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\r\n templateUrl: './oc-checkbox.component.html',\r\n styleUrl: './oc-checkbox.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => OcCheckboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class OcCheckboxComponent implements ControlValueAccessor {\r\n checkBoxId: string = `oc-${Math.random()}`\r\n\r\n @Output() ocChange = new EventEmitter<boolean>()\r\n\r\n @Input() ocChecked: boolean = false\r\n @Input() ocSize: 'tiny' | 'small' = 'small'\r\n @Input() ocLabel?: string = ''\r\n @Input() ocName?: string = ''\r\n @Input() ocColor: 'purple' | 'green' = 'green'\r\n @Input() ocBorderColor: 'white' | 'gray' = 'white'\r\n @Input() formControl?: FormControl\r\n\r\n private onChange = (value: boolean) => {}\r\n private onTouched = () => {}\r\n\r\n writeValue(value: boolean): void {\r\n this.ocChecked = value\r\n }\r\n\r\n registerOnChange(fn: (value: boolean) => void): void {\r\n this.onChange = fn\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {}\r\n\r\n toggleChecked(): void {\r\n this.ocChecked = !this.ocChecked\r\n this.onChange(this.ocChecked)\r\n this.onTouched()\r\n this.ocChange.emit(this.ocChecked)\r\n\r\n if (this.formControl) {\r\n this.formControl.setValue(this.ocChecked)\r\n }\r\n }\r\n}\r\n","<button class=\"oc-checkbox-content cbx\" type=\"button\"\r\n(click)=\"toggleChecked()\">\r\n\r\n <div class=\"oc-checkbox cbx\" [ngClass]=\"{\r\n 'checked': ocChecked,\r\n 'tiny': ocSize === 'tiny',\r\n purple: ocColor === 'purple',\r\n 'gray-border': ocBorderColor === 'gray'\r\n }\"\r\n >\r\n\r\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\r\n </div>\r\n \r\n @if(ocLabel) {\r\n <span class=\"oc-checkbox-label cbx\">\r\n {{ocLabel}}\r\n </span>\r\n }\r\n\r\n <ng-content>\r\n </ng-content>\r\n\r\n @if(formControl) {\r\n <input [formControl]=\"formControl\" [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n } @else {\r\n <input [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n }\r\n</button>","import { Component,ElementRef,EventEmitter,Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\r\nimport { CdkMenuModule } from '@angular/cdk/menu';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OcMenuType } from '../../interfaces/oc-menu';\r\nimport { OcCheckboxComponent } from '../oc-checkbox/oc-checkbox.component';\r\n\r\n@Component({\r\n selector: 'oc-menu',\r\n standalone: true,\r\n imports: [CommonModule, CdkMenuModule, OcCheckboxComponent],\r\n templateUrl: './oc-menu.component.html',\r\n styleUrls: ['./oc-menu.component.scss']\r\n})\r\nexport class OcMenuComponent implements OnInit {\r\n constructor(private renderer: Renderer2) {}\r\n\r\n @ViewChild('ocMenuEl') menu!: ElementRef;\r\n @Output() ocChange = new EventEmitter()\r\n @Input() ocMenu: OcMenuType[] = []\r\n isMenuShown: boolean = false\r\n buttonId?:string\r\n\r\n open() {\r\n this.isMenuShown = true\r\n\r\n setTimeout(() => {\r\n if(this.menu){\r\n const parentButton = this.findParentButton(this.menu.nativeElement);\r\n if (parentButton) {\r\n this.buttonId = `oc-${Math.random()}`\r\n this.renderer.setAttribute(parentButton, 'id', this.buttonId);\r\n }\r\n }\r\n }, 100)\r\n }\r\n\r\n ngOnInit() {\r\n this.closeOnClickOut()\r\n }\r\n\r\n findParentButton(element: HTMLElement): HTMLButtonElement | null {\r\n let parent = element.parentElement;\r\n while (parent) {\r\n if (parent.tagName.toLowerCase() === 'button') {\r\n return parent as HTMLButtonElement;\r\n }\r\n parent = parent.parentElement;\r\n }\r\n return null;\r\n }\r\n \r\n closeOnClickOut() {\r\n this.renderer.listen('window', 'click',(e:any)=>{\r\n\r\n const isCheckbox = Array.from(e.target.classList).includes('cbx')\r\n\r\n if(isCheckbox) return\r\n else if(!this.menu) return\r\n\r\n if(this.buttonId && e.target.id !== this.buttonId) {\r\n this.isMenuShown = false\r\n return\r\n }\r\n \r\n })\r\n }\r\n\r\n changeCheckbox(name: string, checked: boolean) {\r\n let foundItem\r\n this.ocMenu.forEach(item => {\r\n if(item.name === name && typeof checked === 'boolean') {\r\n item.checked = checked\r\n\r\n foundItem = item\r\n }\r\n })\r\n this.ocChange.emit(foundItem)\r\n return foundItem\r\n }\r\n\r\n typeof(key: any) {\r\n return typeof key\r\n }\r\n}\r\n","<div class=\"oc-menu\" *ngIf=\"isMenuShown\" cdkMenu #ocMenuEl>\r\n <ul>\r\n @for(option of ocMenu; track $index) {\r\n <li\r\n [ngClass]=\"{\r\n 'checkbox-option cbx': typeof(option.checked) === 'boolean'\r\n }\"\r\n >\r\n @if(typeof(option.checked) === 'boolean'){\r\n <div class=\"checkbox-opt cbx\">\r\n <oc-checkbox (ocChange)=\"changeCheckbox(option.name, $event)\" [ocChecked]=\"option.checked!\" class=\"cbx\" ocSize=\"tiny\" [ocLabel]=\"option.name\" ocBorderColor=\"gray\"/>\r\n </div>\r\n }\r\n @if(option.icon) {\r\n <span class=\"material-symbols-outlined\">\r\n {{option.icon}}\r\n </span>\r\n } \r\n @if(option.callback){\r\n <button (click)=\"option.callback()\">{{option.name}}</button>\r\n }\r\n @if(option.url){\r\n <a [href]=\"option.url\" [target]=\"option.targetBlank ? '_blank' : ''\">{{option.name}}</a>\r\n }\r\n @if (!option.callback && !option.url && typeof(option.checked) !== 'boolean') {\r\n <span>{{option.name}}</span>\r\n }\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { OcToastService } from '../../services/oc-toast.service';\r\n\r\n@Component({\r\n selector: 'oc-toast',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-toast.component.html',\r\n styleUrl: './oc-toast.component.scss'\r\n})\r\nexport class OcToastComponent {\r\n constructor (public toast: OcToastService) {}\r\n}\r\n","<div\r\n class=\"toast\"\r\n [ngClass]=\"{\r\n 'close-toast': toast.currentToast.counter === 1,\r\n error: ['erro', 'error'].includes(toast.currentToast.status.toLowerCase()),\r\n success: ['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase()),\r\n loading: ['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase()),\r\n animation: toast.currentToast.hasAnimation\r\n }\"\r\n *ngIf=\"toast.currentToast && toast.currentToast.counter > 0\"\r\n>\r\n <header>\r\n <ng-container [ngTemplateOutlet]=\"iconTemplate\"></ng-container>\r\n <h4 class=\"status\">\r\n {{ toast.currentToast.status[0].toUpperCase() + toast.currentToast.status.slice(1) }}\r\n </h4>\r\n <button (click)=\"toast.closeToast(toast.currentToast.id)\">\r\n <span class=\"material-symbols-outlined\">close</span>\r\n </button>\r\n </header>\r\n <p>{{ toast.currentToast.message }}</p>\r\n</div>\r\n\r\n<ng-template #iconTemplate>\r\n <span\r\n class=\"material-symbols-outlined\"\r\n *ngIf=\"['erro', 'error'].includes(toast.currentToast.status.toLowerCase())\"\r\n >error</span\r\n >\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n *ngIf=\"['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase())\"\r\n >check_circle</span\r\n >\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n *ngIf=\"['information', 'informação', 'información'].includes(toast.currentToast.status.toLowerCase())\"\r\n >info</span\r\n >\r\n\r\n <svg *ngIf=\"['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase())\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><style>rect{fill:#00DDA3}.spinner_zWVm{animation:spinner_5QiW 1.2s linear infinite,spinner_PnZo 1.2s linear infinite}.spinner_gfyD{animation:spinner_5QiW 1.2s linear infinite,spinner_4j7o 1.2s linear infinite;animation-delay:.1s}.spinner_T5JJ{animation:spinner_5QiW 1.2s linear infinite,spinner_fLK4 1.2s linear infinite;animation-delay:.1s}.spinner_E3Wz{animation:spinner_5QiW 1.2s linear infinite,spinner_tDji 1.2s linear infinite;animation-delay:.2s}.spinner_g2vs{animation:spinner_5QiW 1.2s linear infinite,spinner_CMiT 1.2s linear infinite;animation-delay:.2s}.spinner_ctYB{animation:spinner_5QiW 1.2s linear infinite,spinner_cHKR 1.2s linear infinite;animation-delay:.2s}.spinner_BDNj{animation:spinner_5QiW 1.2s linear infinite,spinner_Re6e 1.2s linear infinite;animation-delay:.3s}.spinner_rCw3{animation:spinner_5QiW 1.2s linear infinite,spinner_EJmJ 1.2s linear infinite;animation-delay:.3s}.spinner_Rszm{animation:spinner_5QiW 1.2s linear infinite,spinner_YJOP 1.2s linear infinite;animation-delay:.4s}@keyframes spinner_5QiW{0%,50%{width:7.33px;height:7.33px}25%{width:1.33px;height:1.33px}}@keyframes spinner_PnZo{0%,50%{x:1px;y:1px}25%{x:4px;y:4px}}@keyframes spinner_4j7o{0%,50%{x:8.33px;y:1px}25%{x:11.33px;y:4px}}@keyframes spinner_fLK4{0%,50%{x:1px;y:8.33px}25%{x:4px;y:11.33px}}@keyframes spinner_tDji{0%,50%{x:15.66px;y:1px}25%{x:18.66px;y:4px}}@keyframes spinner_CMiT{0%,50%{x:8.33px;y:8.33px}25%{x:11.33px;y:11.33px}}@keyframes spinner_cHKR{0%,50%{x:1px;y:15.66px}25%{x:4px;y:18.66px}}@keyframes spinner_Re6e{0%,50%{x:15.66px;y:8.33px}25%{x:18.66px;y:11.33px}}@keyframes spinner_EJmJ{0%,50%{x:8.33px;y:15.66px}25%{x:11.33px;y:18.66px}}@keyframes spinner_YJOP{0%,50%{x:15.66px;y:15.66px}25%{x:18.66px;y:18.66px}}</style><rect class=\"spinner_zWVm\" x=\"1\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_gfyD\" x=\"8.33\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_T5JJ\" x=\"1\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_E3Wz\" x=\"15.66\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_g2vs\" x=\"8.33\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_ctYB\" x=\"1\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_BDNj\" x=\"15.66\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_rCw3\" x=\"8.33\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_Rszm\" x=\"15.66\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/></svg>\r\n \r\n\r\n</ng-template>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-toggle',\r\n standalone: true,\r\n imports: [ CommonModule ],\r\n templateUrl: './oc-toggle.component.html',\r\n styleUrl: './oc-toggle.component.scss'\r\n})\r\nexport class OcToggleComponent {\r\n _ocChecked: boolean = false;\r\n\r\n @Input() set ocChecked(value: boolean) {\r\n this._ocChecked = value\r\n this.ocCheckedChange.emit(this._ocChecked)\r\n }\r\n\r\n get ocChecked() {\r\n return this._ocChecked\r\n }\r\n\r\n @Input() ocColor: 'purple' | 'green' = 'green';\r\n\r\n @Output() ocCheckedChange = new EventEmitter<boolean>();\r\n\r\n toggleChecked() {\r\n this.ocChecked = !this.ocChecked;\r\n }\r\n}\r\n\r\n\r\n","<label class=\"switch\">\r\n <input [checked]=\"ocChecked\" (click)=\"toggleChecked()\" type=\"checkbox\">\r\n <span class=\"slider round\" [ngClass]=\"[ocColor]\"></span>\r\n</label>","import { CommonModule } from '@angular/common'\r\nimport { Component, Input } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'oc-step',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-step.component.html',\r\n styleUrl: './oc-step.component.scss',\r\n})\r\nexport class OcStepComponent {\r\n @Input() ocIsActive: boolean = false\r\n @Input() ocTitle: string = ''\r\n @Input() ocColor: 'purple' | 'green' = 'purple'\r\n @Input() ocCompleted: boolean = false\r\n stepIndex: number = 0\r\n selectedIndex: number = 0\r\n lastIndex: number = 0\r\n\r\n @Input() selectStep!: (index: number) => void\r\n}\r\n","<div class=\"oc-step\" (click)=\"\r\n stepIndex !== selectedIndex && (stepIndex! <= selectedIndex || ocCompleted)\r\n ? selectStep(stepIndex)\r\n : undefined\r\n \"\r\n [ngClass]=\"{\r\n 'oc-not-selected': stepIndex !== selectedIndex\r\n}\">\r\n <div class=\"left-side\">\r\n <div class=\"step-number\" [ngClass]=\"{\r\n 'oc-selected-p': selectedIndex === stepIndex && ocColor === 'purple',\r\n 'oc-selected-g': selectedIndex === stepIndex && ocColor === 'green',\r\n 'oc-purple': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'purple',\r\n 'oc-green': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'green'\r\n }\">\r\n <span>{{stepIndex! + 1}}</span>\r\n </div>\r\n <h2 [ngClass]=\"{\r\n 'oc-selected-p-title': selectedIndex === stepIndex && ocColor === 'purple',\r\n 'oc-selected-g-title': selectedIndex === stepIndex && ocColor === 'green',\r\n }\">{{ocTitle}}</h2>\r\n </div>\r\n <div class=\"oc-content\" [ngClass]=\"{\r\n 'expanded': ocIsActive,\r\n 'oc-prev-selected-p': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'purple',\r\n 'oc-prev-selected-g': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'green',\r\n 'oc-left-border': stepIndex !== lastIndex\r\n }\">\r\n @if (ocIsActive) {\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n</div>","import { AfterViewInit, Component, ContentChildren, QueryList, Input } from '@angular/core'\r\nimport { OcStepComponent } from '../oc-step/oc-step.component'\r\n\r\n@Component({\r\n selector: 'oc-stepper',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-stepper.component.html',\r\n styleUrl: './oc-stepper.component.css',\r\n})\r\nexport class OcStepperComponent implements AfterViewInit {\r\n @ContentChildren(OcStepComponent) ocSteps!: QueryList<OcStepComponent>\r\n @Input() ocAllowNavigation: boolean = false\r\n @Input() ocColor: 'purple' | 'green' = 'purple'\r\n @Input() ocCurrentIndex: number = 0\r\n @Input() ocSaveCompletedSteps: boolean = true\r\n\r\n private completedSteps: number[] = []\r\n\r\n ngAfterViewInit(): void {\r\n this.setStepsValues()\r\n this.selectStep(this.ocCurrentIndex)\r\n this.setCompletedSteps()\r\n }\r\n\r\n private setCompletedSteps(): void {\r\n if (!this.ocSaveCompletedSteps) {\r\n return\r\n }\r\n for (let i = 0; i <= this.ocCurrentIndex; i++) {\r\n this.completedSteps.push(i)\r\n }\r\n }\r\n\r\n setStepsValues(): void {\r\n this.ocSteps.forEach((step, i) => {\r\n step.stepIndex = i\r\n step.ocColor = this.ocColor\r\n step.lastIndex = this.ocSteps.length - 1\r\n\r\n // if (this.ocAllowNavigation) {\r\n step.selectStep = (index: number) => this.selectStep(index)\r\n // }\r\n })\r\n }\r\n\r\n selectStep(index: number): void {\r\n this.ocSteps.forEach((step, i) => {\r\n if (this.completedSteps.includes(i)) {\r\n step.ocCompleted = true\r\n }\r\n if (i !== index) {\r\n step.ocIsActive = false\r\n step.selectedIndex = index\r\n return\r\n }\r\n step.ocIsActive = true\r\n this.ocCurrentIndex = index\r\n step.selectedIndex = this.ocCurrentIndex\r\n this.setCompletedSteps()\r\n })\r\n return\r\n }\r\n\r\n nextStep(event: Event): void {\r\n event.stopPropagation()\r\n if (this.ocCurrentIndex === this.ocSteps.length - 1) {\r\n return\r\n }\r\n this.selectStep(this.ocCurrentIndex + 1)\r\n }\r\n\r\n previousStep(event: Event): void {\r\n event.stopPropagation()\r\n if (!this.ocCurrentIndex) {\r\n return\r\n }\r\n this.selectStep(this.ocCurrentIndex - 1)\r\n }\r\n}\r\n","<div class=\"oc-stepper\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'oc-tab',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-tab.component.html',\r\n styleUrl: './oc-tab.component.scss',\r\n})\r\nexport class OcTabComponent {\r\n @Input() ocTitle: string = ''\r\n @Input() ocIsActive: boolean = false\r\n tabIndex: number = 0\r\n}\r\n","@if (ocIsActive) {\r\n <ng-content></ng-content>\r\n}","import { Component, ContentChildren, QueryList, AfterContentInit } from '@angular/core'\r\nimport { OcTabComponent } from '../oc-tab/oc-tab.component'\r\nimport { CommonModule } from '@angular/common'\r\n\r\n@Component({\r\n selector: 'oc-tabs',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-tabs.component.html',\r\n styleUrl: './oc-tabs.component.scss',\r\n})\r\nexport class OcTabsComponent implements AfterContentInit {\r\n @ContentChildren(OcTabComponent) ocTabs!: QueryList<OcTabComponent>\r\n\r\n activeTabIndex: number = 0\r\n\r\n ngAfterContentInit(): void {\r\n this.selectTab(0)\r\n }\r\n\r\n selectTab(index: number): void {\r\n this.ocTabs.toArray().forEach((tab, i) => {\r\n tab.tabIndex = i\r\n tab.ocIsActive = i === index\r\n })\r\n this.activeTabIndex = index\r\n }\r\n}\r\n","<div class=\"oc-tabs\">\r\n <div class=\"row\">\r\n @for(tab of ocTabs; track $index) {\r\n <button [ngClass]=\"{\r\n 'oc-selected': tab.tabIndex === activeTabIndex\r\n }\" class=\"oc-tab\" (click)=\"selectTab(tab.tabIndex)\" type=\"button\">{{tab.ocTitle}}</button>\r\n }\r\n </div>\r\n <ng-content></ng-content>\r\n</div>","/*\r\n * Public API Surface of otimus-library\r\n */\r\n\r\nexport * from './lib/otimus-library.service'\r\nexport * from './lib/otimus-library.component'\r\nexport * from './lib/services/oc-toast.service'\r\nexport * from './lib/components/oc-table/oc-table.component'\r\nexport * from './lib/components/oc-badge/oc-badge.component'\r\nexport * from './lib/components/oc-filter/oc-filter.component'\r\nexport * from './lib/directives/oc-tooltip/oc-tooltip.directive'\r\nexport * from './lib/components/oc-input/oc-input.component'\r\nexport * from './lib/components/oc-modal/oc-modal.component'\r\nexport * from './lib/components/oc-key-value/oc-key-value.component'\r\nexport * from './lib/components/oc-chip/oc-chip.component'\r\nexport * from './lib/components/oc-modal-footer/oc-modal-footer.component'\r\nexport * from './lib/components/oc-autocomplete/oc-autocomplete.component'\r\nexport * from './lib/components/oc-profile/oc-profile.component'\r\nexport * from './lib/components/oc-log/oc-log.component'\r\nexport * from './lib/components/oc-pagination/oc-pagination.component'\r\nexport * from './lib/components/oc-not-found/oc-not-found.component'\r\nexport * from './lib/components/oc-menu/oc-menu.component'\r\nexport * from './lib/components/oc-toast/oc-toast.component'\r\nexport * from './lib/components/oc-checkbox/oc-checkbox.component'\r\nexport * from './lib/components/oc-toggle/oc-toggle.component'\r\nexport * from './lib/components/oc-stepper/oc-stepper.component'\r\nexport * from './lib/components/oc-step/oc-step.component'\r\nexport * from './lib/components/oc-tabs/oc-tabs.component'\r\nexport * from './lib/components/oc-tab/oc-tab.component'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1.OcToastService"],"mappings":"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"}
@@ -1,15 +1,22 @@
1
1
  import { EventEmitter } from '@angular/core';
2
+ import { ControlValueAccessor, FormControl } from '@angular/forms';
2
3
  import * as i0 from "@angular/core";
3
- export declare class OcCheckboxComponent {
4
+ export declare class OcCheckboxComponent implements ControlValueAccessor {
4
5
  checkBoxId: string;
5
- ocChange: EventEmitter<any>;
6
+ ocChange: EventEmitter<boolean>;
6
7
  ocChecked: boolean;
7
8
  ocSize: 'tiny' | 'small';
8
9
  ocLabel?: string;
9
10
  ocName?: string;
10
11
  ocColor: 'purple' | 'green';
11
12
  ocBorderColor: 'white' | 'gray';
12
- formControl?: any;
13
+ formControl?: FormControl;
14
+ private onChange;
15
+ private onTouched;
16
+ writeValue(value: boolean): void;
17
+ registerOnChange(fn: (value: boolean) => void): void;
18
+ registerOnTouched(fn: () => void): void;
19
+ setDisabledState?(isDisabled: boolean): void;
13
20
  toggleChecked(): void;
14
21
  static ɵfac: i0.ɵɵFactoryDeclaration<OcCheckboxComponent, never>;
15
22
  static ɵcmp: i0.ɵɵComponentDeclaration<OcCheckboxComponent, "oc-checkbox", never, { "ocChecked": { "alias": "ocChecked"; "required": false; }; "ocSize": { "alias": "ocSize"; "required": false; }; "ocLabel": { "alias": "ocLabel"; "required": false; }; "ocName": { "alias": "ocName"; "required": false; }; "ocColor": { "alias": "ocColor"; "required": false; }; "ocBorderColor": { "alias": "ocBorderColor"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; }, { "ocChange": "ocChange"; }, never, ["*"], true, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "otimus-library",
3
- "version": "0.1.38",
3
+ "version": "0.1.40",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {
6
6
  "@angular/cdk": "^17.0.2",