ui-core-abv 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/fesm2022/ui-core-abv.mjs
CHANGED
|
@@ -1424,5 +1424,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
1424
1424
|
* Generated bundle index. Do not edit.
|
|
1425
1425
|
*/
|
|
1426
1426
|
|
|
1427
|
-
export { MODAL_CLOSE_EVENT, MODAL_CLOSE_REQUEST, MODAL_COMPONENT, MODAL_CONFIG, MODAL_DATA, UiModalRef, UicButtonComponent, UicCheckboxComponent, UicFormWrapperComponent, UicInputComponent, UicModalService, UicNameInitsPipe, UicPushAlertService, UicSearcherComponent, UicSelectComponent, UicSwichComponent, UicTableComponent, UicTinyAlertService, UicToolTipDirective, animatedRow, fadeAndRise, fadeBackdrop, highlightRow, pushTop, sideModal, simpleFade };
|
|
1427
|
+
export { MODAL_CLOSE_EVENT, MODAL_CLOSE_REQUEST, MODAL_COMPONENT, MODAL_CONFIG, MODAL_DATA, UiModalRef, UicButtonComponent, UicCheckboxComponent, UicFormWrapperComponent, UicInputComponent, UicModalService, UicNameInitsPipe, UicPushAlertService, UicSearcherComponent, UicSelectComponent, UicSkeletonLoaderComponent, UicSwichComponent, UicTableComponent, UicTinyAlertService, UicToolTipDirective, animatedRow, fadeAndRise, fadeBackdrop, highlightRow, pushTop, sideModal, simpleFade };
|
|
1428
1428
|
//# sourceMappingURL=ui-core-abv.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-core-abv.mjs","sources":["../../../projects/ui-core/src/lib/components/button/button.component.ts","../../../projects/ui-core/src/lib/components/button/button.component.html","../../../projects/ui-core/src/lib/components/dynamic-form/base-value-accessot.ts","../../../projects/ui-core/src/lib/components/checkbox/checkbox.component.ts","../../../projects/ui-core/src/lib/components/checkbox/checkbox.component.html","../../../projects/ui-core/src/lib/animations/fadeAndRise.animation.ts","../../../projects/ui-core/src/lib/components/inputs/select/select.component.ts","../../../projects/ui-core/src/lib/components/inputs/select/select.component.html","../../../projects/ui-core/src/lib/components/inputs/input/input.component.ts","../../../projects/ui-core/src/lib/components/inputs/input/input.component.html","../../../projects/ui-core/src/lib/components/dynamic-form/form/dynamic-form.component.ts","../../../projects/ui-core/src/lib/components/dynamic-form/form/dynamic-form.component.html","../../../projects/ui-core/src/lib/components/skeleton-loader/skeleton-loader.component.ts","../../../projects/ui-core/src/lib/components/skeleton-loader/skeleton-loader.component.html","../../../projects/ui-core/src/lib/components/dynamic-form/form-wrapper/form-wrapper.component.ts","../../../projects/ui-core/src/lib/components/dynamic-form/form-wrapper/form-wrapper.component.html","../../../projects/ui-core/src/lib/components/inputs/searcher/searcher.component.ts","../../../projects/ui-core/src/lib/components/inputs/searcher/searcher.component.html","../../../projects/ui-core/src/lib/components/table/table-searcher/table-searcher.component.ts","../../../projects/ui-core/src/lib/components/table/table-searcher/table-searcher.component.html","../../../projects/ui-core/src/lib/components/table/table-pagination/table-pagination.component.ts","../../../projects/ui-core/src/lib/components/table/table-pagination/table-pagination.component.html","../../../projects/ui-core/src/lib/components/table/table-list/table-list.component.ts","../../../projects/ui-core/src/lib/components/table/table-list/table-list.component.html","../../../projects/ui-core/src/lib/pipes/name-inits.pipe.ts","../../../projects/ui-core/src/lib/components/table/table-user/table-user.component.ts","../../../projects/ui-core/src/lib/components/table/table-user/table-user.component.html","../../../projects/ui-core/src/lib/components/tooltip/tooltip.component.ts","../../../projects/ui-core/src/lib/components/tooltip/tooltip.component.html","../../../projects/ui-core/src/lib/directives/tool-tip.directive.ts","../../../projects/ui-core/src/lib/animations/highlightRow.animation.ts","../../../projects/ui-core/src/lib/animations/animatedRow.animation.ts","../../../projects/ui-core/src/lib/components/table/table.component.ts","../../../projects/ui-core/src/lib/components/table/table.component.html","../../../projects/ui-core/src/lib/components/toggle-button/toggle-button.component.ts","../../../projects/ui-core/src/lib/components/toggle-button/toggle-button.component.html","../../../projects/ui-core/src/lib/animations/pushTop.animation.ts","../../../projects/ui-core/src/lib/animations/sideModal.animation.ts","../../../projects/ui-core/src/lib/animations/simpleFade.animation.ts","../../../projects/ui-core/src/lib/services/modal.constant.ts","../../../projects/ui-core/src/lib/services/modaRef.ts","../../../projects/ui-core/src/lib/components/modal/floating-modal/modal.component.ts","../../../projects/ui-core/src/lib/components/modal/floating-modal/modal.component.html","../../../projects/ui-core/src/lib/components/modal/side-modal/side-modal.component.ts","../../../projects/ui-core/src/lib/components/modal/side-modal/side-modal.component.html","../../../projects/ui-core/src/lib/services/modal.service.ts","../../../projects/ui-core/src/lib/components/tiny-alert/tiny-alert.component.ts","../../../projects/ui-core/src/lib/components/tiny-alert/tiny-alert.component.html","../../../projects/ui-core/src/lib/services/tiny-alert.service.ts","../../../projects/ui-core/src/lib/components/push-alerts/alert.helpers.ts","../../../projects/ui-core/src/lib/services/push-alert.service.ts","../../../projects/ui-core/src/public-api.ts","../../../projects/ui-core/src/ui-core-abv.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ui-button',\r\n imports: [CommonModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.scss'\r\n})\r\nexport class UicButtonComponent {\r\n @Input() text='';\r\n @Input() icon='';\r\n @Input() rightIcon='';\r\n @Input() iconOnly=false;\r\n @Input() disabled=false;\r\n @Input() loading=false; \r\n @Input() size: 't' | 's'|'m'|'l'| 'g' = 'm';\r\n @Input() type: 'filled' | 'bordered' | 'ghost' = 'filled'; \r\n @Input() color:ButtonColor = 'primary';\r\n \r\n buttonTypeClass = \"\";\r\n \r\n ngOnInit(){\r\n this.buttonTypeClass = 'btn-' + this.type + ' btn-' + this.color + \"-\" + this.type;\r\n }\r\n}\r\nexport type ButtonColor = 'primary'|'secondary'|'red'|'green'|'blue'|'yellow' | 'black';","<button\r\n [class]=\"'main-btn ' + buttonTypeClass\"\r\n [disabled]=\"disabled || loading\"\r\n [ngClass]=\"{\r\n 'btn-tiny' :size=='t',\r\n 'btn-small' :size=='s', \r\n 'btn-medium' :size=='m',\r\n 'btn-large' :size=='l', \r\n 'btn-gigant' :size=='g'\r\n }\" >\r\n \r\n @if (!loading) {\r\n @if (icon!='' ) {\r\n <i class=\"{{icon}}\"></i>\r\n }\r\n @if (!iconOnly) {\r\n <div class=\"btn-text\" [class.norighticon]=\"rightIcon==''\" [class.noicon]=\"icon==''\">\r\n {{text}}\r\n <ng-content ></ng-content>\r\n </div>\r\n }\r\n @if (rightIcon!='' ) {\r\n <i class=\"{{rightIcon}}\"></i>\r\n }\r\n } @else {\r\n <div class=\"btn-loader-container\"> <div class=\"btn-loader\"></div> </div>\r\n }\r\n</button>","import { ControlValueAccessor } from '@angular/forms';\r\nimport { Directive, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nexport function createValueAccessor<T>() {\r\n @Directive()\r\n abstract class BaseValueAccessor implements ControlValueAccessor {\r\n @Input() value!: T;\r\n @Output() valueChange = new EventEmitter<T>();\r\n\r\n onChange: (value: T) => void = () => {};\r\n onTouched: () => void = () => {};\r\n\r\n writeValue(obj: T): void {\r\n this.value = obj;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n // opcional\r\n }\r\n\r\n notifyChange(value: T) {\r\n this.value = value;\r\n this.valueChange.emit(value);\r\n this.onChange(value);\r\n this.onTouched();\r\n }\r\n }\r\n\r\n return BaseValueAccessor;\r\n}\r\n","import { Component, forwardRef, Input } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { createValueAccessor } from '../dynamic-form/base-value-accessot';\r\n\r\nconst base = createValueAccessor<boolean>();\r\n\r\n@Component({\r\n selector: 'ui-checkbox',\r\n imports: [],\r\n templateUrl: './checkbox.component.html',\r\n styleUrl: './checkbox.component.scss',\r\n providers:[\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => UicCheckboxComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class UicCheckboxComponent extends base{\r\n \r\n @Input() label = '';\r\n @Input() placeholder = '';\r\n @Input() disabled = false;\r\n @Input() loading = false;\r\n\r\n\r\n toggle() {\r\n if (!this.disabled && !this.loading){\r\n this.notifyChange(!this.value);\r\n }\r\n }\r\n}\r\n","@if (label){\r\n <label for=\"\">{{label}} </label>\r\n}\r\n<div class=\"check-wrapper\">\r\n <button\r\n type=\"button\"\r\n class=\"checkbox\"\r\n [disabled]=\"disabled\"\r\n [class.checked]=\"value\"\r\n (click)=\"toggle()\"\r\n (keydown.enter)=\"toggle()\"\r\n (keydown.space)=\"toggle()\"\r\n >\r\n <span class=\"icon\">\r\n @if (value) {\r\n ✔\r\n }@else {\r\n −\r\n }\r\n </span>\r\n </button>\r\n {{placeholder}}\r\n</div>","import { animate, style, transition, trigger } from \"@angular/animations\";\r\nexport const fadeAndRise = trigger('fadeAndRise', [\r\n transition(':enter',[style({opacity:0, maxHeight: '0px'}), animate('.3s ease', style({opacity:1,maxHeight: '200px'}))]),\r\n transition(':leave', [animate('.3s ease', style({opacity:0}))])\r\n ]);","import { CommonModule } from '@angular/common';\r\nimport { Component, ElementRef, forwardRef, inject, Input, Renderer2, ViewChild } from '@angular/core';\r\nimport { ConnectedPosition, OverlayModule } from '@angular/cdk/overlay';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { createValueAccessor } from '../../dynamic-form/base-value-accessot';\r\nimport { fadeAndRise } from '../../../animations/fadeAndRise.animation';\r\n\r\nconst base = createValueAccessor<AppSelectOption| null>();\r\n\r\n@Component({\r\n selector: 'ui-select',\r\n imports: [CommonModule,OverlayModule],\r\n templateUrl: './select.component.html',\r\n styleUrl: '../input.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => UicSelectComponent),\r\n multi: true\r\n }\r\n ],\r\n animations: [fadeAndRise]\r\n})\r\nexport class UicSelectComponent extends base{\r\n @Input() icon = ''; // Icono externo\r\n @Input() iconColor: 'primary'|'secondary' = 'primary'; //color de ícono externo\r\n @Input() internalIcon = ''; //Icono interno\r\n @Input() size: 's' | 'm' | 'l' = 'm'; // tamaño general del input\r\n\r\n @Input() label = '';\r\n @Input() error = '';\r\n @Input() tip = '';\r\n\r\n @Input() disabled = false;\r\n @Input() nullable = false;\r\n @Input() options:AppSelectOption[] = []; \r\n \r\n @Input() showSubtitle = false;\r\n\r\n overlayPositions: ConnectedPosition[] = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top'\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom'\r\n }\r\n ];\r\n\r\n open = false;\r\n emptyText = '- Seleccionar -'\r\n private readonly renderer = inject(Renderer2);\r\n @ViewChild('inputwrapp') toggleButton!: ElementRef;\r\n private unlistener!: () => void;\r\n\r\n \r\n ngOnInit(): void {\r\n this.emptyText = this.disabled ? '-' : '- Seleccionar -';\r\n }\r\n\r\n openList(){\r\n if (!this.disabled){\r\n this.open = !this.open;\r\n if( this.open ){\r\n setTimeout(() => {\r\n this.unlistener = this.renderer.listen('window', 'click',(e:Event)=>{\r\n if(!this.toggleButton.nativeElement.contains(e.target) ){\r\n this.open = false;\r\n this.unlistener();\r\n }\r\n });\r\n }, 200);\r\n }\r\n }\r\n }\r\n\r\n selectOption(option:AppSelectOption | null){\r\n this.open = false;\r\n this.unlistener();\r\n this.notifyChange(option);\r\n }\r\n\r\n //( overlay)\r\n closeList() {\r\n this.open = false;\r\n }\r\n openListOverlay() {\r\n if (!this.disabled) {\r\n this.open = !this.open;\r\n }\r\n }\r\n}\r\n\r\nexport interface AppSelectOption{\r\n id? : string | number | null;\r\n text : string;\r\n detail? : string;\r\n} ","<div class=\"input-wrapper \">\r\n @if (icon) {\r\n <i class=\"input-externalicon f-{{iconColor}} {{icon}}\"></i>\r\n }\r\n <div class=\"input-elements\" [style]=\"icon?'max-width: calc(100% - 34px);':''\">\r\n @if (label) {\r\n <div class=\"label inputlabel\" [class.font-error]=\"error\">\r\n {{label}} \r\n </div>\r\n }\r\n <div class=\"fakeinput-wrapp\" #inputwrapp cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" > \r\n\r\n <!-- INPUT -->\r\n <div (click)=\"openList()\" class=\"fakeinput\" [ngClass]=\"{'activeselect':open, 'errorinput':error, 'disabledinput':disabled}\" style=\"cursor: pointer;\">\r\n @if (internalIcon) {\r\n <i class=\"input-internalicon-{{size}} {{internalIcon}}\" ></i>\r\n }\r\n <div class=\"fakeinput-content\">{{(value?.text || emptyText)}}</div>\r\n @if (!disabled) {\r\n <i class=\"ri-arrow-down-s-line\"></i>\r\n }\r\n </div> \r\n <!-- DESPLEGABLE -->\r\n @if (open) {\r\n\r\n <ng-template\r\n cdkConnectedOverlay\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"open\"\r\n [cdkConnectedOverlayHasBackdrop]=\"true\"\r\n (backdropClick)=\"closeList()\"\r\n [cdkConnectedOverlayWidth]=\"trigger.elementRef.nativeElement.offsetWidth\"\r\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\r\n >\r\n\r\n <div class=\"input-options\" @fadeAndRise >\r\n <!-- OPCIONES -->\r\n <div class=\"input-option-scroll\">\r\n @if (options.length > 0 && nullable) {\r\n <div (click)=\"selectOption(null)\" class=\"input-option \" style=\"padding: 3px;\" >- Ninguno -</div>\r\n <div class=\"option-divider\"></div>\r\n }\r\n\r\n @for (option of options; track $index) {\r\n <div (click)=\"selectOption(option)\" class=\"input-option\">\r\n <div style=\"padding: 2px;\">\r\n <div class=\"f-medium\">{{option.text }}</div>\r\n <div *ngIf=\"showSubtitle\" class=\"f-extralight\">{{option.detail}}</div>\r\n </div>\r\n </div>\r\n @if ($index < (options.length - 1)){\r\n <div class=\"option-divider\"></div>\r\n }\r\n }\r\n @if (options.length == 0) {\r\n <div class=\"fakeinput-alert t-disabled\">No hay elementos para mostrar</div>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n\r\n </div>\r\n <!-- ALERTS -->\r\n @if (tip) {\r\n <div class=\"fakeinput-alert tip\">{{tip}}</div>\r\n }\r\n @if (error) {\r\n <div class=\"fakeinput-alert f-red\">{{error}}</div>\r\n }\r\n </div>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonColor } from '../../button/button.component';\r\n\r\n@Component({\r\n selector: 'ui-input',\r\n imports: [ CommonModule],\r\n templateUrl: './input.component.html',\r\n styleUrl: '../input.component.scss'\r\n})\r\nexport class UicInputComponent {\r\n @Input() icon = ''; // Icono externo\r\n @Input() iconColor: ButtonColor = 'black';\r\n @Input() internalIcon = ''; //Icono interno\r\n @Input() size: 's' | 'm' | 'l' = 'm'; // tamaño general del input\r\n // TEXTO\r\n @Input() label = '';\r\n @Input() error = '';\r\n @Input() tip = '';\r\n // FUNCTIONS\r\n @Input() disabled = false;\r\n @Output() clickButton = new EventEmitter<boolean>();\r\n\r\n\r\n disableBtn = false;\r\n disableButton(){\r\n this.clickButton.emit();\r\n this.disableBtn = true;\r\n setTimeout(() => {\r\n this.disableBtn = false;\r\n }, 200);\r\n }\r\n}\r\n","<div class=\"input-wrapper\">\r\n \r\n @if (icon) {\r\n <i class=\"input-externalicon f-{{iconColor}} {{icon}}\"></i>\r\n }\r\n <div class=\"input-elements\" [style]=\"icon?'max-width: calc(100% - 34px);':''\">\r\n \r\n @if (label) {\r\n <div class=\"label inputlabel\" [class.font-error]=\"error\">\r\n {{label}} \r\n </div>\r\n }\r\n \r\n <div class=\"fakeinput\" [ngClass]=\"{'errorinput':error, 'disabledinput':disabled}\">\r\n @if (internalIcon) {\r\n <i class=\"input-internalicon-{{size}} {{internalIcon}}\" ></i>\r\n }\r\n <div class=\"input-container pad-{{size}}\" >\r\n <ng-content class=\"myinput\"></ng-content>\r\n </div> \r\n </div>\r\n\r\n @if (tip) {\r\n <div class=\"fakeinput-alert tip\">{{tip}}</div>\r\n }\r\n @if (error) {\r\n <div class=\"fakeinput-alert f-red\">{{error}}</div>\r\n }\r\n \r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormField } from '../form.models';\r\nimport { UicSelectComponent } from '../../inputs/select/select.component';\r\nimport { UicInputComponent } from '../../inputs/input/input.component';\r\nimport { UicCheckboxComponent } from '../../checkbox/checkbox.component';\r\n\r\n@Component({\r\n selector: 'ui-dynamic-form',\r\n imports: [ReactiveFormsModule, UicSelectComponent, UicInputComponent, UicCheckboxComponent, FormsModule],\r\n templateUrl: './dynamic-form.component.html',\r\n styleUrl: './dynamic-form.component.scss'\r\n})\r\nexport class UicDynamicFormComponent {\r\n @Input() fields: FormField[] = [];\r\n @Input({ required: true }) form!: FormGroup;\r\n\r\n flag = false;\r\n}\r\n","<div class=\"form\" [formGroup]=\"form\">\r\n @for (field of fields; track field.name) {\r\n <div class=\"col-span-{{field.colSpan || 1}}\">\r\n \r\n @if ( ['text','number','date'].includes(field.type) ) {\r\n <ui-input \r\n [error]=\"(form.get(field.name)?.touched && form.get(field.name)?.invalid) ? 'Error': ''\"\r\n [label]=\"field.label\">\r\n <input \r\n [id]=\"field.name\"\r\n [formControlName]=\"field.name\"\r\n [type]=\"field.type\"\r\n [placeholder]=\"field.placeholder??field.label\"\r\n />\r\n </ui-input>\r\n\r\n }\r\n\r\n @if (field.type === 'select') {\r\n <ui-select\r\n [error]=\"(form.get(field.name)?.touched && form.get(field.name)?.invalid) ? 'Error': ''\"\r\n [label]=\"field.label\"\r\n [id]=\"field.name\"\r\n [formControlName]=\"field.name\"\r\n [options]=\"field.options || []\"\r\n ></ui-select>\r\n }\r\n\r\n @if (field.type === 'checkbox') {\r\n <ui-checkbox\r\n [id]=\"field.name\"\r\n [formControlName]=\"field.name\"\r\n [placeholder]=\"field.placeholder??''\"\r\n [label]=\"field.label\"\r\n ></ui-checkbox>\r\n }\r\n </div>\r\n }\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ui-skeleton-loader',\r\n imports: [ CommonModule ],\r\n templateUrl: './skeleton-loader.component.html',\r\n styleUrl: './skeleton-loader.component.scss'\r\n})\r\nexport class UicSkeletonLoaderComponent {\r\n @Input() inputs: number = 3; \r\n @Input() cols: number = 3; \r\n\r\n get gridStyle() {\r\n return {\r\n 'grid-template-columns': `repeat(${this.cols}, 1fr)`\r\n };\r\n }\r\n}\r\n","<div class=\"skeleton-form\" [ngStyle]=\"gridStyle\">\r\n @for (r of [].constructor(inputs); track $index) {\r\n <div class=\"skeleton-input-container\">\r\n <div class=\"skeleton-gradient skeleton-label\"></div>\r\n <div class=\"skeleton-gradient skeleton-input\"></div>\r\n </div>\r\n }\r\n</div>","import { Component, EventEmitter, inject, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormBlock, FormField, FormResult, FormSchema } from '../form.models';\r\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { UicDynamicFormComponent } from '../form/dynamic-form.component';\r\nimport { UicSkeletonLoaderComponent } from '../../skeleton-loader/skeleton-loader.component';\r\n\r\n@Component({\r\n selector: 'ui-form-wrapper',\r\n imports: [UicDynamicFormComponent, UicSkeletonLoaderComponent,ReactiveFormsModule],\r\n templateUrl: './form-wrapper.component.html',\r\n styleUrl: './form-wrapper.component.scss'\r\n})\r\nexport class UicFormWrapperComponent implements OnInit, OnChanges {\r\n @Input() schema!: FormSchema;\r\n @Input() loading = false;\r\n @Input() initialValues: Record<string, any> = {};\r\n\r\n useSteps = false;\r\n\r\n @Output() formSubmit = new EventEmitter<FormResult>();\r\n\r\n private readonly fb = inject(FormBuilder);\r\n form: FormGroup = this.fb.group({});\r\n currentStep = 0;\r\n\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n this.useSteps = !!this.schema.steps && this.schema.steps.length > 0;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['schema']) {\r\n this.buildForm();\r\n this.useSteps = !!this.schema.steps && this.schema.steps.length > 0;\r\n if (this.useSteps && this.schema?.steps) {\r\n this.currentStep = Math.min(this.currentStep, (this.schema.steps.length - 1) || 0);\r\n }\r\n }\r\n }\r\n\r\n handleSubmit() {\r\n if (this.form.valid) {\r\n this.formSubmit.emit({result:true, form:this.form.value});\r\n } else {\r\n this.form.markAllAsTouched();\r\n this.formSubmit.emit({result:false, form:null});\r\n }\r\n }\r\n\r\n private collectAllFields(): FormField[] {\r\n if (!this.schema) return [];\r\n\r\n if (this.useSteps && this.schema.steps ) {\r\n return this.schema.steps.flatMap(step => (step.blocks ?? []).flatMap(b => b.fields ?? []));\r\n }\r\n return (this.schema.blocks ?? []).flatMap(b => b.fields ?? []);\r\n }\r\n\r\n private buildForm() {\r\n const fields = this.collectAllFields();\r\n \r\n fields.forEach(f => {\r\n if (!this.form.contains(f.name)) {\r\n const validators = this.mapValidatorsFromField(f);\r\n let initial = this.initialValues[f.name] ?? null;\r\n if (f.type == 'checkbox' && initial==null) initial = false; \r\n this.form.addControl(\r\n f.name, \r\n this.fb.control(initial, validators)\r\n );\r\n }\r\n });\r\n\r\n const namesToKeep = new Set(fields.map(f => f.name));\r\n Object.keys(this.form.controls).forEach(name => {\r\n if (!namesToKeep.has(name)) {\r\n this.form.removeControl(name);\r\n }\r\n });\r\n }\r\n\r\n private mapValidatorsFromField(f: FormField) {\r\n const validators = [];\r\n if (f.required) validators.push(Validators.required);\r\n if (typeof f.min === 'number') validators.push(Validators.min(f.min));\r\n if (typeof f.max === 'number') validators.push(Validators.max(f.max));\r\n if (f.pattern instanceof RegExp) validators.push(Validators.pattern(f.pattern));\r\n return validators;\r\n }\r\n\r\n getCurrentBlocks(): FormBlock[] {\r\n if (!this.schema) return [];\r\n if (this.useSteps) {\r\n const step = this.schema.steps?.[this.currentStep];\r\n return step?.blocks ?? [];\r\n }\r\n return this.schema.blocks ?? [];\r\n }\r\n\r\n nextStep() {\r\n const stepsCount = this.schema?.steps?.length ?? 0;\r\n if (this.useSteps && this.currentStep < stepsCount - 1) {\r\n this.currentStep++;\r\n }\r\n }\r\n\r\n prevStep() {\r\n if (this.useSteps && this.currentStep > 0) {\r\n this.currentStep--;\r\n }\r\n }\r\n\r\n getStepTitle(): string { \r\n return this.schema.steps?.[this.currentStep]?.title ?? '';\r\n }\r\n\r\n \r\n}\r\n","<form [formGroup]=\"form\" (ngSubmit)=\"handleSubmit()\">\r\n\r\n @if (useSteps) {\r\n @if (schema.steps?.length) {\r\n\r\n <div class=\"step-title\">{{ getStepTitle()}}</div>\r\n @if (loading) {\r\n <ui-skeleton-loader\r\n [cols]=\"schema.cols\"\r\n [inputs]=\"(schema.steps?.[currentStep]?.blocks?.[0]?.fields?.length) ?? 0\"\r\n ></ui-skeleton-loader>\r\n } \r\n @else {\r\n @for (block of getCurrentBlocks(); track block.title) {\r\n <section class=\"form-block\">\r\n <div class=\"block-title\">{{ block.title }}</div>\r\n <ui-dynamic-form\r\n [fields]=\"block.fields\"\r\n [form]=\"form\">\r\n </ui-dynamic-form>\r\n </section>\r\n }\r\n }\r\n <div class=\"step-controls\">\r\n <button type=\"button\" (click)=\"prevStep()\" [disabled]=\"currentStep === 0\">Anterior</button>\r\n\r\n @if ((schema.steps?.length ?? 0) > 0 && currentStep < ((schema.steps?.length ?? 1) - 1)) {\r\n <button type=\"button\" (click)=\"nextStep()\">Siguiente</button>\r\n } @else {\r\n <button type=\"submit\">Guardar</button>\r\n }\r\n </div>\r\n } \r\n } \r\n @else {\r\n @for (block of getCurrentBlocks(); track block.title) {\r\n <section class=\"form-block\">\r\n @if (block.title){\r\n <div class=\"block-title\">{{ block.title }}</div>\r\n }\r\n @if (loading) {\r\n <ui-skeleton-loader\r\n [cols]=\"schema.cols\"\r\n [inputs]=\"block.fields.length\"\r\n ></ui-skeleton-loader>\r\n } @else {\r\n <ui-dynamic-form\r\n [fields]=\"block.fields\"\r\n [form]=\"form\">\r\n </ui-dynamic-form>\r\n }\r\n </section>\r\n }\r\n }\r\n</form>\r\n","import { Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\nimport { AsyncPipe, CommonModule } from '@angular/common';\r\nimport { Component, ElementRef, EventEmitter, Input, Output, Renderer2, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { debounceTime, distinctUntilChanged, finalize, Observable,of,Subject, switchMap, tap } from 'rxjs';\r\nimport { UicButtonComponent } from '../../button/button.component';\r\n\r\n@Component({\r\n selector: 'ui-searcher',\r\n imports: [CommonModule,FormsModule,AsyncPipe, UicButtonComponent],\r\n templateUrl: './searcher.component.html',\r\n styleUrls: ['./searcher.component.scss', '../input.component.scss']\r\n})\r\nexport class UicSearcherComponent {\r\n\r\n @Input() icon = ''; // Icono externo\r\n @Input() iconColor: 'primary'|'secondary'|'error'|'light'|'grey' = 'secondary'; //color de ícono externo\r\n @Input() internalIcon = ''; //Icono interno\r\n @Input() size: 's' | 'm' | 'l' = 'm'; // tamaño general del input\r\n // TEXTO\r\n @Input() label = '';\r\n @Input() error = '';\r\n @Input() tip = '';\r\n // FUNCTIONS\r\n @Input() disabled = false; \r\n @Input() showSelected = true;\r\n @Input() placeholder = 'Buscar...';\r\n open = false;\r\n \r\n @Input() searchFn!: (query: string) => Observable<any[]>;\r\n @Input() itemDisplayFn: (item: any) => string = item => String(item);\r\n @Input() itemIsEnabledFn: (item: any) => boolean = () => true;\r\n \r\n @Input() manualSearch: boolean = false;\r\n \r\n @Input() selectedItem:any = null;\r\n @Output() selectedItemChange = new EventEmitter<any>();\r\n\r\n isLoading = false;\r\n searchText: string = '';\r\n private readonly searchSubject = new Subject<string>();\r\n results$: Observable<any[]>;\r\n @ViewChild('inputwrapp') toggleButton!: ElementRef;\r\n private unlistener!: () => void;\r\n\r\n constructor(\r\n private readonly renderer:Renderer2,\r\n private readonly overlay: Overlay,\r\n private readonly positionBuilder: OverlayPositionBuilder,\r\n private readonly vcr: ViewContainerRef\r\n ){\r\n this.results$ = this.searchSubject.pipe(\r\n debounceTime(300),\r\n distinctUntilChanged(),\r\n tap(() => this.isLoading = true),\r\n switchMap( v => {\r\n if (v.length < 3) {\r\n this.isLoading = false;\r\n return of([]);\r\n }\r\n return this.searchFn(v).pipe( finalize(()=>this.isLoading=false) )}\r\n )\r\n );\r\n }\r\n \r\n openList(){\r\n if (!this.disabled && !this.open){\r\n this.open = true;\r\n this.openOverlay();\r\n if( this.open ){\r\n setTimeout(() => {\r\n this.unlistener = this.renderer.listen('window', 'click',(e:Event)=>{\r\n if(!this.toggleButton.nativeElement.contains(e.target) ){\r\n this.clearSearch();\r\n this.unlistener();\r\n }\r\n });\r\n }, 200);\r\n }\r\n }\r\n }\r\n\r\n onSearchChange(value: string) {\r\n this.searchText = value; \r\n if (!this.manualSearch) {\r\n this.searchSubject.next(value);\r\n }\r\n }\r\n\r\n triggerSearch() {\r\n this.searchSubject.next(this.searchText);\r\n }\r\n\r\n selectItem(item: any) {\r\n if ( this.itemIsEnabledFn(item)){\r\n this.clearSearch();\r\n this.selectedItemChange.emit(item);\r\n if ( this.showSelected ) this.selectedItem = item;\r\n }\r\n }\r\n\r\n clearSearch() {\r\n this.searchText = '';\r\n this.open = false;\r\n this.closeOverlay();\r\n this.searchSubject.next('');\r\n }\r\n\r\n unselect(){\r\n this.selectedItem = null;\r\n this.selectedItemChange.emit(null);\r\n }\r\n\r\n @ViewChild('dropdownTemplate') dropdownTemplateRef!: TemplateRef<any>;\r\n overlayRef!: OverlayRef;\r\n closeOverlay() {\r\n if (this.overlayRef) {\r\n this.overlayRef.dispose();\r\n this.overlayRef = null!;\r\n }\r\n }\r\n openOverlay(){\r\n if (this.overlayRef) return;\r\n const width = this.toggleButton.nativeElement.getBoundingClientRect().width;\r\n const positionStrategy = this.positionBuilder\r\n .flexibleConnectedTo(this.toggleButton)\r\n .withPositions([\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n }\r\n ])\r\n .withFlexibleDimensions(false)\r\n .withPush(false);\r\n\r\n this.overlayRef = this.overlay.create({\r\n positionStrategy,\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n hasBackdrop: true,\r\n backdropClass: 'transparent-backdrop'\r\n });\r\n const templatePortal = new TemplatePortal(this.dropdownTemplateRef, this.vcr);\r\n this.overlayRef.attach(templatePortal);\r\n \r\n this.overlayRef.backdropClick().subscribe(() => this.closeOverlay());\r\n this.overlayRef.overlayElement.style.width = `${width}px`;\r\n }\r\n}\r\n","\r\n<div class=\"input-wrapper\">\r\n @if (icon) {\r\n <i class=\"input-externalicon f-{{iconColor}} {{icon}}\"></i>\r\n }\r\n <div class=\"input-elements\" [style]=\"icon?'max-width: calc(100% - 34px);':''\"> \r\n <div class=\"label inputlabel\" [class.font-error]=\"error\">\r\n {{label}} \r\n </div>\r\n \r\n <div class=\"fakeinput-wrapp\" #inputwrapp >\r\n <!-- INPUT -->\r\n <div class=\"fakeinput\" [ngClass]=\"{'errorinput':error, 'disabledinput':disabled}\">\r\n @if (selectedItem == null) { \r\n @if (internalIcon) {\r\n <i class=\"input-internalicon-{{size}} {{internalIcon}}\" ></i>\r\n }\r\n <div class=\"input-container pad-{{size}}\" >\r\n <input\r\n (focus)=\"openList()\"\r\n type=\"text\"\r\n (keydown.enter)=\"triggerSearch()\"\r\n (keydown.escape)=\"clearSearch()\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchChange($event)\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n </div> \r\n @if (manualSearch) {\r\n <ui-button (click)=\"triggerSearch()\" size=\"t\" ></ui-button>\r\n }\r\n <ui-button size=\"t\" icon=\"ri-close-large-line\" (click)=\"clearSearch()\"></ui-button>\r\n }@else {\r\n <div class=\"input-container pad-{{size}}\" >\r\n <div class=\"selected-item\" >\r\n <div class=\"selected-item-text\" [innerHTML]=\"itemDisplayFn(selectedItem)\"></div> \r\n <ui-button (click)=\"unselect()\" type=\"ghost\" size=\"t\" icon=\"ri-close-large-line\" color=\"red\"></ui-button>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (tip) {\r\n <div class=\"fakeinput-alert tip\">{{tip}}</div>\r\n }\r\n @if (error) {\r\n <div class=\"fakeinput-alert f-red\">{{error}}</div>\r\n }\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #dropdownTemplate>\r\n @if (results$ | async; as items){\r\n <div class=\"results\">\r\n @if (isLoading) {\r\n <div class=\"loader\"></div>\r\n }\r\n <div class=\"input-option-scroll\">\r\n @for (item of items; track $index) {\r\n <div class=\"input-option\" [class.item-disabled]=\"!itemIsEnabledFn(item)\" (click)=\"selectItem(item)\" [innerHTML]=\"itemDisplayFn(item)\">\r\n </div>\r\n }@empty {\r\n <div class=\"t-disabled\">No hay elementos para mostrar</div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { UicButtonComponent } from '../../button/button.component';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'uic-table-searcher',\r\n imports: [UicButtonComponent, FormsModule],\r\n templateUrl: './table-searcher.component.html',\r\n styleUrl: './table-searcher.component.scss'\r\n})\r\nexport class UicTableUicSearcherComponent {\r\n @Input() placeholder = '';\r\n @Input() label = 'Buscar';\r\n @Input() searchOnKeydown = false;\r\n @Output() filter = new EventEmitter<string>();\r\n text = \"\";\r\n\r\n reset(){\r\n this.text = '';\r\n this.filter.emit(this.text);\r\n }\r\n\r\n updateText(){\r\n if ( this.searchOnKeydown ){\r\n this.filter.emit(this.text);\r\n }\r\n }\r\n}\r\n","\r\n<div class=\"searcher\">\r\n <div class=\"fakeinput\">\r\n <i class=\"ri-search-line\"></i>\r\n <input [(ngModel)]=\"text\" type=\"text\" (ngModelChange)=\"updateText()\" (keydown.enter)=\"filter.emit(text)\" placeholder=\"{{placeholder}}\">\r\n </div>\r\n <ui-button (click)=\"filter.emit(text)\" color=\"black\" type=\"bordered\" rightIcon=\"ri-search-2-line\" size=\"m\">Buscar</ui-button>\r\n <ui-button (click)=\"reset()\" color=\"black\" type=\"bordered\" rightIcon=\"ri-close-circle-line\" size=\"m\">Limpiar</ui-button>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { UicButtonComponent } from '../../button/button.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'uic-table-pagination',\r\n imports: [CommonModule, UicButtonComponent, FormsModule],\r\n templateUrl: './table-pagination.component.html',\r\n styleUrl: './table-pagination.component.scss'\r\n})\r\nexport class UicTablePaginationComponent {\r\n\r\n @Input() currentPage = 1;\r\n @Input() totalPages = 1;\r\n @Input() size = 25;\r\n @Input() loading = false;\r\n visiblePages = 3;\r\n pagesInView:number[] = [];\r\n\r\n @Output() pageChange = new EventEmitter<number>();\r\n @Output() sizeChange = new EventEmitter<number>();\r\n\r\n get pages(): (number | string)[] {\r\n const pages: (number | string)[] = [];\r\n const range = Math.floor(this.visiblePages / 2);\r\n let start = Math.max(1, this.currentPage - range);\r\n let end = Math.min(this.totalPages, this.currentPage + range);\r\n\r\n if (end === this.totalPages) {\r\n start = Math.max(1, this.totalPages - (this.visiblePages - 1));\r\n }\r\n if (start === 1) {\r\n end = Math.min(this.totalPages, this.visiblePages);\r\n }\r\n\r\n if (start > 1) {\r\n pages.push(1);\r\n if (start > 2) pages.push('...');\r\n }\r\n\r\n for (let i = start; i <= end; i++) {\r\n pages.push(i);\r\n }\r\n\r\n if (end < this.totalPages) {\r\n if (end < this.totalPages - 1) pages.push('...');\r\n pages.push(this.totalPages);\r\n }\r\n\r\n return pages;\r\n }\r\n\r\n changePage(newPage: number) {\r\n if (newPage >= 1 && newPage <= this.totalPages && newPage !== this.currentPage) {\r\n this.currentPage = newPage;\r\n this.pageChange.emit(this.currentPage);\r\n }\r\n }\r\n}\r\n","\r\n<div class=\"table-page\">\r\n <ui-button [disabled]=\"loading || currentPage == 1\" (click)=\"changePage(currentPage - 1)\" size=\"m\" color=\"black\" type=\"bordered\" text=\"Anterior\" icon=\"ri-arrow-left-line\" > </ui-button> \r\n <div class=\"table-numbers\">\r\n @for (p of pages; track $index) {\r\n @if ( p!= '...' ){\r\n <button [disabled]=\"loading\" (click)=\"changePage(+p)\" [ngClass]=\"{'selected':currentPage==p}\" class=\"number\">{{p}}</button>\r\n } @else {\r\n <div class=\"space\">...</div>\r\n }\r\n \r\n }\r\n </div>\r\n <ui-button [disabled]=\"loading || currentPage == totalPages\" (click)=\"changePage(currentPage + 1)\" size=\"m\" color=\"black\" type=\"bordered\" text=\"Siguiente\" rightIcon=\"ri-arrow-right-line\" > </ui-button>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { TableList } from '../table.models';\r\n\r\n@Component({\r\n selector: 'uic-table-list',\r\n imports: [],\r\n templateUrl: './table-list.component.html',\r\n styleUrl: './table-list.component.scss'\r\n})\r\nexport class UicTableListComponent {\r\n @Input() list:TableList[]=[];\r\n}\r\n","@for (item of list; track $index) {\r\n <div class=\"list-item\">\r\n <i [class]=\"item.icon??'ri-capsule-fill'\"></i>\r\n <div class=\"list-item-data\">\r\n <div>{{item.text}}</div>\r\n <p>{{item.subtext}}</p>\r\n </div> \r\n </div>\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nameInitials'\r\n})\r\nexport class UicNameInitsPipe implements PipeTransform {\r\n\r\n transform(value: string): string {\r\n if (!value){\r\n return \"\";\r\n }\r\n const names:string[] = value.split(\" \");\r\n if (names.length > 1){\r\n return names[0].charAt(0) + names[1].charAt(0).toUpperCase(); \r\n }else if ( names[0].length>=2){\r\n return names[0].substring(0,2).toUpperCase();\r\n }else{\r\n return '';\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { TableUser } from '../table.models';\r\nimport { UicNameInitsPipe } from '../../../pipes/name-inits.pipe';\r\n\r\n@Component({\r\n selector: 'uic-table-user',\r\n imports: [UicNameInitsPipe],\r\n templateUrl: './table-user.component.html',\r\n styleUrl: './table-user.component.scss'\r\n})\r\nexport class UicTableUserComponent {\r\n @Input() user:TableUser | undefined;\r\n}\r\n","@if (user) {\r\n <div class=\"user-row\">\r\n <div class=\"user-inits\">\r\n {{user.name | nameInitials}}\r\n </div>\r\n <div class=\"user-row-data\">\r\n <div>{{user.name}}</div>\r\n <p>{{user.id}}</p>\r\n </div>\r\n </div>\r\n}@else{\r\n -\r\n}","import { Component } from '@angular/core';\r\nimport { fadeAndRise } from '../../animations/fadeAndRise.animation';\r\n\r\n@Component({\r\n selector: 'ui-tooltip',\r\n imports: [],\r\n templateUrl: './tooltip.component.html',\r\n styleUrl: './tooltip.component.scss',\r\n animations: [ fadeAndRise ]\r\n})\r\nexport class UicTooltipComponent {\r\n tooltip: string = '';\r\n left: number = 0;\r\n top: number = 0;\r\n}\r\n","<div @fadeAndRise class=\"tooltip\" \r\n [style.left]=\"left + 'px'\" [style.top]=\"top + 'px'\" [innerHTML]=\"tooltip\">\r\n</div>","import { ApplicationRef, ComponentRef, createComponent, \r\n Directive, ElementRef, EmbeddedViewRef, EnvironmentInjector, HostListener, Input } from '@angular/core';\r\nimport { UicTooltipComponent } from '../components/tooltip/tooltip.component';\r\n\r\n\r\n@Directive({\r\n selector: '[tip]'\r\n})\r\nexport class UicToolTipDirective {\r\n\r\n\r\n @Input() tip = '';\r\n\r\n private componentRef: ComponentRef<any> | null = null;\r\n\r\n constructor(\r\n private readonly elementRef: ElementRef,\r\n private readonly appRef: ApplicationRef, \r\n private readonly injector: EnvironmentInjector) {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n onMouseEnter(): void {\r\n if (this.componentRef === null && this.tip!='' && this.tip!=null) {\r\n this.componentRef = createComponent(UicTooltipComponent, {\r\n environmentInjector: this.injector\r\n });\r\n\r\n this.appRef.attachView(this.componentRef.hostView);\r\n const domElem = \r\n (this.componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement; \r\n document.body.appendChild(domElem);\r\n this.setTooltipComponentProperties();\r\n }\r\n }\r\n\r\n private setTooltipComponentProperties() {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltip = this.tip;\r\n const {left, right, bottom} = \t\t \t\r\n this.elementRef.nativeElement.getBoundingClientRect();\r\n this.componentRef.instance.left = (right - left) / 2 + left;\r\n this.componentRef.instance.top = bottom;\r\n }\r\n }\r\n\r\n @HostListener('mouseleave')\r\n onMouseLeave(): void {\r\n this.destroy();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n destroy(): void {\r\n if (this.componentRef !== null) {\r\n this.appRef.detachView(this.componentRef.hostView);\r\n this.componentRef.destroy();\r\n this.componentRef = null;\r\n }\r\n }\r\n}\r\n","import { animate, keyframes, state, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport const highlightRow = trigger('highlightRow', [\r\n state('highlighted', style({ backgroundColor: '#efe1f5' })),\r\n transition('* => highlighted', [\r\n animate('1000ms ease-in', keyframes([\r\n style({ backgroundColor: '#ffffff', offset: 0 }),\r\n style({ backgroundColor: '#efe1f5', offset: 0.3 }),\r\n style({ backgroundColor: '#ffffff', offset: 1.0 }),\r\n ]))\r\n ])\r\n ]);","import { animate, style, transition, trigger } from \"@angular/animations\";\r\nexport const animatedRow = trigger('animatedRow', [\r\n transition(':enter', [\r\n style({ opacity: 0, transform: 'translateY(-15px)' }),\r\n animate('300ms ease-out', style({ opacity: 1, transform: 'translateY(0)' })),\r\n ]),\r\n transition(':leave', [\r\n animate('300ms ease-in', style({ opacity: 0, height: 0, padding: 0, margin: 0 }))\r\n ]),\r\n ]);","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { TableAction, TableColums, TableRow, TableFilters, TableRowData } from './table.models';\r\nimport { UicButtonComponent } from '../button/button.component';\r\nimport { UicTableUicSearcherComponent } from './table-searcher/table-searcher.component';\r\nimport { UicTablePaginationComponent } from './table-pagination/table-pagination.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UicTableListComponent } from './table-list/table-list.component';\r\nimport { UicTableUserComponent } from './table-user/table-user.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UicToolTipDirective } from '../../directives/tool-tip.directive';\r\nimport { UicCheckboxComponent } from '../checkbox/checkbox.component';\r\nimport { highlightRow } from '../../animations/highlightRow.animation';\r\nimport { animatedRow } from '../../animations/animatedRow.animation';\r\n\r\n@Component({\r\n selector: 'ui-table',\r\n imports: [CommonModule, UicButtonComponent, UicTableUserComponent, UicTableListComponent, UicTableUicSearcherComponent, \r\n UicTablePaginationComponent,UicToolTipDirective,UicCheckboxComponent, FormsModule],\r\n templateUrl: './table.component.html',\r\n styleUrl: './table.component.scss',\r\n animations: [ highlightRow, animatedRow ]\r\n})\r\nexport class UicTableComponent {\r\n \r\n @Input() columns:TableColums[] = [];\r\n @Input() data:TableRow[] = [];\r\n @Input() loading = false;\r\n @Input() pages = 0;\r\n @Input() size = 25;\r\n @Input() highlightedId: string |number = 0;\r\n @Input() headerText = '';\r\n @Input() totalItems = 0;\r\n \r\n @Input() searchEnabled = true;\r\n @Input() searchLabel = 'Buscar';\r\n @Input() searchPlaceholder = 'Buscar';\r\n @Input() striped = false;\r\n @Input() showPagination = true;\r\n @Input() showEmptyMessage = false;\r\n @Input() emptyMessage = 'No hay elementos';\r\n \r\n \r\n \r\n @Output() action = new EventEmitter<TableAction>();\r\n @Output() update = new EventEmitter<TableFilters>();\r\n @Output() checkedChange = new EventEmitter<(string|number)[]>(); \r\n \r\n checkedIds = new Set<string | number >();\r\n sortKey = '';\r\n sortAsc = true;\r\n filter = '';\r\n page=1;\r\n\r\n getValue(data:TableRowData[],key:string){\r\n const col = data.find(col => col.key == key);\r\n return col?.value??'-';\r\n }\r\n\r\n getFontColor(data:TableRowData[],key:string){\r\n const col = data.find(col => col.key == key);\r\n return 'trc-' + (col?.textColor??'black');\r\n }\r\n getBackgroundColor(data:TableRowData[],key:string){\r\n const col = data.find(col => col.key == key);\r\n return col?.color??'transparent';\r\n }\r\n\r\n isValidRule(data:TableRowData[],key:string[]|undefined):boolean{\r\n if ( !key ) return true;\r\n let valid = true;\r\n\r\n key.forEach(k => {\r\n const col = data.find(col => col.key == k);\r\n valid = valid && !!(col?.value);\r\n });\r\n \r\n return valid;\r\n }\r\n\r\n getIcon(data:TableRowData[],key:string){\r\n const col = data.find(col => col.key == key);\r\n return '<i class=\"' + col?.icon + '\"></i>';\r\n }\r\n\r\n getList(data:TableRowData[],key:string){\r\n const col = data.find(col => col.key == key);\r\n return col?.list??[];\r\n }\r\n getUser(data:TableRowData[],key:string){\r\n const col = data.find(col => col.key == key);\r\n return col?.user;\r\n }\r\n\r\n sortClick(key:string){\r\n if ( this.sortKey != key ){\r\n this.sortKey = key;\r\n this.sortAsc = true;\r\n }else if ( this.sortAsc ){\r\n this.sortAsc = false;\r\n }else{\r\n this.sortKey = '';\r\n this.sortAsc = true;\r\n }\r\n this.updateData();\r\n }\r\n sizeChabge(newSize:number){\r\n this.size = newSize;\r\n this.updateData(); \r\n }\r\n pageChage(newPage:number){\r\n this.page = newPage;\r\n this.updateData();\r\n }\r\n search(text:string){\r\n this.filter = text;\r\n this.updateData();\r\n }\r\n updateData(){\r\n this.update.emit({\r\n sortBy:this.sortKey,\r\n isSortAscending:this.sortAsc,\r\n pageNumber:this.page,\r\n pageSize:this.size,\r\n filter: this.filter\r\n })\r\n }\r\n \r\n toggleSelection(id: string|number, checked: boolean){\r\n if (checked) {\r\n this.checkedIds.add(id);\r\n } else {\r\n this.checkedIds.delete(id);\r\n }\r\n this.areAllSelected();\r\n this.checkedChange.emit(Array.from(this.checkedIds));\r\n }\r\n \r\n toggleAll(checked: boolean) {\r\n if (checked) {\r\n this.data.forEach(item => this.checkedIds.add(item.id));\r\n } else {\r\n this.checkedIds.clear();\r\n }\r\n this.checkedChange.emit(Array.from(this.checkedIds));\r\n }\r\n areAllSelected() {\r\n this.allSelected = this.checkedIds.size === this.data.length;\r\n }\r\n \r\n allSelected = false;\r\n ngOnChanges() {\r\n this.areAllSelected();\r\n }\r\n\r\n doAction(rowId:string|number,key:string){\r\n this.action.emit({rowId,key});\r\n }\r\n\r\n\r\n resetCheckedIds() {\r\n this.checkedIds.clear();\r\n this.checkedChange.emit([]);\r\n }\r\n}\r\n","<div class=\"table-filters\">\r\n @if (searchEnabled) {\r\n <uic-table-searcher (filter)=\"search($event)\" [placeholder]=\"searchPlaceholder\" ></uic-table-searcher>\r\n }\r\n <div class=\"filter-actions\">\r\n <ng-content select=\"[actions]\"></ng-content>\r\n </div>\r\n</div>\r\n<div class=\"table-wrapper\">\r\n @if (headerText) {\r\n <div class=\"table-topbar\"> {{headerText}} <span class=\"hightlited-note\"> {{totalItems}} </span> </div>\r\n }\r\n <div class=\"table-container\"> \r\n <table [class.striped]=\"striped\">\r\n <thead>\r\n <tr>\r\n @for (header of columns; track $index) {\r\n <th>\r\n <div class=\"th-wrap\">{{header.label.toUpperCase() }} \r\n @if (header.sortEnable) {\r\n <div (click)=\"sortClick(header.key)\" [ngClass]=\"{'sort-active':header.key == sortKey}\">\r\n <i [class]=\"(sortAsc||header.key != sortKey)?'ri-arrow-down-line':'ri-arrow-up-line'\"></i> \r\n </div>\r\n }\r\n @if (header.type=='checkbox') {\r\n <ui-checkbox [(ngModel)]=\"allSelected\" (ngModelChange)=\"toggleAll($event)\"></ui-checkbox>\r\n }\r\n </div>\r\n </th> \r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n\r\n @if (loading) {\r\n @for (item of [].constructor(5); track $index) {\r\n <tr class=\"\">\r\n @for (header of columns; track $index) {\r\n <td> <div class=\"row-loader\"></div> </td>\r\n }\r\n </tr> \r\n }\r\n } @else {\r\n @for (row of data; track row.id) {\r\n <tr [@highlightRow]=\"highlightedId === row.id ? 'highlighted' : null\" [class.tr-highlighted]=\"row.highlighted\">\r\n @for (header of columns; track $index) {\r\n <!-- TIPOS DE HEADERS -->\r\n <td [class]=\"getFontColor(row.data,header.key)\">\r\n @if (header.type == 'text') {\r\n {{ getValue(row.data,header.key) }} \r\n }\r\n @if (header.type == 'icon-list') {\r\n <div class=\"table-icon-wrap\">\r\n @for (alert of getList(row.data,header.key); track $index) {\r\n <i [tip]=\"alert.text\" [class]=\"alert.icon + ' alert'\" ></i>\r\n }\r\n </div>\r\n }\r\n @else if (header.type == 'list'){\r\n <uic-table-list [list]=\"getList(row.data,header.key)\"></uic-table-list> \r\n }\r\n @else if (header.type == 'user'){\r\n <uic-table-user [user]=\"getUser(row.data,header.key)\"></uic-table-user> \r\n }\r\n @else if (header.type == 'checkbox'){\r\n <ui-checkbox [ngModel]=\"checkedIds.has(row.id)\" (ngModelChange)=\"toggleSelection(row.id,$event)\" ></ui-checkbox> \r\n }\r\n @else if (header.type == 'actions') { \r\n <div class=\"table-actions\">\r\n @for (btn of header.actions; track $index) {\r\n @if (isValidRule(row.data,btn.rule)) {\r\n <ui-button \r\n [disabled]=\"loading\"\r\n [tip]=\"btn.tooltip??''\"\r\n size=\"s\"\r\n [iconOnly]=\"btn.text==null\"\r\n [text]=\"btn.text??''\"\r\n [icon]=\"btn.icon??''\"\r\n [color]=\"btn.color\"\r\n (click)=\"doAction(row.id,btn.key)\">\r\n </ui-button> \r\n }\r\n } \r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }@empty {\r\n @if (showEmptyMessage) {\r\n <tr> \r\n <td [colSpan]=\"columns.length\">\r\n <div class=\"empty\">{{emptyMessage}} </div>\r\n </td>\r\n </tr>\r\n }\r\n }\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n \r\n @if (showPagination) {\r\n <uic-table-pagination \r\n [loading]=\"loading\" \r\n [totalPages]=\"pages\" \r\n [size]=\"size\"\r\n (sizeChange)=\"sizeChabge($event)\"\r\n (pageChange)=\"pageChage($event)\">\r\n </uic-table-pagination>\r\n }\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ui-switch',\r\n imports: [],\r\n templateUrl: './toggle-button.component.html',\r\n styleUrl: './toggle-button.component.scss'\r\n})\r\nexport class UicSwichComponent {\r\n @Input() checked = false;\r\n @Output() checkedChange = new EventEmitter<boolean>();\r\n @Input() disabled = false;\r\n @Input() placeholder = '';\r\n\r\n \r\n\r\n toggle() {\r\n if (this.disabled) return;\r\n this.checked = !this.checked;\r\n this.checkedChange.emit(this.checked);\r\n }\r\n}\r\n","<div class=\"toggle-wrapper\" [class.disabled]=\"disabled\">\r\n <button\r\n type=\"button\"\r\n class=\"toggle\"\r\n [class.checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n (click)=\"toggle()\"\r\n >\r\n <span class=\"thumb\"></span>\r\n </button>\r\n {{placeholder}}\r\n</div>","import { animate, style, transition, trigger } from \"@angular/animations\";\r\nexport const pushTop = trigger('pushTop', [\r\n transition(':enter',[style({opacity:0, transform: 'translateY(20px)'}), animate('.3s ease', style({opacity:1, transform: 'translateY(0)'}))]),\r\n transition(':leave', [animate('.3s ease', style({opacity:0, transform: 'translateY(-20px)'}))])\r\n ]);","import { animate, state, style, transition, trigger } from \"@angular/animations\";\r\nexport const sideModal = trigger('sideModal', [\r\n state('visible', style({ transform: 'translateX(0)' })),\r\n state('hidden', style({ transform: 'translateX(100%)' })),\r\n\r\n // animación al CREARSE\r\n transition('void => visible', [\r\n style({ opacity: .8, transform: 'translateX(100%)' }),\r\n animate('.5s ease')\r\n ]),\r\n\r\n // animación al CERRAR\r\n transition('visible => hidden', [\r\n animate('.5s ease')\r\n ])\r\n])\r\n\r\nexport const fadeBackdrop =trigger('fadeBackdrop', [\r\n state('visible', style({ opacity: 1 })),\r\n state('hidden', style({ opacity: 0 })),\r\n transition('void => visible', [\r\n style({ opacity: 0 }),\r\n animate('300ms ease-out')\r\n ]),\r\n transition('visible => hidden', [\r\n animate('300ms ease-in')\r\n ])\r\n ])","import { animate, style, transition, trigger } from \"@angular/animations\";\r\nexport const simpleFade = trigger('simpleFade', [\r\n transition(':enter',[style({opacity:0}), animate('.3s ease', style({opacity:1}))]),\r\n transition(':leave', [animate('.3s ease', style({opacity:0}))])\r\n ]);","export const MODAL_DATA = 'MODAL_DATA';\r\nexport const MODAL_COMPONENT = 'MODAL_COMPONENT';\r\nexport const MODAL_CONFIG = 'MODAL_CONFIG';\r\nexport const MODAL_CLOSE_EVENT = 'modalClosed'; \r\nexport const MODAL_CLOSE_REQUEST = 'modalCloserRequested'; ","import { OverlayRef } from \"@angular/cdk/overlay\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { UicModalService } from \"./modal.service\";\r\n\r\nexport class UiModalRef<T = any> {\r\n private readonly _afterClosed = new Subject<{status:boolean, data: T | null}>();\r\n\r\n constructor(\r\n private readonly overlayRef: OverlayRef,\r\n private readonly modalService: UicModalService\r\n ) {}\r\n\r\n close(result: T | null = null): void {\r\n this.modalService.close(this.overlayRef, result);\r\n this._afterClosed.next({status: result!=null, data:result });\r\n this._afterClosed.complete();\r\n }\r\n\r\n closeFloating(result: T | null = null): void {\r\n this.modalService.closeFloating(this.overlayRef, result);\r\n this._afterClosed.next({status: result!=null, data:result });\r\n this._afterClosed.complete();\r\n }\r\n\r\n afterClosed(): Observable<{status:boolean, data: T | null}> {\r\n return this._afterClosed.asObservable();\r\n }\r\n}","import { CommonModule } from '@angular/common';\r\nimport { Component, Inject, Injector, Type, ViewChild } from '@angular/core';\r\nimport { CdkPortalOutlet, ComponentPortal, PortalModule } from '@angular/cdk/portal';\r\nimport { MODAL_COMPONENT, MODAL_CONFIG, MODAL_DATA } from '../../../services/modal.constant';\r\nimport { ModalConfig } from './modalconfig.model';\r\nimport { UicButtonComponent } from '../../button/button.component';\r\nimport { pushTop } from '../../../animations/pushTop.animation';\r\nimport { UiModalRef } from '../../../services/modaRef';\r\n\r\n\r\n@Component({\r\n selector: 'ui-modal',\r\n imports: [CommonModule,PortalModule,UicButtonComponent],\r\n templateUrl: './modal.component.html',\r\n styleUrl: './modal.component.scss',\r\n animations:[pushTop]\r\n})\r\nexport class UicModalComponent {\r\n myConfig:ModalConfig = {};\r\n ready = false;\r\n title='';\r\n @ViewChild(CdkPortalOutlet, { static: true }) portalOutlet!: CdkPortalOutlet;\r\n\r\n constructor(\r\n @Inject(UiModalRef) private readonly modalRef: UiModalRef,\r\n @Inject(MODAL_COMPONENT) private readonly component: Type<any>,\r\n @Inject(MODAL_CONFIG) private readonly congif: ModalConfig,\r\n private readonly injector: Injector\r\n ) {\r\n this.myConfig = congif;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const childInjector = Injector.create({\r\n providers: [\r\n { provide: UiModalRef, useValue: this.modalRef },\r\n { provide: MODAL_DATA, useValue: this.congif.data }\r\n ],\r\n parent: this.injector\r\n });\r\n const portal = new ComponentPortal(this.component, null, childInjector);\r\n this.portalOutlet.attachComponentPortal(portal);\r\n }\r\n\r\n\r\n closeOuside(){\r\n if ( !this.congif.preventCloseingOutside === true ){\r\n this.modalRef.closeFloating(null);\r\n }\r\n }\r\n\r\n close() {\r\n this.modalRef.closeFloating(null);\r\n }\r\n}\r\n","<div class=\"backdrop\" (click)=\"closeOuside()\"> \r\n <div @pushTop class=\"modal\" \r\n [class]=\"myConfig.size\"\r\n (click)=\"$event.stopPropagation()\">\r\n \r\n @if ( myConfig.title) {\r\n <div class=\"modal-header\">\r\n {{myConfig.title}}\r\n <ui-button color=\"red\" type=\"ghost\" icon=\"ri-close-large-line\" (click)=\"close()\" [iconOnly]=\"true\"></ui-button>\r\n </div>\r\n }\r\n <div class=\"modal-body\" [class.body-padding]=\"myConfig.title!='' && !myConfig.noPadding\">\r\n <ng-template cdkPortalOutlet></ng-template>\r\n </div>\r\n\r\n </div>\r\n</div>","import { CdkPortalOutlet, ComponentPortal, PortalModule } from '@angular/cdk/portal';\r\nimport { Component, Inject, Injector, Type, ViewChild } from '@angular/core';\r\nimport { MODAL_CLOSE_REQUEST, MODAL_COMPONENT, MODAL_CONFIG, MODAL_DATA } from '../../../services/modal.constant';\r\nimport { OverlayRef } from '@angular/cdk/overlay';\r\nimport { SideModalConfig } from './sideModalConfig.model';\r\nimport { UicButtonComponent } from '../../button/button.component';\r\nimport { fadeBackdrop, sideModal } from '../../../animations/sideModal.animation';\r\nimport { UiModalRef } from '../../../services/modaRef';\r\nimport { UicModalService } from '../../../services/modal.service';\r\n\r\n\r\n@Component({\r\n selector: 'ui-side-modal',\r\n imports: [PortalModule,UicButtonComponent],\r\n templateUrl: './side-modal.component.html',\r\n styleUrl: './side-modal.component.scss',\r\n animations: [ sideModal, fadeBackdrop ]\r\n})\r\nexport class UicSideModalComponent {\r\n overlayRef!: OverlayRef; // lo setea el servicio\r\n state: 'visible' | 'hidden' = 'visible';\r\n show = true;\r\n myConfig:SideModalConfig = {};\r\n ready = false;\r\n title='';\r\n @ViewChild(CdkPortalOutlet, { static: true }) portalOutlet!: CdkPortalOutlet;\r\n\r\n constructor(\r\n @Inject(UiModalRef) private readonly modalRef: UiModalRef,\r\n @Inject(MODAL_COMPONENT) private readonly component: Type<any>,\r\n @Inject(MODAL_CONFIG) private readonly congif: SideModalConfig,\r\n private readonly injector: Injector,\r\n private readonly modal:UicModalService\r\n ) {\r\n this.myConfig = congif;\r\n }\r\n\r\n ngOnInit() {\r\n if (this.overlayRef){\r\n this.overlayRef.hostElement.addEventListener(MODAL_CLOSE_REQUEST, () => {\r\n this.close();\r\n });\r\n }\r\n}\r\n\r\n ngAfterViewInit(): void {\r\n const childInjector = Injector.create({\r\n providers: [\r\n { provide: UiModalRef, useValue: this.modalRef },\r\n { provide: MODAL_DATA, useValue: this.congif.data }\r\n ],\r\n parent: this.injector\r\n });\r\n const portal = new ComponentPortal(this.component, null, childInjector);\r\n this.portalOutlet.attachComponentPortal(portal);\r\n }\r\n\r\n\r\n closeOuside(){\r\n if ( !this.congif.preventCloseingOutside === true ){\r\n this.close();\r\n }\r\n }\r\n\r\n close() {\r\n this.state = 'hidden';\r\n }\r\n\r\n onAnimationDone(event: any) {\r\n if (event.toState === 'hidden' && event.triggerName === 'sideModal') {\r\n this.overlayRef.dispose();\r\n }\r\n }\r\n\r\n save(){\r\n this.modal.triggerSave();\r\n }\r\n}\r\n","<div [@fadeBackdrop]=\"state\" class=\"backdrop\" (click)=\"closeOuside()\"> \r\n</div>\r\n<div [@sideModal]=\"state\" (@sideModal.done)=\"onAnimationDone($event)\" class=\"sidemodal\" [style.width]=\"myConfig.width??'60%'\" (click)=\"$event.stopPropagation()\">\r\n <ui-button class=\"close-icon\" (click)=\"close()\" icon=\"ri-close-large-line\" type=\"ghost\" color=\"black\" [iconOnly]=\"true\" size=\"m\"></ui-button>\r\n <div class=\"sidemodal-body\" [class.body-padding]=\"myConfig.title!=''\">\r\n <ng-template cdkPortalOutlet></ng-template>\r\n </div>\r\n @if (myConfig.footerEnabled) {\r\n <div class=\"sidemodal-footer\">\r\n @if (myConfig.showCancelButton) {\r\n <ui-button (click)=\"close()\" color=\"black\" size=\"l\" type=\"bordered\" icon=\"ri-close-line\">{{myConfig.footerCancelButtonText??'Cancelar'}}</ui-button>\r\n }\r\n <ui-button (click)=\"save()\" color=\"black\" size=\"l\" rightIcon=\"ri-check-line\">{{myConfig.footerOkButtonText??'Siguiente'}}</ui-button>\r\n </div>\r\n }\r\n</div>","import { EnvironmentInjector, inject, Injectable, Injector, Type } from '@angular/core';\r\nimport { MODAL_CLOSE_EVENT, MODAL_CLOSE_REQUEST, MODAL_COMPONENT, MODAL_CONFIG } from './modal.constant';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { UiModalRef } from './modaRef';\r\nimport { ModalConfig } from '../components/modal/floating-modal/modalconfig.model';\r\nimport { SideModalConfig } from '../components/modal/side-modal/sideModalConfig.model';\r\nimport { UicModalComponent } from '../components/modal/floating-modal/modal.component';\r\nimport { UicSideModalComponent } from '../components/modal/side-modal/side-modal.component';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UicModalService {\r\n\r\n private readonly overlay = inject(Overlay);\r\n private readonly envInjector = inject(EnvironmentInjector);\r\n\r\n openFloatingModal<TComponent>(\r\n component: Type<TComponent>,\r\n config: ModalConfig = {}\r\n ): UiModalRef {\r\n return this.openModal(component,config,true);\r\n }\r\n\r\n openSideModal<TComponent>(\r\n component: Type<TComponent>,\r\n config: SideModalConfig = {}\r\n ): UiModalRef {\r\n return this.openModal(component,config,false);\r\n }\r\n\r\n private openModal<TComponent>(\r\n component: Type<TComponent>,\r\n config: ModalConfig|SideModalConfig = {},\r\n isFloating = false\r\n ){\r\n const overlayConfig = this.createOverlayConfig(isFloating);\r\n const overlayRef = this.overlay.create(overlayConfig);\r\n const modalRef = new UiModalRef(overlayRef, this);\r\n const injector = this.createModalInjector(overlayRef,modalRef,component,config); \r\n if ( isFloating){\r\n const modalPortal = new ComponentPortal(UicModalComponent, null, injector);\r\n overlayRef.attach(modalPortal);\r\n }else{\r\n const modalPortal = new ComponentPortal( UicSideModalComponent, null, injector);\r\n const componentRef = overlayRef.attach(modalPortal);\r\n componentRef.instance.overlayRef = overlayRef;\r\n }\r\n return modalRef; \r\n }\r\n\r\n close(overlayRef: OverlayRef, result: any = null): void { \r\n overlayRef.hostElement.dispatchEvent(\r\n new CustomEvent(MODAL_CLOSE_REQUEST, { detail: result })\r\n );\r\n } \r\n\r\n closeFloating(overlayRef: OverlayRef, result: any = null){\r\n overlayRef.backdropElement?.dispatchEvent(\r\n new CustomEvent(MODAL_CLOSE_EVENT, { detail: result })\r\n );\r\n overlayRef.dispose();\r\n }\r\n\r\n private readonly _save$ = new Subject<void>();\r\n save$ = this._save$.asObservable();\r\n\r\n triggerSave(): void {\r\n this._save$.next();\r\n }\r\n\r\n private createOverlayConfig(isFloating: boolean): OverlayConfig {\r\n const positionStrategy = isFloating \r\n ? this.overlay.position().global().left()\r\n : this.overlay.position().global().right();\r\n\r\n return {\r\n hasBackdrop: true,\r\n backdropClass: 'cdk-overlay-dark-backdrop',\r\n positionStrategy,\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n disposeOnNavigation: true, \r\n };\r\n }\r\n\r\n private createModalInjector<TComponent>(\r\n overlayRef: OverlayRef,\r\n modalRef: UiModalRef,\r\n component: Type<TComponent>,\r\n config: ModalConfig | SideModalConfig\r\n ): Injector {\r\n return Injector.create({\r\n providers: [\r\n { provide: OverlayRef, useValue: overlayRef },\r\n { provide: UiModalRef, useValue: modalRef },\r\n { provide: MODAL_COMPONENT, useValue: component },\r\n { provide: MODAL_CONFIG, useValue: config }\r\n ],\r\n parent: this.envInjector,\r\n });\r\n }\r\n}\r\n\r\n","import { Component, Inject } from '@angular/core';\r\nimport { AlertData, AlertResponseData } from './tiny-alert.model';\r\nimport { MODAL_DATA } from '../../services/modal.constant';\r\nimport { UicButtonComponent } from '../button/button.component';\r\nimport { UiModalRef } from '../../services/modaRef';\r\n\r\n@Component({\r\n selector: 'lib-tiny-alert',\r\n imports: [UicButtonComponent],\r\n templateUrl: './tiny-alert.component.html',\r\n styleUrl: './tiny-alert.component.scss'\r\n})\r\nexport class TinyAlertComponent {\r\n data:AlertData;\r\n constructor(\r\n @Inject(MODAL_DATA) inData:{alert:AlertData,editing:boolean},\r\n @Inject(UiModalRef) private readonly modalRef: UiModalRef )\r\n {\r\n this.data = inData.alert;\r\n }\r\n response:AlertResponseData = {};\r\n\r\n\r\n close(value:boolean){\r\n this.modalRef.closeFloating(value?this.response:null);\r\n }\r\n}\r\n","<div class=\"alert-wrapper\">\r\n @if (data.iconPath != '') {\r\n <img [src]=\"data.iconPath\" alt=\"\"> \r\n }\r\n <h3> {{data.title}} </h3>\r\n <div class=\"alert-body\" [innerHTML]=\"data.body\"> </div>\r\n <div class=\"card-buttons\">\r\n @if (data.showCancelButton) {\r\n <ui-button (click)=\"close(false)\" type=\"bordered\" [color]=\"data.cancelButtonColor??'primary'\" size=\"l\"> {{data.cancelButtonText??'Cancelar'}} </ui-button>\r\n }\r\n <ui-button (click)=\"close(true)\" [color]=\"data.okButtonColor??'primary'\" size=\"l\"> {{data.okButtonText??'Continuar'}} </ui-button>\r\n </div>\r\n <button class=\"floating-close\" (click)=\"close(false)\" >\r\n <i class=\"ri-close-line\"></i>\r\n </button>\r\n</div>\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { AlertData, AlertResponse } from '../components/tiny-alert/tiny-alert.model';\r\nimport { TinyAlertComponent } from '../components/tiny-alert/tiny-alert.component';\r\nimport { UicModalService } from './modal.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UicTinyAlertService {\r\n\r\n private readonly modal = inject(UicModalService);\r\n\r\n showAlert(data: AlertData): Promise<AlertResponse> {\r\n return new Promise<AlertResponse>((resolve) => {\r\n this.modal.openFloatingModal(TinyAlertComponent, {\r\n data: { alert: data }\r\n }).afterClosed().subscribe(result => {\r\n resolve({\r\n value: result?.status,\r\n data: result?.data\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","import { Alert } from './alert.model';\r\n\r\nlet nextId = 1;\r\n\r\nexport function createSuccessAlert(\r\n message: string,\r\n options?: Partial<Alert>\r\n): Alert {\r\n return {\r\n id: nextId++,\r\n message,\r\n type: 'success',\r\n duration: 3000,\r\n ...options,\r\n };\r\n}\r\n\r\nexport function createErrorAlert(\r\n message: string,\r\n options?: Partial<Alert>\r\n): Alert {\r\n return {\r\n id: nextId++,\r\n message,\r\n type: 'error',\r\n duration: 5000,\r\n ...options,\r\n };\r\n}\r\n\r\nexport function createWarningAlert(\r\n message: string,\r\n options?: Partial<Alert>\r\n): Alert {\r\n return {\r\n id: nextId++,\r\n message,\r\n type: 'warning',\r\n duration: 4000,\r\n ...options,\r\n };\r\n}\r\n\r\nexport function createInfoAlert(\r\n message: string,\r\n options?: Partial<Alert>\r\n): Alert {\r\n return {\r\n id: nextId++,\r\n message,\r\n type: 'info',\r\n duration: 3000,\r\n ...options,\r\n };\r\n}","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { Alert, AlertConfigParams } from '../components/push-alerts/alert.model';\r\nimport { createErrorAlert, createSuccessAlert } from '../components/push-alerts/alert.helpers';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UicPushAlertService {\r\n\r\n autoIncId = 0;\r\n private readonly alerts$ = new Subject<Alert>();\r\n\r\n get stream() {\r\n return this.alerts$.asObservable();\r\n }\r\n\r\n show(alertData:AlertConfigParams) {\r\n this.autoIncId++;\r\n const alert: Alert = {...alertData,id:this.autoIncId};\r\n this.alerts$.next( alert );\r\n }\r\n\r\n success(message: string, options?: Partial<Alert>) {\r\n this.show(createSuccessAlert(message, options));\r\n }\r\n\r\n error(message: string, options?: Partial<Alert>) {\r\n this.show(createErrorAlert(message, options));\r\n }\r\n\r\n}\r\n","// COMPONENTS\r\nexport * from './lib/components/button/button.component';\r\nexport * from './lib/components/checkbox/checkbox.component';\r\nexport * from './lib/components/dynamic-form/form-wrapper/form-wrapper.component';\r\nexport * from './lib/components/inputs/input/input.component';\r\nexport * from './lib/components/inputs/searcher/searcher.component';\r\nexport * from './lib/components/inputs/select/select.component';\r\nexport * from './lib/components/table/table.component';\r\nexport * from './lib/components/toggle-button/toggle-button.component';\r\n\r\n// ANIMATIONS\r\nexport * from './lib/animations/animatios.index';\r\n\r\n\r\n// FORMULARIOS\r\nexport * from './lib/components/dynamic-form/form.models';\r\n\r\n// SERVICIOS\r\nexport * from './lib/services/modal.service';\r\nexport * from './lib/services/modaRef';\r\nexport * from './lib/services/modal.constant';\r\nexport * from './lib/services/tiny-alert.service';\r\nexport * from './lib/services/push-alert.service';\r\n\r\n// PIPES\r\nexport * from './lib/pipes/name-inits.pipe';\r\n\r\n// DIRECTIVES\r\nexport * from './lib/directives/tool-tip.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["base","i2","i1","i1.UicModalService"],"mappings":";;;;;;;;;;;;;MASa,kBAAkB,CAAA;IACpB,IAAI,GAAC,EAAE;IACP,IAAI,GAAC,EAAE;IACP,SAAS,GAAC,EAAE;IACZ,QAAQ,GAAC,KAAK;IACd,QAAQ,GAAC,KAAK;IACd,OAAO,GAAC,KAAK;IACb,IAAI,GAA2B,GAAG;IAClC,IAAI,GAAoC,QAAQ;IAChD,KAAK,GAAe,SAAS;IAEtC,eAAe,GAAG,EAAE;IAEpB,QAAQ,GAAA;QACN,IAAI,CAAC,eAAe,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI;;wGAdzE,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECT/B,o8BA2BS,EAAA,MAAA,EAAA,CAAA,sjNAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDtBG,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACE,WAAW,EAAA,OAAA,EACZ,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,o8BAAA,EAAA,MAAA,EAAA,CAAA,sjNAAA,CAAA,EAAA;8BAKd,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;;;SEfa,mBAAmB,GAAA;AACjC,IAAA,MACe,iBAAiB,CAAA;AACrB,QAAA,KAAK;AACJ,QAAA,WAAW,GAAG,IAAI,YAAY,EAAK;AAE7C,QAAA,QAAQ,GAAuB,MAAK,GAAG;AACvC,QAAA,SAAS,GAAe,MAAK,GAAG;AAEhC,QAAA,UAAU,CAAC,GAAM,EAAA;AACf,YAAA,IAAI,CAAC,KAAK,GAAG,GAAG;;AAGlB,QAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;;AAGpB,QAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE;;AAGrB,QAAA,gBAAgB,CAAE,UAAmB,EAAA;;;AAIrC,QAAA,YAAY,CAAC,KAAQ,EAAA;AACnB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACpB,IAAI,CAAC,SAAS,EAAE;;4GA3BL,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;gGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;gGAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;sBAD/B;kCAEU,KAAK,EAAA,CAAA;0BAAb;oBACS,WAAW,EAAA,CAAA;0BAApB;;AA6BH,IAAA,OAAO,iBAAiB;AACzB;;ACjCD,MAAMA,MAAI,GAAG,mBAAmB,EAAW;AAerC,MAAO,oBAAqB,SAAQA,MAAI,CAAA;IAEnC,KAAK,GAAG,EAAE;IACV,WAAW,GAAG,EAAE;IAChB,QAAQ,GAAG,KAAK;IAChB,OAAO,GAAG,KAAK;IAGxB,MAAM,GAAA;QACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC;YAClC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;;;wGAVvB,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EARrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA;AACR,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE;AACR;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBH,+hBAsBM,EAAA,MAAA,EAAA,CAAA,soCAAA,CAAA,EAAA,CAAA;;4FDHO,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;+BACE,aAAa,EAAA,OAAA,EACd,EAAE,EAGD,SAAA,EAAA;AACR,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE;AACR;AACF,qBAAA,EAAA,QAAA,EAAA,+hBAAA,EAAA,MAAA,EAAA,CAAA,soCAAA,CAAA,EAAA;8BAIQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;;;AEvBU,MAAA,WAAW,GAAG,OAAO,CAAC,aAAa,EAAE;AAC9C,IAAA,UAAU,CAAC,QAAQ,EAAC,CAAC,KAAK,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAC,OAAO,EAAC,CAAC,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC,CAAC;AACvH,IAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;AAC/D,CAAA;;ACGH,MAAM,IAAI,GAAG,mBAAmB,EAAyB;AAgBnD,MAAO,kBAAmB,SAAQ,IAAI,CAAA;AACjC,IAAA,IAAI,GAAG,EAAE,CAAC;AACV,IAAA,SAAS,GAA0B,SAAS,CAAC;AAC7C,IAAA,YAAY,GAAG,EAAE,CAAC;AAClB,IAAA,IAAI,GAAoB,GAAG,CAAC;IAE5B,KAAK,GAAG,EAAE;IACV,KAAK,GAAG,EAAE;IACV,GAAG,GAAG,EAAE;IAER,QAAQ,GAAG,KAAK;IAChB,QAAQ,GAAG,KAAK;IAChB,OAAO,GAAqB,EAAE;IAE9B,YAAY,GAAG,KAAK;AAE7B,IAAA,gBAAgB,GAAwB;AACtC,QAAA;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,QAAQ,EAAE;AACX,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,QAAQ,EAAE;AACX;KACF;IAED,IAAI,GAAG,KAAK;IACZ,SAAS,GAAG,iBAAiB;AACZ,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AACpB,IAAA,YAAY;AAC7B,IAAA,UAAU;IAGlB,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,iBAAiB;;IAG1D,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAC;AACjB,YAAA,IAAI,CAAC,IAAI,GAAI,CAAC,IAAI,CAAC,IAAI;AACvB,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAO,KAAG;AAClE,wBAAA,IAAG,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;AACtD,4BAAA,IAAI,CAAC,IAAI,GAAG,KAAK;4BACjB,IAAI,CAAC,UAAU,EAAE;;AAErB,qBAAC,CAAC;iBACH,EAAE,GAAG,CAAC;;;;AAKb,IAAA,YAAY,CAAC,MAA6B,EAAA;AACxC,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;QACjB,IAAI,CAAC,UAAU,EAAE;AACjB,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;;;IAI3B,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;;IAEnB,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;;;wGAtEf,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EATlB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,KAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,gBAAA,KAAK,EAAE;AACR;SACF,ECpBH,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,80GAuEM,wpID5DM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAC,aAAa,EAUxB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,qEAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,8BAAA,EAAA,qCAAA,EAAA,4BAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,kCAAA,EAAA,+BAAA,EAAA,mCAAA,EAAA,mCAAA,EAAA,yBAAA,EAAA,iCAAA,EAAA,sCAAA,EAAA,gCAAA,EAAA,iCAAA,EAAA,uCAAA,EAAA,kCAAA,EAAA,yBAAA,EAAA,wCAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,4DAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,WAAW,CAAC,EAAA,CAAA;;4FAEd,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,WACZ,CAAC,YAAY,EAAC,aAAa,CAAC,EAG1B,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC;AACjD,4BAAA,KAAK,EAAE;AACR;qBACF,EACW,UAAA,EAAA,CAAC,WAAW,CAAC,EAAA,QAAA,EAAA,80GAAA,EAAA,MAAA,EAAA,CAAA,imIAAA,CAAA,EAAA;8BAGhB,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBAEQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBAEQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBAEQ,YAAY,EAAA,CAAA;sBAApB;gBAoBwB,YAAY,EAAA,CAAA;sBAApC,SAAS;uBAAC,YAAY;;;ME/CZ,iBAAiB,CAAA;AACnB,IAAA,IAAI,GAAG,EAAE,CAAC;IACV,SAAS,GAAgB,OAAO;AAChC,IAAA,YAAY,GAAG,EAAE,CAAC;AAClB,IAAA,IAAI,GAAoB,GAAG,CAAC;;IAE5B,KAAK,GAAG,EAAE;IACV,KAAK,GAAG,EAAE;IACV,GAAG,GAAG,EAAE;;IAER,QAAQ,GAAG,KAAK;AACf,IAAA,WAAW,GAAI,IAAI,YAAY,EAAW;IAGpD,UAAU,GAAG,KAAK;IAClB,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QACtB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;SACxB,EAAE,GAAG,CAAC;;wGApBE,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,KAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV9B,ojCA+BA,EAAA,MAAA,EAAA,CAAA,imIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzBa,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIZ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;+BACE,UAAU,EAAA,OAAA,EACX,CAAE,YAAY,CAAC,EAAA,QAAA,EAAA,ojCAAA,EAAA,MAAA,EAAA,CAAA,imIAAA,CAAA,EAAA;8BAKf,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBAEQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBAEQ,QAAQ,EAAA,CAAA;sBAAhB;gBACS,WAAW,EAAA,CAAA;sBAApB;;;MERU,uBAAuB,CAAA;IACzB,MAAM,GAAgB,EAAE;AACN,IAAA,IAAI;IAE/B,IAAI,GAAG,KAAK;wGAJD,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbpC,6zCAuCA,EAAA,MAAA,EAAA,CAAA,6lBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED9BY,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,KAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,KAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,CAAA,EAAA,CAAA;;4FAI5F,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BACE,iBAAiB,EAAA,OAAA,EAClB,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,WAAW,CAAC,EAAA,QAAA,EAAA,6zCAAA,EAAA,MAAA,EAAA,CAAA,6lBAAA,CAAA,EAAA;8BAK/F,MAAM,EAAA,CAAA;sBAAd;gBAC0B,IAAI,EAAA,CAAA;sBAA9B,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;;MENd,0BAA0B,CAAA;IAC5B,MAAM,GAAW,CAAC;IAClB,IAAI,GAAW,CAAC;AAEzB,IAAA,IAAI,SAAS,GAAA;QACX,OAAO;AACL,YAAA,uBAAuB,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,IAAI,CAAQ,MAAA;SACrD;;wGAPQ,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECTvC,sVAOM,EAAA,MAAA,EAAA,CAAA,2gBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFO,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIZ,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;+BACE,oBAAoB,EAAA,OAAA,EACrB,CAAE,YAAY,CAAE,EAAA,QAAA,EAAA,sVAAA,EAAA,MAAA,EAAA,CAAA,2gBAAA,CAAA,EAAA;8BAKhB,MAAM,EAAA,CAAA;sBAAd;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;MECU,uBAAuB,CAAA;AACzB,IAAA,MAAM;IACN,OAAO,GAAG,KAAK;IACf,aAAa,GAAwB,EAAE;IAEhD,QAAQ,GAAG,KAAK;AAEN,IAAA,UAAU,GAAG,IAAI,YAAY,EAAc;AAEpC,IAAA,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IACzC,IAAI,GAAc,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IACnC,WAAW,GAAG,CAAC;IAGf,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,EAAE;QAChB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;;AAGrE,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;YACrB,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACnE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE;gBACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;;;;IAKxF,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAC,CAAC;;aACpD;AACL,YAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAC5B,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,IAAI,EAAC,CAAC;;;IAI3C,gBAAgB,GAAA;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,EAAE;QAE3B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG;AACvC,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;;QAE5F,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;;IAGxD,SAAS,GAAA;AACf,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAEtC,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,IAAG;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACjD,gBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI;gBAChD,IAAI,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,OAAO,IAAE,IAAI;oBAAE,OAAO,GAAG,KAAK;gBAC1D,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,CAAC,CAAC,IAAI,EACN,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CACrC;;AAEL,SAAC,CAAC;AAEF,QAAA,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACpD,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,IAAG;YAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC1B,gBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;;AAEjC,SAAC,CAAC;;AAGI,IAAA,sBAAsB,CAAC,CAAY,EAAA;QACzC,MAAM,UAAU,GAAG,EAAE;QACrB,IAAI,CAAC,CAAC,QAAQ;AAAE,YAAA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;AACpD,QAAA,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;AAAE,YAAA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACrE,QAAA,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;AAAE,YAAA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,CAAC,OAAO,YAAY,MAAM;AAAE,YAAA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC/E,QAAA,OAAO,UAAU;;IAGnB,gBAAgB,GAAA;QACd,IAAI,CAAC,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,EAAE;AAC3B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;AAClD,YAAA,OAAO,IAAI,EAAE,MAAM,IAAI,EAAE;;AAE3B,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;;IAGjC,QAAQ,GAAA;QACN,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAClD,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,GAAG,UAAU,GAAG,CAAC,EAAE;YACtD,IAAI,CAAC,WAAW,EAAE;;;IAItB,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;YACzC,IAAI,CAAC,WAAW,EAAE;;;IAItB,YAAY,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,IAAI,EAAE;;wGAtGhD,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,yNCZpC,y1DAuDA,EAAA,MAAA,EAAA,CAAA,gKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED/CY,uBAAuB,EAAE,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,0BAA0B,0FAAC,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAItE,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,WAClB,CAAC,uBAAuB,EAAE,0BAA0B,EAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,y1DAAA,EAAA,MAAA,EAAA,CAAA,gKAAA,CAAA,EAAA;8BAKzE,MAAM,EAAA,CAAA;sBAAd;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBAIS,UAAU,EAAA,CAAA;sBAAnB;;;MELU,oBAAoB,CAAA;AAiCZ,IAAA,QAAA;AACA,IAAA,OAAA;AACA,IAAA,eAAA;AACA,IAAA,GAAA;AAlCV,IAAA,IAAI,GAAG,EAAE,CAAC;AACV,IAAA,SAAS,GAAkD,WAAW,CAAC;AACvE,IAAA,YAAY,GAAG,EAAE,CAAC;AAClB,IAAA,IAAI,GAAoB,GAAG,CAAC;;IAE5B,KAAK,GAAG,EAAE;IACV,KAAK,GAAG,EAAE;IACV,GAAG,GAAG,EAAE;;IAER,QAAQ,GAAG,KAAK;IAChB,YAAY,GAAG,IAAI;IACnB,WAAW,GAAG,WAAW;IAClC,IAAI,GAAG,KAAK;AAEH,IAAA,QAAQ;IACR,aAAa,GAA0B,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;AAC3D,IAAA,eAAe,GAA2B,MAAM,IAAI;IAEpD,YAAY,GAAY,KAAK;IAE7B,YAAY,GAAO,IAAI;AACtB,IAAA,kBAAkB,GAAG,IAAI,YAAY,EAAO;IAEtD,SAAS,GAAG,KAAK;IACjB,UAAU,GAAW,EAAE;AACN,IAAA,aAAa,GAAG,IAAI,OAAO,EAAU;AACtD,IAAA,QAAQ;AACiB,IAAA,YAAY;AAC7B,IAAA,UAAU;AAElB,IAAA,WAAA,CACmB,QAAkB,EAClB,OAAgB,EAChB,eAAuC,EACvC,GAAqB,EAAA;QAHrB,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAG,CAAA,GAAA,GAAH,GAAG;AAEpB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACrC,YAAY,CAAC,GAAG,CAAC,EACjB,oBAAoB,EAAE,EACtB,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAChC,SAAS,CAAE,CAAC,IAAG;AACb,YAAA,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAChB,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,gBAAA,OAAO,EAAE,CAAC,EAAE,CAAC;;YAEf,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,QAAQ,CAAC,MAAI,IAAI,CAAC,SAAS,GAAC,KAAK,CAAC,CAAE;SAAC,CACpE,CACF;;IAGH,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAC;AAC/B,YAAA,IAAI,CAAC,IAAI,GAAI,IAAI;YACjB,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAO,KAAG;AAClE,wBAAA,IAAG,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;4BACtD,IAAI,CAAC,WAAW,EAAE;4BAClB,IAAI,CAAC,UAAU,EAAE;;AAErB,qBAAC,CAAC;iBACH,EAAE,GAAG,CAAC;;;;AAKb,IAAA,cAAc,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;;;IAIlC,aAAa,GAAA;QACX,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;;AAG1C,IAAA,UAAU,CAAC,IAAS,EAAA;AAClB,QAAA,IAAK,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAC;YAC9B,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,IAAK,IAAI,CAAC,YAAY;AAAM,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;;IAIxD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;QACjB,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;;IAG7B,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;;AAGL,IAAA,mBAAmB;AAClD,IAAA,UAAU;IACV,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAK;;;IAG3B,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,UAAU;YAAE;AACrB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK;AAC3E,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC3B,aAAA,mBAAmB,CAAC,IAAI,CAAC,YAAY;AACrC,aAAA,aAAa,CAAC;AACb,YAAA;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,KAAK;AAChB,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AACnB;SACF;aACA,sBAAsB,CAAC,KAAK;aAC5B,QAAQ,CAAC,KAAK,CAAC;QAElB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,gBAAgB;YAChB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAC1D,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,aAAa,EAAE;AAChB,SAAA,CAAC;AACF,QAAA,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC;AAC7E,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC;AAEtC,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AACpE,QAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,CAAA,EAAG,KAAK,CAAA,EAAA,CAAI;;wGA5IhD,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,osBCdjC,0sFAyEA,EAAA,MAAA,EAAA,CAAA,suBAAA,EAAA,imIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED/DY,YAAY,EAAC,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,qnBAAY,kBAAkB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIrD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACE,aAAa,EAAA,OAAA,EACd,CAAC,YAAY,EAAC,WAAW,EAAC,SAAS,EAAE,kBAAkB,CAAC,EAAA,QAAA,EAAA,0sFAAA,EAAA,MAAA,EAAA,CAAA,suBAAA,EAAA,imIAAA,CAAA,EAAA;4KAMxD,IAAI,EAAA,CAAA;sBAAZ;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBAEQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBAEQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBAGQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBAEQ,YAAY,EAAA,CAAA;sBAApB;gBAEQ,YAAY,EAAA,CAAA;sBAApB;gBACS,kBAAkB,EAAA,CAAA;sBAA3B;gBAMwB,YAAY,EAAA,CAAA;sBAApC,SAAS;uBAAC,YAAY;gBAuEQ,mBAAmB,EAAA,CAAA;sBAAjD,SAAS;uBAAC,kBAAkB;;;MExGlB,4BAA4B,CAAA;IAC9B,WAAW,GAAG,EAAE;IAChB,KAAK,GAAG,QAAQ;IAChB,eAAe,GAAG,KAAK;AACtB,IAAA,MAAM,GAAG,IAAI,YAAY,EAAU;IAC7C,IAAI,GAAG,EAAE;IAET,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;;IAG7B,UAAU,GAAA;AACR,QAAA,IAAK,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;;;wGAdpB,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,ECVzC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,yjBAQM,EDFM,MAAA,EAAA,CAAA,qgBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,wJAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAI9B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EACrB,OAAA,EAAA,CAAC,kBAAkB,EAAE,WAAW,CAAC,EAAA,QAAA,EAAA,yjBAAA,EAAA,MAAA,EAAA,CAAA,qgBAAA,CAAA,EAAA;8BAKjC,WAAW,EAAA,CAAA;sBAAnB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACS,MAAM,EAAA,CAAA;sBAAf;;;MEHU,2BAA2B,CAAA;IAE7B,WAAW,GAAG,CAAC;IACf,UAAU,GAAG,CAAC;IACd,IAAI,GAAG,EAAE;IACT,OAAO,GAAG,KAAK;IACxB,YAAY,GAAG,CAAC;IAChB,WAAW,GAAY,EAAE;AAEf,IAAA,UAAU,GAAG,IAAI,YAAY,EAAU;AACvC,IAAA,UAAU,GAAG,IAAI,YAAY,EAAU;AAEjD,IAAA,IAAI,KAAK,GAAA;QACP,MAAM,KAAK,GAAwB,EAAE;AACrC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;AAC/C,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACjD,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAE7D,QAAA,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU,EAAE;AAC3B,YAAA,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;;AAEhE,QAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACf,YAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;;AAGpD,QAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACb,YAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACb,IAAI,KAAK,GAAG,CAAC;AAAE,gBAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;AAGlC,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;;AAGf,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC;AAAE,gBAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AAChD,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;;AAG7B,QAAA,OAAO,KAAK;;AAGd,IAAA,UAAU,CAAC,OAAe,EAAA;AACxB,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,EAAE;AAC9E,YAAA,IAAI,CAAC,WAAW,GAAG,OAAO;YAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;;wGA7C/B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,qPCXxC,02BAcM,EAAA,MAAA,EAAA,CAAA,y0BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDPM,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,wJAAE,WAAW,EAAA,CAAA,EAAA,CAAA;;4FAI5C,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,WACvB,CAAC,YAAY,EAAE,kBAAkB,EAAE,WAAW,CAAC,EAAA,QAAA,EAAA,02BAAA,EAAA,MAAA,EAAA,CAAA,y0BAAA,CAAA,EAAA;8BAM/C,WAAW,EAAA,CAAA;sBAAnB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBAIS,UAAU,EAAA,CAAA;sBAAnB;gBACS,UAAU,EAAA,CAAA;sBAAnB;;;MEZU,qBAAqB,CAAA;IACvB,IAAI,GAAa,EAAE;wGADjB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,oGCTlC,ySAUA,EAAA,MAAA,EAAA,CAAA,4KAAA,CAAA,EAAA,CAAA;;4FDDa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,WACjB,EAAE,EAAA,QAAA,EAAA,ySAAA,EAAA,MAAA,EAAA,CAAA,4KAAA,CAAA,EAAA;8BAKF,IAAI,EAAA,CAAA;sBAAZ;;;MELU,gBAAgB,CAAA;AAE3B,IAAA,SAAS,CAAC,KAAa,EAAA;QACrB,IAAI,CAAC,KAAK,EAAC;AACT,YAAA,OAAO,EAAE;;QAEX,MAAM,KAAK,GAAY,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAC;YACnB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;;aACxD,IAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAE,CAAC,EAAC;AAC5B,YAAA,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE;;aACzC;AACH,YAAA,OAAO,EAAE;;;wGAZF,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA;sGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE;AACP,iBAAA;;;MCMY,qBAAqB,CAAA;AACvB,IAAA,IAAI;wGADF,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVlC,8TAYC,EAAA,MAAA,EAAA,CAAA,0cAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDNW,gBAAgB,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,CAAA;;4FAIf,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,gBAAgB,EAAA,OAAA,EACjB,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,8TAAA,EAAA,MAAA,EAAA,CAAA,0cAAA,CAAA,EAAA;8BAKlB,IAAI,EAAA,CAAA;sBAAZ;;;MEDU,mBAAmB,CAAA;IAC9B,OAAO,GAAW,EAAE;IACpB,IAAI,GAAW,CAAC;IAChB,GAAG,GAAW,CAAC;wGAHJ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,ECVhC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,0IAEM,EDMQ,MAAA,EAAA,CAAA,6eAAA,CAAA,EAAA,UAAA,EAAA,CAAE,WAAW,CAAE,EAAA,CAAA;;4FAEhB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACb,OAAA,EAAA,EAAE,EAGC,UAAA,EAAA,CAAE,WAAW,CAAE,EAAA,QAAA,EAAA,0IAAA,EAAA,MAAA,EAAA,CAAA,6eAAA,CAAA,EAAA;;;MEAhB,mBAAmB,CAAA;AAQX,IAAA,UAAA;AACA,IAAA,MAAA;AACA,IAAA,QAAA;IAPV,GAAG,GAAG,EAAE;IAET,YAAY,GAA6B,IAAI;AAErD,IAAA,WAAA,CACmB,UAAsB,EACtB,MAAsB,EACtB,QAA6B,EAAA;QAF7B,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAQ,CAAA,QAAA,GAAR,QAAQ;;IAI3B,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,IAAE,EAAE,IAAI,IAAI,CAAC,GAAG,IAAE,IAAI,EAAE;AAChE,YAAA,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,mBAAmB,EAAE;gBACvD,mBAAmB,EAAE,IAAI,CAAC;AAC3B,aAAA,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;AAClD,YAAA,MAAM,OAAO,GACN,IAAI,CAAC,YAAY,CAAC;iBAClB,SAAS,CAAC,CAAC,CAAgB;AAClC,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAClC,IAAI,CAAC,6BAA6B,EAAE;;;IAIhC,6BAA6B,GAAA;AACnC,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG;AAC7C,YAAA,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAC,GACrB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAC3D,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI;YAC3D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM;;;IAK3C,YAAY,GAAA;QACV,IAAI,CAAC,OAAO,EAAE;;IAGhB,WAAW,GAAA;QACT,IAAI,CAAC,OAAO,EAAE;;IAGhB,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;AAClD,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;;wGApDjB,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACX,iBAAA;8IAIU,GAAG,EAAA,CAAA;sBAAX;gBAWD,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,YAAY;gBA2B1B,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,YAAY;;;AC7Cf,MAAA,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE;IAChD,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3D,UAAU,CAAC,kBAAkB,EAAE;AAC7B,QAAA,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC;YAClC,KAAK,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAChD,KAAK,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAClD,KAAK,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnD,SAAA,CAAC;KACH;AACF,CAAA;;ACVU,MAAA,WAAW,GAAG,OAAO,CAAC,aAAa,EAAE;IAC9C,UAAU,CAAC,QAAQ,EAAE;QACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;AACrD,QAAA,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;KAC7E,CAAC;IACF,UAAU,CAAC,QAAQ,EAAE;QACnB,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;KACjF,CAAC;AACH,CAAA;;MCaU,iBAAiB,CAAA;IAEnB,OAAO,GAAiB,EAAE;IAC1B,IAAI,GAAc,EAAE;IACpB,OAAO,GAAG,KAAK;IACf,KAAK,GAAG,CAAC;IACT,IAAI,GAAG,EAAE;IACT,aAAa,GAAmB,CAAC;IACjC,UAAU,GAAG,EAAE;IACf,UAAU,GAAG,CAAC;IAEd,aAAa,GAAG,IAAI;IACpB,WAAW,GAAG,QAAQ;IACtB,iBAAiB,GAAG,QAAQ;IAC5B,OAAO,GAAG,KAAK;IACf,cAAc,GAAG,IAAI;IACrB,gBAAgB,GAAG,KAAK;IACxB,YAAY,GAAG,kBAAkB;AAIhC,IAAA,MAAM,GAAG,IAAI,YAAY,EAAe;AACxC,IAAA,MAAM,GAAG,IAAI,YAAY,EAAgB;AACzC,IAAA,aAAa,GAAG,IAAI,YAAY,EAAqB;AAE/D,IAAA,UAAU,GAAG,IAAI,GAAG,EAAoB;IACxC,OAAO,GAAG,EAAE;IACZ,OAAO,GAAG,IAAI;IACd,MAAM,GAAG,EAAE;IACX,IAAI,GAAC,CAAC;IAEN,QAAQ,CAAC,IAAmB,EAAC,GAAU,EAAA;AACrC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;AAC5C,QAAA,OAAO,GAAG,EAAE,KAAK,IAAE,GAAG;;IAGxB,YAAY,CAAC,IAAmB,EAAC,GAAU,EAAA;AACzC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAC5C,OAAO,MAAM,IAAI,GAAG,EAAE,SAAS,IAAE,OAAO,CAAC;;IAE3C,kBAAkB,CAAC,IAAmB,EAAC,GAAU,EAAA;AAC/C,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;AAC5C,QAAA,OAAO,GAAG,EAAE,KAAK,IAAE,aAAa;;IAGlC,WAAW,CAAC,IAAmB,EAAC,GAAsB,EAAA;AACpD,QAAA,IAAK,CAAC,GAAG;AAAG,YAAA,OAAO,IAAI;QACvB,IAAI,KAAK,GAAG,IAAI;AAEhB,QAAA,GAAG,CAAC,OAAO,CAAC,CAAC,IAAG;AACd,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1C,KAAK,GAAG,KAAK,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;AACjC,SAAC,CAAC;AAED,QAAA,OAAO,KAAK;;IAGf,OAAO,CAAC,IAAmB,EAAC,GAAU,EAAA;AACpC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;AAC5C,QAAA,OAAO,YAAY,GAAG,GAAG,EAAE,IAAI,GAAG,QAAQ;;IAG5C,OAAO,CAAC,IAAmB,EAAC,GAAU,EAAA;AACpC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;AAC5C,QAAA,OAAO,GAAG,EAAE,IAAI,IAAE,EAAE;;IAEtB,OAAO,CAAC,IAAmB,EAAC,GAAU,EAAA;AACpC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAC5C,OAAO,GAAG,EAAE,IAAI;;AAGlB,IAAA,SAAS,CAAC,GAAU,EAAA;AAClB,QAAA,IAAK,IAAI,CAAC,OAAO,IAAI,GAAG,EAAE;AACxB,YAAA,IAAI,CAAC,OAAO,GAAG,GAAG;AAClB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;AACf,aAAA,IAAK,IAAI,CAAC,OAAO,EAAG;AACxB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;aACjB;AACH,YAAA,IAAI,CAAC,OAAO,GAAG,EAAE;AACjB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;QAErB,IAAI,CAAC,UAAU,EAAE;;AAEnB,IAAA,UAAU,CAAC,OAAc,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO;QACnB,IAAI,CAAC,UAAU,EAAE;;AAEnB,IAAA,SAAS,CAAC,OAAc,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO;QACnB,IAAI,CAAC,UAAU,EAAE;;AAEnB,IAAA,MAAM,CAAC,IAAW,EAAA;AAChB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;QAClB,IAAI,CAAC,UAAU,EAAE;;IAEnB,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,MAAM,EAAC,IAAI,CAAC,OAAO;YACnB,eAAe,EAAC,IAAI,CAAC,OAAO;YAC5B,UAAU,EAAC,IAAI,CAAC,IAAI;YACpB,QAAQ,EAAC,IAAI,CAAC,IAAI;YAClB,MAAM,EAAE,IAAI,CAAC;AACd,SAAA,CAAC;;IAGJ,eAAe,CAAC,EAAiB,EAAE,OAAgB,EAAA;QACjD,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;;aAClB;AACL,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;;QAE5B,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;AAGtD,IAAA,SAAS,CAAC,OAAgB,EAAA;QACxB,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;aAClD;AACL,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;;AAEzB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;IAEtD,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM;;IAG9D,WAAW,GAAG,KAAK;IACnB,WAAW,GAAA;QACT,IAAI,CAAC,cAAc,EAAE;;IAGvB,QAAQ,CAAC,KAAmB,EAAC,GAAU,EAAA;QACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAC,GAAG,EAAC,CAAC;;IAI/B,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;;wGA3IlB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtB9B,y+LA+GM,EAAA,MAAA,EAAA,CAAA,+mFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED/FM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAE,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,qBAAqB,EAAE,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,qBAAqB,EAAE,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,4BAA4B,yIACpH,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAC,mBAAmB,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAC,oBAAoB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAGvE,CAAE,YAAY,EAAE,WAAW,CAAE,EAAA,CAAA;;4FAE9B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAR7B,SAAS;+BACE,UAAU,EAAA,OAAA,EACX,CAAC,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,4BAA4B;AACpH,wBAAA,2BAA2B,EAAC,mBAAmB,EAAC,oBAAoB,EAAE,WAAW,CAAC,EAAA,UAAA,EAGxE,CAAE,YAAY,EAAE,WAAW,CAAE,EAAA,QAAA,EAAA,y+LAAA,EAAA,MAAA,EAAA,CAAA,+mFAAA,CAAA,EAAA;8BAIhC,OAAO,EAAA,CAAA;sBAAf;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBAEQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBAIS,MAAM,EAAA,CAAA;sBAAf;gBACS,MAAM,EAAA,CAAA;sBAAf;gBACS,aAAa,EAAA,CAAA;sBAAtB;;;MErCU,iBAAiB,CAAA;IACnB,OAAO,GAAG,KAAK;AACd,IAAA,aAAa,GAAG,IAAI,YAAY,EAAW;IAC5C,QAAQ,GAAG,KAAK;IAChB,WAAW,GAAG,EAAE;IAIzB,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,QAAQ;YAAE;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;;wGAX5B,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,oMCR9B,kTAWM,EAAA,MAAA,EAAA,CAAA,63BAAA,CAAA,EAAA,CAAA;;4FDHO,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,WACZ,EAAE,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,63BAAA,CAAA,EAAA;8BAKF,OAAO,EAAA,CAAA;sBAAf;gBACS,aAAa,EAAA,CAAA;sBAAtB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;;;AEXU,MAAA,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE;AACtC,IAAA,UAAU,CAAC,QAAQ,EAAC,CAAC,KAAK,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAC,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE,SAAS,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC,CAAC;IAC7I,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAC,CAAC,CAAC,CAAC;AAC/F,CAAA;;ACHU,MAAA,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE;IAC5C,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;;IAGzD,UAAU,CAAC,iBAAiB,EAAE;QAC5B,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;QACrD,OAAO,CAAC,UAAU;KACnB,CAAC;;IAGF,UAAU,CAAC,mBAAmB,EAAE;QAC9B,OAAO,CAAC,UAAU;KACnB;AACF,CAAA;AAEY,MAAA,YAAY,GAAE,OAAO,CAAC,cAAc,EAAE;IAC7C,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACvC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACtC,UAAU,CAAC,iBAAiB,EAAE;AAC5B,QAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,gBAAgB;KACzB,CAAC;IACF,UAAU,CAAC,mBAAmB,EAAE;QAC9B,OAAO,CAAC,eAAe;KACxB;AACF,CAAA;;AC1BQ,MAAA,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE;IAC5C,UAAU,CAAC,QAAQ,EAAC,CAAC,KAAK,CAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;AAClF,IAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;AAC/D,CAAA;;ACJI,MAAM,UAAU,GAAG;AACnB,MAAM,eAAe,GAAG;AACxB,MAAM,YAAY,GAAG;AACrB,MAAM,iBAAiB,GAAG;AAC1B,MAAM,mBAAmB,GAAG;;MCAtB,UAAU,CAAA;AAIF,IAAA,UAAA;AACA,IAAA,YAAA;AAJF,IAAA,YAAY,GAAG,IAAI,OAAO,EAAoC;IAE/E,WACmB,CAAA,UAAsB,EACtB,YAA6B,EAAA;QAD7B,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAY,CAAA,YAAA,GAAZ,YAAY;;IAG/B,KAAK,CAAC,SAAmB,IAAI,EAAA;QAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;AAChD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,IAAE,IAAI,EAAE,IAAI,EAAC,MAAM,EAAG,CAAC;AAC7D,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;;IAG9B,aAAa,CAAC,SAAmB,IAAI,EAAA;QACnC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;AACxD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,IAAE,IAAI,EAAE,IAAI,EAAC,MAAM,EAAG,CAAC;AAC7D,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;;IAG9B,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;;AAE1C;;MCVY,iBAAiB,CAAA;AAOW,IAAA,QAAA;AACK,IAAA,SAAA;AACH,IAAA,MAAA;AACtB,IAAA,QAAA;IATnB,QAAQ,GAAe,EAAE;IACzB,KAAK,GAAG,KAAK;IACb,KAAK,GAAC,EAAE;AACsC,IAAA,YAAY;AAE1D,IAAA,WAAA,CACuC,QAAoB,EACf,SAAoB,EACvB,MAAmB,EACzC,QAAkB,EAAA;QAHE,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACH,IAAS,CAAA,SAAA,GAAT,SAAS;QACZ,IAAM,CAAA,MAAA,GAAN,MAAM;QAC5B,IAAQ,CAAA,QAAA,GAAR,QAAQ;AAEzB,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM;;IAGxB,eAAe,GAAA;AACb,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;AACpC,YAAA,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAG;gBACjD,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;AAClD,aAAA;YACD,MAAM,EAAE,IAAI,CAAC;AACd,SAAA,CAAC;AACF,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC;AACvE,QAAA,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,MAAM,CAAC;;IAIjD,WAAW,GAAA;QACT,IAAK,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,KAAK,IAAI,EAAE;AACjD,YAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;;;IAIrC,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;;AAnCxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAOlB,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,UAAU,EACV,EAAA,EAAA,KAAA,EAAA,eAAe,aACf,YAAY,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AATX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAIjB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,eAAe,ECrB5B,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,urBAgBM,EDJM,MAAA,EAAA,CAAA,+gCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAC,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAC,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAG3C,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,OAAO,CAAC,EAAA,CAAA;;4FAET,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;+BACE,UAAU,EAAA,OAAA,EACX,CAAC,YAAY,EAAC,YAAY,EAAC,kBAAkB,CAAC,EAAA,UAAA,EAG5C,CAAC,OAAO,CAAC,EAAA,QAAA,EAAA,urBAAA,EAAA,MAAA,EAAA,CAAA,+gCAAA,CAAA,EAAA;;0BASjB,MAAM;2BAAC,UAAU;;0BACjB,MAAM;2BAAC,eAAe;;0BACtB,MAAM;2BAAC,YAAY;gEALwB,YAAY,EAAA,CAAA;sBAAzD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;MEHjC,qBAAqB,CAAA;AAUO,IAAA,QAAA;AACK,IAAA,SAAA;AACH,IAAA,MAAA;AACtB,IAAA,QAAA;AACA,IAAA,KAAA;IAbnB,UAAU,CAAc;IACxB,KAAK,GAAyB,SAAS;IACvC,IAAI,GAAG,IAAI;IACX,QAAQ,GAAmB,EAAE;IAC7B,KAAK,GAAG,KAAK;IACb,KAAK,GAAC,EAAE;AACsC,IAAA,YAAY;IAE1D,WACuC,CAAA,QAAoB,EACf,SAAoB,EACvB,MAAuB,EAC7C,QAAkB,EAClB,KAAqB,EAAA;QAJD,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACH,IAAS,CAAA,SAAA,GAAT,SAAS;QACZ,IAAM,CAAA,MAAA,GAAN,MAAM;QAC5B,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAK,CAAA,KAAA,GAAL,KAAK;AAEtB,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM;;IAGxB,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,UAAU,EAAC;YAClB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,MAAK;gBACrE,IAAI,CAAC,KAAK,EAAE;AACd,aAAC,CAAC;;;IAIN,eAAe,GAAA;AACb,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;AACpC,YAAA,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAG;gBACjD,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;AAClD,aAAA;YACD,MAAM,EAAE,IAAI,CAAC;AACd,SAAA,CAAC;AACF,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC;AACvE,QAAA,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,MAAM,CAAC;;IAIjD,WAAW,GAAA;QACT,IAAK,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,KAAK,IAAI,EAAE;YACjD,IAAI,CAAC,KAAK,EAAE;;;IAIhB,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;;AAGvB,IAAA,eAAe,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAK,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE;AACpE,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;;;IAI7B,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;;AAzDf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAUtB,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,UAAU,EACV,EAAA,EAAA,KAAA,EAAA,eAAe,aACf,YAAY,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAZX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAOrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,eAAe,ECzB5B,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,6kCAeM,EDFM,MAAA,EAAA,CAAA,o2BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAC,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAG7B,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAE,SAAS,EAAE,YAAY,CAAE,EAAA,CAAA;;4FAE5B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;+BACE,eAAe,EAAA,OAAA,EAChB,CAAC,YAAY,EAAC,kBAAkB,CAAC,EAAA,UAAA,EAG9B,CAAE,SAAS,EAAE,YAAY,CAAE,EAAA,QAAA,EAAA,6kCAAA,EAAA,MAAA,EAAA,CAAA,o2BAAA,CAAA,EAAA;;0BAYpC,MAAM;2BAAC,UAAU;;0BACjB,MAAM;2BAAC,eAAe;;0BACtB,MAAM;2BAAC,YAAY;2FALwB,YAAY,EAAA,CAAA;sBAAzD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;MEXjC,eAAe,CAAA;AAET,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACzB,IAAA,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAE1D,IAAA,iBAAiB,CACf,SAA2B,EAC3B,MAAA,GAAsB,EAAE,EAAA;QAExB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAC,MAAM,EAAC,IAAI,CAAC;;AAG9C,IAAA,aAAa,CACX,SAA2B,EAC3B,MAAA,GAA0B,EAAE,EAAA;QAE5B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAC,MAAM,EAAC,KAAK,CAAC;;IAGvC,SAAS,CACf,SAA2B,EAC3B,MAAA,GAAsC,EAAE,EACxC,UAAU,GAAG,KAAK,EAAA;QAElB,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC;AACjD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,MAAM,CAAC;QAC/E,IAAK,UAAU,EAAC;YACd,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,iBAAiB,EAAE,IAAI,EAAE,QAAQ,CAAC;AAC1E,YAAA,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;;aAC3B;YACH,MAAM,WAAW,GAAI,IAAI,eAAe,CAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,CAAC;YAChF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;AACnD,YAAA,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU;;AAE/C,QAAA,OAAO,QAAQ;;AAGjB,IAAA,KAAK,CAAC,UAAsB,EAAE,MAAA,GAAc,IAAI,EAAA;AAC9C,QAAA,UAAU,CAAC,WAAW,CAAC,aAAa,CAClC,IAAI,WAAW,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CACzD;;AAGH,IAAA,aAAa,CAAC,UAAsB,EAAE,MAAA,GAAc,IAAI,EAAA;AACtD,QAAA,UAAU,CAAC,eAAe,EAAE,aAAa,CACvC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CACvD;QACD,UAAU,CAAC,OAAO,EAAE;;AAGL,IAAA,MAAM,GAAG,IAAI,OAAO,EAAQ;AAC7C,IAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;IAElC,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;;AAGZ,IAAA,mBAAmB,CAAC,UAAmB,EAAA;QAC7C,MAAM,gBAAgB,GAAG;AACvB,cAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI;AACvC,cAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;QAE5C,OAAO;AACL,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,aAAa,EAAE,2BAA2B;YAC1C,gBAAgB;YAChB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACrD,YAAA,mBAAmB,EAAE,IAAI;SAC1B;;AAGK,IAAA,mBAAmB,CACzB,UAAsB,EACtB,QAAoB,EACpB,SAA2B,EAC3B,MAAqC,EAAA;QAErC,OAAO,QAAQ,CAAC,MAAM,CAAC;AACrB,YAAA,SAAS,EAAE;AACT,gBAAA,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC7C,gBAAA,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC3C,gBAAA,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE;AACjD,gBAAA,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM;AAC1C,aAAA;YACD,MAAM,EAAE,IAAI,CAAC,WAAW;AACzB,SAAA,CAAC;;wGAvFO,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAf,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCDY,kBAAkB,CAAA;AAIU,IAAA,QAAA;AAHvC,IAAA,IAAI;IACJ,WACsB,CAAA,MAAwC,EACvB,QAAoB,EAAA;QAApB,IAAQ,CAAA,QAAA,GAAR,QAAQ;AAE7C,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK;;IAE1B,QAAQ,GAAqB,EAAE;AAG/B,IAAA,KAAK,CAAC,KAAa,EAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,GAAC,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC;;wGAZ5C,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAGnB,UAAU,EAAA,EAAA,EAAA,KAAA,EACV,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAJT,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ/B,myBAgBA,EAAA,MAAA,EAAA,CAAA,2nBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDRY,kBAAkB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIjB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACE,gBAAgB,EAAA,OAAA,EACjB,CAAC,kBAAkB,CAAC,EAAA,QAAA,EAAA,myBAAA,EAAA,MAAA,EAAA,CAAA,2nBAAA,CAAA,EAAA;;0BAO1B,MAAM;2BAAC,UAAU;;0BACjB,MAAM;2BAAC,UAAU;;;MERT,mBAAmB,CAAA;AAEb,IAAA,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC;AAEhD,IAAA,SAAS,CAAC,IAAe,EAAA;AACvB,QAAA,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,KAAI;AAC5C,YAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,EAAE;AAC/C,gBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI;aACpB,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,IAAG;AAClC,gBAAA,OAAO,CAAC;oBACN,KAAK,EAAE,MAAM,EAAE,MAAM;oBACrB,IAAI,EAAE,MAAM,EAAE;AACf,iBAAA,CAAC;AACJ,aAAC,CAAC;AACJ,SAAC,CAAC;;wGAdO,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACLD,IAAI,MAAM,GAAG,CAAC;AAEE,SAAA,kBAAkB,CAChC,OAAe,EACf,OAAwB,EAAA;IAExB,OAAO;QACL,EAAE,EAAE,MAAM,EAAE;QACZ,OAAO;AACP,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,GAAG,OAAO;KACX;AACH;AAEgB,SAAA,gBAAgB,CAC9B,OAAe,EACf,OAAwB,EAAA;IAExB,OAAO;QACL,EAAE,EAAE,MAAM,EAAE;QACZ,OAAO;AACP,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,GAAG,OAAO;KACX;AACH;AAEgB,SAAA,kBAAkB,CAChC,OAAe,EACf,OAAwB,EAAA;IAExB,OAAO;QACL,EAAE,EAAE,MAAM,EAAE;QACZ,OAAO;AACP,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,GAAG,OAAO;KACX;AACH;AAEgB,SAAA,eAAe,CAC7B,OAAe,EACf,OAAwB,EAAA;IAExB,OAAO;QACL,EAAE,EAAE,MAAM,EAAE;QACZ,OAAO;AACP,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,GAAG,OAAO;KACX;AACH;;MC9Ca,mBAAmB,CAAA;IAE9B,SAAS,GAAG,CAAC;AACI,IAAA,OAAO,GAAG,IAAI,OAAO,EAAS;AAE/C,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;;AAGpC,IAAA,IAAI,CAAC,SAA2B,EAAA;QAC9B,IAAI,CAAC,SAAS,EAAE;AAChB,QAAA,MAAM,KAAK,GAAU,EAAC,GAAG,SAAS,EAAC,EAAE,EAAC,IAAI,CAAC,SAAS,EAAC;AACrD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,KAAK,CAAE;;IAG5B,OAAO,CAAC,OAAe,EAAE,OAAwB,EAAA;QAC/C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;IAGjD,KAAK,CAAC,OAAe,EAAE,OAAwB,EAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;wGApBpC,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;ACAA;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ui-core-abv.mjs","sources":["../../../projects/ui-core/src/lib/components/button/button.component.ts","../../../projects/ui-core/src/lib/components/button/button.component.html","../../../projects/ui-core/src/lib/components/dynamic-form/base-value-accessot.ts","../../../projects/ui-core/src/lib/components/checkbox/checkbox.component.ts","../../../projects/ui-core/src/lib/components/checkbox/checkbox.component.html","../../../projects/ui-core/src/lib/animations/fadeAndRise.animation.ts","../../../projects/ui-core/src/lib/components/inputs/select/select.component.ts","../../../projects/ui-core/src/lib/components/inputs/select/select.component.html","../../../projects/ui-core/src/lib/components/inputs/input/input.component.ts","../../../projects/ui-core/src/lib/components/inputs/input/input.component.html","../../../projects/ui-core/src/lib/components/dynamic-form/form/dynamic-form.component.ts","../../../projects/ui-core/src/lib/components/dynamic-form/form/dynamic-form.component.html","../../../projects/ui-core/src/lib/components/skeleton-loader/skeleton-loader.component.ts","../../../projects/ui-core/src/lib/components/skeleton-loader/skeleton-loader.component.html","../../../projects/ui-core/src/lib/components/dynamic-form/form-wrapper/form-wrapper.component.ts","../../../projects/ui-core/src/lib/components/dynamic-form/form-wrapper/form-wrapper.component.html","../../../projects/ui-core/src/lib/components/inputs/searcher/searcher.component.ts","../../../projects/ui-core/src/lib/components/inputs/searcher/searcher.component.html","../../../projects/ui-core/src/lib/components/table/table-searcher/table-searcher.component.ts","../../../projects/ui-core/src/lib/components/table/table-searcher/table-searcher.component.html","../../../projects/ui-core/src/lib/components/table/table-pagination/table-pagination.component.ts","../../../projects/ui-core/src/lib/components/table/table-pagination/table-pagination.component.html","../../../projects/ui-core/src/lib/components/table/table-list/table-list.component.ts","../../../projects/ui-core/src/lib/components/table/table-list/table-list.component.html","../../../projects/ui-core/src/lib/pipes/name-inits.pipe.ts","../../../projects/ui-core/src/lib/components/table/table-user/table-user.component.ts","../../../projects/ui-core/src/lib/components/table/table-user/table-user.component.html","../../../projects/ui-core/src/lib/components/tooltip/tooltip.component.ts","../../../projects/ui-core/src/lib/components/tooltip/tooltip.component.html","../../../projects/ui-core/src/lib/directives/tool-tip.directive.ts","../../../projects/ui-core/src/lib/animations/highlightRow.animation.ts","../../../projects/ui-core/src/lib/animations/animatedRow.animation.ts","../../../projects/ui-core/src/lib/components/table/table.component.ts","../../../projects/ui-core/src/lib/components/table/table.component.html","../../../projects/ui-core/src/lib/components/toggle-button/toggle-button.component.ts","../../../projects/ui-core/src/lib/components/toggle-button/toggle-button.component.html","../../../projects/ui-core/src/lib/animations/pushTop.animation.ts","../../../projects/ui-core/src/lib/animations/sideModal.animation.ts","../../../projects/ui-core/src/lib/animations/simpleFade.animation.ts","../../../projects/ui-core/src/lib/services/modal.constant.ts","../../../projects/ui-core/src/lib/services/modaRef.ts","../../../projects/ui-core/src/lib/components/modal/floating-modal/modal.component.ts","../../../projects/ui-core/src/lib/components/modal/floating-modal/modal.component.html","../../../projects/ui-core/src/lib/components/modal/side-modal/side-modal.component.ts","../../../projects/ui-core/src/lib/components/modal/side-modal/side-modal.component.html","../../../projects/ui-core/src/lib/services/modal.service.ts","../../../projects/ui-core/src/lib/components/tiny-alert/tiny-alert.component.ts","../../../projects/ui-core/src/lib/components/tiny-alert/tiny-alert.component.html","../../../projects/ui-core/src/lib/services/tiny-alert.service.ts","../../../projects/ui-core/src/lib/components/push-alerts/alert.helpers.ts","../../../projects/ui-core/src/lib/services/push-alert.service.ts","../../../projects/ui-core/src/public-api.ts","../../../projects/ui-core/src/ui-core-abv.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ui-button',\r\n imports: [CommonModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.scss'\r\n})\r\nexport class UicButtonComponent {\r\n @Input() text='';\r\n @Input() icon='';\r\n @Input() rightIcon='';\r\n @Input() iconOnly=false;\r\n @Input() disabled=false;\r\n @Input() loading=false; \r\n @Input() size: 't' | 's'|'m'|'l'| 'g' = 'm';\r\n @Input() type: 'filled' | 'bordered' | 'ghost' = 'filled'; \r\n @Input() color:ButtonColor = 'primary';\r\n \r\n buttonTypeClass = \"\";\r\n \r\n ngOnInit(){\r\n this.buttonTypeClass = 'btn-' + this.type + ' btn-' + this.color + \"-\" + this.type;\r\n }\r\n}\r\nexport type ButtonColor = 'primary'|'secondary'|'red'|'green'|'blue'|'yellow' | 'black';","<button\r\n [class]=\"'main-btn ' + buttonTypeClass\"\r\n [disabled]=\"disabled || loading\"\r\n [ngClass]=\"{\r\n 'btn-tiny' :size=='t',\r\n 'btn-small' :size=='s', \r\n 'btn-medium' :size=='m',\r\n 'btn-large' :size=='l', \r\n 'btn-gigant' :size=='g'\r\n }\" >\r\n \r\n @if (!loading) {\r\n @if (icon!='' ) {\r\n <i class=\"{{icon}}\"></i>\r\n }\r\n @if (!iconOnly) {\r\n <div class=\"btn-text\" [class.norighticon]=\"rightIcon==''\" [class.noicon]=\"icon==''\">\r\n {{text}}\r\n <ng-content ></ng-content>\r\n </div>\r\n }\r\n @if (rightIcon!='' ) {\r\n <i class=\"{{rightIcon}}\"></i>\r\n }\r\n } @else {\r\n <div class=\"btn-loader-container\"> <div class=\"btn-loader\"></div> </div>\r\n }\r\n</button>","import { ControlValueAccessor } from '@angular/forms';\r\nimport { Directive, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nexport function createValueAccessor<T>() {\r\n @Directive()\r\n abstract class BaseValueAccessor implements ControlValueAccessor {\r\n @Input() value!: T;\r\n @Output() valueChange = new EventEmitter<T>();\r\n\r\n onChange: (value: T) => void = () => {};\r\n onTouched: () => void = () => {};\r\n\r\n writeValue(obj: T): void {\r\n this.value = obj;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n // opcional\r\n }\r\n\r\n notifyChange(value: T) {\r\n this.value = value;\r\n this.valueChange.emit(value);\r\n this.onChange(value);\r\n this.onTouched();\r\n }\r\n }\r\n\r\n return BaseValueAccessor;\r\n}\r\n","import { Component, forwardRef, Input } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { createValueAccessor } from '../dynamic-form/base-value-accessot';\r\n\r\nconst base = createValueAccessor<boolean>();\r\n\r\n@Component({\r\n selector: 'ui-checkbox',\r\n imports: [],\r\n templateUrl: './checkbox.component.html',\r\n styleUrl: './checkbox.component.scss',\r\n providers:[\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => UicCheckboxComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class UicCheckboxComponent extends base{\r\n \r\n @Input() label = '';\r\n @Input() placeholder = '';\r\n @Input() disabled = false;\r\n @Input() loading = false;\r\n\r\n\r\n toggle() {\r\n if (!this.disabled && !this.loading){\r\n this.notifyChange(!this.value);\r\n }\r\n }\r\n}\r\n","@if (label){\r\n <label for=\"\">{{label}} </label>\r\n}\r\n<div class=\"check-wrapper\">\r\n <button\r\n type=\"button\"\r\n class=\"checkbox\"\r\n [disabled]=\"disabled\"\r\n [class.checked]=\"value\"\r\n (click)=\"toggle()\"\r\n (keydown.enter)=\"toggle()\"\r\n (keydown.space)=\"toggle()\"\r\n >\r\n <span class=\"icon\">\r\n @if (value) {\r\n ✔\r\n }@else {\r\n −\r\n }\r\n </span>\r\n </button>\r\n {{placeholder}}\r\n</div>","import { animate, style, transition, trigger } from \"@angular/animations\";\r\nexport const fadeAndRise = trigger('fadeAndRise', [\r\n transition(':enter',[style({opacity:0, maxHeight: '0px'}), animate('.3s ease', style({opacity:1,maxHeight: '200px'}))]),\r\n transition(':leave', [animate('.3s ease', style({opacity:0}))])\r\n ]);","import { CommonModule } from '@angular/common';\r\nimport { Component, ElementRef, forwardRef, inject, Input, Renderer2, ViewChild } from '@angular/core';\r\nimport { ConnectedPosition, OverlayModule } from '@angular/cdk/overlay';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { createValueAccessor } from '../../dynamic-form/base-value-accessot';\r\nimport { fadeAndRise } from '../../../animations/fadeAndRise.animation';\r\n\r\nconst base = createValueAccessor<AppSelectOption| null>();\r\n\r\n@Component({\r\n selector: 'ui-select',\r\n imports: [CommonModule,OverlayModule],\r\n templateUrl: './select.component.html',\r\n styleUrl: '../input.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => UicSelectComponent),\r\n multi: true\r\n }\r\n ],\r\n animations: [fadeAndRise]\r\n})\r\nexport class UicSelectComponent extends base{\r\n @Input() icon = ''; // Icono externo\r\n @Input() iconColor: 'primary'|'secondary' = 'primary'; //color de ícono externo\r\n @Input() internalIcon = ''; //Icono interno\r\n @Input() size: 's' | 'm' | 'l' = 'm'; // tamaño general del input\r\n\r\n @Input() label = '';\r\n @Input() error = '';\r\n @Input() tip = '';\r\n\r\n @Input() disabled = false;\r\n @Input() nullable = false;\r\n @Input() options:AppSelectOption[] = []; \r\n \r\n @Input() showSubtitle = false;\r\n\r\n overlayPositions: ConnectedPosition[] = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top'\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom'\r\n }\r\n ];\r\n\r\n open = false;\r\n emptyText = '- Seleccionar -'\r\n private readonly renderer = inject(Renderer2);\r\n @ViewChild('inputwrapp') toggleButton!: ElementRef;\r\n private unlistener!: () => void;\r\n\r\n \r\n ngOnInit(): void {\r\n this.emptyText = this.disabled ? '-' : '- Seleccionar -';\r\n }\r\n\r\n openList(){\r\n if (!this.disabled){\r\n this.open = !this.open;\r\n if( this.open ){\r\n setTimeout(() => {\r\n this.unlistener = this.renderer.listen('window', 'click',(e:Event)=>{\r\n if(!this.toggleButton.nativeElement.contains(e.target) ){\r\n this.open = false;\r\n this.unlistener();\r\n }\r\n });\r\n }, 200);\r\n }\r\n }\r\n }\r\n\r\n selectOption(option:AppSelectOption | null){\r\n this.open = false;\r\n this.unlistener();\r\n this.notifyChange(option);\r\n }\r\n\r\n //( overlay)\r\n closeList() {\r\n this.open = false;\r\n }\r\n openListOverlay() {\r\n if (!this.disabled) {\r\n this.open = !this.open;\r\n }\r\n }\r\n}\r\n\r\nexport interface AppSelectOption{\r\n id? : string | number | null;\r\n text : string;\r\n detail? : string;\r\n} ","<div class=\"input-wrapper \">\r\n @if (icon) {\r\n <i class=\"input-externalicon f-{{iconColor}} {{icon}}\"></i>\r\n }\r\n <div class=\"input-elements\" [style]=\"icon?'max-width: calc(100% - 34px);':''\">\r\n @if (label) {\r\n <div class=\"label inputlabel\" [class.font-error]=\"error\">\r\n {{label}} \r\n </div>\r\n }\r\n <div class=\"fakeinput-wrapp\" #inputwrapp cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" > \r\n\r\n <!-- INPUT -->\r\n <div (click)=\"openList()\" class=\"fakeinput\" [ngClass]=\"{'activeselect':open, 'errorinput':error, 'disabledinput':disabled}\" style=\"cursor: pointer;\">\r\n @if (internalIcon) {\r\n <i class=\"input-internalicon-{{size}} {{internalIcon}}\" ></i>\r\n }\r\n <div class=\"fakeinput-content\">{{(value?.text || emptyText)}}</div>\r\n @if (!disabled) {\r\n <i class=\"ri-arrow-down-s-line\"></i>\r\n }\r\n </div> \r\n <!-- DESPLEGABLE -->\r\n @if (open) {\r\n\r\n <ng-template\r\n cdkConnectedOverlay\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"open\"\r\n [cdkConnectedOverlayHasBackdrop]=\"true\"\r\n (backdropClick)=\"closeList()\"\r\n [cdkConnectedOverlayWidth]=\"trigger.elementRef.nativeElement.offsetWidth\"\r\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\r\n >\r\n\r\n <div class=\"input-options\" @fadeAndRise >\r\n <!-- OPCIONES -->\r\n <div class=\"input-option-scroll\">\r\n @if (options.length > 0 && nullable) {\r\n <div (click)=\"selectOption(null)\" class=\"input-option \" style=\"padding: 3px;\" >- Ninguno -</div>\r\n <div class=\"option-divider\"></div>\r\n }\r\n\r\n @for (option of options; track $index) {\r\n <div (click)=\"selectOption(option)\" class=\"input-option\">\r\n <div style=\"padding: 2px;\">\r\n <div class=\"f-medium\">{{option.text }}</div>\r\n <div *ngIf=\"showSubtitle\" class=\"f-extralight\">{{option.detail}}</div>\r\n </div>\r\n </div>\r\n @if ($index < (options.length - 1)){\r\n <div class=\"option-divider\"></div>\r\n }\r\n }\r\n @if (options.length == 0) {\r\n <div class=\"fakeinput-alert t-disabled\">No hay elementos para mostrar</div>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n\r\n </div>\r\n <!-- ALERTS -->\r\n @if (tip) {\r\n <div class=\"fakeinput-alert tip\">{{tip}}</div>\r\n }\r\n @if (error) {\r\n <div class=\"fakeinput-alert f-red\">{{error}}</div>\r\n }\r\n </div>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonColor } from '../../button/button.component';\r\n\r\n@Component({\r\n selector: 'ui-input',\r\n imports: [ CommonModule],\r\n templateUrl: './input.component.html',\r\n styleUrl: '../input.component.scss'\r\n})\r\nexport class UicInputComponent {\r\n @Input() icon = ''; // Icono externo\r\n @Input() iconColor: ButtonColor = 'black';\r\n @Input() internalIcon = ''; //Icono interno\r\n @Input() size: 's' | 'm' | 'l' = 'm'; // tamaño general del input\r\n // TEXTO\r\n @Input() label = '';\r\n @Input() error = '';\r\n @Input() tip = '';\r\n // FUNCTIONS\r\n @Input() disabled = false;\r\n @Output() clickButton = new EventEmitter<boolean>();\r\n\r\n\r\n disableBtn = false;\r\n disableButton(){\r\n this.clickButton.emit();\r\n this.disableBtn = true;\r\n setTimeout(() => {\r\n this.disableBtn = false;\r\n }, 200);\r\n }\r\n}\r\n","<div class=\"input-wrapper\">\r\n \r\n @if (icon) {\r\n <i class=\"input-externalicon f-{{iconColor}} {{icon}}\"></i>\r\n }\r\n <div class=\"input-elements\" [style]=\"icon?'max-width: calc(100% - 34px);':''\">\r\n \r\n @if (label) {\r\n <div class=\"label inputlabel\" [class.font-error]=\"error\">\r\n {{label}} \r\n </div>\r\n }\r\n \r\n <div class=\"fakeinput\" [ngClass]=\"{'errorinput':error, 'disabledinput':disabled}\">\r\n @if (internalIcon) {\r\n <i class=\"input-internalicon-{{size}} {{internalIcon}}\" ></i>\r\n }\r\n <div class=\"input-container pad-{{size}}\" >\r\n <ng-content class=\"myinput\"></ng-content>\r\n </div> \r\n </div>\r\n\r\n @if (tip) {\r\n <div class=\"fakeinput-alert tip\">{{tip}}</div>\r\n }\r\n @if (error) {\r\n <div class=\"fakeinput-alert f-red\">{{error}}</div>\r\n }\r\n \r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormField } from '../form.models';\r\nimport { UicSelectComponent } from '../../inputs/select/select.component';\r\nimport { UicInputComponent } from '../../inputs/input/input.component';\r\nimport { UicCheckboxComponent } from '../../checkbox/checkbox.component';\r\n\r\n@Component({\r\n selector: 'ui-dynamic-form',\r\n imports: [ReactiveFormsModule, UicSelectComponent, UicInputComponent, UicCheckboxComponent, FormsModule],\r\n templateUrl: './dynamic-form.component.html',\r\n styleUrl: './dynamic-form.component.scss'\r\n})\r\nexport class UicDynamicFormComponent {\r\n @Input() fields: FormField[] = [];\r\n @Input({ required: true }) form!: FormGroup;\r\n\r\n flag = false;\r\n}\r\n","<div class=\"form\" [formGroup]=\"form\">\r\n @for (field of fields; track field.name) {\r\n <div class=\"col-span-{{field.colSpan || 1}}\">\r\n \r\n @if ( ['text','number','date'].includes(field.type) ) {\r\n <ui-input \r\n [error]=\"(form.get(field.name)?.touched && form.get(field.name)?.invalid) ? 'Error': ''\"\r\n [label]=\"field.label\">\r\n <input \r\n [id]=\"field.name\"\r\n [formControlName]=\"field.name\"\r\n [type]=\"field.type\"\r\n [placeholder]=\"field.placeholder??field.label\"\r\n />\r\n </ui-input>\r\n\r\n }\r\n\r\n @if (field.type === 'select') {\r\n <ui-select\r\n [error]=\"(form.get(field.name)?.touched && form.get(field.name)?.invalid) ? 'Error': ''\"\r\n [label]=\"field.label\"\r\n [id]=\"field.name\"\r\n [formControlName]=\"field.name\"\r\n [options]=\"field.options || []\"\r\n ></ui-select>\r\n }\r\n\r\n @if (field.type === 'checkbox') {\r\n <ui-checkbox\r\n [id]=\"field.name\"\r\n [formControlName]=\"field.name\"\r\n [placeholder]=\"field.placeholder??''\"\r\n [label]=\"field.label\"\r\n ></ui-checkbox>\r\n }\r\n </div>\r\n }\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ui-skeleton-loader',\r\n imports: [ CommonModule ],\r\n templateUrl: './skeleton-loader.component.html',\r\n styleUrl: './skeleton-loader.component.scss'\r\n})\r\nexport class UicSkeletonLoaderComponent {\r\n @Input() inputs: number = 3; \r\n @Input() cols: number = 3; \r\n\r\n get gridStyle() {\r\n return {\r\n 'grid-template-columns': `repeat(${this.cols}, 1fr)`\r\n };\r\n }\r\n}\r\n","<div class=\"skeleton-form\" [ngStyle]=\"gridStyle\">\r\n @for (r of [].constructor(inputs); track $index) {\r\n <div class=\"skeleton-input-container\">\r\n <div class=\"skeleton-gradient skeleton-label\"></div>\r\n <div class=\"skeleton-gradient skeleton-input\"></div>\r\n </div>\r\n }\r\n</div>","import { Component, EventEmitter, inject, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormBlock, FormField, FormResult, FormSchema } from '../form.models';\r\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\r\nimport { UicDynamicFormComponent } from '../form/dynamic-form.component';\r\nimport { UicSkeletonLoaderComponent } from '../../skeleton-loader/skeleton-loader.component';\r\n\r\n@Component({\r\n selector: 'ui-form-wrapper',\r\n imports: [UicDynamicFormComponent, UicSkeletonLoaderComponent,ReactiveFormsModule],\r\n templateUrl: './form-wrapper.component.html',\r\n styleUrl: './form-wrapper.component.scss'\r\n})\r\nexport class UicFormWrapperComponent implements OnInit, OnChanges {\r\n @Input() schema!: FormSchema;\r\n @Input() loading = false;\r\n @Input() initialValues: Record<string, any> = {};\r\n\r\n useSteps = false;\r\n\r\n @Output() formSubmit = new EventEmitter<FormResult>();\r\n\r\n private readonly fb = inject(FormBuilder);\r\n form: FormGroup = this.fb.group({});\r\n currentStep = 0;\r\n\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n this.useSteps = !!this.schema.steps && this.schema.steps.length > 0;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['schema']) {\r\n this.buildForm();\r\n this.useSteps = !!this.schema.steps && this.schema.steps.length > 0;\r\n if (this.useSteps && this.schema?.steps) {\r\n this.currentStep = Math.min(this.currentStep, (this.schema.steps.length - 1) || 0);\r\n }\r\n }\r\n }\r\n\r\n handleSubmit() {\r\n if (this.form.valid) {\r\n this.formSubmit.emit({result:true, form:this.form.value});\r\n } else {\r\n this.form.markAllAsTouched();\r\n this.formSubmit.emit({result:false, form:null});\r\n }\r\n }\r\n\r\n private collectAllFields(): FormField[] {\r\n if (!this.schema) return [];\r\n\r\n if (this.useSteps && this.schema.steps ) {\r\n return this.schema.steps.flatMap(step => (step.blocks ?? []).flatMap(b => b.fields ?? []));\r\n }\r\n return (this.schema.blocks ?? []).flatMap(b => b.fields ?? []);\r\n }\r\n\r\n private buildForm() {\r\n const fields = this.collectAllFields();\r\n \r\n fields.forEach(f => {\r\n if (!this.form.contains(f.name)) {\r\n const validators = this.mapValidatorsFromField(f);\r\n let initial = this.initialValues[f.name] ?? null;\r\n if (f.type == 'checkbox' && initial==null) initial = false; \r\n this.form.addControl(\r\n f.name, \r\n this.fb.control(initial, validators)\r\n );\r\n }\r\n });\r\n\r\n const namesToKeep = new Set(fields.map(f => f.name));\r\n Object.keys(this.form.controls).forEach(name => {\r\n if (!namesToKeep.has(name)) {\r\n this.form.removeControl(name);\r\n }\r\n });\r\n }\r\n\r\n private mapValidatorsFromField(f: FormField) {\r\n const validators = [];\r\n if (f.required) validators.push(Validators.required);\r\n if (typeof f.min === 'number') validators.push(Validators.min(f.min));\r\n if (typeof f.max === 'number') validators.push(Validators.max(f.max));\r\n if (f.pattern instanceof RegExp) validators.push(Validators.pattern(f.pattern));\r\n return validators;\r\n }\r\n\r\n getCurrentBlocks(): FormBlock[] {\r\n if (!this.schema) return [];\r\n if (this.useSteps) {\r\n const step = this.schema.steps?.[this.currentStep];\r\n return step?.blocks ?? [];\r\n }\r\n return this.schema.blocks ?? [];\r\n }\r\n\r\n nextStep() {\r\n const stepsCount = this.schema?.steps?.length ?? 0;\r\n if (this.useSteps && this.currentStep < stepsCount - 1) {\r\n this.currentStep++;\r\n }\r\n }\r\n\r\n prevStep() {\r\n if (this.useSteps && this.currentStep > 0) {\r\n this.currentStep--;\r\n }\r\n }\r\n\r\n getStepTitle(): string { \r\n return this.schema.steps?.[this.currentStep]?.title ?? '';\r\n }\r\n\r\n \r\n}\r\n","<form [formGroup]=\"form\" (ngSubmit)=\"handleSubmit()\">\r\n\r\n @if (useSteps) {\r\n @if (schema.steps?.length) {\r\n\r\n <div class=\"step-title\">{{ getStepTitle()}}</div>\r\n @if (loading) {\r\n <ui-skeleton-loader\r\n [cols]=\"schema.cols\"\r\n [inputs]=\"(schema.steps?.[currentStep]?.blocks?.[0]?.fields?.length) ?? 0\"\r\n ></ui-skeleton-loader>\r\n } \r\n @else {\r\n @for (block of getCurrentBlocks(); track block.title) {\r\n <section class=\"form-block\">\r\n <div class=\"block-title\">{{ block.title }}</div>\r\n <ui-dynamic-form\r\n [fields]=\"block.fields\"\r\n [form]=\"form\">\r\n </ui-dynamic-form>\r\n </section>\r\n }\r\n }\r\n <div class=\"step-controls\">\r\n <button type=\"button\" (click)=\"prevStep()\" [disabled]=\"currentStep === 0\">Anterior</button>\r\n\r\n @if ((schema.steps?.length ?? 0) > 0 && currentStep < ((schema.steps?.length ?? 1) - 1)) {\r\n <button type=\"button\" (click)=\"nextStep()\">Siguiente</button>\r\n } @else {\r\n <button type=\"submit\">Guardar</button>\r\n }\r\n </div>\r\n } \r\n } \r\n @else {\r\n @for (block of getCurrentBlocks(); track block.title) {\r\n <section class=\"form-block\">\r\n @if (block.title){\r\n <div class=\"block-title\">{{ block.title }}</div>\r\n }\r\n @if (loading) {\r\n <ui-skeleton-loader\r\n [cols]=\"schema.cols\"\r\n [inputs]=\"block.fields.length\"\r\n ></ui-skeleton-loader>\r\n } @else {\r\n <ui-dynamic-form\r\n [fields]=\"block.fields\"\r\n [form]=\"form\">\r\n </ui-dynamic-form>\r\n }\r\n </section>\r\n }\r\n }\r\n</form>\r\n","import { Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\nimport { AsyncPipe, CommonModule } from '@angular/common';\r\nimport { Component, ElementRef, EventEmitter, Input, Output, Renderer2, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { debounceTime, distinctUntilChanged, finalize, Observable,of,Subject, switchMap, tap } from 'rxjs';\r\nimport { UicButtonComponent } from '../../button/button.component';\r\n\r\n@Component({\r\n selector: 'ui-searcher',\r\n imports: [CommonModule,FormsModule,AsyncPipe, UicButtonComponent],\r\n templateUrl: './searcher.component.html',\r\n styleUrls: ['./searcher.component.scss', '../input.component.scss']\r\n})\r\nexport class UicSearcherComponent {\r\n\r\n @Input() icon = ''; // Icono externo\r\n @Input() iconColor: 'primary'|'secondary'|'error'|'light'|'grey' = 'secondary'; //color de ícono externo\r\n @Input() internalIcon = ''; //Icono interno\r\n @Input() size: 's' | 'm' | 'l' = 'm'; // tamaño general del input\r\n // TEXTO\r\n @Input() label = '';\r\n @Input() error = '';\r\n @Input() tip = '';\r\n // FUNCTIONS\r\n @Input() disabled = false; \r\n @Input() showSelected = true;\r\n @Input() placeholder = 'Buscar...';\r\n open = false;\r\n \r\n @Input() searchFn!: (query: string) => Observable<any[]>;\r\n @Input() itemDisplayFn: (item: any) => string = item => String(item);\r\n @Input() itemIsEnabledFn: (item: any) => boolean = () => true;\r\n \r\n @Input() manualSearch: boolean = false;\r\n \r\n @Input() selectedItem:any = null;\r\n @Output() selectedItemChange = new EventEmitter<any>();\r\n\r\n isLoading = false;\r\n searchText: string = '';\r\n private readonly searchSubject = new Subject<string>();\r\n results$: Observable<any[]>;\r\n @ViewChild('inputwrapp') toggleButton!: ElementRef;\r\n private unlistener!: () => void;\r\n\r\n constructor(\r\n private readonly renderer:Renderer2,\r\n private readonly overlay: Overlay,\r\n private readonly positionBuilder: OverlayPositionBuilder,\r\n private readonly vcr: ViewContainerRef\r\n ){\r\n this.results$ = this.searchSubject.pipe(\r\n debounceTime(300),\r\n distinctUntilChanged(),\r\n tap(() => this.isLoading = true),\r\n switchMap( v => {\r\n if (v.length < 3) {\r\n this.isLoading = false;\r\n return of([]);\r\n }\r\n return this.searchFn(v).pipe( finalize(()=>this.isLoading=false) )}\r\n )\r\n );\r\n }\r\n \r\n openList(){\r\n if (!this.disabled && !this.open){\r\n this.open = true;\r\n this.openOverlay();\r\n if( this.open ){\r\n setTimeout(() => {\r\n this.unlistener = this.renderer.listen('window', 'click',(e:Event)=>{\r\n if(!this.toggleButton.nativeElement.contains(e.target) ){\r\n this.clearSearch();\r\n this.unlistener();\r\n }\r\n });\r\n }, 200);\r\n }\r\n }\r\n }\r\n\r\n onSearchChange(value: string) {\r\n this.searchText = value; \r\n if (!this.manualSearch) {\r\n this.searchSubject.next(value);\r\n }\r\n }\r\n\r\n triggerSearch() {\r\n this.searchSubject.next(this.searchText);\r\n }\r\n\r\n selectItem(item: any) {\r\n if ( this.itemIsEnabledFn(item)){\r\n this.clearSearch();\r\n this.selectedItemChange.emit(item);\r\n if ( this.showSelected ) this.selectedItem = item;\r\n }\r\n }\r\n\r\n clearSearch() {\r\n this.searchText = '';\r\n this.open = false;\r\n this.closeOverlay();\r\n this.searchSubject.next('');\r\n }\r\n\r\n unselect(){\r\n this.selectedItem = null;\r\n this.selectedItemChange.emit(null);\r\n }\r\n\r\n @ViewChild('dropdownTemplate') dropdownTemplateRef!: TemplateRef<any>;\r\n overlayRef!: OverlayRef;\r\n closeOverlay() {\r\n if (this.overlayRef) {\r\n this.overlayRef.dispose();\r\n this.overlayRef = null!;\r\n }\r\n }\r\n openOverlay(){\r\n if (this.overlayRef) return;\r\n const width = this.toggleButton.nativeElement.getBoundingClientRect().width;\r\n const positionStrategy = this.positionBuilder\r\n .flexibleConnectedTo(this.toggleButton)\r\n .withPositions([\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n }\r\n ])\r\n .withFlexibleDimensions(false)\r\n .withPush(false);\r\n\r\n this.overlayRef = this.overlay.create({\r\n positionStrategy,\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n hasBackdrop: true,\r\n backdropClass: 'transparent-backdrop'\r\n });\r\n const templatePortal = new TemplatePortal(this.dropdownTemplateRef, this.vcr);\r\n this.overlayRef.attach(templatePortal);\r\n \r\n this.overlayRef.backdropClick().subscribe(() => this.closeOverlay());\r\n this.overlayRef.overlayElement.style.width = `${width}px`;\r\n }\r\n}\r\n","\r\n<div class=\"input-wrapper\">\r\n @if (icon) {\r\n <i class=\"input-externalicon f-{{iconColor}} {{icon}}\"></i>\r\n }\r\n <div class=\"input-elements\" [style]=\"icon?'max-width: calc(100% - 34px);':''\"> \r\n <div class=\"label inputlabel\" [class.font-error]=\"error\">\r\n {{label}} \r\n </div>\r\n \r\n <div class=\"fakeinput-wrapp\" #inputwrapp >\r\n <!-- INPUT -->\r\n <div class=\"fakeinput\" [ngClass]=\"{'errorinput':error, 'disabledinput':disabled}\">\r\n @if (selectedItem == null) { \r\n @if (internalIcon) {\r\n <i class=\"input-internalicon-{{size}} {{internalIcon}}\" ></i>\r\n }\r\n <div class=\"input-container pad-{{size}}\" >\r\n <input\r\n (focus)=\"openList()\"\r\n type=\"text\"\r\n (keydown.enter)=\"triggerSearch()\"\r\n (keydown.escape)=\"clearSearch()\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchChange($event)\"\r\n [placeholder]=\"placeholder\"\r\n />\r\n </div> \r\n @if (manualSearch) {\r\n <ui-button (click)=\"triggerSearch()\" size=\"t\" ></ui-button>\r\n }\r\n <ui-button size=\"t\" icon=\"ri-close-large-line\" (click)=\"clearSearch()\"></ui-button>\r\n }@else {\r\n <div class=\"input-container pad-{{size}}\" >\r\n <div class=\"selected-item\" >\r\n <div class=\"selected-item-text\" [innerHTML]=\"itemDisplayFn(selectedItem)\"></div> \r\n <ui-button (click)=\"unselect()\" type=\"ghost\" size=\"t\" icon=\"ri-close-large-line\" color=\"red\"></ui-button>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (tip) {\r\n <div class=\"fakeinput-alert tip\">{{tip}}</div>\r\n }\r\n @if (error) {\r\n <div class=\"fakeinput-alert f-red\">{{error}}</div>\r\n }\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #dropdownTemplate>\r\n @if (results$ | async; as items){\r\n <div class=\"results\">\r\n @if (isLoading) {\r\n <div class=\"loader\"></div>\r\n }\r\n <div class=\"input-option-scroll\">\r\n @for (item of items; track $index) {\r\n <div class=\"input-option\" [class.item-disabled]=\"!itemIsEnabledFn(item)\" (click)=\"selectItem(item)\" [innerHTML]=\"itemDisplayFn(item)\">\r\n </div>\r\n }@empty {\r\n <div class=\"t-disabled\">No hay elementos para mostrar</div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { UicButtonComponent } from '../../button/button.component';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'uic-table-searcher',\r\n imports: [UicButtonComponent, FormsModule],\r\n templateUrl: './table-searcher.component.html',\r\n styleUrl: './table-searcher.component.scss'\r\n})\r\nexport class UicTableUicSearcherComponent {\r\n @Input() placeholder = '';\r\n @Input() label = 'Buscar';\r\n @Input() searchOnKeydown = false;\r\n @Output() filter = new EventEmitter<string>();\r\n text = \"\";\r\n\r\n reset(){\r\n this.text = '';\r\n this.filter.emit(this.text);\r\n }\r\n\r\n updateText(){\r\n if ( this.searchOnKeydown ){\r\n this.filter.emit(this.text);\r\n }\r\n }\r\n}\r\n","\r\n<div class=\"searcher\">\r\n <div class=\"fakeinput\">\r\n <i class=\"ri-search-line\"></i>\r\n <input [(ngModel)]=\"text\" type=\"text\" (ngModelChange)=\"updateText()\" (keydown.enter)=\"filter.emit(text)\" placeholder=\"{{placeholder}}\">\r\n </div>\r\n <ui-button (click)=\"filter.emit(text)\" color=\"black\" type=\"bordered\" rightIcon=\"ri-search-2-line\" size=\"m\">Buscar</ui-button>\r\n <ui-button (click)=\"reset()\" color=\"black\" type=\"bordered\" rightIcon=\"ri-close-circle-line\" size=\"m\">Limpiar</ui-button>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { UicButtonComponent } from '../../button/button.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'uic-table-pagination',\r\n imports: [CommonModule, UicButtonComponent, FormsModule],\r\n templateUrl: './table-pagination.component.html',\r\n styleUrl: './table-pagination.component.scss'\r\n})\r\nexport class UicTablePaginationComponent {\r\n\r\n @Input() currentPage = 1;\r\n @Input() totalPages = 1;\r\n @Input() size = 25;\r\n @Input() loading = false;\r\n visiblePages = 3;\r\n pagesInView:number[] = [];\r\n\r\n @Output() pageChange = new EventEmitter<number>();\r\n @Output() sizeChange = new EventEmitter<number>();\r\n\r\n get pages(): (number | string)[] {\r\n const pages: (number | string)[] = [];\r\n const range = Math.floor(this.visiblePages / 2);\r\n let start = Math.max(1, this.currentPage - range);\r\n let end = Math.min(this.totalPages, this.currentPage + range);\r\n\r\n if (end === this.totalPages) {\r\n start = Math.max(1, this.totalPages - (this.visiblePages - 1));\r\n }\r\n if (start === 1) {\r\n end = Math.min(this.totalPages, this.visiblePages);\r\n }\r\n\r\n if (start > 1) {\r\n pages.push(1);\r\n if (start > 2) pages.push('...');\r\n }\r\n\r\n for (let i = start; i <= end; i++) {\r\n pages.push(i);\r\n }\r\n\r\n if (end < this.totalPages) {\r\n if (end < this.totalPages - 1) pages.push('...');\r\n pages.push(this.totalPages);\r\n }\r\n\r\n return pages;\r\n }\r\n\r\n changePage(newPage: number) {\r\n if (newPage >= 1 && newPage <= this.totalPages && newPage !== this.currentPage) {\r\n this.currentPage = newPage;\r\n this.pageChange.emit(this.currentPage);\r\n }\r\n }\r\n}\r\n","\r\n<div class=\"table-page\">\r\n <ui-button [disabled]=\"loading || currentPage == 1\" (click)=\"changePage(currentPage - 1)\" size=\"m\" color=\"black\" type=\"bordered\" text=\"Anterior\" icon=\"ri-arrow-left-line\" > </ui-button> \r\n <div class=\"table-numbers\">\r\n @for (p of pages; track $index) {\r\n @if ( p!= '...' ){\r\n <button [disabled]=\"loading\" (click)=\"changePage(+p)\" [ngClass]=\"{'selected':currentPage==p}\" class=\"number\">{{p}}</button>\r\n } @else {\r\n <div class=\"space\">...</div>\r\n }\r\n \r\n }\r\n </div>\r\n <ui-button [disabled]=\"loading || currentPage == totalPages\" (click)=\"changePage(currentPage + 1)\" size=\"m\" color=\"black\" type=\"bordered\" text=\"Siguiente\" rightIcon=\"ri-arrow-right-line\" > </ui-button>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { TableList } from '../table.models';\r\n\r\n@Component({\r\n selector: 'uic-table-list',\r\n imports: [],\r\n templateUrl: './table-list.component.html',\r\n styleUrl: './table-list.component.scss'\r\n})\r\nexport class UicTableListComponent {\r\n @Input() list:TableList[]=[];\r\n}\r\n","@for (item of list; track $index) {\r\n <div class=\"list-item\">\r\n <i [class]=\"item.icon??'ri-capsule-fill'\"></i>\r\n <div class=\"list-item-data\">\r\n <div>{{item.text}}</div>\r\n <p>{{item.subtext}}</p>\r\n </div> \r\n </div>\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nameInitials'\r\n})\r\nexport class UicNameInitsPipe implements PipeTransform {\r\n\r\n transform(value: string): string {\r\n if (!value){\r\n return \"\";\r\n }\r\n const names:string[] = value.split(\" \");\r\n if (names.length > 1){\r\n return names[0].charAt(0) + names[1].charAt(0).toUpperCase(); \r\n }else if ( names[0].length>=2){\r\n return names[0].substring(0,2).toUpperCase();\r\n }else{\r\n return '';\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { TableUser } from '../table.models';\r\nimport { UicNameInitsPipe } from '../../../pipes/name-inits.pipe';\r\n\r\n@Component({\r\n selector: 'uic-table-user',\r\n imports: [UicNameInitsPipe],\r\n templateUrl: './table-user.component.html',\r\n styleUrl: './table-user.component.scss'\r\n})\r\nexport class UicTableUserComponent {\r\n @Input() user:TableUser | undefined;\r\n}\r\n","@if (user) {\r\n <div class=\"user-row\">\r\n <div class=\"user-inits\">\r\n {{user.name | nameInitials}}\r\n </div>\r\n <div class=\"user-row-data\">\r\n <div>{{user.name}}</div>\r\n <p>{{user.id}}</p>\r\n </div>\r\n </div>\r\n}@else{\r\n -\r\n}","import { Component } from '@angular/core';\r\nimport { fadeAndRise } from '../../animations/fadeAndRise.animation';\r\n\r\n@Component({\r\n selector: 'ui-tooltip',\r\n imports: [],\r\n templateUrl: './tooltip.component.html',\r\n styleUrl: './tooltip.component.scss',\r\n animations: [ fadeAndRise ]\r\n})\r\nexport class UicTooltipComponent {\r\n tooltip: string = '';\r\n left: number = 0;\r\n top: number = 0;\r\n}\r\n","<div @fadeAndRise class=\"tooltip\" \r\n [style.left]=\"left + 'px'\" [style.top]=\"top + 'px'\" [innerHTML]=\"tooltip\">\r\n</div>","import { ApplicationRef, ComponentRef, createComponent, \r\n Directive, ElementRef, EmbeddedViewRef, EnvironmentInjector, HostListener, Input } from '@angular/core';\r\nimport { UicTooltipComponent } from '../components/tooltip/tooltip.component';\r\n\r\n\r\n@Directive({\r\n selector: '[tip]'\r\n})\r\nexport class UicToolTipDirective {\r\n\r\n\r\n @Input() tip = '';\r\n\r\n private componentRef: ComponentRef<any> | null = null;\r\n\r\n constructor(\r\n private readonly elementRef: ElementRef,\r\n private readonly appRef: ApplicationRef, \r\n private readonly injector: EnvironmentInjector) {\r\n }\r\n\r\n @HostListener('mouseenter')\r\n onMouseEnter(): void {\r\n if (this.componentRef === null && this.tip!='' && this.tip!=null) {\r\n this.componentRef = createComponent(UicTooltipComponent, {\r\n environmentInjector: this.injector\r\n });\r\n\r\n this.appRef.attachView(this.componentRef.hostView);\r\n const domElem = \r\n (this.componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement; \r\n document.body.appendChild(domElem);\r\n this.setTooltipComponentProperties();\r\n }\r\n }\r\n\r\n private setTooltipComponentProperties() {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltip = this.tip;\r\n const {left, right, bottom} = \t\t \t\r\n this.elementRef.nativeElement.getBoundingClientRect();\r\n this.componentRef.instance.left = (right - left) / 2 + left;\r\n this.componentRef.instance.top = bottom;\r\n }\r\n }\r\n\r\n @HostListener('mouseleave')\r\n onMouseLeave(): void {\r\n this.destroy();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n destroy(): void {\r\n if (this.componentRef !== null) {\r\n this.appRef.detachView(this.componentRef.hostView);\r\n this.componentRef.destroy();\r\n this.componentRef = null;\r\n }\r\n }\r\n}\r\n","import { animate, keyframes, state, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport const highlightRow = trigger('highlightRow', [\r\n state('highlighted', style({ backgroundColor: '#efe1f5' })),\r\n transition('* => highlighted', [\r\n animate('1000ms ease-in', keyframes([\r\n style({ backgroundColor: '#ffffff', offset: 0 }),\r\n style({ backgroundColor: '#efe1f5', offset: 0.3 }),\r\n style({ backgroundColor: '#ffffff', offset: 1.0 }),\r\n ]))\r\n ])\r\n ]);","import { animate, style, transition, trigger } from \"@angular/animations\";\r\nexport const animatedRow = trigger('animatedRow', [\r\n transition(':enter', [\r\n style({ opacity: 0, transform: 'translateY(-15px)' }),\r\n animate('300ms ease-out', style({ opacity: 1, transform: 'translateY(0)' })),\r\n ]),\r\n transition(':leave', [\r\n animate('300ms ease-in', style({ opacity: 0, height: 0, padding: 0, margin: 0 }))\r\n ]),\r\n ]);","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { TableAction, TableColums, TableRow, TableFilters, TableRowData } from './table.models';\r\nimport { UicButtonComponent } from '../button/button.component';\r\nimport { UicTableUicSearcherComponent } from './table-searcher/table-searcher.component';\r\nimport { UicTablePaginationComponent } from './table-pagination/table-pagination.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UicTableListComponent } from './table-list/table-list.component';\r\nimport { UicTableUserComponent } from './table-user/table-user.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { UicToolTipDirective } from '../../directives/tool-tip.directive';\r\nimport { UicCheckboxComponent } from '../checkbox/checkbox.component';\r\nimport { highlightRow } from '../../animations/highlightRow.animation';\r\nimport { animatedRow } from '../../animations/animatedRow.animation';\r\n\r\n@Component({\r\n selector: 'ui-table',\r\n imports: [CommonModule, UicButtonComponent, UicTableUserComponent, UicTableListComponent, UicTableUicSearcherComponent, \r\n UicTablePaginationComponent,UicToolTipDirective,UicCheckboxComponent, FormsModule],\r\n templateUrl: './table.component.html',\r\n styleUrl: './table.component.scss',\r\n animations: [ highlightRow, animatedRow ]\r\n})\r\nexport class UicTableComponent {\r\n \r\n @Input() columns:TableColums[] = [];\r\n @Input() data:TableRow[] = [];\r\n @Input() loading = false;\r\n @Input() pages = 0;\r\n @Input() size = 25;\r\n @Input() highlightedId: string |number = 0;\r\n @Input() headerText = '';\r\n @Input() totalItems = 0;\r\n \r\n @Input() searchEnabled = true;\r\n @Input() searchLabel = 'Buscar';\r\n @Input() searchPlaceholder = 'Buscar';\r\n @Input() striped = false;\r\n @Input() showPagination = true;\r\n @Input() showEmptyMessage = false;\r\n @Input() emptyMessage = 'No hay elementos';\r\n \r\n \r\n \r\n @Output() action = new EventEmitter<TableAction>();\r\n @Output() update = new EventEmitter<TableFilters>();\r\n @Output() checkedChange = new EventEmitter<(string|number)[]>(); \r\n \r\n checkedIds = new Set<string | number >();\r\n sortKey = '';\r\n sortAsc = true;\r\n filter = '';\r\n page=1;\r\n\r\n getValue(data:TableRowData[],key:string){\r\n const col = data.find(col => col.key == key);\r\n return col?.value??'-';\r\n }\r\n\r\n getFontColor(data:TableRowData[],key:string){\r\n const col = data.find(col => col.key == key);\r\n return 'trc-' + (col?.textColor??'black');\r\n }\r\n getBackgroundColor(data:TableRowData[],key:string){\r\n const col = data.find(col => col.key == key);\r\n return col?.color??'transparent';\r\n }\r\n\r\n isValidRule(data:TableRowData[],key:string[]|undefined):boolean{\r\n if ( !key ) return true;\r\n let valid = true;\r\n\r\n key.forEach(k => {\r\n const col = data.find(col => col.key == k);\r\n valid = valid && !!(col?.value);\r\n });\r\n \r\n return valid;\r\n }\r\n\r\n getIcon(data:TableRowData[],key:string){\r\n const col = data.find(col => col.key == key);\r\n return '<i class=\"' + col?.icon + '\"></i>';\r\n }\r\n\r\n getList(data:TableRowData[],key:string){\r\n const col = data.find(col => col.key == key);\r\n return col?.list??[];\r\n }\r\n getUser(data:TableRowData[],key:string){\r\n const col = data.find(col => col.key == key);\r\n return col?.user;\r\n }\r\n\r\n sortClick(key:string){\r\n if ( this.sortKey != key ){\r\n this.sortKey = key;\r\n this.sortAsc = true;\r\n }else if ( this.sortAsc ){\r\n this.sortAsc = false;\r\n }else{\r\n this.sortKey = '';\r\n this.sortAsc = true;\r\n }\r\n this.updateData();\r\n }\r\n sizeChabge(newSize:number){\r\n this.size = newSize;\r\n this.updateData(); \r\n }\r\n pageChage(newPage:number){\r\n this.page = newPage;\r\n this.updateData();\r\n }\r\n search(text:string){\r\n this.filter = text;\r\n this.updateData();\r\n }\r\n updateData(){\r\n this.update.emit({\r\n sortBy:this.sortKey,\r\n isSortAscending:this.sortAsc,\r\n pageNumber:this.page,\r\n pageSize:this.size,\r\n filter: this.filter\r\n })\r\n }\r\n \r\n toggleSelection(id: string|number, checked: boolean){\r\n if (checked) {\r\n this.checkedIds.add(id);\r\n } else {\r\n this.checkedIds.delete(id);\r\n }\r\n this.areAllSelected();\r\n this.checkedChange.emit(Array.from(this.checkedIds));\r\n }\r\n \r\n toggleAll(checked: boolean) {\r\n if (checked) {\r\n this.data.forEach(item => this.checkedIds.add(item.id));\r\n } else {\r\n this.checkedIds.clear();\r\n }\r\n this.checkedChange.emit(Array.from(this.checkedIds));\r\n }\r\n areAllSelected() {\r\n this.allSelected = this.checkedIds.size === this.data.length;\r\n }\r\n \r\n allSelected = false;\r\n ngOnChanges() {\r\n this.areAllSelected();\r\n }\r\n\r\n doAction(rowId:string|number,key:string){\r\n this.action.emit({rowId,key});\r\n }\r\n\r\n\r\n resetCheckedIds() {\r\n this.checkedIds.clear();\r\n this.checkedChange.emit([]);\r\n }\r\n}\r\n","<div class=\"table-filters\">\r\n @if (searchEnabled) {\r\n <uic-table-searcher (filter)=\"search($event)\" [placeholder]=\"searchPlaceholder\" ></uic-table-searcher>\r\n }\r\n <div class=\"filter-actions\">\r\n <ng-content select=\"[actions]\"></ng-content>\r\n </div>\r\n</div>\r\n<div class=\"table-wrapper\">\r\n @if (headerText) {\r\n <div class=\"table-topbar\"> {{headerText}} <span class=\"hightlited-note\"> {{totalItems}} </span> </div>\r\n }\r\n <div class=\"table-container\"> \r\n <table [class.striped]=\"striped\">\r\n <thead>\r\n <tr>\r\n @for (header of columns; track $index) {\r\n <th>\r\n <div class=\"th-wrap\">{{header.label.toUpperCase() }} \r\n @if (header.sortEnable) {\r\n <div (click)=\"sortClick(header.key)\" [ngClass]=\"{'sort-active':header.key == sortKey}\">\r\n <i [class]=\"(sortAsc||header.key != sortKey)?'ri-arrow-down-line':'ri-arrow-up-line'\"></i> \r\n </div>\r\n }\r\n @if (header.type=='checkbox') {\r\n <ui-checkbox [(ngModel)]=\"allSelected\" (ngModelChange)=\"toggleAll($event)\"></ui-checkbox>\r\n }\r\n </div>\r\n </th> \r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n\r\n @if (loading) {\r\n @for (item of [].constructor(5); track $index) {\r\n <tr class=\"\">\r\n @for (header of columns; track $index) {\r\n <td> <div class=\"row-loader\"></div> </td>\r\n }\r\n </tr> \r\n }\r\n } @else {\r\n @for (row of data; track row.id) {\r\n <tr [@highlightRow]=\"highlightedId === row.id ? 'highlighted' : null\" [class.tr-highlighted]=\"row.highlighted\">\r\n @for (header of columns; track $index) {\r\n <!-- TIPOS DE HEADERS -->\r\n <td [class]=\"getFontColor(row.data,header.key)\">\r\n @if (header.type == 'text') {\r\n {{ getValue(row.data,header.key) }} \r\n }\r\n @if (header.type == 'icon-list') {\r\n <div class=\"table-icon-wrap\">\r\n @for (alert of getList(row.data,header.key); track $index) {\r\n <i [tip]=\"alert.text\" [class]=\"alert.icon + ' alert'\" ></i>\r\n }\r\n </div>\r\n }\r\n @else if (header.type == 'list'){\r\n <uic-table-list [list]=\"getList(row.data,header.key)\"></uic-table-list> \r\n }\r\n @else if (header.type == 'user'){\r\n <uic-table-user [user]=\"getUser(row.data,header.key)\"></uic-table-user> \r\n }\r\n @else if (header.type == 'checkbox'){\r\n <ui-checkbox [ngModel]=\"checkedIds.has(row.id)\" (ngModelChange)=\"toggleSelection(row.id,$event)\" ></ui-checkbox> \r\n }\r\n @else if (header.type == 'actions') { \r\n <div class=\"table-actions\">\r\n @for (btn of header.actions; track $index) {\r\n @if (isValidRule(row.data,btn.rule)) {\r\n <ui-button \r\n [disabled]=\"loading\"\r\n [tip]=\"btn.tooltip??''\"\r\n size=\"s\"\r\n [iconOnly]=\"btn.text==null\"\r\n [text]=\"btn.text??''\"\r\n [icon]=\"btn.icon??''\"\r\n [color]=\"btn.color\"\r\n (click)=\"doAction(row.id,btn.key)\">\r\n </ui-button> \r\n }\r\n } \r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }@empty {\r\n @if (showEmptyMessage) {\r\n <tr> \r\n <td [colSpan]=\"columns.length\">\r\n <div class=\"empty\">{{emptyMessage}} </div>\r\n </td>\r\n </tr>\r\n }\r\n }\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n \r\n @if (showPagination) {\r\n <uic-table-pagination \r\n [loading]=\"loading\" \r\n [totalPages]=\"pages\" \r\n [size]=\"size\"\r\n (sizeChange)=\"sizeChabge($event)\"\r\n (pageChange)=\"pageChage($event)\">\r\n </uic-table-pagination>\r\n }\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ui-switch',\r\n imports: [],\r\n templateUrl: './toggle-button.component.html',\r\n styleUrl: './toggle-button.component.scss'\r\n})\r\nexport class UicSwichComponent {\r\n @Input() checked = false;\r\n @Output() checkedChange = new EventEmitter<boolean>();\r\n @Input() disabled = false;\r\n @Input() placeholder = '';\r\n\r\n \r\n\r\n toggle() {\r\n if (this.disabled) return;\r\n this.checked = !this.checked;\r\n this.checkedChange.emit(this.checked);\r\n }\r\n}\r\n","<div class=\"toggle-wrapper\" [class.disabled]=\"disabled\">\r\n <button\r\n type=\"button\"\r\n class=\"toggle\"\r\n [class.checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n (click)=\"toggle()\"\r\n >\r\n <span class=\"thumb\"></span>\r\n </button>\r\n {{placeholder}}\r\n</div>","import { animate, style, transition, trigger } from \"@angular/animations\";\r\nexport const pushTop = trigger('pushTop', [\r\n transition(':enter',[style({opacity:0, transform: 'translateY(20px)'}), animate('.3s ease', style({opacity:1, transform: 'translateY(0)'}))]),\r\n transition(':leave', [animate('.3s ease', style({opacity:0, transform: 'translateY(-20px)'}))])\r\n ]);","import { animate, state, style, transition, trigger } from \"@angular/animations\";\r\nexport const sideModal = trigger('sideModal', [\r\n state('visible', style({ transform: 'translateX(0)' })),\r\n state('hidden', style({ transform: 'translateX(100%)' })),\r\n\r\n // animación al CREARSE\r\n transition('void => visible', [\r\n style({ opacity: .8, transform: 'translateX(100%)' }),\r\n animate('.5s ease')\r\n ]),\r\n\r\n // animación al CERRAR\r\n transition('visible => hidden', [\r\n animate('.5s ease')\r\n ])\r\n])\r\n\r\nexport const fadeBackdrop =trigger('fadeBackdrop', [\r\n state('visible', style({ opacity: 1 })),\r\n state('hidden', style({ opacity: 0 })),\r\n transition('void => visible', [\r\n style({ opacity: 0 }),\r\n animate('300ms ease-out')\r\n ]),\r\n transition('visible => hidden', [\r\n animate('300ms ease-in')\r\n ])\r\n ])","import { animate, style, transition, trigger } from \"@angular/animations\";\r\nexport const simpleFade = trigger('simpleFade', [\r\n transition(':enter',[style({opacity:0}), animate('.3s ease', style({opacity:1}))]),\r\n transition(':leave', [animate('.3s ease', style({opacity:0}))])\r\n ]);","export const MODAL_DATA = 'MODAL_DATA';\r\nexport const MODAL_COMPONENT = 'MODAL_COMPONENT';\r\nexport const MODAL_CONFIG = 'MODAL_CONFIG';\r\nexport const MODAL_CLOSE_EVENT = 'modalClosed'; \r\nexport const MODAL_CLOSE_REQUEST = 'modalCloserRequested'; ","import { OverlayRef } from \"@angular/cdk/overlay\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { UicModalService } from \"./modal.service\";\r\n\r\nexport class UiModalRef<T = any> {\r\n private readonly _afterClosed = new Subject<{status:boolean, data: T | null}>();\r\n\r\n constructor(\r\n private readonly overlayRef: OverlayRef,\r\n private readonly modalService: UicModalService\r\n ) {}\r\n\r\n close(result: T | null = null): void {\r\n this.modalService.close(this.overlayRef, result);\r\n this._afterClosed.next({status: result!=null, data:result });\r\n this._afterClosed.complete();\r\n }\r\n\r\n closeFloating(result: T | null = null): void {\r\n this.modalService.closeFloating(this.overlayRef, result);\r\n this._afterClosed.next({status: result!=null, data:result });\r\n this._afterClosed.complete();\r\n }\r\n\r\n afterClosed(): Observable<{status:boolean, data: T | null}> {\r\n return this._afterClosed.asObservable();\r\n }\r\n}","import { CommonModule } from '@angular/common';\r\nimport { Component, Inject, Injector, Type, ViewChild } from '@angular/core';\r\nimport { CdkPortalOutlet, ComponentPortal, PortalModule } from '@angular/cdk/portal';\r\nimport { MODAL_COMPONENT, MODAL_CONFIG, MODAL_DATA } from '../../../services/modal.constant';\r\nimport { ModalConfig } from './modalconfig.model';\r\nimport { UicButtonComponent } from '../../button/button.component';\r\nimport { pushTop } from '../../../animations/pushTop.animation';\r\nimport { UiModalRef } from '../../../services/modaRef';\r\n\r\n\r\n@Component({\r\n selector: 'ui-modal',\r\n imports: [CommonModule,PortalModule,UicButtonComponent],\r\n templateUrl: './modal.component.html',\r\n styleUrl: './modal.component.scss',\r\n animations:[pushTop]\r\n})\r\nexport class UicModalComponent {\r\n myConfig:ModalConfig = {};\r\n ready = false;\r\n title='';\r\n @ViewChild(CdkPortalOutlet, { static: true }) portalOutlet!: CdkPortalOutlet;\r\n\r\n constructor(\r\n @Inject(UiModalRef) private readonly modalRef: UiModalRef,\r\n @Inject(MODAL_COMPONENT) private readonly component: Type<any>,\r\n @Inject(MODAL_CONFIG) private readonly congif: ModalConfig,\r\n private readonly injector: Injector\r\n ) {\r\n this.myConfig = congif;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const childInjector = Injector.create({\r\n providers: [\r\n { provide: UiModalRef, useValue: this.modalRef },\r\n { provide: MODAL_DATA, useValue: this.congif.data }\r\n ],\r\n parent: this.injector\r\n });\r\n const portal = new ComponentPortal(this.component, null, childInjector);\r\n this.portalOutlet.attachComponentPortal(portal);\r\n }\r\n\r\n\r\n closeOuside(){\r\n if ( !this.congif.preventCloseingOutside === true ){\r\n this.modalRef.closeFloating(null);\r\n }\r\n }\r\n\r\n close() {\r\n this.modalRef.closeFloating(null);\r\n }\r\n}\r\n","<div class=\"backdrop\" (click)=\"closeOuside()\"> \r\n <div @pushTop class=\"modal\" \r\n [class]=\"myConfig.size\"\r\n (click)=\"$event.stopPropagation()\">\r\n \r\n @if ( myConfig.title) {\r\n <div class=\"modal-header\">\r\n {{myConfig.title}}\r\n <ui-button color=\"red\" type=\"ghost\" icon=\"ri-close-large-line\" (click)=\"close()\" [iconOnly]=\"true\"></ui-button>\r\n </div>\r\n }\r\n <div class=\"modal-body\" [class.body-padding]=\"myConfig.title!='' && !myConfig.noPadding\">\r\n <ng-template cdkPortalOutlet></ng-template>\r\n </div>\r\n\r\n </div>\r\n</div>","import { CdkPortalOutlet, ComponentPortal, PortalModule } from '@angular/cdk/portal';\r\nimport { Component, Inject, Injector, Type, ViewChild } from '@angular/core';\r\nimport { MODAL_CLOSE_REQUEST, MODAL_COMPONENT, MODAL_CONFIG, MODAL_DATA } from '../../../services/modal.constant';\r\nimport { OverlayRef } from '@angular/cdk/overlay';\r\nimport { SideModalConfig } from './sideModalConfig.model';\r\nimport { UicButtonComponent } from '../../button/button.component';\r\nimport { fadeBackdrop, sideModal } from '../../../animations/sideModal.animation';\r\nimport { UiModalRef } from '../../../services/modaRef';\r\nimport { UicModalService } from '../../../services/modal.service';\r\n\r\n\r\n@Component({\r\n selector: 'ui-side-modal',\r\n imports: [PortalModule,UicButtonComponent],\r\n templateUrl: './side-modal.component.html',\r\n styleUrl: './side-modal.component.scss',\r\n animations: [ sideModal, fadeBackdrop ]\r\n})\r\nexport class UicSideModalComponent {\r\n overlayRef!: OverlayRef; // lo setea el servicio\r\n state: 'visible' | 'hidden' = 'visible';\r\n show = true;\r\n myConfig:SideModalConfig = {};\r\n ready = false;\r\n title='';\r\n @ViewChild(CdkPortalOutlet, { static: true }) portalOutlet!: CdkPortalOutlet;\r\n\r\n constructor(\r\n @Inject(UiModalRef) private readonly modalRef: UiModalRef,\r\n @Inject(MODAL_COMPONENT) private readonly component: Type<any>,\r\n @Inject(MODAL_CONFIG) private readonly congif: SideModalConfig,\r\n private readonly injector: Injector,\r\n private readonly modal:UicModalService\r\n ) {\r\n this.myConfig = congif;\r\n }\r\n\r\n ngOnInit() {\r\n if (this.overlayRef){\r\n this.overlayRef.hostElement.addEventListener(MODAL_CLOSE_REQUEST, () => {\r\n this.close();\r\n });\r\n }\r\n}\r\n\r\n ngAfterViewInit(): void {\r\n const childInjector = Injector.create({\r\n providers: [\r\n { provide: UiModalRef, useValue: this.modalRef },\r\n { provide: MODAL_DATA, useValue: this.congif.data }\r\n ],\r\n parent: this.injector\r\n });\r\n const portal = new ComponentPortal(this.component, null, childInjector);\r\n this.portalOutlet.attachComponentPortal(portal);\r\n }\r\n\r\n\r\n closeOuside(){\r\n if ( !this.congif.preventCloseingOutside === true ){\r\n this.close();\r\n }\r\n }\r\n\r\n close() {\r\n this.state = 'hidden';\r\n }\r\n\r\n onAnimationDone(event: any) {\r\n if (event.toState === 'hidden' && event.triggerName === 'sideModal') {\r\n this.overlayRef.dispose();\r\n }\r\n }\r\n\r\n save(){\r\n this.modal.triggerSave();\r\n }\r\n}\r\n","<div [@fadeBackdrop]=\"state\" class=\"backdrop\" (click)=\"closeOuside()\"> \r\n</div>\r\n<div [@sideModal]=\"state\" (@sideModal.done)=\"onAnimationDone($event)\" class=\"sidemodal\" [style.width]=\"myConfig.width??'60%'\" (click)=\"$event.stopPropagation()\">\r\n <ui-button class=\"close-icon\" (click)=\"close()\" icon=\"ri-close-large-line\" type=\"ghost\" color=\"black\" [iconOnly]=\"true\" size=\"m\"></ui-button>\r\n <div class=\"sidemodal-body\" [class.body-padding]=\"myConfig.title!=''\">\r\n <ng-template cdkPortalOutlet></ng-template>\r\n </div>\r\n @if (myConfig.footerEnabled) {\r\n <div class=\"sidemodal-footer\">\r\n @if (myConfig.showCancelButton) {\r\n <ui-button (click)=\"close()\" color=\"black\" size=\"l\" type=\"bordered\" icon=\"ri-close-line\">{{myConfig.footerCancelButtonText??'Cancelar'}}</ui-button>\r\n }\r\n <ui-button (click)=\"save()\" color=\"black\" size=\"l\" rightIcon=\"ri-check-line\">{{myConfig.footerOkButtonText??'Siguiente'}}</ui-button>\r\n </div>\r\n }\r\n</div>","import { EnvironmentInjector, inject, Injectable, Injector, Type } from '@angular/core';\r\nimport { MODAL_CLOSE_EVENT, MODAL_CLOSE_REQUEST, MODAL_COMPONENT, MODAL_CONFIG } from './modal.constant';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { UiModalRef } from './modaRef';\r\nimport { ModalConfig } from '../components/modal/floating-modal/modalconfig.model';\r\nimport { SideModalConfig } from '../components/modal/side-modal/sideModalConfig.model';\r\nimport { UicModalComponent } from '../components/modal/floating-modal/modal.component';\r\nimport { UicSideModalComponent } from '../components/modal/side-modal/side-modal.component';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UicModalService {\r\n\r\n private readonly overlay = inject(Overlay);\r\n private readonly envInjector = inject(EnvironmentInjector);\r\n\r\n openFloatingModal<TComponent>(\r\n component: Type<TComponent>,\r\n config: ModalConfig = {}\r\n ): UiModalRef {\r\n return this.openModal(component,config,true);\r\n }\r\n\r\n openSideModal<TComponent>(\r\n component: Type<TComponent>,\r\n config: SideModalConfig = {}\r\n ): UiModalRef {\r\n return this.openModal(component,config,false);\r\n }\r\n\r\n private openModal<TComponent>(\r\n component: Type<TComponent>,\r\n config: ModalConfig|SideModalConfig = {},\r\n isFloating = false\r\n ){\r\n const overlayConfig = this.createOverlayConfig(isFloating);\r\n const overlayRef = this.overlay.create(overlayConfig);\r\n const modalRef = new UiModalRef(overlayRef, this);\r\n const injector = this.createModalInjector(overlayRef,modalRef,component,config); \r\n if ( isFloating){\r\n const modalPortal = new ComponentPortal(UicModalComponent, null, injector);\r\n overlayRef.attach(modalPortal);\r\n }else{\r\n const modalPortal = new ComponentPortal( UicSideModalComponent, null, injector);\r\n const componentRef = overlayRef.attach(modalPortal);\r\n componentRef.instance.overlayRef = overlayRef;\r\n }\r\n return modalRef; \r\n }\r\n\r\n close(overlayRef: OverlayRef, result: any = null): void { \r\n overlayRef.hostElement.dispatchEvent(\r\n new CustomEvent(MODAL_CLOSE_REQUEST, { detail: result })\r\n );\r\n } \r\n\r\n closeFloating(overlayRef: OverlayRef, result: any = null){\r\n overlayRef.backdropElement?.dispatchEvent(\r\n new CustomEvent(MODAL_CLOSE_EVENT, { detail: result })\r\n );\r\n overlayRef.dispose();\r\n }\r\n\r\n private readonly _save$ = new Subject<void>();\r\n save$ = this._save$.asObservable();\r\n\r\n triggerSave(): void {\r\n this._save$.next();\r\n }\r\n\r\n private createOverlayConfig(isFloating: boolean): OverlayConfig {\r\n const positionStrategy = isFloating \r\n ? this.overlay.position().global().left()\r\n : this.overlay.position().global().right();\r\n\r\n return {\r\n hasBackdrop: true,\r\n backdropClass: 'cdk-overlay-dark-backdrop',\r\n positionStrategy,\r\n scrollStrategy: this.overlay.scrollStrategies.block(),\r\n disposeOnNavigation: true, \r\n };\r\n }\r\n\r\n private createModalInjector<TComponent>(\r\n overlayRef: OverlayRef,\r\n modalRef: UiModalRef,\r\n component: Type<TComponent>,\r\n config: ModalConfig | SideModalConfig\r\n ): Injector {\r\n return Injector.create({\r\n providers: [\r\n { provide: OverlayRef, useValue: overlayRef },\r\n { provide: UiModalRef, useValue: modalRef },\r\n { provide: MODAL_COMPONENT, useValue: component },\r\n { provide: MODAL_CONFIG, useValue: config }\r\n ],\r\n parent: this.envInjector,\r\n });\r\n }\r\n}\r\n\r\n","import { Component, Inject } from '@angular/core';\r\nimport { AlertData, AlertResponseData } from './tiny-alert.model';\r\nimport { MODAL_DATA } from '../../services/modal.constant';\r\nimport { UicButtonComponent } from '../button/button.component';\r\nimport { UiModalRef } from '../../services/modaRef';\r\n\r\n@Component({\r\n selector: 'lib-tiny-alert',\r\n imports: [UicButtonComponent],\r\n templateUrl: './tiny-alert.component.html',\r\n styleUrl: './tiny-alert.component.scss'\r\n})\r\nexport class TinyAlertComponent {\r\n data:AlertData;\r\n constructor(\r\n @Inject(MODAL_DATA) inData:{alert:AlertData,editing:boolean},\r\n @Inject(UiModalRef) private readonly modalRef: UiModalRef )\r\n {\r\n this.data = inData.alert;\r\n }\r\n response:AlertResponseData = {};\r\n\r\n\r\n close(value:boolean){\r\n this.modalRef.closeFloating(value?this.response:null);\r\n }\r\n}\r\n","<div class=\"alert-wrapper\">\r\n @if (data.iconPath != '') {\r\n <img [src]=\"data.iconPath\" alt=\"\"> \r\n }\r\n <h3> {{data.title}} </h3>\r\n <div class=\"alert-body\" [innerHTML]=\"data.body\"> </div>\r\n <div class=\"card-buttons\">\r\n @if (data.showCancelButton) {\r\n <ui-button (click)=\"close(false)\" type=\"bordered\" [color]=\"data.cancelButtonColor??'primary'\" size=\"l\"> {{data.cancelButtonText??'Cancelar'}} </ui-button>\r\n }\r\n <ui-button (click)=\"close(true)\" [color]=\"data.okButtonColor??'primary'\" size=\"l\"> {{data.okButtonText??'Continuar'}} </ui-button>\r\n </div>\r\n <button class=\"floating-close\" (click)=\"close(false)\" >\r\n <i class=\"ri-close-line\"></i>\r\n </button>\r\n</div>\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { AlertData, AlertResponse } from '../components/tiny-alert/tiny-alert.model';\r\nimport { TinyAlertComponent } from '../components/tiny-alert/tiny-alert.component';\r\nimport { UicModalService } from './modal.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UicTinyAlertService {\r\n\r\n private readonly modal = inject(UicModalService);\r\n\r\n showAlert(data: AlertData): Promise<AlertResponse> {\r\n return new Promise<AlertResponse>((resolve) => {\r\n this.modal.openFloatingModal(TinyAlertComponent, {\r\n data: { alert: data }\r\n }).afterClosed().subscribe(result => {\r\n resolve({\r\n value: result?.status,\r\n data: result?.data\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","import { Alert } from './alert.model';\r\n\r\nlet nextId = 1;\r\n\r\nexport function createSuccessAlert(\r\n message: string,\r\n options?: Partial<Alert>\r\n): Alert {\r\n return {\r\n id: nextId++,\r\n message,\r\n type: 'success',\r\n duration: 3000,\r\n ...options,\r\n };\r\n}\r\n\r\nexport function createErrorAlert(\r\n message: string,\r\n options?: Partial<Alert>\r\n): Alert {\r\n return {\r\n id: nextId++,\r\n message,\r\n type: 'error',\r\n duration: 5000,\r\n ...options,\r\n };\r\n}\r\n\r\nexport function createWarningAlert(\r\n message: string,\r\n options?: Partial<Alert>\r\n): Alert {\r\n return {\r\n id: nextId++,\r\n message,\r\n type: 'warning',\r\n duration: 4000,\r\n ...options,\r\n };\r\n}\r\n\r\nexport function createInfoAlert(\r\n message: string,\r\n options?: Partial<Alert>\r\n): Alert {\r\n return {\r\n id: nextId++,\r\n message,\r\n type: 'info',\r\n duration: 3000,\r\n ...options,\r\n };\r\n}","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { Alert, AlertConfigParams } from '../components/push-alerts/alert.model';\r\nimport { createErrorAlert, createSuccessAlert } from '../components/push-alerts/alert.helpers';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UicPushAlertService {\r\n\r\n autoIncId = 0;\r\n private readonly alerts$ = new Subject<Alert>();\r\n\r\n get stream() {\r\n return this.alerts$.asObservable();\r\n }\r\n\r\n show(alertData:AlertConfigParams) {\r\n this.autoIncId++;\r\n const alert: Alert = {...alertData,id:this.autoIncId};\r\n this.alerts$.next( alert );\r\n }\r\n\r\n success(message: string, options?: Partial<Alert>) {\r\n this.show(createSuccessAlert(message, options));\r\n }\r\n\r\n error(message: string, options?: Partial<Alert>) {\r\n this.show(createErrorAlert(message, options));\r\n }\r\n\r\n}\r\n","// COMPONENTS\r\nexport * from './lib/components/button/button.component';\r\nexport * from './lib/components/checkbox/checkbox.component';\r\nexport * from './lib/components/dynamic-form/form-wrapper/form-wrapper.component';\r\nexport * from './lib/components/inputs/input/input.component';\r\nexport * from './lib/components/inputs/searcher/searcher.component';\r\nexport * from './lib/components/inputs/select/select.component';\r\nexport * from './lib/components/table/table.component';\r\nexport * from './lib/components/toggle-button/toggle-button.component';\r\nexport * from './lib/components/skeleton-loader/skeleton-loader.component';\r\n\r\n// ANIMATIONS\r\nexport * from './lib/animations/animatios.index';\r\n\r\n\r\n// FORMULARIOS\r\nexport * from './lib/components/dynamic-form/form.models';\r\n\r\n// SERVICIOS\r\nexport * from './lib/services/modal.service';\r\nexport * from './lib/services/modaRef';\r\nexport * from './lib/services/modal.constant';\r\nexport * from './lib/services/tiny-alert.service';\r\nexport * from './lib/services/push-alert.service';\r\n\r\n// PIPES\r\nexport * from './lib/pipes/name-inits.pipe';\r\n\r\n// DIRECTIVES\r\nexport * from './lib/directives/tool-tip.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["base","i2","i1","i1.UicModalService"],"mappings":"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"}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from './lib/components/inputs/searcher/searcher.component';
|
|
|
6
6
|
export * from './lib/components/inputs/select/select.component';
|
|
7
7
|
export * from './lib/components/table/table.component';
|
|
8
8
|
export * from './lib/components/toggle-button/toggle-button.component';
|
|
9
|
+
export * from './lib/components/skeleton-loader/skeleton-loader.component';
|
|
9
10
|
export * from './lib/animations/animatios.index';
|
|
10
11
|
export * from './lib/components/dynamic-form/form.models';
|
|
11
12
|
export * from './lib/services/modal.service';
|