@xosue-utils/inputs 0.1.3 → 0.1.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.
@@ -71,8 +71,8 @@ class LucideIconComponent {
71
71
  }
72
72
  return { width: trimmed, height: trimmed };
73
73
  });
74
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: LucideIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.11", type: LucideIconComponent, isStandalone: true, selector: "lucide-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, spin: { classPropertyName: "spin", publicName: "spin", isSignal: true, isRequired: false, transformFunction: null }, filled: { classPropertyName: "filled", publicName: "filled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.lucide-icon--filled": "filled()", "attr.filled": "filled() ? \"\" : null" } }, ngImport: i0, template: `
74
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: LucideIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", type: LucideIconComponent, isStandalone: true, selector: "lucide-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, spin: { classPropertyName: "spin", publicName: "spin", isSignal: true, isRequired: false, transformFunction: null }, filled: { classPropertyName: "filled", publicName: "filled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.lucide-icon--filled": "filled()", "attr.filled": "filled() ? \"\" : null" } }, ngImport: i0, template: `
76
76
  <svg
77
77
  class="lucide-svg inline-block shrink-0 align-middle"
78
78
  [class.lucide-svg--filled]="filled()"
@@ -84,7 +84,7 @@ class LucideIconComponent {
84
84
  />
85
85
  `, isInline: true, dependencies: [{ kind: "component", type: LucideDynamicIcon, selector: "svg[lucideIcon]", inputs: ["lucideIcon"] }] });
86
86
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: LucideIconComponent, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: LucideIconComponent, decorators: [{
88
88
  type: Component,
89
89
  args: [{
90
90
  selector: 'lucide-icon',
@@ -172,10 +172,10 @@ class ContextMenuService {
172
172
  }
173
173
  return { x: 0, y: 0 };
174
174
  }
175
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ContextMenuService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
176
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ContextMenuService, providedIn: 'root' });
175
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ContextMenuService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
176
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ContextMenuService, providedIn: 'root' });
177
177
  }
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ContextMenuService, decorators: [{
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ContextMenuService, decorators: [{
179
179
  type: Injectable,
180
180
  args: [{ providedIn: 'root' }]
181
181
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -196,10 +196,10 @@ class FieldHelpTooltipComponent {
196
196
  info: this.text,
197
197
  });
198
198
  }
199
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: FieldHelpTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
200
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: FieldHelpTooltipComponent, isStandalone: true, selector: "field-help-tooltip", inputs: { text: "text", title: "title" }, ngImport: i0, template: "<button\r\n type=\"button\"\r\n class=\"HelpButton\"\r\n (click)=\"showHelp($event)\"\r\n aria-label=\"Informaci\u00F3n del campo\"\r\n>\r\n <lucide-icon name=\"info\"></lucide-icon>\r\n</button>\r\n", styles: [":host{display:inline-flex;flex-shrink:0}.HelpButton{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.HelpButton lucide-icon{width:15px;height:15px}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
199
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FieldHelpTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
200
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: FieldHelpTooltipComponent, isStandalone: true, selector: "field-help-tooltip", inputs: { text: "text", title: "title" }, ngImport: i0, template: "<button\r\n type=\"button\"\r\n class=\"HelpButton\"\r\n (click)=\"showHelp($event)\"\r\n aria-label=\"Informaci\u00F3n del campo\"\r\n>\r\n <lucide-icon name=\"info\"></lucide-icon>\r\n</button>\r\n", styles: [":host{display:inline-flex;flex-shrink:0}.HelpButton{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.HelpButton lucide-icon{width:15px;height:15px}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
201
201
  }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: FieldHelpTooltipComponent, decorators: [{
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FieldHelpTooltipComponent, decorators: [{
203
203
  type: Component,
204
204
  args: [{ selector: 'field-help-tooltip', standalone: true, imports: [LucideIconComponent], template: "<button\r\n type=\"button\"\r\n class=\"HelpButton\"\r\n (click)=\"showHelp($event)\"\r\n aria-label=\"Informaci\u00F3n del campo\"\r\n>\r\n <lucide-icon name=\"info\"></lucide-icon>\r\n</button>\r\n", styles: [":host{display:inline-flex;flex-shrink:0}.HelpButton{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.HelpButton lucide-icon{width:15px;height:15px}\n"] }]
205
205
  }], propDecorators: { text: [{
@@ -310,8 +310,8 @@ class TextEntryComponent {
310
310
  textarea.focus();
311
311
  }
312
312
  }
313
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TextEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
314
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: TextEntryComponent, isStandalone: true, selector: "text-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", prefix: "prefix", suffix: "suffix", concatPrefix: "concatPrefix", concatSuffix: "concatSuffix", fieldHelp: "fieldHelp", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
313
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TextEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
314
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TextEntryComponent, isStandalone: true, selector: "text-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", prefix: "prefix", suffix: "suffix", concatPrefix: "concatPrefix", concatSuffix: "concatSuffix", fieldHelp: "fieldHelp", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
315
315
  {
316
316
  provide: NG_VALUE_ACCESSOR,
317
317
  useExisting: forwardRef(() => TextEntryComponent),
@@ -319,7 +319,7 @@ class TextEntryComponent {
319
319
  },
320
320
  ], ngImport: i0, template: "<div\r\n *ngIf=\"label\"\r\n class=\"LabelRow\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n <p class=\"Label\">\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n </p>\r\n <field-help-tooltip\r\n *ngIf=\"fieldHelp\"\r\n [title]=\"label\"\r\n [text]=\"fieldHelp\"\r\n ></field-help-tooltip>\r\n</div>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\">\r\n <div\r\n class=\"Prefix\"\r\n *ngIf=\"prefix\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n >\r\n {{ prefix }}\r\n </div>\r\n <input\r\n type=\"text\"\r\n class=\"Input\"\r\n [class.Disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"rawValue || ''\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n [class.WithPrefix]=\"prefix\"\r\n [class.WithSuffix]=\"suffix\"\r\n />\r\n <div\r\n class=\"Suffix\"\r\n *ngIf=\"suffix\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n >\r\n {{ suffix }}\r\n </div>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Prefix,:host .Entry .Suffix{height:100%;display:flex;justify-content:center;align-items:center;width:max-content;padding:0 8px;background-color:var(--input-concats-bg)}:host .Entry .Input[class~=WithPrefix]{padding-left:5px}:host .Entry .Input[class~=WithPreffix]{padding-right:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FieldHelpTooltipComponent, selector: "field-help-tooltip", inputs: ["text", "title"] }] });
321
321
  }
322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TextEntryComponent, decorators: [{
322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TextEntryComponent, decorators: [{
323
323
  type: Component,
324
324
  args: [{ selector: 'text-entry', standalone: true, imports: [CommonModule, FieldHelpTooltipComponent], providers: [
325
325
  {
@@ -426,8 +426,8 @@ class TextAreaEntryComponent {
426
426
  textarea.focus();
427
427
  }
428
428
  }
429
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TextAreaEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
430
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: TextAreaEntryComponent, isStandalone: true, selector: "text-area-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
429
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TextAreaEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
430
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TextAreaEntryComponent, isStandalone: true, selector: "text-area-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
431
431
  {
432
432
  provide: NG_VALUE_ACCESSOR,
433
433
  useExisting: forwardRef(() => TextAreaEntryComponent),
@@ -435,7 +435,7 @@ class TextAreaEntryComponent {
435
435
  },
436
436
  ], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div\r\n class=\"Entry\"\r\n [class.IsFocus]=\"isFocus\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n <textarea\r\n class=\"TextArea\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"isDisabled\"\r\n [value]=\"value\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n ></textarea>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{height:max-content}:host .Entry textarea{background-color:var(--input-bg);min-height:180px;height:auto;width:100%;border:solid 0 var(--input-border);padding:8px;color:var(--input-text);caret-color:var(--primary);caret-shape:block;text-align:start;resize:vertical}:host .Entry textarea:focus{border:none;outline:none}:host .Entry textarea::placeholder{color:var(--input-placeholder)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
437
437
  }
438
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TextAreaEntryComponent, decorators: [{
438
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TextAreaEntryComponent, decorators: [{
439
439
  type: Component,
440
440
  args: [{ selector: 'text-area-entry', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
441
441
  {
@@ -547,8 +547,8 @@ class EmailEntryComponent {
547
547
  textarea.focus();
548
548
  }
549
549
  }
550
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: EmailEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
551
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: EmailEntryComponent, isStandalone: true, selector: "email-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
550
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EmailEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
551
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: EmailEntryComponent, isStandalone: true, selector: "email-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
552
552
  {
553
553
  provide: NG_VALUE_ACCESSOR,
554
554
  useExisting: forwardRef(() => EmailEntryComponent),
@@ -556,7 +556,7 @@ class EmailEntryComponent {
556
556
  },
557
557
  ], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\" [class.Error]=\"error\">\r\n <input\r\n type=\"text\"\r\n inputmode=\"email\"\r\n class=\"Input\"\r\n [class.Disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"textValue\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n />\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}.Entry .Input{text-align:start}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
558
558
  }
559
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: EmailEntryComponent, decorators: [{
559
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EmailEntryComponent, decorators: [{
560
560
  type: Component,
561
561
  args: [{ selector: 'email-entry', standalone: true, imports: [CommonModule], providers: [
562
562
  {
@@ -681,8 +681,8 @@ class UrlEntryComponent {
681
681
  input.focus();
682
682
  }
683
683
  }
684
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: UrlEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
685
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: UrlEntryComponent, isStandalone: true, selector: "url-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
684
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UrlEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
685
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: UrlEntryComponent, isStandalone: true, selector: "url-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
686
686
  {
687
687
  provide: NG_VALUE_ACCESSOR,
688
688
  useExisting: forwardRef(() => UrlEntryComponent),
@@ -690,7 +690,7 @@ class UrlEntryComponent {
690
690
  },
691
691
  ], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\" [class.Error]=\"error\">\r\n <div class=\"Prefix\" (click)=\"manualClick($event); $event.stopPropagation()\">\r\n https://\r\n </div>\r\n <input\r\n type=\"text\"\r\n inputmode=\"url\"\r\n class=\"Input\"\r\n [class.Disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"textValue\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n />\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Prefix{height:100%;display:flex;justify-content:center;align-items:center;width:max-content;padding:0 8px;background-color:var(--input-concats-bg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
692
692
  }
693
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: UrlEntryComponent, decorators: [{
693
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UrlEntryComponent, decorators: [{
694
694
  type: Component,
695
695
  args: [{ selector: 'url-entry', standalone: true, imports: [CommonModule], providers: [
696
696
  {
@@ -805,8 +805,8 @@ class PasswordEntryComponent {
805
805
  textarea.focus();
806
806
  }
807
807
  }
808
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PasswordEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
809
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: PasswordEntryComponent, isStandalone: true, selector: "password-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", toggleVisibility: "toggleVisibility", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
808
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PasswordEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
809
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PasswordEntryComponent, isStandalone: true, selector: "password-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", toggleVisibility: "toggleVisibility", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
810
810
  {
811
811
  provide: NG_VALUE_ACCESSOR,
812
812
  useExisting: forwardRef(() => PasswordEntryComponent),
@@ -814,7 +814,7 @@ class PasswordEntryComponent {
814
814
  },
815
815
  ], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\">\r\n <input\r\n class=\"Input\"\r\n [type]=\"isPasswordVisible ? 'text' : 'password'\"\r\n [class.Disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"value || ''\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ToggleVisible\"\r\n *ngIf=\"toggleVisibility\"\r\n (click)=\"togglePasswordVisibility($event)\"\r\n [attr.aria-label]=\"isPasswordVisible ? 'Ocultar contrase\u00F1a' : 'Mostrar contrase\u00F1a'\"\r\n [attr.aria-pressed]=\"isPasswordVisible\"\r\n [disabled]=\"isDisabled\"\r\n tabindex=\"-1\"\r\n >\r\n <lucide-icon [name]=\"isPasswordVisible ? 'eye-off' : 'eye'\" [size]=\"18\"></lucide-icon>\r\n </button>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Prefix,:host .Entry .Suffix{height:100%;display:flex;justify-content:center;align-items:center;width:max-content;padding:0 8px;background-color:var(--input-concats-bg)}:host .Entry .Input[class~=WithPrefix]{padding-left:5px}:host .Entry .Input[class~=WithPreffix]{padding-right:5px}:host .Entry .ToggleVisible{height:100%;display:flex;justify-content:center;align-items:center;width:40px;min-width:40px;padding:0 var(--spacing-sm);margin:0;border:none;cursor:pointer;background-color:var(--input-bg);color:var(--text-base)}:host .Entry .ToggleVisible:disabled{opacity:.5;cursor:not-allowed}:host .Entry .ToggleVisible lucide-icon .lucide-icon-svg{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
816
816
  }
817
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PasswordEntryComponent, decorators: [{
817
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PasswordEntryComponent, decorators: [{
818
818
  type: Component,
819
819
  args: [{ selector: 'password-entry', standalone: true, imports: [CommonModule, LucideIconComponent], providers: [
820
820
  {
@@ -858,10 +858,10 @@ class SearchEntryModalService {
858
858
  close() {
859
859
  this.state.next(null);
860
860
  }
861
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SearchEntryModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
862
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SearchEntryModalService, providedIn: 'root' });
861
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
862
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryModalService, providedIn: 'root' });
863
863
  }
864
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SearchEntryModalService, decorators: [{
864
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryModalService, decorators: [{
865
865
  type: Injectable,
866
866
  args: [{ providedIn: 'root' }]
867
867
  }] });
@@ -883,10 +883,10 @@ class InputOverlayCoordinatorService {
883
883
  this.active = null;
884
884
  }
885
885
  }
886
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputOverlayCoordinatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
887
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputOverlayCoordinatorService, providedIn: 'root' });
886
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: InputOverlayCoordinatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
887
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: InputOverlayCoordinatorService, providedIn: 'root' });
888
888
  }
889
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputOverlayCoordinatorService, decorators: [{
889
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: InputOverlayCoordinatorService, decorators: [{
890
890
  type: Injectable,
891
891
  args: [{ providedIn: 'root' }]
892
892
  }] });
@@ -1225,8 +1225,8 @@ class SearchEntryComponent {
1225
1225
  this.closeModalPortal();
1226
1226
  }
1227
1227
  }
1228
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SearchEntryComponent, deps: [{ token: i1$1.HttpClient }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
1229
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: SearchEntryComponent, isStandalone: true, selector: "search-entry", inputs: { label: "label", placeholder: "placeholder", opcional: "opcional", options: "options", api: "api", search: "search", minSearch: "minSearch", disabled: "disabled" }, host: { listeners: { "keydown.enter": "onEnter($event)" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
1228
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryComponent, deps: [{ token: i1$1.HttpClient }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
1229
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SearchEntryComponent, isStandalone: true, selector: "search-entry", inputs: { label: "label", placeholder: "placeholder", opcional: "opcional", options: "options", api: "api", search: "search", minSearch: "minSearch", disabled: "disabled" }, host: { listeners: { "keydown.enter": "onEnter($event)" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
1230
1230
  {
1231
1231
  provide: NG_VALUE_ACCESSOR,
1232
1232
  useExisting: forwardRef(() => SearchEntryComponent),
@@ -1234,7 +1234,7 @@ class SearchEntryComponent {
1234
1234
  },
1235
1235
  ], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"label\"\n class=\"Label\"\n (click)=\"toggleOpenOptions($event)\"\n [class.Disabled]=\"isDisabled\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</div>\n\n<div\n class=\"Input\"\n (click)=\"toggleOpenOptions($event)\"\n [class.IsFocus]=\"isFocus\"\n [class.Disabled]=\"isDisabled\"\n (focus)=\"focus()\"\n (blur)=\"blur()\"\n>\n <div class=\"SelectedOptions\">\n <div class=\"SelectedOption\">\n <span class=\"Text\" *ngIf=\"searchText\">{{ searchText }}</span>\n <div class=\"Placeholder\" *ngIf=\"!searchText\">\n {{ placeholder }}\n </div>\n <lucide-icon class=\"RemoveIcon\" name=\"x\" *ngIf=\"searchText\"\n (click)=\"clear(); $event.preventDefault()\"></lucide-icon>\n </div>\n </div>\n <lucide-icon class=\"IconSort\" name=\"search\"></lucide-icon>\n</div>\n", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:none;user-select:none}:host .Label{color:var(--text-label);width:100%;cursor:pointer;padding:0 3px}:host .Label .Opcional{color:var(--text-muted)}:host .Description{font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;overflow:hidden;word-break:break-all}:host .Input{display:flex;width:100%;height:40px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:var(--radius-lg);background-color:var(--input-bg);padding:4px 12px;cursor:pointer;gap:5px;flex-grow:1}:host .Input[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Input .SelectedOptions{display:flex;align-items:center;gap:5px;width:100%;height:100%;overflow:hidden}:host .Input .SelectedOptions .SelectedOption{width:100%;height:100%;display:flex;align-items:center;gap:3px;font-weight:500;overflow:hidden}:host .Input .SelectedOptions .SelectedOption .Text{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .Input .SelectedOptions .SelectedOption .RemoveIcon{cursor:pointer;width:40px;height:100%;display:flex;justify-content:center;align-items:center;font-size:.7rem}:host .Input .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-icon-svg{width:.7rem;height:.7rem}:host .Input .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--red);background-color:var(--input-concats-bg)}:host .Input .Value{color:var(--input-text);display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .Input .Placeholder{color:var(--input-placeholder);display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .Input .IconSort{display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--input-placeholder)}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1236
1236
  }
1237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SearchEntryComponent, decorators: [{
1237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryComponent, decorators: [{
1238
1238
  type: Component,
1239
1239
  args: [{ selector: 'search-entry', standalone: true, imports: [
1240
1240
  LucideIconComponent, CommonModule
@@ -1399,8 +1399,8 @@ class TagsEntryComponent {
1399
1399
  textarea.focus();
1400
1400
  }
1401
1401
  }
1402
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TagsEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1403
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: TagsEntryComponent, isStandalone: true, selector: "tags-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
1402
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TagsEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1403
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TagsEntryComponent, isStandalone: true, selector: "tags-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
1404
1404
  {
1405
1405
  provide: NG_VALUE_ACCESSOR,
1406
1406
  useExisting: forwardRef(() => TagsEntryComponent),
@@ -1408,7 +1408,7 @@ class TagsEntryComponent {
1408
1408
  },
1409
1409
  ], viewQueries: [{ propertyName: "tagInputRef", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.Disabled]=\"isDisabled\" [class.IsFocus]=\"isFocus\">\r\n <div class=\"Chip\" *ngFor=\"let tag of tags ?? []; let i = index\">\r\n {{ tag }}\r\n <button\r\n type=\"button\"\r\n (click)=\"removeTag(i)\"\r\n class=\"Remove\"\r\n aria-label=\"Eliminar\"\r\n >\r\n <lucide-icon name=\"x\"></lucide-icon>\r\n </button>\r\n </div>\r\n\r\n <input\r\n #tagInput\r\n type=\"text\"\r\n class=\"TagInput\"\r\n [disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"inputValue\"\r\n (keydown)=\"onInputKeydown($event)\"\r\n (paste)=\"onPaste($event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n />\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ClearAll\"\r\n *ngIf=\"(tags?.length ?? 0) > 0\"\r\n (click)=\"clearAll()\"\r\n aria-label=\"Limpiar todo\"\r\n >\r\n <lucide-icon name=\"brush-cleaning\"></lucide-icon>\r\n </button>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{display:flex;min-height:32px;height:max-content;flex-wrap:wrap;gap:4px;padding:4px}:host .Entry.Disabled{opacity:.5;pointer-events:none}:host .Entry .Chip{height:28px;max-height:28px;background-color:var(--surface);border-radius:100px;padding:0 0 0 8px;display:flex;align-items:center;font-size:.9rem;font-weight:500}:host .Entry .Chip .Remove{display:flex;justify-content:center;align-items:center;height:100%;width:28px;background:none;border:none;font-size:.8rem;cursor:pointer}:host .Entry .Chip .Remove:hover{color:var(--red)}:host .Entry .TagInput{border:none;outline:none;flex:1;min-width:max-content;height:100%;max-height:28px;font-size:1rem;padding:0 4px}:host .Entry .TagInput:hover{border:none;outline:none}:host .Entry .TagInput:focus{border:none;outline:none}:host .Entry .TagInput::placeholder{color:var(--input-placeholder)}:host .Entry .ClearAll{width:28px;height:28px;font-size:1.2rem;color:var(--red);text-decoration:underline;cursor:pointer}:host .Entry .ClearAll i{pointer-events:none}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1410
1410
  }
1411
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TagsEntryComponent, decorators: [{
1411
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TagsEntryComponent, decorators: [{
1412
1412
  type: Component,
1413
1413
  args: [{ selector: 'tags-entry', standalone: true, imports: [
1414
1414
  LucideIconComponent, CommonModule, FormsModule
@@ -1549,8 +1549,8 @@ class IntegerEntryComponent {
1549
1549
  input.focus();
1550
1550
  }
1551
1551
  }
1552
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: IntegerEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1553
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: IntegerEntryComponent, isStandalone: true, selector: "integer-entry", inputs: { label: "label", opcional: "opcional", placeholder: "placeholder", description: "description", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
1552
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IntegerEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1553
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IntegerEntryComponent, isStandalone: true, selector: "integer-entry", inputs: { label: "label", opcional: "opcional", placeholder: "placeholder", description: "description", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
1554
1554
  {
1555
1555
  provide: NG_VALUE_ACCESSOR,
1556
1556
  useExisting: forwardRef(() => IntegerEntryComponent),
@@ -1558,7 +1558,7 @@ class IntegerEntryComponent {
1558
1558
  },
1559
1559
  ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputEl"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.Disabled]=\"isDisabled\" [class.IsFocus]=\"isFocus\">\r\n <input\r\n #inputEl\r\n type=\"text\"\r\n inputmode=\"numeric\"\r\n [value]=\"textValue\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n class=\"Input\"\r\n [disabled]=\"isDisabled\"\r\n/>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Input{text-align:end}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1560
1560
  }
1561
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: IntegerEntryComponent, decorators: [{
1561
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IntegerEntryComponent, decorators: [{
1562
1562
  type: Component,
1563
1563
  args: [{ selector: 'integer-entry', standalone: true, imports: [CommonModule], providers: [
1564
1564
  {
@@ -1710,8 +1710,8 @@ class DecimalEntryComponent {
1710
1710
  input.focus();
1711
1711
  }
1712
1712
  }
1713
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DecimalEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1714
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DecimalEntryComponent, isStandalone: true, selector: "decimal-entry", inputs: { label: "label", opcional: "opcional", placeholder: "placeholder", decimals: "decimals", description: "description", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
1713
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DecimalEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1714
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: DecimalEntryComponent, isStandalone: true, selector: "decimal-entry", inputs: { label: "label", opcional: "opcional", placeholder: "placeholder", decimals: "decimals", description: "description", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
1715
1715
  {
1716
1716
  provide: NG_VALUE_ACCESSOR,
1717
1717
  useExisting: forwardRef(() => DecimalEntryComponent),
@@ -1719,7 +1719,7 @@ class DecimalEntryComponent {
1719
1719
  },
1720
1720
  ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputEl"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\">\r\n <input\r\n #inputEl\r\n type=\"text\"\r\n inputmode=\"decimal\"\r\n [value]=\"textValue\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n class=\"Input\"\r\n [disabled]=\"isDisabled\"\r\n/>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Input{text-align:end}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1721
1721
  }
1722
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DecimalEntryComponent, decorators: [{
1722
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DecimalEntryComponent, decorators: [{
1723
1723
  type: Component,
1724
1724
  args: [{ selector: 'decimal-entry', standalone: true, imports: [CommonModule], providers: [
1725
1725
  {
@@ -1895,8 +1895,8 @@ class CounterEntryComponent {
1895
1895
  input.focus();
1896
1896
  }
1897
1897
  }
1898
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: CounterEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1899
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: CounterEntryComponent, isStandalone: true, selector: "counter-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", max: "max", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
1898
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CounterEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1899
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: CounterEntryComponent, isStandalone: true, selector: "counter-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", max: "max", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
1900
1900
  {
1901
1901
  provide: NG_VALUE_ACCESSOR,
1902
1902
  useExisting: forwardRef(() => CounterEntryComponent),
@@ -1904,7 +1904,7 @@ class CounterEntryComponent {
1904
1904
  },
1905
1905
  ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputEl"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\">\r\n <button\r\n type=\"button\"\r\n class=\"Btn BtnDecrement\"\r\n [class.IsMin]=\"isMin\"\r\n [disabled]=\"isDisabled || isMin\"\r\n (click)=\"decrement()\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n >\r\n <lucide-icon name=\"minus\"></lucide-icon>\r\n </button>\r\n\r\n <input\r\n #inputEl\r\n type=\"text\"\r\n inputmode=\"numeric\"\r\n [value]=\"textValue\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n class=\"Input\"\r\n [disabled]=\"isDisabled\"\r\n />\r\n\r\n <button\r\n type=\"button\"\r\n class=\"Btn BtnIncrement\"\r\n [class.IsMax]=\"isMax\"\r\n [disabled]=\"isDisabled || isMax\"\r\n (click)=\"increment()\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n >\r\n <lucide-icon name=\"plus\"></lucide-icon>\r\n </button>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Btn{width:32px;min-width:32px;height:100%;display:flex;justify-content:center;align-items:center;padding:0 8px;background-color:var(--input-concats-bg);font-size:.8rem;cursor:pointer}:host .Entry .Btn i{pointer-events:none}:host .Entry .Btn.IsMin,:host .Entry .Btn.IsMax{opacity:.5;cursor:not-allowed}:host .Entry .Input{padding-right:8px;text-align:end}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1906
1906
  }
1907
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: CounterEntryComponent, decorators: [{
1907
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CounterEntryComponent, decorators: [{
1908
1908
  type: Component,
1909
1909
  args: [{ selector: 'counter-entry', standalone: true, imports: [
1910
1910
  LucideIconComponent, CommonModule
@@ -2104,8 +2104,8 @@ class PriceEntryComponent {
2104
2104
  const input = this.elementRef.nativeElement.querySelector('input');
2105
2105
  input?.focus();
2106
2106
  }
2107
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PriceEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2108
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: PriceEntryComponent, isStandalone: true, selector: "price-entry", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", symbol: "symbol", decimals: "decimals", decimalSeparator: "decimalSeparator", thousandSeparator: "thousandSeparator", disabled: "disabled" }, host: { listeners: { "keydown": "handleKeyDown($event)" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
2107
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PriceEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2108
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PriceEntryComponent, isStandalone: true, selector: "price-entry", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", symbol: "symbol", decimals: "decimals", decimalSeparator: "decimalSeparator", thousandSeparator: "thousandSeparator", disabled: "disabled" }, host: { listeners: { "keydown": "handleKeyDown($event)" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
2109
2109
  {
2110
2110
  provide: NG_VALUE_ACCESSOR,
2111
2111
  useExisting: forwardRef(() => PriceEntryComponent),
@@ -2113,7 +2113,7 @@ class PriceEntryComponent {
2113
2113
  },
2114
2114
  ], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\">\r\n <div class=\"Symbol\" (click)=\"manualClick($event); $event.stopPropagation()\">\r\n {{ symbol }}\r\n </div>\r\n <input\r\n type=\"text\"\r\n [value]=\"repValue || ''\"\r\n [placeholder]=\"placeholder\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n class=\"Input\"\r\n [class.Disabled]=\"isDisabled\"\r\n [disabled]=\"isDisabled\"\r\n />\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Symbol{width:32px;min-width:32px;height:100%;display:flex;justify-content:center;align-items:center;padding:0 8px;background-color:var(--input-concats-bg);font-size:.9rem;cursor:pointer}:host .Entry .Input{text-align:end}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2115
2115
  }
2116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PriceEntryComponent, decorators: [{
2116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PriceEntryComponent, decorators: [{
2117
2117
  type: Component,
2118
2118
  args: [{ selector: 'price-entry', standalone: true, imports: [CommonModule], providers: [
2119
2119
  {
@@ -2630,8 +2630,8 @@ class RangeEntryComponent {
2630
2630
  const input = this.elementRef.nativeElement.querySelector('input[type="text"]');
2631
2631
  input?.focus();
2632
2632
  }
2633
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: RangeEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2634
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: RangeEntryComponent, isStandalone: true, selector: "range-entry", inputs: { label: "label", opcional: "opcional", description: "description", min: "min", max: "max", gap: "gap", decimal: "decimal", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
2633
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RangeEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2634
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: RangeEntryComponent, isStandalone: true, selector: "range-entry", inputs: { label: "label", opcional: "opcional", description: "description", min: "min", max: "max", gap: "gap", decimal: "decimal", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
2635
2635
  {
2636
2636
  provide: NG_VALUE_ACCESSOR,
2637
2637
  useExisting: forwardRef(() => RangeEntryComponent),
@@ -2639,7 +2639,7 @@ class RangeEntryComponent {
2639
2639
  },
2640
2640
  ], viewQueries: [{ propertyName: "trackWrapper", first: true, predicate: ["trackWrapper"], descendants: true }, { propertyName: "trackRef", first: true, predicate: ["trackRef"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"ValuePrint\">\r\n <input\r\n class=\"MinValue Value\"\r\n type=\"text\"\r\n [value]=\"decimal ? minValue.toFixed(2) : minValue.toString()\"\r\n (input)=\"onMinChange($event)\"\r\n (keydown)=\"onValueKeydown($event)\"\r\n [disabled]=\"isDisabled\"\r\n />\r\n -\r\n <input\r\n class=\"MaxValue Value\"\r\n type=\"text\"\r\n [value]=\"decimal ? maxValue.toFixed(2) : maxValue.toString()\"\r\n (input)=\"onMaxChange($event)\"\r\n (keydown)=\"onValueKeydown($event)\"\r\n [disabled]=\"isDisabled\"\r\n />\r\n</div>\r\n\r\n<div class=\"RangeEntry\">\r\n <div class=\"RangeWrapper\" #trackWrapper [class.Disabled]=\"isDisabled\">\r\n <div\r\n class=\"Track\"\r\n #trackRef\r\n (click)=\"onTrackClick($event)\"\r\n (touchstart)=\"onTrackTouchStart($event)\"\r\n >\r\n <div class=\"Range\" [ngStyle]=\"rangeStyle\"></div>\r\n </div>\r\n\r\n <!-- Thumb UI personalizado para min -->\r\n <div\r\n class=\"Thumb ThumbMin\"\r\n [style.left.%]=\"leftPercent\"\r\n (mousedown)=\"onThumbMouseDown('min', $event)\"\r\n (touchstart)=\"onThumbTouchStart('min', $event)\"\r\n [class.Dragging]=\"isDraggingMin\"\r\n ></div>\r\n\r\n <!-- Thumb UI personalizado para max -->\r\n <div\r\n class=\"Thumb ThumbMax\"\r\n [style.left.%]=\"rightPercent\"\r\n (mousedown)=\"onThumbMouseDown('max', $event)\"\r\n (touchstart)=\"onThumbTouchStart('max', $event)\"\r\n [class.Dragging]=\"isDraggingMax\"\r\n ></div>\r\n\r\n <!-- Inputs range ocultos (solo para sincronizaci\u00F3n) -->\r\n <input\r\n type=\"range\"\r\n class=\"HiddenRange\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [value]=\"minValue\"\r\n (input)=\"onMinChange($event)\"\r\n (change)=\"onSliderRelease()\"\r\n [disabled]=\"isDisabled\"\r\n tabindex=\"-1\"\r\n aria-hidden=\"true\"\r\n />\r\n\r\n <input\r\n type=\"range\"\r\n class=\"HiddenRange\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [value]=\"maxValue\"\r\n (input)=\"onMaxChange($event)\"\r\n (change)=\"onSliderRelease()\"\r\n [disabled]=\"isDisabled\"\r\n tabindex=\"-1\"\r\n aria-hidden=\"true\"\r\n />\r\n </div>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .ValuePrint{width:100%;display:flex;align-items:center;justify-content:space-between;gap:5px;overflow:hidden}:host .ValuePrint .Value{display:flex;flex:1;max-width:30%;height:36px;padding:0 4px;text-align:center;border:none;outline:none;caret-color:var(--text-primary)}:host .ValuePrint .Value::-webkit-outer-spin-button,:host .ValuePrint .Value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host .ValuePrint .MinValue{text-align:left}:host .ValuePrint .MaxValue{text-align:right}:host .RangeEntry{display:flex;align-items:center;gap:5px;padding:0 12px}:host .RangeEntry .RangeWrapper{position:relative;width:100%}:host .RangeEntry .RangeWrapper.Disabled{opacity:.5;pointer-events:none}:host .RangeEntry .Track{position:relative;z-index:0;height:8px;background-color:var(--input-bg);border-radius:50px;overflow:visible;cursor:pointer;touch-action:none}:host .RangeEntry .Range{position:absolute;height:100%;background-color:var(--text-primary);pointer-events:none;z-index:10;left:0;right:0}:host .RangeEntry .Track{cursor:pointer;touch-action:none}:host .RangeEntry .Thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;background-color:var(--input-bg);border:3px solid var(--text-primary);border-radius:50%;cursor:grab;z-index:20;touch-action:none;transition:transform .1s ease;-webkit-user-select:none;user-select:none}:host .RangeEntry .Thumb:hover,:host .RangeEntry .Thumb.Dragging{transform:translate(-50%,-50%) scale(1.2);cursor:grabbing;box-shadow:0 2px 8px var(--overlay-scrim)}:host .RangeEntry .Thumb:active{cursor:grabbing}:host .RangeEntry .HiddenRange{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;pointer-events:none;opacity:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;z-index:-1}:host .RangeEntry .HiddenRange::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:0;height:0}:host .RangeEntry .HiddenRange::-moz-range-thumb{width:0;height:0;border:none;background:transparent}:host .RangeEntry .HiddenRange::-webkit-slider-runnable-track{background:transparent}:host .RangeEntry .HiddenRange::-moz-range-track{background:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }] });
2641
2641
  }
2642
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: RangeEntryComponent, decorators: [{
2642
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RangeEntryComponent, decorators: [{
2643
2643
  type: Component,
2644
2644
  args: [{ selector: 'range-entry', standalone: true, imports: [CommonModule, FormsModule], providers: [
2645
2645
  {
@@ -3056,8 +3056,8 @@ class SliderEntryComponent {
3056
3056
  const input = this.elementRef.nativeElement.querySelector('input[type="text"]');
3057
3057
  input?.focus();
3058
3058
  }
3059
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SliderEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3060
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: SliderEntryComponent, isStandalone: true, selector: "slider-entry", inputs: { label: "label", description: "description", opcional: "opcional", min: "min", max: "max", decimal: "decimal", step: "step", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
3059
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SliderEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3060
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SliderEntryComponent, isStandalone: true, selector: "slider-entry", inputs: { label: "label", description: "description", opcional: "opcional", min: "min", max: "max", decimal: "decimal", step: "step", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
3061
3061
  {
3062
3062
  provide: NG_VALUE_ACCESSOR,
3063
3063
  useExisting: forwardRef(() => SliderEntryComponent),
@@ -3065,7 +3065,7 @@ class SliderEntryComponent {
3065
3065
  },
3066
3066
  ], viewQueries: [{ propertyName: "trackRef", first: true, predicate: ["trackRef"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"ValuePrint\">\r\n <input\r\n class=\"Value\"\r\n type=\"text\"\r\n [value]=\"decimal ? value.toFixed(2) : value.toString()\"\r\n (input)=\"onInputChange($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n [disabled]=\"disabled\"\r\n />\r\n</div>\r\n\r\n<div class=\"SliderEntry\">\r\n <div class=\"RangeWrapper\" [class.Disabled]=\"disabled\">\r\n <div\r\n class=\"Track\"\r\n #trackRef\r\n (click)=\"onTrackClick($event)\"\r\n (touchstart)=\"onTrackTouchStart($event)\"\r\n >\r\n <div class=\"Fill\" [ngStyle]=\"fillStyle\"></div>\r\n </div>\r\n\r\n <!-- Thumb UI personalizado -->\r\n <div\r\n class=\"Thumb\"\r\n [style.left.%]=\"thumbPosition\"\r\n (mousedown)=\"onThumbMouseDown($event)\"\r\n (touchstart)=\"onThumbTouchStart($event)\"\r\n [class.Dragging]=\"isDragging\"\r\n ></div>\r\n\r\n <!-- Input range oculto (solo para sincronizaci\u00F3n) -->\r\n <input\r\n type=\"range\"\r\n class=\"HiddenRange\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"calculatedStep\"\r\n [value]=\"value\"\r\n (input)=\"onSliderInput($event)\"\r\n (change)=\"onSliderChange()\"\r\n [disabled]=\"disabled\"\r\n tabindex=\"-1\"\r\n aria-hidden=\"true\"\r\n />\r\n </div>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .ValuePrint{width:100%;display:flex;align-items:center;justify-content:space-between;gap:5px;overflow:hidden}:host .ValuePrint .Value{display:flex;flex:1;max-width:30%;height:36px;padding:0 4px;text-align:center;border:none;outline:none;text-align:left;caret-color:var(--text-primary)}:host .ValuePrint .Value::-webkit-outer-spin-button,:host .ValuePrint .Value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host .SliderEntry{display:flex;align-items:center;gap:5px;padding:0 12px}:host .SliderEntry .RangeWrapper{position:relative;width:100%}:host .SliderEntry .RangeWrapper.Disabled{opacity:.5;pointer-events:none}:host .SliderEntry .Track{position:relative;z-index:0;height:8px;background-color:var(--input-bg);border-radius:50px;overflow:visible;cursor:pointer;touch-action:none}:host .SliderEntry .Track .Fill{height:100%;background-color:var(--text-primary);border-radius:50px}:host .SliderEntry .Thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;background-color:var(--input-bg);border:3px solid var(--text-primary);border-radius:50%;cursor:grab;z-index:20;touch-action:none;transition:transform .1s ease;-webkit-user-select:none;user-select:none}:host .SliderEntry .Thumb:hover,:host .SliderEntry .Thumb.Dragging{transform:translate(-50%,-50%) scale(1.2);cursor:grabbing;box-shadow:0 2px 8px var(--overlay-scrim)}:host .SliderEntry .Thumb:active{cursor:grabbing}:host .SliderEntry .HiddenRange{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;pointer-events:none;opacity:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;z-index:-1}:host .SliderEntry .HiddenRange::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:0;height:0}:host .SliderEntry .HiddenRange::-moz-range-thumb{width:0;height:0;border:none;background:transparent}:host .SliderEntry .HiddenRange::-webkit-slider-runnable-track{background:transparent}:host .SliderEntry .HiddenRange::-moz-range-track{background:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }] });
3067
3067
  }
3068
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SliderEntryComponent, decorators: [{
3068
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SliderEntryComponent, decorators: [{
3069
3069
  type: Component,
3070
3070
  args: [{ selector: 'slider-entry', standalone: true, imports: [CommonModule, FormsModule], providers: [
3071
3071
  {
@@ -3148,8 +3148,8 @@ class RatingEntryComponent {
3148
3148
  firstStar.focus();
3149
3149
  }
3150
3150
  }
3151
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: RatingEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3152
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: RatingEntryComponent, isStandalone: true, selector: "rating-entry", inputs: { label: "label", opcional: "opcional", description: "description", maxStars: "maxStars", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
3151
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RatingEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3152
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: RatingEntryComponent, isStandalone: true, selector: "rating-entry", inputs: { label: "label", opcional: "opcional", description: "description", maxStars: "maxStars", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
3153
3153
  {
3154
3154
  provide: NG_VALUE_ACCESSOR,
3155
3155
  useExisting: forwardRef(() => RatingEntryComponent),
@@ -3157,7 +3157,7 @@ class RatingEntryComponent {
3157
3157
  },
3158
3158
  ], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div\r\n class=\"RatingDisplay\"\r\n [class.Disabled]=\"isDisabled\"\r\n role=\"radiogroup\"\r\n [attr.aria-label]=\"label || 'Calificaci\u00F3n'\"\r\n>\r\n <button\r\n type=\"button\"\r\n class=\"StarButton\"\r\n *ngFor=\"let star of stars; let i = index\"\r\n [disabled]=\"isDisabled\"\r\n role=\"radio\"\r\n [attr.aria-checked]=\"value === i + 1\"\r\n [attr.aria-label]=\"'Calificar con ' + (i + 1) + ' estrellas'\"\r\n (click)=\"select(i + 1)\"\r\n >\r\n <lucide-icon\r\n class=\"Icon\"\r\n [class.Muted]=\"value === null || i >= value\"\r\n name=\"star\"\r\n [size]=\"24\"\r\n [filled]=\"value !== null && i < value\"\r\n ></lucide-icon>\r\n </button>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .RatingDisplay{display:flex;width:100%;gap:5px;padding:0 4px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);overflow:hidden}:host .RatingDisplay.Disabled{opacity:.6;pointer-events:none}:host .RatingDisplay .StarButton{display:flex;justify-content:center;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;line-height:0;border-radius:var(--radius-sm)}:host .RatingDisplay .StarButton:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:host .RatingDisplay .StarButton:disabled{cursor:not-allowed}:host .RatingDisplay .StarButton .Icon{display:flex;justify-content:center;align-items:center;color:var(--warning-text, var(--rating-fill))}:host .RatingDisplay .StarButton .Icon lucide-icon .lucide-icon-svg{width:1.5rem;height:1.5rem;transition:fill .15s ease,color .15s ease,stroke .15s ease}:host .RatingDisplay .StarButton .Icon.Muted{color:var(--text-muted)}:host .RatingDisplay .StarButton:hover:not(:disabled) .Icon.Muted{color:var(--warning-text, var(--rating-fill-active))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
3159
3159
  }
3160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: RatingEntryComponent, decorators: [{
3160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RatingEntryComponent, decorators: [{
3161
3161
  type: Component,
3162
3162
  args: [{ selector: 'rating-entry', standalone: true, imports: [CommonModule, LucideIconComponent], providers: [
3163
3163
  {
@@ -3199,10 +3199,10 @@ class DatePickerModalService {
3199
3199
  close() {
3200
3200
  this.state.next(null);
3201
3201
  }
3202
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatePickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3203
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatePickerModalService, providedIn: 'root' });
3202
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3203
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerModalService, providedIn: 'root' });
3204
3204
  }
3205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatePickerModalService, decorators: [{
3205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerModalService, decorators: [{
3206
3206
  type: Injectable,
3207
3207
  args: [{ providedIn: 'root' }]
3208
3208
  }] });
@@ -3735,8 +3735,8 @@ class DatePickerComponent {
3735
3735
  };
3736
3736
  });
3737
3737
  }
3738
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3739
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DatePickerComponent, isStandalone: true, selector: "date-picker", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", format: "format", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
3738
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3739
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: DatePickerComponent, isStandalone: true, selector: "date-picker", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", format: "format", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
3740
3740
  {
3741
3741
  provide: NG_VALUE_ACCESSOR,
3742
3742
  useExisting: forwardRef(() => DatePickerComponent),
@@ -3744,7 +3744,7 @@ class DatePickerComponent {
3744
3744
  },
3745
3745
  ], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div\n class=\"Entry\"\n (click)=\"toggleShowPicker($event)\"\n [class.focused]=\"isFocus\"\n [class.Disabled]=\"isDisabled\"\n tabindex=\"0\"\n (focus)=\"focus()\"\n (blur)=\"defocus()\"\n>\n <div class=\"Value\" *ngIf=\"selectedValue\">{{ formattedSelected }}</div>\n <div class=\"Placeholder\" *ngIf=\"!selectedValue\">{{ placeholder }}</div>\n <lucide-icon class=\"IconDate\" name=\"calendar\"></lucide-icon>\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{padding:0 8px}:host .Entry .Value{color:var(--input-text)}:host .Entry .Placeholder{color:var(--input-placeholder)}:host .Entry .IconDate{margin-left:auto;color:var(--input-placeholder);padding-right:4px}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3746
3746
  }
3747
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatePickerComponent, decorators: [{
3747
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerComponent, decorators: [{
3748
3748
  type: Component,
3749
3749
  args: [{ selector: 'date-picker', standalone: true, imports: [
3750
3750
  LucideIconComponent, CommonModule
@@ -3792,10 +3792,10 @@ class TimePickerModalService {
3792
3792
  close() {
3793
3793
  this.state.next(null);
3794
3794
  }
3795
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TimePickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3796
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TimePickerModalService, providedIn: 'root' });
3795
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3796
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerModalService, providedIn: 'root' });
3797
3797
  }
3798
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TimePickerModalService, decorators: [{
3798
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerModalService, decorators: [{
3799
3799
  type: Injectable,
3800
3800
  args: [{ providedIn: 'root' }]
3801
3801
  }] });
@@ -4131,8 +4131,8 @@ class TimePickerComponent {
4131
4131
  // ============================================================================
4132
4132
  HOURS = Array.from({ length: 24 }, (_, i) => i);
4133
4133
  MINUTES = Array.from({ length: 60 }, (_, i) => i);
4134
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4135
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: TimePickerComponent, isStandalone: true, selector: "time-picker", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", format: "format", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
4134
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4135
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TimePickerComponent, isStandalone: true, selector: "time-picker", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", format: "format", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
4136
4136
  {
4137
4137
  provide: NG_VALUE_ACCESSOR,
4138
4138
  useExisting: forwardRef(() => TimePickerComponent),
@@ -4140,7 +4140,7 @@ class TimePickerComponent {
4140
4140
  },
4141
4141
  ], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div\n class=\"Entry\"\n (click)=\"toggleShowPicker($event)\"\n [class.focused]=\"isFocus\"\n [class.Disabled]=\"isDisabled\"\n tabindex=\"0\"\n (focus)=\"focus()\"\n (blur)=\"defocus()\"\n>\n <div class=\"Value\" *ngIf=\"selectedValue\">{{ selectedDateExtended }}</div>\n <div class=\"Placeholder\" *ngIf=\"!selectedValue\">{{ placeholder }}</div>\n <lucide-icon class=\"IconDate\" name=\"clock\"></lucide-icon>\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{padding:0 8px}:host .Entry .Value{color:var(--input-text)}:host .Entry .Placeholder{color:var(--input-placeholder)}:host .Entry .IconDate{margin-left:auto;color:var(--input-placeholder);padding-right:4px}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4142
4142
  }
4143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TimePickerComponent, decorators: [{
4143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerComponent, decorators: [{
4144
4144
  type: Component,
4145
4145
  args: [{ selector: 'time-picker', standalone: true, imports: [
4146
4146
  LucideIconComponent, CommonModule
@@ -4188,10 +4188,10 @@ class MonthPickerModalService {
4188
4188
  close() {
4189
4189
  this.state.next(null);
4190
4190
  }
4191
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MonthPickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4192
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MonthPickerModalService, providedIn: 'root' });
4191
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4192
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerModalService, providedIn: 'root' });
4193
4193
  }
4194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MonthPickerModalService, decorators: [{
4194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerModalService, decorators: [{
4195
4195
  type: Injectable,
4196
4196
  args: [{ providedIn: 'root' }]
4197
4197
  }] });
@@ -4647,8 +4647,8 @@ class MonthPickerComponent {
4647
4647
  const end = this.currentYear + 10;
4648
4648
  this.years = Array.from({ length: end - start + 1 }, (_, i) => start + i);
4649
4649
  }
4650
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MonthPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4651
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: MonthPickerComponent, isStandalone: true, selector: "month-picker", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", format: "format", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
4650
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4651
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MonthPickerComponent, isStandalone: true, selector: "month-picker", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", format: "format", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
4652
4652
  {
4653
4653
  provide: NG_VALUE_ACCESSOR,
4654
4654
  useExisting: forwardRef(() => MonthPickerComponent),
@@ -4656,7 +4656,7 @@ class MonthPickerComponent {
4656
4656
  },
4657
4657
  ], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div\r\n class=\"Entry\"\r\n (click)=\"toggleShowPicker($event)\"\r\n [class.focused]=\"isFocus\"\r\n [class.Disabled]=\"isDisabled\"\r\n tabindex=\"0\"\r\n (focus)=\"focus()\"\r\n (blur)=\"defocus()\"\r\n>\r\n <div class=\"Value\" *ngIf=\"selectedValue\">{{ formattedSelected }}</div>\r\n <div class=\"Placeholder\" *ngIf=\"!selectedValue\">{{ placeholder }}</div>\r\n <lucide-icon class=\"IconDate\" name=\"calendar\"></lucide-icon>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{padding:0 8px}:host .Entry .Value{color:var(--input-text)}:host .Entry .Placeholder{color:var(--input-placeholder)}:host .Entry .IconDate{margin-left:auto;color:var(--input-placeholder);padding-right:4px}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4658
4658
  }
4659
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MonthPickerComponent, decorators: [{
4659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerComponent, decorators: [{
4660
4660
  type: Component,
4661
4661
  args: [{ selector: 'month-picker', standalone: true, imports: [
4662
4662
  LucideIconComponent, CommonModule
@@ -4704,10 +4704,10 @@ class DatetimePickerModalService {
4704
4704
  close() {
4705
4705
  this.state.next(null);
4706
4706
  }
4707
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatetimePickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4708
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatetimePickerModalService, providedIn: 'root' });
4707
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4708
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerModalService, providedIn: 'root' });
4709
4709
  }
4710
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatetimePickerModalService, decorators: [{
4710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerModalService, decorators: [{
4711
4711
  type: Injectable,
4712
4712
  args: [{ providedIn: 'root' }]
4713
4713
  }] });
@@ -5301,8 +5301,8 @@ class DatetimePickerComponent {
5301
5301
  minute: this.selectedMinute,
5302
5302
  }).toFormat("yyyy-MM-dd' 'HH:mm");
5303
5303
  }
5304
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatetimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5305
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DatetimePickerComponent, isStandalone: true, selector: "datetime-picker", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", format: "format", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
5304
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5305
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: DatetimePickerComponent, isStandalone: true, selector: "datetime-picker", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", format: "format", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
5306
5306
  {
5307
5307
  provide: NG_VALUE_ACCESSOR,
5308
5308
  useExisting: forwardRef(() => DatetimePickerComponent),
@@ -5310,7 +5310,7 @@ class DatetimePickerComponent {
5310
5310
  },
5311
5311
  ], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div\n class=\"Entry\"\n (click)=\"toggleShowPicker($event)\"\n [class.focused]=\"isFocus\"\n [class.Disabled]=\"isDisabled\"\n tabindex=\"0\"\n (focus)=\"focus()\"\n (blur)=\"defocus()\"\n>\n <div class=\"Value\" *ngIf=\"selectedValue\">{{ formattedSelected }}</div>\n <div class=\"Placeholder\" *ngIf=\"!selectedValue\">{{ placeholder }}</div>\n <lucide-icon class=\"IconDate\" name=\"calendar\"></lucide-icon>\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{padding:0 8px}:host .Entry .Value{color:var(--input-text)}:host .Entry .Placeholder{color:var(--input-placeholder)}:host .Entry .IconDate{margin-left:auto;color:var(--input-placeholder);padding-right:4px}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5312
5312
  }
5313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatetimePickerComponent, decorators: [{
5313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerComponent, decorators: [{
5314
5314
  type: Component,
5315
5315
  args: [{ selector: 'datetime-picker', standalone: true, imports: [
5316
5316
  LucideIconComponent, CommonModule
@@ -5358,10 +5358,10 @@ class OnlySelectModalService {
5358
5358
  close() {
5359
5359
  this.state.next(null);
5360
5360
  }
5361
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OnlySelectModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5362
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OnlySelectModalService, providedIn: 'root' });
5361
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5362
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectModalService, providedIn: 'root' });
5363
5363
  }
5364
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OnlySelectModalService, decorators: [{
5364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectModalService, decorators: [{
5365
5365
  type: Injectable,
5366
5366
  args: [{ providedIn: 'root' }]
5367
5367
  }] });
@@ -5794,8 +5794,8 @@ class OnlySelectComponent {
5794
5794
  this.cdr.markForCheck();
5795
5795
  }
5796
5796
  }
5797
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OnlySelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5798
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: OnlySelectComponent, isStandalone: true, selector: "only-select", inputs: { label: "label", description: "description", placeholder: "placeholder", opcional: "opcional", options: "options", fieldHelp: "fieldHelp", api: "api", search: "search", minSearch: "minSearch", noOptionsMessage: "noOptionsMessage", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
5797
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5798
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: OnlySelectComponent, isStandalone: true, selector: "only-select", inputs: { label: "label", description: "description", placeholder: "placeholder", opcional: "opcional", options: "options", fieldHelp: "fieldHelp", api: "api", search: "search", minSearch: "minSearch", noOptionsMessage: "noOptionsMessage", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
5799
5799
  {
5800
5800
  provide: NG_VALUE_ACCESSOR, // Registro del value accessor para el componente
5801
5801
  useExisting: forwardRef(() => OnlySelectComponent), // Utilizamos forwardRef para evitar problemas con el ciclo de vida de Angular
@@ -5803,7 +5803,7 @@ class OnlySelectComponent {
5803
5803
  },
5804
5804
  ], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"label\"\n class=\"LabelRow\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"toggleOpenOptions($event); $event.stopPropagation()\"\n>\n <p class=\"Label\">\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n </p>\n <field-help-tooltip\n *ngIf=\"fieldHelp\"\n [title]=\"label\"\n [text]=\"fieldHelp\"\n ></field-help-tooltip>\n</div>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"toggleOpenOptions($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div\n class=\"Entry\"\n (click)=\"toggleOpenOptions($event)\"\n [class.IsFocus]=\"isFocus\"\n [class.Disabled]=\"isDisabled\"\n (focus)=\"focus()\"\n (blur)=\"defocus()\"\n>\n <div class=\"SelectedOptions\" *ngIf=\"selectedOption\">\n <div class=\"SelectedOption\">\n <div\n class=\"Color\"\n *ngIf=\"selectedOption.color\"\n [style.backgroundColor]=\"selectedOption.color\"\n ></div>\n <span class=\"Text\">{{ selectedOption.name }}</span>\n <lucide-icon class=\"RemoveIcon\" name=\"x\" (click)=\"removeSelected()\"></lucide-icon>\n </div>\n </div>\n <div class=\"Placeholder\" *ngIf=\"!selectedOption\">\n {{ placeholder }}\n </div>\n\n <lucide-icon class=\"IconSort\" name=\"arrow-down-wide-narrow\"></lucide-icon>\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{padding:0 8px;gap:4px}:host .Entry .SelectedOptions{display:flex;align-items:center;gap:4px;width:100%;height:100%}:host .Entry .SelectedOptions .SelectedOption{width:100%;height:100%;display:flex;align-items:center;gap:4px;overflow:hidden}:host .Entry .SelectedOptions .SelectedOption .Color{width:20px;min-width:20px;height:20px;min-height:20px;border-radius:100px;overflow:hidden}:host .Entry .SelectedOptions .SelectedOption .Text{width:100%;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-all}:host .Entry .SelectedOptions .SelectedOption .RemoveIcon{cursor:pointer;width:40px;height:100%;display:flex;justify-content:center;align-items:center;font-size:.7rem}:host .Entry .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-icon-svg{width:.7rem;height:.7rem}:host .Entry .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--red);background-color:var(--input-concats-bg)}:host .Entry .Value{color:var(--input-text)}:host .Entry .Placeholder{color:var(--input-placeholder)}:host .Entry .IconSort{display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--input-placeholder)}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: FieldHelpTooltipComponent, selector: "field-help-tooltip", inputs: ["text", "title"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5805
5805
  }
5806
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OnlySelectComponent, decorators: [{
5806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectComponent, decorators: [{
5807
5807
  type: Component,
5808
5808
  args: [{ standalone: true, selector: 'only-select', imports: [
5809
5809
  LucideIconComponent,
@@ -5864,10 +5864,10 @@ class MultiselectComboboxModalService {
5864
5864
  close() {
5865
5865
  this.state.next(null);
5866
5866
  }
5867
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MultiselectComboboxModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5868
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MultiselectComboboxModalService, providedIn: 'root' });
5867
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5868
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxModalService, providedIn: 'root' });
5869
5869
  }
5870
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MultiselectComboboxModalService, decorators: [{
5870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxModalService, decorators: [{
5871
5871
  type: Injectable,
5872
5872
  args: [{ providedIn: 'root' }]
5873
5873
  }] });
@@ -6367,8 +6367,8 @@ class MultiselectComboboxComponent {
6367
6367
  this.cdr.markForCheck();
6368
6368
  }
6369
6369
  }
6370
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MultiselectComboboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6371
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: MultiselectComboboxComponent, isStandalone: true, selector: "multiselect-combobox", inputs: { label: "label", description: "description", placeholder: "placeholder", opcional: "opcional", options: "options", api: "api", search: "search", minSearch: "minSearch", apiQueryParams: "apiQueryParams", deferInitialLoad: "deferInitialLoad", noOptionsMessage: "noOptionsMessage", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
6370
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6371
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MultiselectComboboxComponent, isStandalone: true, selector: "multiselect-combobox", inputs: { label: "label", description: "description", placeholder: "placeholder", opcional: "opcional", options: "options", api: "api", search: "search", minSearch: "minSearch", apiQueryParams: "apiQueryParams", deferInitialLoad: "deferInitialLoad", noOptionsMessage: "noOptionsMessage", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
6372
6372
  {
6373
6373
  provide: NG_VALUE_ACCESSOR,
6374
6374
  useExisting: forwardRef(() => MultiselectComboboxComponent),
@@ -6376,7 +6376,7 @@ class MultiselectComboboxComponent {
6376
6376
  },
6377
6377
  ], usesOnChanges: true, ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"toggleOpenOptions($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"toggleOpenOptions($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div\n class=\"Entry\"\n (click)=\"toggleOpenOptions($event)\"\n [class.focused]=\"isFocus\"\n [class.disabled]=\"isDisabled\"\n tabindex=\"0\"\n (focus)=\"focus()\"\n (blur)=\"defocus()\"\n>\n <div class=\"SelectedOptions\" *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"selectedOptions.length > 1\">\n <span class=\"SelectedCount\">\n +{{ selectedOptions.length - 1 }} items\n </span>\n\n <span class=\"SelectedOption\">\n <span class=\"Text\">{{ selectedOptions[selectedOptions.length - 1].name }}</span>\n <lucide-icon class=\"RemoveIcon\" name=\"x\" (click)=\"removeSelected(selectedOptions[selectedOptions.length - 1])\"></lucide-icon>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"selectedOptions.length === 1\">\n <span class=\"SelectedOption\">\n <p class=\"Text\">{{ selectedOptions[0].name }}</p>\n\n <lucide-icon\n class=\"RemoveIcon\"\n name=\"x\"\n (click)=\"removeSelected(selectedOptions[0])\"\n ></lucide-icon>\n </span>\n </ng-container>\n </div>\n\n <div\n class=\"Placeholder\"\n *ngIf=\"!selectedOptions || selectedOptions.length === 0\"\n >\n {{ placeholder }}\n </div>\n <lucide-icon class=\"IconSort\" name=\"arrow-down-wide-narrow\"></lucide-icon>\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{padding:0 8px;gap:4px}:host .Entry .SelectedOptions{width:100%;height:100%;display:flex;gap:3px;overflow:hidden}:host .Entry .SelectedOptions .SelectedCount{min-width:max-content;height:max-content;margin:auto 0;padding:0 5px;border-radius:50px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;background-color:var(--input-concats-bg)}:host .Entry .SelectedOptions .SelectedOption{width:100%;height:100%;display:flex;align-items:center;gap:4px;overflow:hidden}:host .Entry .SelectedOptions .SelectedOption .Text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .Entry .SelectedOptions .SelectedOption .RemoveIcon{cursor:pointer;width:40px;height:100%;display:flex;justify-content:center;align-items:center;font-size:.7rem}:host .Entry .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-icon-svg{width:.7rem;height:.7rem}:host .Entry .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--red);background-color:var(--input-concats-bg)}:host .Entry .Value{color:var(--input-text)}:host .Entry .Placeholder{color:var(--input-placeholder);width:100%}:host .Entry .IconSort{display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--input-placeholder)}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6378
6378
  }
6379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MultiselectComboboxComponent, decorators: [{
6379
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxComponent, decorators: [{
6380
6380
  type: Component,
6381
6381
  args: [{ standalone: true, selector: 'multiselect-combobox', imports: [
6382
6382
  LucideIconComponent, CommonModule
@@ -6532,8 +6532,8 @@ class BooleanEntryComponent {
6532
6532
  this.toggle();
6533
6533
  }
6534
6534
  }
6535
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: BooleanEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6536
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: BooleanEntryComponent, isStandalone: true, selector: "boolean-entry", inputs: { label: "label", description: "description", opcional: "opcional", text: "text", valuesOnValue: "valuesOnValue", disabled: "disabled" }, host: { listeners: { "click": "onClick()" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
6535
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BooleanEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6536
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BooleanEntryComponent, isStandalone: true, selector: "boolean-entry", inputs: { label: "label", description: "description", opcional: "opcional", text: "text", valuesOnValue: "valuesOnValue", disabled: "disabled" }, host: { listeners: { "click": "onClick()" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
6537
6537
  {
6538
6538
  provide: NG_VALUE_ACCESSOR,
6539
6539
  useExisting: forwardRef(() => BooleanEntryComponent),
@@ -6541,7 +6541,7 @@ class BooleanEntryComponent {
6541
6541
  },
6542
6542
  ], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry NotHover\" [class.Disabled]=\"isDisabled\">\r\n <lucide-icon\r\n class=\"Icon\"\r\n [name]=\"iconName\"\r\n [class.Icon--true]=\"value === true\"\r\n [class.Icon--false]=\"value === false\"\r\n [class.Icon--null]=\"value === null\"\r\n ></lucide-icon>\r\n <span class=\"Text\" *ngIf=\"displayValueText\">{{ displayValueText }}</span>\r\n</div>\r\n\r\n<input type=\"checkbox\" [checked]=\"value\" hidden />\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Description{margin-bottom:0}:host .Entry{background-color:transparent;gap:4px;height:max-content;border-radius:0;padding:0 4px}:host .Entry .Icon{display:flex;justify-content:center;align-items:center;flex-shrink:0;width:20px;height:20px;border-radius:var(--radius-sm);padding:0 var(--spacing-sm);color:var(--xu-on-fill)}:host .Entry .Icon lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}:host .Entry .Icon.Icon--null{background-color:var(--text-muted)}:host .Entry .Icon.Icon--true{background-color:var(--primary)}:host .Entry .Icon.Icon--false{background-color:var(--text-muted)}:host .Entry .Opcional{color:var(--text-muted)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
6543
6543
  }
6544
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: BooleanEntryComponent, decorators: [{
6544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BooleanEntryComponent, decorators: [{
6545
6545
  type: Component,
6546
6546
  args: [{ selector: 'boolean-entry', standalone: true, imports: [CommonModule, LucideIconComponent], providers: [
6547
6547
  {
@@ -6652,8 +6652,8 @@ class MultichoiceEntryComponent {
6652
6652
  iconClass(optionValue) {
6653
6653
  return this.isChecked(optionValue) ? 'check' : 'x';
6654
6654
  }
6655
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MultichoiceEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6656
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: MultichoiceEntryComponent, isStandalone: true, selector: "multichoice-entry", inputs: { label: "label", description: "description", opcional: "opcional", options: "options", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
6655
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultichoiceEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6656
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MultichoiceEntryComponent, isStandalone: true, selector: "multichoice-entry", inputs: { label: "label", description: "description", opcional: "opcional", options: "options", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
6657
6657
  {
6658
6658
  provide: NG_VALUE_ACCESSOR,
6659
6659
  useExisting: forwardRef(() => MultichoiceEntryComponent),
@@ -6661,7 +6661,7 @@ class MultichoiceEntryComponent {
6661
6661
  },
6662
6662
  ], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Options\">\r\n <div\r\n class=\"BooleanEntry\"\r\n *ngFor=\"let opt of options\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"toggle(opt.value)\"\r\n >\r\n <i class=\"Icon fa-solid\" [ngClass]=\"iconClass(opt.value)\"></i>\r\n <span class=\"Text\" *ngIf=\"opt.text\">{{ opt.text }}</span>\r\n <input type=\"checkbox\" [checked]=\"isChecked(opt.value)\" hidden />\r\n </div>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Description{margin-bottom:2px}:host .Options{display:flex;gap:4px;flex-direction:column;padding:0 4px}:host .Options .BooleanEntry{display:flex;width:100%;gap:4px;height:max-content;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);cursor:pointer;overflow:hidden}:host .Options .BooleanEntry .Icon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;font-size:.8rem;border-radius:var(--radius-sm);padding:0 var(--spacing-sm);color:var(--xu-on-fill)}:host .Options .BooleanEntry .Icon lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}:host .Options .BooleanEntry .fa-minus{background-color:var(--text-muted)}:host .Options .BooleanEntry .fa-check{background-color:var(--blue)}:host .Options .BooleanEntry .fa-xmark{background-color:var(--text-muted)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }] });
6663
6663
  }
6664
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MultichoiceEntryComponent, decorators: [{
6664
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultichoiceEntryComponent, decorators: [{
6665
6665
  type: Component,
6666
6666
  args: [{ selector: 'multichoice-entry', standalone: true, imports: [CommonModule, FormsModule], providers: [
6667
6667
  {
@@ -6754,8 +6754,8 @@ class OnlychoiceEntryComponent {
6754
6754
  iconClass(optionValue) {
6755
6755
  return this.isChecked(optionValue) ? 'check' : 'minus';
6756
6756
  }
6757
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OnlychoiceEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6758
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: OnlychoiceEntryComponent, isStandalone: true, selector: "onlychoice-entry", inputs: { label: "label", description: "description", opcional: "opcional", options: "options", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
6757
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlychoiceEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6758
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: OnlychoiceEntryComponent, isStandalone: true, selector: "onlychoice-entry", inputs: { label: "label", description: "description", opcional: "opcional", options: "options", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
6759
6759
  {
6760
6760
  provide: NG_VALUE_ACCESSOR,
6761
6761
  useExisting: forwardRef(() => OnlychoiceEntryComponent),
@@ -6763,7 +6763,7 @@ class OnlychoiceEntryComponent {
6763
6763
  },
6764
6764
  ], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Options\" [class.Disabled]=\"isDisabled\">\r\n <div\r\n class=\"BooleanEntry\"\r\n *ngFor=\"let opt of options\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"toggle(opt.value)\"\r\n >\r\n <i class=\"Icon fa-solid\" [ngClass]=\"iconClass(opt.value)\"></i>\r\n <span class=\"Text\" *ngIf=\"opt.text\">{{ opt.text }}</span>\r\n <input\r\n type=\"radio\"\r\n [checked]=\"isChecked(opt.value)\"\r\n [value]=\"opt.value\"\r\n hidden\r\n />\r\n </div>\r\n</div>\r\n\r\n<!-- SI es opcional te permite deselccionar todos pero si no es opcional no te -->\r\n<!-- permite deselccionar todos una vez que ya hay un valor -->\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Description{margin-bottom:2px}:host .Options{display:flex;gap:4px;flex-direction:column;padding:0 4px}:host .Options .BooleanEntry{display:flex;width:100%;gap:4px;height:max-content;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);cursor:pointer;overflow:hidden}:host .Options .BooleanEntry .Icon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;font-size:.8rem;border-radius:100px;padding:0 var(--spacing-sm);color:var(--xu-on-fill)}:host .Options .BooleanEntry .Icon lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}:host .Options .BooleanEntry .fa-minus{background-color:var(--text-muted)}:host .Options .BooleanEntry .fa-check{background-color:var(--blue)}:host .Options .BooleanEntry .fa-xmark{background-color:var(--red)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }] });
6765
6765
  }
6766
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OnlychoiceEntryComponent, decorators: [{
6766
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlychoiceEntryComponent, decorators: [{
6767
6767
  type: Component,
6768
6768
  args: [{ selector: 'onlychoice-entry', standalone: true, imports: [CommonModule, FormsModule], providers: [
6769
6769
  {
@@ -7056,8 +7056,8 @@ class SwitchEntryComponent {
7056
7056
  return v;
7057
7057
  return null;
7058
7058
  }
7059
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SwitchEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7060
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: SwitchEntryComponent, isStandalone: true, selector: "switch-entry", inputs: { label: "label", description: "description", opcional: "opcional", values: "values", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
7059
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SwitchEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7060
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SwitchEntryComponent, isStandalone: true, selector: "switch-entry", inputs: { label: "label", description: "description", opcional: "opcional", values: "values", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
7061
7061
  {
7062
7062
  provide: NG_VALUE_ACCESSOR,
7063
7063
  useExisting: SwitchEntryComponent,
@@ -7065,7 +7065,7 @@ class SwitchEntryComponent {
7065
7065
  },
7066
7066
  ], usesOnChanges: true, ngImport: i0, template: "<p *ngIf=\"label\" class=\"Label\" [class.Disabled]=\"isDisabled\">\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p *ngIf=\"description\" class=\"Description\" [class.Disabled]=\"isDisabled\">\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry NotHover\" [class.Disabled]=\"isDisabled\">\r\n <div\r\n class=\"Switch\"\r\n role=\"switch\"\r\n [class.Switch--on]=\"isOn\"\r\n [class.Switch--dragging]=\"isDragging\"\r\n [attr.aria-checked]=\"ariaChecked\"\r\n [attr.aria-disabled]=\"isDisabled ? 'true' : 'false'\"\r\n (click)=\"onTrackClick($event)\"\r\n >\r\n <div\r\n class=\"SwitchTrack\"\r\n tabindex=\"0\"\r\n (pointerdown)=\"onPointerDown($event)\"\r\n (pointermove)=\"onPointerMove($event)\"\r\n (pointerup)=\"onPointerUp($event)\"\r\n (pointercancel)=\"onPointerCancel($event)\"\r\n >\r\n <div class=\"SwitchTrackFill\" [style.width]=\"trackFillWidth\"></div>\r\n <div class=\"SwitchThumb\" [style.transform]=\"'translateX(' + thumbLeftPx + 'px)'\"></div>\r\n </div>\r\n <span class=\"SwitchText\" *ngIf=\"displayText\">{{ displayText }}</span>\r\n </div>\r\n</div>\r\n\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{height:auto;background:transparent;padding:0}:host .Switch{display:inline-flex;align-items:center;gap:10px;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:9999px;transition:background-color .15s ease}:host .SwitchTrack{width:50px;height:24px;border-radius:9999px;background:var(--text-muted);position:relative;padding:0;cursor:pointer;touch-action:pan-y;transition:background-color .15s ease,border-color .15s ease;display:flex;align-items:center;overflow:hidden}:host .SwitchTrackFill{position:absolute;left:0;top:0;bottom:0;width:0%;background:var(--btn-primary-bg);transition:width .12s ease,background-color .15s ease}:host .Switch.Switch--dragging .SwitchTrackFill{transition:none}:host :host(.IsDisable) .SwitchTrack{cursor:not-allowed;background:var(--input-bg-disabled)}:host .SwitchThumb{width:20px;height:20px;margin:2px;border-radius:9999px;background:var(--surface);will-change:transform;transition:transform .12s ease;position:relative;z-index:1}:host .Switch.Switch--dragging .SwitchThumb{transition:none}:host .Switch.Switch--on .SwitchTrack{background:var(--btn-primary-bg)}:host .SwitchTrack:focus-visible{outline:none}:host .SwitchText{font-size:.9rem;color:var(--text-base)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
7067
7067
  }
7068
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SwitchEntryComponent, decorators: [{
7068
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SwitchEntryComponent, decorators: [{
7069
7069
  type: Component,
7070
7070
  args: [{ selector: 'switch-entry', standalone: true, imports: [CommonModule], providers: [
7071
7071
  {
@@ -7107,10 +7107,10 @@ class PhoneEntryModalService {
7107
7107
  close() {
7108
7108
  this.state.next(null);
7109
7109
  }
7110
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PhoneEntryModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7111
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PhoneEntryModalService, providedIn: 'root' });
7110
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7111
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryModalService, providedIn: 'root' });
7112
7112
  }
7113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PhoneEntryModalService, decorators: [{
7113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryModalService, decorators: [{
7114
7114
  type: Injectable,
7115
7115
  args: [{ providedIn: 'root' }]
7116
7116
  }] });
@@ -7858,8 +7858,8 @@ class PhoneEntryComponent {
7858
7858
  textarea.focus();
7859
7859
  }
7860
7860
  }
7861
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PhoneEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7862
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: PhoneEntryComponent, isStandalone: true, selector: "phone-entry", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", defaultCountry: "defaultCountry", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
7861
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7862
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PhoneEntryComponent, isStandalone: true, selector: "phone-entry", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", defaultCountry: "defaultCountry", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
7863
7863
  {
7864
7864
  provide: NG_VALUE_ACCESSOR,
7865
7865
  useExisting: forwardRef(() => PhoneEntryComponent),
@@ -7867,7 +7867,7 @@ class PhoneEntryComponent {
7867
7867
  },
7868
7868
  ], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\" [class.Error]=\"error\">\n <div class=\"CodePicker\" (click)=\"!isEditingPrefix && togglePicker()\">\n <img \n *ngIf=\"selectedCountry.img && selectedCountry.code !== 'CUSTOM'\" \n class=\"Icon\" \n [src]=\"selectedCountry.img\" \n draggable=\"false\" \n />\n <lucide-icon class=\"Icon\" name=\"globe\" *ngIf=\"!selectedCountry.img || selectedCountry.code === 'CUSTOM'\"></lucide-icon>\n <input\n *ngIf=\"isEditingPrefix\"\n type=\"text\"\n class=\"PrefixInput\"\n [value]=\"customPrefix\"\n (input)=\"onPrefixInput($event)\"\n (focus)=\"onPrefixFocus()\"\n (blur)=\"onPrefixBlur()\"\n (keydown)=\"onPrefixKeyDown($event)\"\n (click)=\"$event.stopPropagation()\"\n placeholder=\"+XX\"\n maxlength=\"5\"\n />\n <span *ngIf=\"!isEditingPrefix\" class=\"PrefixText\" (dblclick)=\"onPrefixFocus(); $event.stopPropagation()\">\n {{ customPrefix || selectedCountry.prefix }}\n </span>\n </div>\n\n <input\n type=\"text\"\n class=\"Input\"\n [class.Disabled]=\"isDisabled\"\n [placeholder]=\"placeholder\"\n [value]=\"textValue\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n (paste)=\"onPaste($event)\"\n inputmode=\"tel\"\n pattern=\"[0-9]*\"\n />\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .CodePicker{height:100%;display:flex;justify-content:center;align-items:center;gap:5px;width:max-content;padding:0 var(--spacing-sm);background-color:var(--input-concats-bg);cursor:pointer;position:relative}:host .Entry .CodePicker .Icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}:host .Entry .CodePicker .PrefixText{-webkit-user-select:none;user-select:none;white-space:nowrap}:host .Entry .CodePicker .PrefixInput{background:transparent;border:none;outline:none;color:var(--input-text);font-size:inherit;font-family:inherit;width:50px;padding:0;text-align:center;caret-color:var(--primary)}:host .Entry .CodePicker .PrefixInput::placeholder{color:var(--input-placeholder);opacity:.6}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 var(--spacing-md);padding-left:var(--spacing-sm);color:var(--input-text);caret-color:var(--primary);caret-shape:block;text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
7869
7869
  }
7870
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PhoneEntryComponent, decorators: [{
7870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryComponent, decorators: [{
7871
7871
  type: Component,
7872
7872
  args: [{ selector: 'phone-entry', standalone: true, imports: [
7873
7873
  LucideIconComponent, CommonModule
@@ -7913,10 +7913,10 @@ class ColorPickerModalService {
7913
7913
  close() {
7914
7914
  this.state.next(null);
7915
7915
  }
7916
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ColorPickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7917
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ColorPickerModalService, providedIn: 'root' });
7916
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7917
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerModalService, providedIn: 'root' });
7918
7918
  }
7919
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ColorPickerModalService, decorators: [{
7919
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerModalService, decorators: [{
7920
7920
  type: Injectable,
7921
7921
  args: [{ providedIn: 'root' }]
7922
7922
  }] });
@@ -8123,8 +8123,8 @@ class ColorPickerComponent {
8123
8123
  input.focus();
8124
8124
  }
8125
8125
  }
8126
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8127
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: ColorPickerComponent, isStandalone: true, selector: "color-picker", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", mode: "mode", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
8126
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8127
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ColorPickerComponent, isStandalone: true, selector: "color-picker", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", mode: "mode", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
8128
8128
  {
8129
8129
  provide: NG_VALUE_ACCESSOR,
8130
8130
  useExisting: forwardRef(() => ColorPickerComponent),
@@ -8132,7 +8132,7 @@ class ColorPickerComponent {
8132
8132
  },
8133
8133
  ], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\" [class.Error]=\"error\">\n <div\n class=\"Preview\"\n [style.background-color]=\"textValue || null\"\n (click)=\"togglePicker()\"\n role=\"button\"\n tabindex=\"-1\"\n aria-label=\"Abrir selector de color\"\n ></div>\n\n <input\n type=\"text\"\n class=\"Input\"\n [class.Disabled]=\"isDisabled\"\n [placeholder]=\"placeholder\"\n [value]=\"textValue\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n />\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Preview{flex-shrink:0;width:25px;height:25px;min-width:25px;border-radius:100px;display:flex;justify-content:center;align-items:center;gap:5px;margin:4px 0 4px 4px;background-color:var(--input-concats-bg);border:1px solid var(--input-border);cursor:pointer;box-sizing:border-box}:host .Entry .Input{flex:1;min-width:0;width:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
8134
8134
  }
8135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ColorPickerComponent, decorators: [{
8135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerComponent, decorators: [{
8136
8136
  type: Component,
8137
8137
  args: [{ selector: 'color-picker', standalone: true, imports: [CommonModule], providers: [
8138
8138
  {
@@ -8310,8 +8310,8 @@ class OtpEntryComponent {
8310
8310
  textarea.focus();
8311
8311
  }
8312
8312
  }
8313
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OtpEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8314
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: OtpEntryComponent, isStandalone: true, selector: "otp-entry", inputs: { length: "length", label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", disabled: "disabled" }, host: { listeners: { "paste": "handlePaste($event)" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
8313
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OtpEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8314
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: OtpEntryComponent, isStandalone: true, selector: "otp-entry", inputs: { length: "length", label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", disabled: "disabled" }, host: { listeners: { "paste": "handlePaste($event)" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
8315
8315
  {
8316
8316
  provide: NG_VALUE_ACCESSOR,
8317
8317
  useExisting: forwardRef(() => OtpEntryComponent),
@@ -8319,7 +8319,7 @@ class OtpEntryComponent {
8319
8319
  },
8320
8320
  ], viewQueries: [{ propertyName: "inputs", predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n\r\n<div class=\"OtpWrapper\" [class.Disabled]=\"isDisabled\">\r\n <input\r\n *ngFor=\"let i of [].constructor(length); let index = index\"\r\n #inputRef\r\n class=\"OtpInput\"\r\n type=\"text\"\r\n maxlength=\"1\"\r\n [disabled]=\"isDisabled\"\r\n placeholder=\"0\"\r\n (input)=\"onInput($event, index)\"\r\n (keydown)=\"onKeyDown($event, index)\"\r\n (paste)=\"$event.preventDefault(); handlePaste($event)\"\r\n />\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .OtpWrapper{display:flex;gap:4px;width:100%;height:max-content;justify-content:flex-start;align-items:center;cursor:pointer}:host .OtpWrapper .OtpInput{background-color:var(--input-bg);min-height:40px;height:auto;width:max-content;min-width:40px;border:solid 0 var(--input-border);border-radius:var(--radius-lg);text-align:center;font-size:1.3rem;font-weight:500;color:var(--input-text);caret-color:var(--primary);caret-shape:block;resize:vertical}:host .OtpWrapper .OtpInput:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .OtpWrapper .OtpInput:focus{border:none;outline:solid 1px var(--input-focus-border)}:host .OtpWrapper .OtpInput::placeholder{color:var(--input-placeholder)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }] });
8321
8321
  }
8322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OtpEntryComponent, decorators: [{
8322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OtpEntryComponent, decorators: [{
8323
8323
  type: Component,
8324
8324
  args: [{ selector: 'otp-entry', standalone: true, imports: [CommonModule, FormsModule], providers: [
8325
8325
  {
@@ -8463,10 +8463,10 @@ class DragScrollDirective {
8463
8463
  }
8464
8464
  }, { passive: false });
8465
8465
  }
8466
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DragScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
8467
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DragScrollDirective, isStandalone: true, selector: "[dragScroll]", inputs: { direction: ["dragScroll", "direction"] }, ngImport: i0 });
8466
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DragScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
8467
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: DragScrollDirective, isStandalone: true, selector: "[dragScroll]", inputs: { direction: ["dragScroll", "direction"] }, ngImport: i0 });
8468
8468
  }
8469
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DragScrollDirective, decorators: [{
8469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DragScrollDirective, decorators: [{
8470
8470
  type: Directive,
8471
8471
  args: [{
8472
8472
  selector: '[dragScroll]',
@@ -9540,8 +9540,8 @@ class RichTextEntryComponent {
9540
9540
  }
9541
9541
  this.cdr.markForCheck();
9542
9542
  }
9543
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: RichTextEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9544
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: RichTextEntryComponent, isStandalone: true, selector: "rich-text-entry", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
9543
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RichTextEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9544
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: RichTextEntryComponent, isStandalone: true, selector: "rich-text-entry", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
9545
9545
  {
9546
9546
  provide: NG_VALUE_ACCESSOR,
9547
9547
  useExisting: forwardRef(() => RichTextEntryComponent),
@@ -9549,7 +9549,7 @@ class RichTextEntryComponent {
9549
9549
  },
9550
9550
  ], viewQueries: [{ propertyName: "contentEditable", first: true, predicate: ["contentEditable"], descendants: true }, { propertyName: "imageInput", first: true, predicate: ["imageInput"], descendants: true }, { propertyName: "imageOverlay", first: true, predicate: ["imageOverlay"], descendants: true }, { propertyName: "tableOverlay", first: true, predicate: ["tableOverlay"], descendants: true }], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div class=\"EditorWrapper\" [class.Disabled]=\"isDisabled\">\n <!-- Solo en el navegador: Lexical (en SSR no se crea editor para evitar \"document is not defined\") -->\n <ng-container *ngIf=\"isBrowser\">\n <div class=\"Toolbar\" [class.Disabled]=\"isDisabled\" (click)=\"$event.stopPropagation()\" dragScroll=\"horizontal\">\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--undo\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('undo'); $event.preventDefault()\"\n [disabled]=\"isDisabled || !canUndo\"\n aria-label=\"Deshacer\"\n >\n <lucide-icon name=\"rotate-ccw\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--redo\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('redo'); $event.preventDefault()\"\n [disabled]=\"isDisabled || !canRedo\"\n aria-label=\"Rehacer\"\n >\n <lucide-icon name=\"rotate-cw\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <span class=\"ToolSep\"></span>\n\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--bold\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isBold\"\n (click)=\"exec('bold'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Negrita\"\n >\n <lucide-icon name=\"bold\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--italic\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isItalic\"\n (click)=\"exec('italic'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Cursiva\"\n >\n <lucide-icon name=\"italic\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--underline\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isUnderline\"\n (click)=\"exec('underline'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Subrayado\"\n >\n <lucide-icon name=\"underline\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--strike\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isStrikethrough\"\n (click)=\"exec('strikethrough'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Tachado\"\n >\n <lucide-icon name=\"strikethrough\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <span class=\"ToolSep\"></span>\n\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--h1\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isH1\"\n (click)=\"exec('h1'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"T\u00EDtulo H1\"\n >\n H1\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--link\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isLink\"\n (click)=\"exec('link'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Insertar o quitar link\"\n >\n <lucide-icon name=\"link\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--image\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('image'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Insertar imagen\"\n >\n <lucide-icon name=\"image\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--table\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Insertar tabla\"\n >\n <lucide-icon name=\"table\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <span class=\"ToolSep\"></span>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--ol\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('ol'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Lista numerada\"\n >\n <lucide-icon name=\"list-ordered\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--ul\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('ul'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Lista con vi\u00F1etas\"\n >\n <lucide-icon name=\"list\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <span class=\"ToolSep\"></span>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--align\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isAlignLeft\"\n (click)=\"exec('align-left'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Alinear a la izquierda\"\n >\n <lucide-icon name=\"text-align-start\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--align\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isAlignCenter\"\n (click)=\"exec('align-center'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Centrar\"\n >\n <lucide-icon name=\"text-align-center\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--align\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isAlignRight\"\n (click)=\"exec('align-right'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Alinear a la derecha\"\n >\n <lucide-icon name=\"text-align-end\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--align\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isAlignJustify\"\n (click)=\"exec('align-justify'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Justificar\"\n >\n <lucide-icon name=\"text-align-justify\" aria-hidden=\"true\"></lucide-icon>\n </button>\n </div>\n <input #imageInput type=\"file\" accept=\"image/*\" hidden (change)=\"onImageSelected($event)\" />\n\n <div\n class=\"LexicalRoot\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event)\"\n >\n <!-- Overlays flotantes (NO se guardan en el HTML del editor) -->\n <div\n *ngIf=\"imageOverlayVisible\"\n #imageOverlay\n class=\"FloatingOverlay FloatingOverlay--image\"\n [style.top.px]=\"imageOverlayTop\"\n [style.left.px]=\"imageOverlayLeft\"\n (pointerdown)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation()\"\n >\n <button\n type=\"button\"\n class=\"FloatingBtn\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('image-move-up'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Mover imagen arriba\"\n >\n <lucide-icon name=\"arrow-up\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"FloatingBtn\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('image-move-down'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Mover imagen abajo\"\n >\n <lucide-icon name=\"arrow-down\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <span class=\"FloatingHandle\" (pointerdown)=\"onImageResizeStart($event)\" aria-label=\"Resize imagen\"></span>\n </div>\n\n <div\n *ngIf=\"tableOverlayVisible\"\n #tableOverlay\n class=\"FloatingOverlay FloatingOverlay--table\"\n [style.top.px]=\"tableOverlayTop\"\n [style.left.px]=\"tableOverlayLeft\"\n [style.maxHeight.px]=\"tableOverlayMaxHeight\"\n (pointerdown)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation()\"\n >\n <div class=\"ContextMenu\">\n <div class=\"ContextMenuTitle\">Tabla</div>\n\n <div class=\"ContextMenuSection\">\n <div class=\"ContextMenuLabel\">Insertar</div>\n <button\n type=\"button\"\n class=\"ContextMenuItem\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-row-before'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon name=\"arrow-up\" aria-hidden=\"true\"></lucide-icon>\n <span>Fila arriba</span>\n </button>\n <button\n type=\"button\"\n class=\"ContextMenuItem\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-row-after'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon name=\"arrow-down\" aria-hidden=\"true\"></lucide-icon>\n <span>Fila abajo</span>\n </button>\n <button\n type=\"button\"\n class=\"ContextMenuItem\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-col-before'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon name=\"arrow-left\" aria-hidden=\"true\"></lucide-icon>\n <span>Columna izquierda</span>\n </button>\n <button\n type=\"button\"\n class=\"ContextMenuItem\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-col-after'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon name=\"arrow-right\" aria-hidden=\"true\"></lucide-icon>\n <span>Columna derecha</span>\n </button>\n </div>\n\n <div class=\"ContextMenuDivider\"></div>\n\n <div class=\"ContextMenuSection\">\n <div class=\"ContextMenuLabel\">Eliminar</div>\n <button\n type=\"button\"\n class=\"ContextMenuItem ContextMenuItem--danger\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-row-delete'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon name=\"minus\" aria-hidden=\"true\"></lucide-icon>\n <span>Eliminar fila</span>\n </button>\n <button\n type=\"button\"\n class=\"ContextMenuItem ContextMenuItem--danger\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-col-delete'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon name=\"minus\" aria-hidden=\"true\"></lucide-icon>\n <span>Eliminar columna</span>\n </button>\n <button\n type=\"button\"\n class=\"ContextMenuItem ContextMenuItem--danger\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-delete'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon class=\"Icon--trash\" name=\"trash\" aria-hidden=\"true\"></lucide-icon>\n <span>Eliminar tabla</span>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"LexicalPlaceholder\" *ngIf=\"showPlaceholder\">{{ placeholder }}</div>\n <div\n #contentEditable\n class=\"LexicalContent\"\n contenteditable=\"true\"\n spellcheck=\"true\"\n (blur)=\"onEditorBlur($event)\"\n (input)=\"onInput()\"\n ></div>\n </div>\n </ng-container>\n\n <!-- En SSR: placeholder para mantener el layout (el campo no afecta SEO) -->\n <div *ngIf=\"!isBrowser\" class=\"EditorPlaceholder\" [class.Disabled]=\"isDisabled\">\n <span class=\"EditorPlaceholderText\">Editor de texto enriquecido (carga en el navegador)</span>\n </div>\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}:host .EditorWrapper{min-height:150px;border-radius:var(--radius-md);border:solid 1px transparent;background-color:var(--input-bg);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:0;padding:4px;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}:host .EditorWrapper:focus-within{border:solid 1px var(--input-border-focus)}:host .EditorWrapper.Disabled{pointer-events:none;opacity:.5;-webkit-user-select:none!important;user-select:none!important}:host .EditorWrapper .Toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:0;padding-bottom:8px;width:100%;overflow:hidden;overflow-x:auto;-webkit-user-select:none;user-select:none}:host .EditorWrapper .Toolbar.Disabled{opacity:.7}:host .EditorWrapper .Toolbar .ToolSep{width:1px;height:20px;background:var(--input-border);margin:0 4px}:host .EditorWrapper .Toolbar .ToolBtn{border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-base);padding:6px 10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:36px;transition:background-color .12s ease,transform .12s ease,box-shadow .12s ease,color .12s ease}:host .EditorWrapper .Toolbar .ToolBtn:hover{background-color:var(--surface);transform:translateY(-1px);box-shadow:0 6px 14px var(--shadow-color)}:host .EditorWrapper .Toolbar .ToolBtn.Active{background:linear-gradient(135deg,var(--primary-soft, var(--info-bg)),var(--info-bg));color:var(--text-primary);box-shadow:0 6px 14px var(--shadow-color)}:host .EditorWrapper .Toolbar .ToolBtn:disabled{cursor:not-allowed;opacity:.6}:host .EditorWrapper .Toolbar .ToolBtn i,:host .EditorWrapper .Toolbar .ToolBtn lucide-icon{font-size:.95rem;line-height:1}:host .EditorWrapper .Toolbar .ToolBtn i lucide-icon .lucide-icon-svg,:host .EditorWrapper .Toolbar .ToolBtn lucide-icon lucide-icon .lucide-icon-svg{width:.95rem;height:.95rem}:host .EditorWrapper .Toolbar .ToolBtn--undo{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--undo:hover{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--undo.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 22%,transparent),color-mix(in srgb,var(--info-text, var(--primary)) 16%,transparent));color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--redo{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--redo:hover{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--redo.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 22%,transparent),color-mix(in srgb,var(--secondary, var(--primary)) 16%,transparent));color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--bold{color:var(--secondary, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--bold:hover{color:var(--secondary, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--bold.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--secondary, var(--primary)) 22%,transparent),color-mix(in srgb,var(--primary) 16%,transparent));color:var(--secondary, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--italic{color:var(--accent, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--italic:hover{color:var(--accent, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--italic.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--accent, var(--primary)) 22%,transparent),color-mix(in srgb,var(--secondary, var(--primary)) 16%,transparent));color:var(--accent, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--underline{color:var(--info-text, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--underline:hover{color:var(--info-text, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--underline.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--info-text, var(--primary)) 22%,transparent),color-mix(in srgb,var(--primary) 16%,transparent));color:var(--info-text, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--strike{color:var(--error-text)}:host .EditorWrapper .Toolbar .ToolBtn--strike:hover{color:var(--error-text)}:host .EditorWrapper .Toolbar .ToolBtn--strike.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--error-text) 22%,transparent),color-mix(in srgb,var(--warning-text) 16%,transparent));color:var(--error-text)}:host .EditorWrapper .Toolbar .ToolBtn--h1{color:var(--warning-text)}:host .EditorWrapper .Toolbar .ToolBtn--h1:hover{color:var(--warning-text)}:host .EditorWrapper .Toolbar .ToolBtn--h1.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--warning-text) 22%,transparent),color-mix(in srgb,var(--warning-text) 16%,transparent));color:var(--warning-text)}:host .EditorWrapper .Toolbar .ToolBtn--link{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--link:hover{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--link.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 22%,transparent),color-mix(in srgb,var(--info-text, var(--primary)) 16%,transparent));color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--image{color:var(--success-text)}:host .EditorWrapper .Toolbar .ToolBtn--image:hover{color:var(--success-text)}:host .EditorWrapper .Toolbar .ToolBtn--image.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--success-text) 22%,transparent),color-mix(in srgb,var(--info-text, var(--primary)) 16%,transparent));color:var(--success-text)}:host .EditorWrapper .Toolbar .ToolBtn--table{color:var(--warning-text)}:host .EditorWrapper .Toolbar .ToolBtn--table:hover{color:var(--warning-text)}:host .EditorWrapper .Toolbar .ToolBtn--table.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--warning-text) 22%,transparent),color-mix(in srgb,var(--warning-text) 16%,transparent));color:var(--warning-text)}:host .EditorWrapper .Toolbar .ToolBtn--ol{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--ol:hover{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--ol.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 22%,transparent),color-mix(in srgb,var(--secondary, var(--primary)) 16%,transparent));color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--ul{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--ul:hover{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--ul.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 22%,transparent),color-mix(in srgb,var(--secondary, var(--primary)) 16%,transparent));color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--align{color:var(--info-text, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--align:hover{color:var(--info-text, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--align.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--info-text, var(--primary)) 22%,transparent),color-mix(in srgb,var(--primary) 16%,transparent));color:var(--info-text, var(--primary))}:host .EditorWrapper .Toolbar .ToolLabel{font-weight:700}:host .EditorWrapper .EditorPlaceholder{width:100%;min-height:140px;padding:.75rem 1rem;border-radius:var(--radius-lg);background:transparent;display:flex;align-items:center;justify-content:center}:host .EditorWrapper .EditorPlaceholder.Disabled{opacity:.6}:host .EditorWrapper .EditorPlaceholder .EditorPlaceholderText{font-size:.9rem;color:var(--text-muted)}:host .EditorWrapper .LexicalRoot{position:relative;border-radius:var(--radius-lg);background-color:var(--surface);min-height:200px;overflow:hidden}:host .EditorWrapper .LexicalRoot.Disabled{opacity:.95}:host .EditorWrapper .LexicalRoot .LexicalPlaceholder{position:absolute;top:12px;left:16px;right:16px;color:var(--text-muted);pointer-events:none;font-size:1rem}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent{background-color:transparent;min-height:200px;outline:none;font-size:1rem;line-height:1.5;padding:.75rem 1rem;color:var(--text-base);font-family:Inter,sans-serif;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;pointer-events:auto!important;cursor:text!important}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-paragraph{margin:.5em 0;font-size:1rem}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h1,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h2,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h3,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h4,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h5,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h6{font-weight:700;display:block}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h1{font-size:1.4rem!important;text-transform:uppercase}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h2{font-size:1.5rem!important}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h3{font-size:1.5rem}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h4{font-size:1.25rem}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h5{font-size:1.125rem}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h6{font-size:1rem}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-text-bold{font-weight:700}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-text-italic{font-style:italic}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-text-underline{text-decoration:underline;text-underline-offset:2px}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-text-strikethrough{text-decoration:line-through}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-text-underlineStrikethrough{text-decoration:underline line-through;text-underline-offset:2px}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-list-ol,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-list-ul{margin:.5em 0 .5em 1.5em;padding-left:1.25rem;list-style-position:outside}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-list-ol{list-style-type:decimal}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-list-ul{list-style-type:disc}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-listitem{margin:.25em 0}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-link{color:var(--text-link);text-decoration:underline}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-image{display:inline-block;position:relative;max-width:100%;border-radius:var(--radius-lg);outline:1px solid var(--shadow-color);background:var(--surface);padding:6px;margin:.5rem 0}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-image img{display:block;max-width:100%;height:auto;border-radius:var(--radius-md)}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-table{border-collapse:collapse;width:100%;margin:.75rem 0;table-layout:fixed}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-table-cell,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-table-cell-header{border:1px solid var(--border);padding:.5rem;vertical-align:top}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-table-cell-header{background:var(--surface-2, var(--shadow-color));font-weight:700}:host .EditorWrapper .LexicalRoot .FloatingOverlay{position:absolute;z-index:50;display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);pointer-events:auto;overflow:hidden;overflow-y:auto}:host .EditorWrapper .LexicalRoot .FloatingBtn{border:none;border-radius:var(--radius-lg);background:transparent;cursor:pointer;padding:6px 10px;color:var(--primary);transition:background-color .12s ease,transform .12s ease}:host .EditorWrapper .LexicalRoot .FloatingBtn:hover{background:var(--primary-soft, var(--info-bg));transform:translateY(-1px)}:host .EditorWrapper .LexicalRoot .FloatingBtn:disabled{opacity:.6;cursor:not-allowed}:host .EditorWrapper .LexicalRoot .FloatingBtn i,:host .EditorWrapper .LexicalRoot .FloatingBtn lucide-icon{font-size:.95rem}:host .EditorWrapper .LexicalRoot .FloatingBtn i lucide-icon .lucide-icon-svg,:host .EditorWrapper .LexicalRoot .FloatingBtn lucide-icon lucide-icon .lucide-icon-svg{width:.95rem;height:.95rem}:host .EditorWrapper .LexicalRoot .FloatingHandle{width:14px;height:14px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary),var(--info-text, var(--primary)));box-shadow:0 6px 16px var(--shadow-color);border:2px solid var(--xu-on-fill, var(--surface));cursor:nwse-resize;-webkit-user-select:none;user-select:none;touch-action:none}:host .EditorWrapper .LexicalRoot .ContextMenu{display:flex;flex-direction:column;gap:8px;min-width:220px;padding:6px;max-height:100%;overflow-y:auto;overscroll-behavior:contain}:host .EditorWrapper .LexicalRoot .ContextMenuTitle{font-weight:800;color:var(--text-base)}:host .EditorWrapper .LexicalRoot .ContextMenuSection{display:flex;flex-direction:column}:host .EditorWrapper .LexicalRoot .ContextMenuLabel{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:0 2px}:host .EditorWrapper .LexicalRoot .ContextMenuDivider{height:1px;background:var(--shadow-color);margin:2px}:host .EditorWrapper .LexicalRoot .ContextMenuItem{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;border-radius:var(--radius-lg);padding:2px;cursor:pointer;color:var(--text-base)}:host .EditorWrapper .LexicalRoot .ContextMenuItem:hover{background:var(--primary-soft, var(--info-bg))}:host .EditorWrapper .LexicalRoot .ContextMenuItem:disabled{opacity:.55;cursor:not-allowed}:host .EditorWrapper .LexicalRoot .ContextMenuItem i{width:18px;text-align:center;color:var(--primary)}:host .EditorWrapper .LexicalRoot .ContextMenuItem span{font-weight:400}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger:hover{background:var(--error-bg)}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger i{color:var(--error-text)}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger *{user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger img{user-select:none!important;-webkit-user-select:none!important;cursor:default!important}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h1,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h2,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h3,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h4,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h5,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h6{margin:.5em 0 .25em;font-weight:700;line-height:1.2;display:block}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h1{font-size:2rem!important;line-height:1.15!important;text-transform:uppercase}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h2{font-size:1.5rem!important}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h3{font-size:1.5rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h4{font-size:1.25rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h5{font-size:1.125rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h6{font-size:1rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger p{margin:.5em 0;font-size:1rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger ul,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger ol{margin:.5em 0 .5em 1.5em;padding-left:1.25rem;list-style-type:initial;list-style-position:outside}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger li{margin:.25em 0}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger blockquote{margin:1em 0;padding-left:1rem;border-left:4px solid var(--border);font-style:italic;color:var(--text-muted)}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger pre{background:var(--surface-2, var(--surface));padding:1rem;border-radius:var(--radius-md);font-family:Courier New,monospace;overflow-x:auto;font-size:.875rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger code{font-family:Courier New,monospace;background:var(--surface-2, var(--surface));padding:.2em .4em;border-radius:var(--radius-sm);font-size:.875rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger a{color:var(--text-link);text-decoration:underline}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger strong{font-weight:600}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger em{font-style:italic}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger u{text-decoration:underline;text-underline-offset:2px}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger span[style*=\"text-decoration: underline\"],:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger span[style*=\"text-decoration:underline\"]{text-decoration:underline!important;text-underline-offset:2px}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger span[style*=\"text-decoration: line-through\"],:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger span[style*=\"text-decoration:line-through\"]{text-decoration:line-through!important}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger s,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger strike,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger del{text-decoration:line-through;text-decoration-thickness:from-font}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger img{max-width:100%;height:auto}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: DragScrollDirective, selector: "[dragScroll]", inputs: ["dragScroll"] }] });
9551
9551
  }
9552
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: RichTextEntryComponent, decorators: [{
9552
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RichTextEntryComponent, decorators: [{
9553
9553
  type: Component,
9554
9554
  args: [{ selector: 'rich-text-entry', standalone: true, imports: [
9555
9555
  LucideIconComponent, CommonModule, DragScrollDirective
@@ -9822,8 +9822,8 @@ class SignatureEntryComponent {
9822
9822
  });
9823
9823
  addListener('touchend', () => end());
9824
9824
  }
9825
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SignatureEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9826
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: SignatureEntryComponent, isStandalone: true, selector: "signature-entry", inputs: { label: "label", opcional: "opcional", description: "description", clearText: "clearText", quality: "quality", exportWidth: "exportWidth", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
9825
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SignatureEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9826
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SignatureEntryComponent, isStandalone: true, selector: "signature-entry", inputs: { label: "label", opcional: "opcional", description: "description", clearText: "clearText", quality: "quality", exportWidth: "exportWidth", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
9827
9827
  {
9828
9828
  provide: NG_VALUE_ACCESSOR,
9829
9829
  useExisting: forwardRef(() => SignatureEntryComponent),
@@ -9831,7 +9831,7 @@ class SignatureEntryComponent {
9831
9831
  },
9832
9832
  ], viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["canvas"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"SignatureBox\">\r\n <canvas #canvas width=\"400\" height=\"150\" class=\"SignatureCanvas\"></canvas>\r\n <button class=\"Clear\" type=\"button\" (click)=\"clearCanvas()\"><lucide-icon name=\"brush-cleaning\"></lucide-icon> limpiar firma</button>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .SignatureBox{width:max-content;display:flex;flex-direction:column;gap:5px;align-items:flex-start}:host .SignatureBox .SignatureCanvas{width:180px;max-width:180px;height:101.25px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);touch-action:none}:host .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-neutral-text);border-color:var(--btn-neutral-border);background-color:var(--btn-neutral-bg);cursor:pointer;width:100%}:host .Clear:hover{color:var(--btn-neutral-text-hover);border-color:var(--btn-neutral-border-hover);background-color:var(--btn-neutral-bg-hover)}:host .Clear:active{color:var(--btn-neutral-text-active);border-color:var(--btn-neutral-border-active);background-color:var(--btn-neutral-bg-active)}:host .Clear:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
9833
9833
  }
9834
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SignatureEntryComponent, decorators: [{
9834
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SignatureEntryComponent, decorators: [{
9835
9835
  type: Component,
9836
9836
  args: [{ selector: 'signature-entry', standalone: true, imports: [
9837
9837
  LucideIconComponent, CommonModule
@@ -9874,10 +9874,10 @@ class FileSizePipe {
9874
9874
  const i = Math.floor(Math.log(bytes) / Math.log(k));
9875
9875
  return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
9876
9876
  }
9877
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: FileSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9878
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: FileSizePipe, isStandalone: true, name: "fileSize" });
9877
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FileSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9878
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: FileSizePipe, isStandalone: true, name: "fileSize" });
9879
9879
  }
9880
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: FileSizePipe, decorators: [{
9880
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FileSizePipe, decorators: [{
9881
9881
  type: Pipe,
9882
9882
  args: [{
9883
9883
  name: 'fileSize',
@@ -11034,8 +11034,8 @@ class MediaEntryComponent {
11034
11034
  }
11035
11035
  return map[type] || 'file-icons/file.png';
11036
11036
  }
11037
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MediaEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11038
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: MediaEntryComponent, isStandalone: true, selector: "media-entry", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", mode: "mode", display: "display", multiple: "multiple", maxItems: "maxItems", maxSize: "maxSize", types: "types", extensions: "extensions", endpointUpload: "endpointUpload", chunkSizeMB: "chunkSizeMB", sortable: "sortable", primaryTag: "primaryTag", previewEndpoint: "previewEndpoint", imageMaxWidth: "imageMaxWidth", imageMaxHeight: "imageMaxHeight", disabled: "disabled" }, host: { attributes: { "ngSkipHydration": "" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
11037
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MediaEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11038
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MediaEntryComponent, isStandalone: true, selector: "media-entry", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", mode: "mode", display: "display", multiple: "multiple", maxItems: "maxItems", maxSize: "maxSize", types: "types", extensions: "extensions", endpointUpload: "endpointUpload", chunkSizeMB: "chunkSizeMB", sortable: "sortable", primaryTag: "primaryTag", previewEndpoint: "previewEndpoint", imageMaxWidth: "imageMaxWidth", imageMaxHeight: "imageMaxHeight", disabled: "disabled" }, host: { attributes: { "ngSkipHydration": "" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
11039
11039
  {
11040
11040
  provide: NG_VALUE_ACCESSOR,
11041
11041
  useExisting: forwardRef(() => MediaEntryComponent),
@@ -11043,7 +11043,7 @@ class MediaEntryComponent {
11043
11043
  },
11044
11044
  ], viewQueries: [{ propertyName: "uploadFormRef", first: true, predicate: ["uploadForm"], descendants: true }, { propertyName: "sortableContainer", first: true, predicate: ["sortableContainer"], descendants: true }], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n>\n {{ description }}<span *ngIf=\"allowedTypesText\"> \u00B7 Tipos permitidos: {{ allowedTypesText }}</span>\n</p>\n\n<!-- ESTRUCTURA UNIFICADA -->\n<ng-container>\n <!-- Upload Box -->\n <form\n #uploadForm\n (change)=\"onFileInput($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\"\n >\n <div\n class=\"UploadBox\"\n [class.Disabled]=\"loading\"\n [class.Dragging]=\"isDragging\"\n [class.Single]=\"!multiple\"\n [class.Multiple]=\"multiple\"\n >\n <label class=\"DropLabel\">\n <input type=\"file\" [multiple]=\"multiple\" [accept]=\"effectiveTypes.join(',')\" hidden />\n <div class=\"Texts\">\n <lucide-icon class=\"UploadIcon\" name=\"cloud-upload\"></lucide-icon>\n <span class=\"Insentivo\">\n {{\n isDragging\n ? (isImageMode ? \"\u00A1Suelta las im\u00E1genes aqu\u00ED!\" : \"\u00A1Suelta los archivos aqu\u00ED!\")\n : multiple\n ? (isImageMode ? \"Arrastra varias im\u00E1genes aqu\u00ED\" : \"Arrastra varios archivos aqu\u00ED\")\n : (isImageMode ? \"Arrastra una imagen aqu\u00ED\" : \"Arrastra un archivo aqu\u00ED\")\n }}\n </span>\n <span class=\"Or\">O</span>\n <span class=\"Clicked\">haz clic para seleccionar</span>\n <span class=\"Info\">\n M\u00E1x: {{ maxItems }} item{{ maxItems > 1 ? \"s\" : \"\" }}<span *ngIf=\"maxSize\"> \u00B7 {{ (maxSize * 1024 * 1024) | fileSize }}</span>\n </span>\n </div>\n </label>\n </div>\n </form>\n\n <div *ngIf=\"statusMessage\" class=\"StatusMessage\">\n {{ statusMessage }}\n </div>\n \n <!-- Lista de items en proceso -->\n <div \n class=\"MediaSection\" \n *ngIf=\"pending.length\"\n [class.CardsDisplay]=\"isCardsDisplay\"\n >\n <h4 class=\"Title\">\n <span>Pendientes</span>\n </h4>\n <ul \n class=\"MediaList\"\n [class.CardsDisplay]=\"isCardsDisplay\"\n [class.ItemsDisplay]=\"isItemsDisplay\"\n >\n <li \n class=\"MediaItem\" \n *ngFor=\"let item of pending\"\n [class.FileItem]=\"isFileMode\"\n [class.ImageItem]=\"isImageMode\"\n >\n <div class=\"Thumbnail\" *ngIf=\"isFileMode\">\n <img\n [src]=\"getFileIcon(item.type)\"\n [alt]=\"item.name\"\n class=\"FileIcon\"\n \n />\n </div>\n <div class=\"FileInfo\">\n <span class=\"Name\">{{ item.name }}</span>\n <span class=\"Size\">{{ item.size | fileSize }}</span>\n <div class=\"Progress\">\n <div class=\"Bar\" [style.width.%]=\"item.progress\"></div>\n </div>\n <span class=\"ProgressLabel\">{{ item.phase === 'processing' ? 'Procesando...' : (item.progress + '%') }}</span>\n </div>\n </li>\n </ul>\n </div>\n\n <!-- Lista de items subidos correctamente -->\n <div \n class=\"MediaSection\" \n *ngIf=\"uploaded.length\"\n [class.CardsDisplay]=\"isCardsDisplay\"\n >\n <h4 class=\"Title\">\n <span>{{ isImageMode ? \"Im\u00E1genes Cargadas\" : \"Archivos Cargados\" }}</span>\n <button type=\"button\" (click)=\"clearAllUploaded()\" class=\"ClearAll\">\n <lucide-icon name=\"brush-cleaning\"></lucide-icon>\n </button>\n </h4>\n\n <ul \n class=\"MediaList\"\n [class.CardsDisplay]=\"isCardsDisplay\"\n [class.ItemsDisplay]=\"isItemsDisplay\"\n #sortableContainer\n >\n <li\n class=\"MediaItem MediaItemDraggable\"\n [class.FileItem]=\"isFileMode\"\n [class.ImageItem]=\"isImageMode\"\n *ngFor=\"let item of uploaded; let i = index\"\n [attr.data-index]=\"i\"\n >\n\n <div class=\"Thumbnail\">\n <img\n *ngIf=\"isImageMode\"\n [src]=\"getPreviewUrl(item.urlEncrypted || item.url) || undefined\"\n alt=\"Imagen cargada\"\n draggable=\"true\"\n />\n <img\n *ngIf=\"isFileMode\"\n [src]=\"getFileIcon(item.type)\"\n [alt]=\"item.name\"\n class=\"FileIcon\"\n \n />\n </div>\n\n <div class=\"FileInfo\">\n <span class=\"Name\">{{ item.name }}</span>\n <p class=\"Tags\">\n <span class=\"Size\">{{ item.size | fileSize }}</span>\n </p>\n <span *ngIf=\"isPrimary(i)\" class=\"PrimaryTag\">\n {{ isImageMode ? \"Primaria\" : \"Primario\" }}\n </span>\n </div>\n <!-- Preview: MediaViewerService (singleton); UI global en media-viewer-service -->\n <div class=\"Actions\">\n <div\n class=\"Open\"\n type=\"button\"\n (click)=\"openGeneralMediaPreview(item)\"\n title=\"Abrir preview\"\n >\n <lucide-icon class=\"Icon--eye\" name=\"eye\"></lucide-icon>\n </div>\n <div class=\"Cancel\" type=\"button\" (click)=\"removeUploaded(i)\" title=\"Eliminar\">\n <lucide-icon class=\"Icon--trash\" name=\"trash\"></lucide-icon>\n </div>\n </div>\n </li>\n </ul>\n </div>\n\n <!-- Lista de errores -->\n <div \n class=\"MediaSection Error\" \n *ngIf=\"failed.length\"\n [class.CardsDisplay]=\"isCardsDisplay\"\n >\n <h4 class=\"Title\">\n <span>Errores</span>\n <button type=\"button\" (click)=\"clearAllFailed()\" class=\"ClearAll\">\n <lucide-icon name=\"brush-cleaning\"></lucide-icon>\n </button>\n </h4>\n <ul \n class=\"MediaList\"\n [class.CardsDisplay]=\"isCardsDisplay\"\n [class.ItemsDisplay]=\"isItemsDisplay\"\n >\n <li \n class=\"MediaItem\"\n [class.FileItem]=\"isFileMode\"\n [class.ImageItem]=\"isImageMode\"\n *ngFor=\"let item of failed; let i = index\"\n >\n <div class=\"FileInfo\">\n <span class=\"Name\">{{ item.name }}</span>\n <span class=\"ErrorMsg\">{{ item.error }}</span>\n </div>\n <div class=\"Cancel\" type=\"button\" (click)=\"removeFailed(i)\">\n <lucide-icon class=\"Icon--trash\" name=\"trash\"></lucide-icon>\n </div>\n </li>\n </ul>\n </div>\n</ng-container>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host form{width:100%;height:max-content;-webkit-user-select:none;user-select:none}:host form.InCardMode{flex-grow:1;height:max-content;overflow:hidden}:host form .UploadBox{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:var(--surface-2);padding:12px;border-radius:var(--radius-lg);border:dashed 1px var(--input-border)}:host form .UploadBox[class~=Disabled]{filter:saturate(0%)}:host form .UploadBox .DropLabel{display:flex;width:100%;height:100%;gap:5px;cursor:pointer}:host form .UploadBox .DropLabel .UploadIcon{font-size:2.5rem;color:var(--input-border);margin-bottom:8px}:host form .UploadBox .DropLabel .UploadIcon lucide-icon .lucide-icon-svg{width:2.5rem;height:2.5rem}:host form .UploadBox .DropLabel .Texts{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}:host form .UploadBox .DropLabel .Texts .Insentivo{text-align:center}@media (width <= 768px){:host form .UploadBox .DropLabel .Texts .Insentivo{display:none}}:host form .UploadBox .DropLabel .Texts .Or{font-size:.8rem}@media (width <= 768px){:host form .UploadBox .DropLabel .Texts .Or{display:none}}:host form .UploadBox .DropLabel .Texts .Clicked{width:max-content;background-color:var(--input-bg-drag);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-md);cursor:pointer}:host form .UploadBox .DropLabel .Texts .Info{font-size:.9rem;text-align:center;max-width:200px;margin-top:8px}:host form .UploadBox .Dragging{border:dashed 2px var(--input-border-focus);background-color:var(--input-bg-drag)}:host form .UploadBox .Dragging .DropLabel .Texts .UploadIcon{color:var(--input-border-focus)}:host .StatusMessage{position:relative;background:var(--error-bg);font-size:.8rem;border:1px solid var(--error-border);color:var(--error-text);padding:8px 12px;border-radius:var(--radius-lg);margin-top:5px;animation:fade-in-out .3s ease}@keyframes fade-in-out{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}:host .MediaSection{display:flex;flex-direction:column;width:100%;height:max-content;border:solid 1px var(--border);margin-top:4px;border-radius:var(--radius-lg);padding:8px}:host .MediaSection .Title{width:100%;display:flex;align-items:center;gap:10px;justify-content:space-between;padding-bottom:4px;border-bottom:solid 1px var(--border);overflow:hidden}:host .MediaSection .Title .ClearAll{width:max-content;height:max-content;font-size:1.3rem;color:var(--red);text-decoration:underline;cursor:pointer}:host .MediaSection .Title .ClearAll i{pointer-events:none}:host .MediaList{display:flex;flex-direction:column;gap:5px;margin-top:8px}:host .MediaList .MediaItem{width:100%;height:max-content;padding:var(--spacing-xs) 8px;display:flex;align-items:center;gap:5px;border-radius:var(--radius-md);position:relative}:host .MediaList .MediaItem[class~=ActiveDragItem]{background-color:var(--input-bg-drag)}:host .MediaList .MediaItem .Thumbnail{display:flex;width:60px;min-width:60px;height:60px;overflow:hidden;border-radius:var(--radius-md);cursor:default}:host .MediaList .MediaItem .Thumbnail.Clickable{cursor:pointer}:host .MediaList .MediaItem .Thumbnail img{width:100%;height:100%;object-fit:contain}:host .MediaList .MediaItem .FileInfo{display:flex;flex-direction:column;width:100%;overflow:hidden}:host .MediaList .MediaItem .FileInfo .PrimaryTag{width:max-content;padding:0 4px;border-radius:30px;font-size:.7rem;background-color:var(--success-bg);color:var(--success-text)}:host .MediaList .MediaItem .FileInfo .Name{width:100%;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList .MediaItem .FileInfo .Size{width:max-content;word-break:break-all;font-size:.8rem;font-family:monospace}:host .MediaList .MediaItem .FileInfo .Tags{display:flex;align-items:center;gap:5px}:host .MediaList .MediaItem .FileInfo .Tags .Size{width:max-content;word-break:break-all;font-size:.8rem;font-family:monospace}:host .MediaList .MediaItem .FileInfo .ErrorMsg{width:auto;font-size:.8rem;color:var(--red);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList .MediaItem .FileInfo .Progress{width:100%;height:15px;background-color:var(--surface-2)}:host .MediaList .MediaItem .FileInfo .Progress .Bar{background-color:var(--primary);height:100%}:host .MediaList .MediaItem .Actions{display:flex;width:max-content;justify-content:flex-end;gap:5px;margin-top:auto;z-index:10}:host .MediaList .MediaItem .Open,:host .MediaList .MediaItem .Cancel{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem}:host .MediaList .MediaItem .Open{background-color:var(--success-bg);color:var(--success-text)}:host .MediaList .MediaItem .Cancel{background-color:var(--error-bg);color:var(--error-text)}:host .MediaList.ItemsDisplay{display:flex;flex-direction:column;gap:5px;margin-top:8px}:host .MediaList.ItemsDisplay .MediaItem{width:100%;height:max-content;padding:var(--spacing-xs) 8px;display:flex;align-items:center;gap:5px;border-radius:var(--radius-md)}:host .MediaList.ItemsDisplay .MediaItem .Thumbnail{display:flex;width:35px;min-width:35px;height:35px;overflow:hidden;border-radius:var(--radius-md)}:host .MediaList.ItemsDisplay .MediaItem .FileInfo{display:flex;flex-direction:column;width:100%;overflow:hidden}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .Name{width:100%;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .Tags{display:flex;align-items:center;gap:5px}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .Tags .Size{width:max-content;word-break:break-all;font-size:.8rem;font-family:monospace}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .ErrorMsg{width:auto;font-size:.8rem;color:var(--red);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .Progress{width:100%;height:15px;background-color:var(--surface-2)}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .Progress .Bar{background-color:var(--primary);height:100%}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .ProgressLabel{font-size:.8rem;color:var(--text-muted)}:host .MediaList.ItemsDisplay .MediaItem .Cancel{margin-top:auto;margin-left:auto}:host .MediaList.CardsDisplay{display:grid;gap:5px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));grid-auto-rows:max-content;margin-top:8px}:host .MediaList.CardsDisplay .MediaItem{position:relative;width:100%;height:100%;padding:var(--spacing-xs) 8px;display:flex;flex-direction:column;gap:5px;border-radius:var(--radius-md);background-color:var(--surface-2);box-shadow:var(--shadow-md);overflow:hidden}:host .MediaList.CardsDisplay .MediaItem .Thumbnail{display:flex;width:100%;height:60px;overflow:hidden;border-radius:var(--radius-md)}:host .MediaList.CardsDisplay .MediaItem .FileInfo{display:flex;flex-direction:column;width:100%;overflow:hidden}:host .MediaList.CardsDisplay .MediaItem .FileInfo .Name{width:100%;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList.CardsDisplay .MediaItem .FileInfo .Tags{display:flex;flex-direction:column;gap:5px}:host .MediaList.CardsDisplay .MediaItem .FileInfo .Tags .Size{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList.CardsDisplay .MediaItem .FileInfo .ErrorMsg{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList.CardsDisplay .MediaItem .FileInfo .Progress{width:100%}:host .MediaList.CardsDisplay .MediaItem .Actions{display:flex;width:100%;justify-content:center;gap:5px;z-index:10}:host .MediaList.CardsDisplay .MediaItem .Open,:host .MediaList.CardsDisplay .MediaItem .Cancel{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem}:host .MediaList.CardsDisplay .MediaItem .Open{background-color:var(--success-bg);color:var(--success-text)}:host .MediaList.CardsDisplay .MediaItem .Cancel{background-color:var(--error-bg);color:var(--error-text)}.ExpandImage{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--overlay-scrim-strong, var(--overlay-scrim));z-index:1000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(5px);overflow:hidden;touch-action:none}.ExpandImage .CloseExpandImage{position:absolute;top:10px;right:10px;z-index:10;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--danger);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.ExpandImage .CloseExpandImage:hover{background-color:var(--danger-hover);transform:scale(1.1)}.ExpandImage .CloseExpandImage:active{transform:scale(.95)}.ExpandImage .CloseExpandImage i,.ExpandImage .CloseExpandImage lucide-icon{pointer-events:none;font-size:1.2rem}.ExpandImage .CloseExpandImage i lucide-icon .lucide-icon-svg,.ExpandImage .CloseExpandImage lucide-icon lucide-icon .lucide-icon-svg{width:1.2rem;height:1.2rem}.ExpandImage .Image{height:100%;width:100%;display:flex;align-items:center;justify-content:center;position:relative}.ExpandImage .Image img{position:absolute;top:0;left:0;transform-origin:center center;width:100%;height:100%;object-fit:contain;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:none}.ExpandImage .Prev,.ExpandImage .Next{background-color:var(--overlay-scrim);padding:1.5rem;color:var(--xu-on-fill-muted, var(--text-muted));z-index:200;position:absolute;top:45%;pointer-events:auto;cursor:pointer;transition:all .2s ease;border-radius:var(--radius-md)}.ExpandImage .Prev:hover,.ExpandImage .Next:hover,.ExpandImage .Prev:active,.ExpandImage .Next:active{background-color:var(--overlay-scrim);color:#fff}.ExpandImage .Prev i,.ExpandImage .Prev lucide-icon,.ExpandImage .Next i,.ExpandImage .Next lucide-icon{pointer-events:none;font-size:1.5rem}.ExpandImage .Prev i lucide-icon .lucide-icon-svg,.ExpandImage .Prev lucide-icon lucide-icon .lucide-icon-svg,.ExpandImage .Next i lucide-icon .lucide-icon-svg,.ExpandImage .Next lucide-icon lucide-icon .lucide-icon-svg{width:1.5rem;height:1.5rem}.ExpandImage .Prev{left:0;border-radius:0 var(--radius-lg) var(--radius-lg) 0}.ExpandImage .Next{right:0;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: FileSizePipe, name: "fileSize" }] });
11045
11045
  }
11046
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MediaEntryComponent, decorators: [{
11046
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MediaEntryComponent, decorators: [{
11047
11047
  type: Component,
11048
11048
  args: [{ selector: 'media-entry', standalone: true, host: {
11049
11049
  ngSkipHydration: '',
@@ -11121,10 +11121,10 @@ class OnlySelectModalServiceComponent {
11121
11121
  ngOnDestroy() {
11122
11122
  this.sub?.unsubscribe();
11123
11123
  }
11124
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OnlySelectModalServiceComponent, deps: [{ token: OnlySelectModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11125
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: OnlySelectModalServiceComponent, isStandalone: true, selector: "only-select-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n placeholder=\"Buscar\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div *ngIf=\"session.view.isLoading && !session.view.isSearching\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Cargando...</span>\r\n </div>\r\n\r\n <div *ngIf=\"session.view.isSearching && !session.view.isLoading\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"!session.view.isLoading && !session.view.isSearching && session.view.filteredOptions.length === 0\"\r\n class=\"EmptyOptionsMessage\"\r\n role=\"status\"\r\n >\r\n {{ session.view.noOptionsMessage }}\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let option of session.view.filteredOptions\"\r\n class=\"Option\"\r\n (click)=\"session.handlers.onOptionSelect(option)\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img [src]=\"option.image\" alt=\"\" />\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">{{ option.name }}</span>\r\n <span class=\"Description\" *ngIf=\"option.description\">{{\r\n option.description\r\n }}</span>\r\n </div>\r\n </div>\r\n <lucide-icon\r\n class=\"CheckIcon\"\r\n [class.Selected]=\"session.view.selectedOption?.value === option.value\"\r\n [name]=\"session.view.selectedOption?.value === option.value ? 'check' : 'x'\"\r\n ></lucide-icon>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color);overflow:hidden}.Backdrop .Picker .SearchContainer{width:100%;height:max-content}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:32px;border-radius:var(--radius-md);padding:0 8px}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option label [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option label .Details{pointer-events:none;display:flex;align-items:center;gap:5px}.Backdrop .Picker .OptionsList .Option label .Details .Color{width:20px;min-width:20px;height:20px;min-height:20px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image{width:35px;min-width:35px;height:35px;min-height:35px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image img{width:100%;height:100%;object-fit:cover}.Backdrop .Picker .OptionsList .Option label .Details .Info{display:flex;flex-direction:column}.Backdrop .Picker .OptionsList .Option label .Details .Info .Name{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .Details .Info .Description{margin:0;padding:0;width:100%;font-size:.9rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .CheckIcon{width:30px;height:100%;padding:5px;display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--text-primary)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--text-muted);font-size:.9rem}.LoadingState .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.EmptyOptionsMessage{padding:var(--spacing-lg);text-align:center;color:var(--muted-text, var(--text-muted));font-weight:700;font-size:.9rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11124
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectModalServiceComponent, deps: [{ token: OnlySelectModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11125
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: OnlySelectModalServiceComponent, isStandalone: true, selector: "only-select-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n placeholder=\"Buscar\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div *ngIf=\"session.view.isLoading && !session.view.isSearching\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Cargando...</span>\r\n </div>\r\n\r\n <div *ngIf=\"session.view.isSearching && !session.view.isLoading\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"!session.view.isLoading && !session.view.isSearching && session.view.filteredOptions.length === 0\"\r\n class=\"EmptyOptionsMessage\"\r\n role=\"status\"\r\n >\r\n {{ session.view.noOptionsMessage }}\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let option of session.view.filteredOptions\"\r\n class=\"Option\"\r\n (click)=\"session.handlers.onOptionSelect(option)\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img [src]=\"option.image\" alt=\"\" />\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">{{ option.name }}</span>\r\n <span class=\"Description\" *ngIf=\"option.description\">{{\r\n option.description\r\n }}</span>\r\n </div>\r\n </div>\r\n <lucide-icon\r\n class=\"CheckIcon\"\r\n [class.Selected]=\"session.view.selectedOption?.value === option.value\"\r\n [name]=\"session.view.selectedOption?.value === option.value ? 'check' : 'x'\"\r\n ></lucide-icon>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color);overflow:hidden}.Backdrop .Picker .SearchContainer{width:100%;height:max-content}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:32px;border-radius:var(--radius-md);padding:0 8px}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option label [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option label .Details{pointer-events:none;display:flex;align-items:center;gap:5px}.Backdrop .Picker .OptionsList .Option label .Details .Color{width:20px;min-width:20px;height:20px;min-height:20px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image{width:35px;min-width:35px;height:35px;min-height:35px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image img{width:100%;height:100%;object-fit:cover}.Backdrop .Picker .OptionsList .Option label .Details .Info{display:flex;flex-direction:column}.Backdrop .Picker .OptionsList .Option label .Details .Info .Name{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .Details .Info .Description{margin:0;padding:0;width:100%;font-size:.9rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .CheckIcon{width:30px;height:100%;padding:5px;display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--text-primary)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--text-muted);font-size:.9rem}.LoadingState .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.EmptyOptionsMessage{padding:var(--spacing-lg);text-align:center;color:var(--muted-text, var(--text-muted));font-weight:700;font-size:.9rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11126
11126
  }
11127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OnlySelectModalServiceComponent, decorators: [{
11127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectModalServiceComponent, decorators: [{
11128
11128
  type: Component,
11129
11129
  args: [{ selector: 'only-select-modal-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n placeholder=\"Buscar\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div *ngIf=\"session.view.isLoading && !session.view.isSearching\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Cargando...</span>\r\n </div>\r\n\r\n <div *ngIf=\"session.view.isSearching && !session.view.isLoading\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"!session.view.isLoading && !session.view.isSearching && session.view.filteredOptions.length === 0\"\r\n class=\"EmptyOptionsMessage\"\r\n role=\"status\"\r\n >\r\n {{ session.view.noOptionsMessage }}\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let option of session.view.filteredOptions\"\r\n class=\"Option\"\r\n (click)=\"session.handlers.onOptionSelect(option)\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img [src]=\"option.image\" alt=\"\" />\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">{{ option.name }}</span>\r\n <span class=\"Description\" *ngIf=\"option.description\">{{\r\n option.description\r\n }}</span>\r\n </div>\r\n </div>\r\n <lucide-icon\r\n class=\"CheckIcon\"\r\n [class.Selected]=\"session.view.selectedOption?.value === option.value\"\r\n [name]=\"session.view.selectedOption?.value === option.value ? 'check' : 'x'\"\r\n ></lucide-icon>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color);overflow:hidden}.Backdrop .Picker .SearchContainer{width:100%;height:max-content}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:32px;border-radius:var(--radius-md);padding:0 8px}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option label [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option label .Details{pointer-events:none;display:flex;align-items:center;gap:5px}.Backdrop .Picker .OptionsList .Option label .Details .Color{width:20px;min-width:20px;height:20px;min-height:20px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image{width:35px;min-width:35px;height:35px;min-height:35px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image img{width:100%;height:100%;object-fit:cover}.Backdrop .Picker .OptionsList .Option label .Details .Info{display:flex;flex-direction:column}.Backdrop .Picker .OptionsList .Option label .Details .Info .Name{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .Details .Info .Description{margin:0;padding:0;width:100%;font-size:.9rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .CheckIcon{width:30px;height:100%;padding:5px;display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--text-primary)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--text-muted);font-size:.9rem}.LoadingState .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.EmptyOptionsMessage{padding:var(--spacing-lg);text-align:center;color:var(--muted-text, var(--text-muted));font-weight:700;font-size:.9rem}\n"] }]
11130
11130
  }], ctorParameters: () => [{ type: OnlySelectModalService }, { type: i0.ChangeDetectorRef }] });
@@ -11148,10 +11148,10 @@ class MultiselectComboboxModalServiceComponent {
11148
11148
  isSelected(option, selected) {
11149
11149
  return selected.some((o) => o.value === option.value);
11150
11150
  }
11151
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MultiselectComboboxModalServiceComponent, deps: [{ token: MultiselectComboboxModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11152
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: MultiselectComboboxModalServiceComponent, isStandalone: true, selector: "multiselect-combobox-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Close\" (click)=\"session.handlers.onBackdropClick($event); $event.stopPropagation()\">\r\n Cerrar\r\n </div>\r\n\r\n <ng-container *ngIf=\"session.view.selectedOptions.length > 0\">\r\n <div class=\"SelectedOptions\">\r\n <span\r\n *ngFor=\"let option of session.view.selectedOptions\"\r\n class=\"SelectedOption\"\r\n (click)=\"session.handlers.onRemoveSelected(option, $event)\"\r\n >\r\n {{ option.name }}\r\n <span class=\"RemoveIcon\">\u00D7</span>\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n placeholder=\"Buscar\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div *ngIf=\"session.view.isLoading && !session.view.isSearching\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Cargando...</span>\r\n </div>\r\n\r\n <div *ngIf=\"session.view.isSearching && !session.view.isLoading\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"!session.view.isLoading && !session.view.isSearching && session.view.filteredOptions.length === 0\"\r\n class=\"EmptyOptionsMessage\"\r\n role=\"status\"\r\n >\r\n {{ session.view.noOptionsMessage }}\r\n </div>\r\n\r\n <ng-container *ngIf=\"!(session.view.isLoading && !session.view.isSearching)\">\r\n <div *ngFor=\"let option of session.view.filteredOptions\" class=\"Option\">\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img [src]=\"option.image\" alt=\"\" />\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">{{ option.name }}</span>\r\n <span class=\"Description\" *ngIf=\"option.description\">{{\r\n option.description\r\n }}</span>\r\n </div>\r\n </div>\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"isSelected(option, session.view.selectedOptions)\"\r\n (change)=\"session.handlers.onOptionToggle(option, $event)\"\r\n />\r\n <lucide-icon\r\n class=\"CheckIcon\"\r\n [class.Selected]=\"isSelected(option, session.view.selectedOptions)\"\r\n [name]=\"isSelected(option, session.view.selectedOptions) ? 'check' : 'x'\"\r\n ></lucide-icon>\r\n </label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}.Backdrop .Picker .Close{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);width:max-content;margin-left:auto;cursor:pointer}.Backdrop .Picker .Close:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Close:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .SelectedOptions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-bottom:solid 1px var(--border);padding:4px}.Backdrop .Picker .SelectedOptions .SelectedOption{background-color:var(--surface-2, var(--border));border-radius:var(--radius-md);width:max-content;height:25px;padding:0 var(--spacing-sm);padding-right:0;display:flex;justify-content:space-between;align-items:center;gap:3px;overflow:hidden}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon{cursor:pointer;width:25px;height:25px;display:flex;justify-content:center;align-items:center;font-size:1rem}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--error-text);background-color:var(--border)}.Backdrop .Picker .SearchContainer{width:100%;height:max-content}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:32px;border-radius:var(--radius-md);padding:0 8px}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option label [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option label .Details{pointer-events:none;display:flex;align-items:center;gap:5px}.Backdrop .Picker .OptionsList .Option label .Details .Color{width:20px;min-width:20px;height:20px;min-height:20px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image{width:35px;min-width:35px;height:35px;min-height:35px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image img{width:100%;height:100%;object-fit:cover}.Backdrop .Picker .OptionsList .Option label .Details .Info{display:flex;flex-direction:column}.Backdrop .Picker .OptionsList .Option label .Details .Info .Name{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .Details .Info .Description{margin:0;padding:0;width:100%;font-size:.9rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .CheckIcon{width:30px;height:100%;padding:5px;display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--text-primary)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--text-muted);font-size:.9rem}.LoadingState .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.EmptyOptionsMessage{padding:var(--spacing-lg);text-align:center;color:var(--muted-text, var(--text-muted));font-weight:700;font-size:.9rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11151
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxModalServiceComponent, deps: [{ token: MultiselectComboboxModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11152
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MultiselectComboboxModalServiceComponent, isStandalone: true, selector: "multiselect-combobox-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Close\" (click)=\"session.handlers.onBackdropClick($event); $event.stopPropagation()\">\r\n Cerrar\r\n </div>\r\n\r\n <ng-container *ngIf=\"session.view.selectedOptions.length > 0\">\r\n <div class=\"SelectedOptions\">\r\n <span\r\n *ngFor=\"let option of session.view.selectedOptions\"\r\n class=\"SelectedOption\"\r\n (click)=\"session.handlers.onRemoveSelected(option, $event)\"\r\n >\r\n {{ option.name }}\r\n <span class=\"RemoveIcon\">\u00D7</span>\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n placeholder=\"Buscar\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div *ngIf=\"session.view.isLoading && !session.view.isSearching\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Cargando...</span>\r\n </div>\r\n\r\n <div *ngIf=\"session.view.isSearching && !session.view.isLoading\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"!session.view.isLoading && !session.view.isSearching && session.view.filteredOptions.length === 0\"\r\n class=\"EmptyOptionsMessage\"\r\n role=\"status\"\r\n >\r\n {{ session.view.noOptionsMessage }}\r\n </div>\r\n\r\n <ng-container *ngIf=\"!(session.view.isLoading && !session.view.isSearching)\">\r\n <div *ngFor=\"let option of session.view.filteredOptions\" class=\"Option\">\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img [src]=\"option.image\" alt=\"\" />\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">{{ option.name }}</span>\r\n <span class=\"Description\" *ngIf=\"option.description\">{{\r\n option.description\r\n }}</span>\r\n </div>\r\n </div>\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"isSelected(option, session.view.selectedOptions)\"\r\n (change)=\"session.handlers.onOptionToggle(option, $event)\"\r\n />\r\n <lucide-icon\r\n class=\"CheckIcon\"\r\n [class.Selected]=\"isSelected(option, session.view.selectedOptions)\"\r\n [name]=\"isSelected(option, session.view.selectedOptions) ? 'check' : 'x'\"\r\n ></lucide-icon>\r\n </label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}.Backdrop .Picker .Close{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);width:max-content;margin-left:auto;cursor:pointer}.Backdrop .Picker .Close:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Close:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .SelectedOptions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-bottom:solid 1px var(--border);padding:4px}.Backdrop .Picker .SelectedOptions .SelectedOption{background-color:var(--surface-2, var(--border));border-radius:var(--radius-md);width:max-content;height:25px;padding:0 var(--spacing-sm);padding-right:0;display:flex;justify-content:space-between;align-items:center;gap:3px;overflow:hidden}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon{cursor:pointer;width:25px;height:25px;display:flex;justify-content:center;align-items:center;font-size:1rem}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--error-text);background-color:var(--border)}.Backdrop .Picker .SearchContainer{width:100%;height:max-content}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:32px;border-radius:var(--radius-md);padding:0 8px}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option label [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option label .Details{pointer-events:none;display:flex;align-items:center;gap:5px}.Backdrop .Picker .OptionsList .Option label .Details .Color{width:20px;min-width:20px;height:20px;min-height:20px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image{width:35px;min-width:35px;height:35px;min-height:35px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image img{width:100%;height:100%;object-fit:cover}.Backdrop .Picker .OptionsList .Option label .Details .Info{display:flex;flex-direction:column}.Backdrop .Picker .OptionsList .Option label .Details .Info .Name{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .Details .Info .Description{margin:0;padding:0;width:100%;font-size:.9rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .CheckIcon{width:30px;height:100%;padding:5px;display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--text-primary)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--text-muted);font-size:.9rem}.LoadingState .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.EmptyOptionsMessage{padding:var(--spacing-lg);text-align:center;color:var(--muted-text, var(--text-muted));font-weight:700;font-size:.9rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11153
11153
  }
11154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MultiselectComboboxModalServiceComponent, decorators: [{
11154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxModalServiceComponent, decorators: [{
11155
11155
  type: Component,
11156
11156
  args: [{ selector: 'multiselect-combobox-modal-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Close\" (click)=\"session.handlers.onBackdropClick($event); $event.stopPropagation()\">\r\n Cerrar\r\n </div>\r\n\r\n <ng-container *ngIf=\"session.view.selectedOptions.length > 0\">\r\n <div class=\"SelectedOptions\">\r\n <span\r\n *ngFor=\"let option of session.view.selectedOptions\"\r\n class=\"SelectedOption\"\r\n (click)=\"session.handlers.onRemoveSelected(option, $event)\"\r\n >\r\n {{ option.name }}\r\n <span class=\"RemoveIcon\">\u00D7</span>\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n placeholder=\"Buscar\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div *ngIf=\"session.view.isLoading && !session.view.isSearching\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Cargando...</span>\r\n </div>\r\n\r\n <div *ngIf=\"session.view.isSearching && !session.view.isLoading\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"!session.view.isLoading && !session.view.isSearching && session.view.filteredOptions.length === 0\"\r\n class=\"EmptyOptionsMessage\"\r\n role=\"status\"\r\n >\r\n {{ session.view.noOptionsMessage }}\r\n </div>\r\n\r\n <ng-container *ngIf=\"!(session.view.isLoading && !session.view.isSearching)\">\r\n <div *ngFor=\"let option of session.view.filteredOptions\" class=\"Option\">\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img [src]=\"option.image\" alt=\"\" />\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">{{ option.name }}</span>\r\n <span class=\"Description\" *ngIf=\"option.description\">{{\r\n option.description\r\n }}</span>\r\n </div>\r\n </div>\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"isSelected(option, session.view.selectedOptions)\"\r\n (change)=\"session.handlers.onOptionToggle(option, $event)\"\r\n />\r\n <lucide-icon\r\n class=\"CheckIcon\"\r\n [class.Selected]=\"isSelected(option, session.view.selectedOptions)\"\r\n [name]=\"isSelected(option, session.view.selectedOptions) ? 'check' : 'x'\"\r\n ></lucide-icon>\r\n </label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}.Backdrop .Picker .Close{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);width:max-content;margin-left:auto;cursor:pointer}.Backdrop .Picker .Close:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Close:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .SelectedOptions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-bottom:solid 1px var(--border);padding:4px}.Backdrop .Picker .SelectedOptions .SelectedOption{background-color:var(--surface-2, var(--border));border-radius:var(--radius-md);width:max-content;height:25px;padding:0 var(--spacing-sm);padding-right:0;display:flex;justify-content:space-between;align-items:center;gap:3px;overflow:hidden}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon{cursor:pointer;width:25px;height:25px;display:flex;justify-content:center;align-items:center;font-size:1rem}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--error-text);background-color:var(--border)}.Backdrop .Picker .SearchContainer{width:100%;height:max-content}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:32px;border-radius:var(--radius-md);padding:0 8px}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option label [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option label .Details{pointer-events:none;display:flex;align-items:center;gap:5px}.Backdrop .Picker .OptionsList .Option label .Details .Color{width:20px;min-width:20px;height:20px;min-height:20px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image{width:35px;min-width:35px;height:35px;min-height:35px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image img{width:100%;height:100%;object-fit:cover}.Backdrop .Picker .OptionsList .Option label .Details .Info{display:flex;flex-direction:column}.Backdrop .Picker .OptionsList .Option label .Details .Info .Name{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .Details .Info .Description{margin:0;padding:0;width:100%;font-size:.9rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .CheckIcon{width:30px;height:100%;padding:5px;display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--text-primary)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--text-muted);font-size:.9rem}.LoadingState .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.EmptyOptionsMessage{padding:var(--spacing-lg);text-align:center;color:var(--muted-text, var(--text-muted));font-weight:700;font-size:.9rem}\n"] }]
11157
11157
  }], ctorParameters: () => [{ type: MultiselectComboboxModalService }, { type: i0.ChangeDetectorRef }] });
@@ -11172,10 +11172,10 @@ class SearchEntryModalServiceComponent {
11172
11172
  ngOnDestroy() {
11173
11173
  this.sub?.unsubscribe();
11174
11174
  }
11175
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SearchEntryModalServiceComponent, deps: [{ token: SearchEntryModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11176
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: SearchEntryModalServiceComponent, isStandalone: true, selector: "search-entry-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop search-entry-modal\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [placeholder]=\"session.view.placeholder\"\r\n [value]=\"session.view.searchText\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n />\r\n <lucide-icon class=\"Close\" name=\"x\" (click)=\"session.handlers.onCloseIconClick($event); $event.stopPropagation()\"></lucide-icon>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div class=\"EmptyState\" *ngIf=\"!session.view.searchText.trim() && !session.view.loading && !session.view.error\">\r\n <lucide-icon name=\"search\"></lucide-icon>\r\n <p>Escribe para buscar productos</p>\r\n <span class=\"Hint\">Busca por nombre, SKU, marca o categor\u00EDa</span>\r\n </div>\r\n\r\n <div class=\"LoadingState\" *ngIf=\"session.view.loading && session.view.searchText.trim()\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div class=\"ErrorState\" *ngIf=\"session.view.error && !session.view.loading\">\r\n <lucide-icon name=\"triangle-alert\"></lucide-icon>\r\n <p>Error al realizar la b\u00FAsqueda</p>\r\n <span class=\"Hint\">Intenta nuevamente</span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!session.view.loading && !session.view.error && session.view.searchText.trim()\">\r\n <a\r\n class=\"Option SearchAllOption\"\r\n [routerLink]=\"['/search', session.view.searchText.trim()]\"\r\n (click)=\"session.handlers.onResultNavigate()\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div class=\"SearchAllIcon\">\r\n <lucide-icon name=\"search\"></lucide-icon>\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">Buscar \"{{ session.view.searchText.trim() }}\" en la p\u00E1gina de b\u00FAsqueda</span>\r\n <span class=\"Description\">Ver todos los resultados</span>\r\n </div>\r\n </div>\r\n <lucide-icon class=\"LinkIcon\" name=\"arrow-right\"></lucide-icon>\r\n </label>\r\n </a>\r\n\r\n <a\r\n class=\"Option\"\r\n *ngFor=\"let option of session.view.filteredOptions\"\r\n [routerLink]=\"[option.to, option.param]\"\r\n (click)=\"session.handlers.onResultNavigate()\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img\r\n [src]=\"option.image\"\r\n alt=\"Imagen\"\r\n loading=\"lazy\"\r\n onerror=\"this.style.display='none'\"\r\n />\r\n </div>\r\n\r\n <div class=\"Info\">\r\n <span class=\"Name\" [innerHTML]=\"option.name\"></span>\r\n <span\r\n class=\"Description\"\r\n *ngIf=\"option.description\"\r\n [innerHTML]=\"option.description\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <lucide-icon class=\"LinkIcon\" name=\"arrow-right\"></lucide-icon>\r\n </label>\r\n </a>\r\n\r\n <div class=\"NoResults\" *ngIf=\"session.view.filteredOptions.length === 0 && session.view.searchText.trim()\">\r\n <lucide-icon name=\"inbox\"></lucide-icon>\r\n <p>No se encontraron resultados para: <strong>{{ session.view.searchText }}</strong></p>\r\n <span class=\"Hint\">Intenta con otros t\u00E9rminos de b\u00FAsqueda</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:4px;background:var(--overlay-scrim)}.Backdrop .Picker{max-width:550px;width:100%;margin:0 auto;background:var(--surface);display:flex;flex-direction:column;gap:5px;border-radius:var(--radius-lg);max-height:calc(100vh - 20px);box-shadow:0 0 10px var(--shadow-color)}.Backdrop .Picker .SearchContainer{width:100%;height:max-content;display:flex;align-items:center;padding:8px 8px 0}.Backdrop .Picker .SearchContainer i,.Backdrop .Picker .SearchContainer lucide-icon{width:30px;min-width:30px;height:30px;min-height:30px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--red);padding:4px;cursor:pointer}.Backdrop .Picker .SearchContainer i lucide-icon .lucide-icon-svg,.Backdrop .Picker .SearchContainer lucide-icon lucide-icon .lucide-icon-svg{width:1.3rem;height:1.3rem}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:45px;border-radius:var(--radius-lg)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:0 12px 24px;gap:4px}.Backdrop .Picker .OptionsList .EmptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:3rem 1rem;text-align:center;color:var(--text-muted)}.Backdrop .Picker .OptionsList .EmptyState i,.Backdrop .Picker .OptionsList .EmptyState lucide-icon{font-size:2.5rem;color:var(--text-label);opacity:.5}.Backdrop .Picker .OptionsList .EmptyState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .EmptyState lucide-icon lucide-icon .lucide-icon-svg{width:2.5rem;height:2.5rem}.Backdrop .Picker .OptionsList .EmptyState p{font-size:1rem;font-weight:500;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .EmptyState .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .LoadingState{display:flex;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;color:var(--text-muted);font-size:.9375rem}.Backdrop .Picker .OptionsList .LoadingState i,.Backdrop .Picker .OptionsList .LoadingState lucide-icon{font-size:1.25rem;color:var(--primary);animation:spin 1s linear infinite}.Backdrop .Picker .OptionsList .LoadingState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .LoadingState lucide-icon lucide-icon .lucide-icon-svg{width:1.25rem;height:1.25rem}.Backdrop .Picker .OptionsList .ErrorState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;color:var(--red)}.Backdrop .Picker .OptionsList .ErrorState i,.Backdrop .Picker .OptionsList .ErrorState lucide-icon{font-size:2rem;color:var(--red)}.Backdrop .Picker .OptionsList .ErrorState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .ErrorState lucide-icon lucide-icon .lucide-icon-svg{width:2rem;height:2rem}.Backdrop .Picker .OptionsList .ErrorState p{font-size:1rem;font-weight:500;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .ErrorState .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .NoResults{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;color:var(--text-muted)}.Backdrop .Picker .OptionsList .NoResults i,.Backdrop .Picker .OptionsList .NoResults lucide-icon{font-size:2rem;color:var(--text-label);opacity:.5}.Backdrop .Picker .OptionsList .NoResults i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .NoResults lucide-icon lucide-icon .lucide-icon-svg{width:2rem;height:2rem}.Backdrop .Picker .OptionsList .NoResults p{font-size:1rem;font-weight:600;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .NoResults .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center;text-decoration:none;color:inherit}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:4px 8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-lg);gap:4px}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option.SearchAllOption{border-bottom:1px solid var(--input-border);margin-bottom:4px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, var(--primary)) 100%);display:flex;align-items:center;justify-content:center}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon{color:#fff;font-size:1.125rem}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon lucide-icon .lucide-icon-svg{width:1.125rem;height:1.125rem}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Name{font-weight:400;color:var(--primary)}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Description{font-weight:400;font-size:.875rem;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option .Details{pointer-events:none;display:flex;align-items:center;gap:4px;flex:1;min-width:0}.Backdrop .Picker .OptionsList .Option .Details .Color{width:25px;min-width:25px;height:25px;min-height:25px;border-radius:100px;overflow:hidden;flex-shrink:0}.Backdrop .Picker .OptionsList .Option .Details .Image{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:var(--radius-md);overflow:hidden;background-color:var(--surface-2);flex-shrink:0}.Backdrop .Picker .OptionsList .Option .Details .Image img{width:100%;height:100%;object-fit:contain;border:none}.Backdrop .Picker .OptionsList .Option .Details .Info{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.Backdrop .Picker .OptionsList .Option .Details .Info .Name{font-weight:400;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;color:var(--text-base);line-height:1.3}.Backdrop .Picker .OptionsList .Option .Details .Info .Description{font-size:.8rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.Backdrop .Picker .OptionsList .Option .LinkIcon{color:var(--icon-primary);width:24px;min-width:24px;height:24px;flex-shrink:0;display:flex;justify-content:center;align-items:center;margin-left:auto;opacity:.6;transition:opacity .2s ease}.Backdrop .Picker .OptionsList .Option .LinkIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option:hover .LinkIcon{opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11175
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryModalServiceComponent, deps: [{ token: SearchEntryModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11176
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SearchEntryModalServiceComponent, isStandalone: true, selector: "search-entry-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop search-entry-modal\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [placeholder]=\"session.view.placeholder\"\r\n [value]=\"session.view.searchText\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n />\r\n <lucide-icon class=\"Close\" name=\"x\" (click)=\"session.handlers.onCloseIconClick($event); $event.stopPropagation()\"></lucide-icon>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div class=\"EmptyState\" *ngIf=\"!session.view.searchText.trim() && !session.view.loading && !session.view.error\">\r\n <lucide-icon name=\"search\"></lucide-icon>\r\n <p>Escribe para buscar productos</p>\r\n <span class=\"Hint\">Busca por nombre, SKU, marca o categor\u00EDa</span>\r\n </div>\r\n\r\n <div class=\"LoadingState\" *ngIf=\"session.view.loading && session.view.searchText.trim()\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div class=\"ErrorState\" *ngIf=\"session.view.error && !session.view.loading\">\r\n <lucide-icon name=\"triangle-alert\"></lucide-icon>\r\n <p>Error al realizar la b\u00FAsqueda</p>\r\n <span class=\"Hint\">Intenta nuevamente</span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!session.view.loading && !session.view.error && session.view.searchText.trim()\">\r\n <a\r\n class=\"Option SearchAllOption\"\r\n [routerLink]=\"['/search', session.view.searchText.trim()]\"\r\n (click)=\"session.handlers.onResultNavigate()\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div class=\"SearchAllIcon\">\r\n <lucide-icon name=\"search\"></lucide-icon>\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">Buscar \"{{ session.view.searchText.trim() }}\" en la p\u00E1gina de b\u00FAsqueda</span>\r\n <span class=\"Description\">Ver todos los resultados</span>\r\n </div>\r\n </div>\r\n <lucide-icon class=\"LinkIcon\" name=\"arrow-right\"></lucide-icon>\r\n </label>\r\n </a>\r\n\r\n <a\r\n class=\"Option\"\r\n *ngFor=\"let option of session.view.filteredOptions\"\r\n [routerLink]=\"[option.to, option.param]\"\r\n (click)=\"session.handlers.onResultNavigate()\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img\r\n [src]=\"option.image\"\r\n alt=\"Imagen\"\r\n loading=\"lazy\"\r\n onerror=\"this.style.display='none'\"\r\n />\r\n </div>\r\n\r\n <div class=\"Info\">\r\n <span class=\"Name\" [innerHTML]=\"option.name\"></span>\r\n <span\r\n class=\"Description\"\r\n *ngIf=\"option.description\"\r\n [innerHTML]=\"option.description\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <lucide-icon class=\"LinkIcon\" name=\"arrow-right\"></lucide-icon>\r\n </label>\r\n </a>\r\n\r\n <div class=\"NoResults\" *ngIf=\"session.view.filteredOptions.length === 0 && session.view.searchText.trim()\">\r\n <lucide-icon name=\"inbox\"></lucide-icon>\r\n <p>No se encontraron resultados para: <strong>{{ session.view.searchText }}</strong></p>\r\n <span class=\"Hint\">Intenta con otros t\u00E9rminos de b\u00FAsqueda</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:4px;background:var(--overlay-scrim)}.Backdrop .Picker{max-width:550px;width:100%;margin:0 auto;background:var(--surface);display:flex;flex-direction:column;gap:5px;border-radius:var(--radius-lg);max-height:calc(100vh - 20px);box-shadow:0 0 10px var(--shadow-color)}.Backdrop .Picker .SearchContainer{width:100%;height:max-content;display:flex;align-items:center;padding:8px 8px 0}.Backdrop .Picker .SearchContainer i,.Backdrop .Picker .SearchContainer lucide-icon{width:30px;min-width:30px;height:30px;min-height:30px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--red);padding:4px;cursor:pointer}.Backdrop .Picker .SearchContainer i lucide-icon .lucide-icon-svg,.Backdrop .Picker .SearchContainer lucide-icon lucide-icon .lucide-icon-svg{width:1.3rem;height:1.3rem}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:45px;border-radius:var(--radius-lg)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:0 12px 24px;gap:4px}.Backdrop .Picker .OptionsList .EmptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:3rem 1rem;text-align:center;color:var(--text-muted)}.Backdrop .Picker .OptionsList .EmptyState i,.Backdrop .Picker .OptionsList .EmptyState lucide-icon{font-size:2.5rem;color:var(--text-label);opacity:.5}.Backdrop .Picker .OptionsList .EmptyState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .EmptyState lucide-icon lucide-icon .lucide-icon-svg{width:2.5rem;height:2.5rem}.Backdrop .Picker .OptionsList .EmptyState p{font-size:1rem;font-weight:500;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .EmptyState .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .LoadingState{display:flex;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;color:var(--text-muted);font-size:.9375rem}.Backdrop .Picker .OptionsList .LoadingState i,.Backdrop .Picker .OptionsList .LoadingState lucide-icon{font-size:1.25rem;color:var(--primary);animation:spin 1s linear infinite}.Backdrop .Picker .OptionsList .LoadingState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .LoadingState lucide-icon lucide-icon .lucide-icon-svg{width:1.25rem;height:1.25rem}.Backdrop .Picker .OptionsList .ErrorState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;color:var(--red)}.Backdrop .Picker .OptionsList .ErrorState i,.Backdrop .Picker .OptionsList .ErrorState lucide-icon{font-size:2rem;color:var(--red)}.Backdrop .Picker .OptionsList .ErrorState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .ErrorState lucide-icon lucide-icon .lucide-icon-svg{width:2rem;height:2rem}.Backdrop .Picker .OptionsList .ErrorState p{font-size:1rem;font-weight:500;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .ErrorState .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .NoResults{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;color:var(--text-muted)}.Backdrop .Picker .OptionsList .NoResults i,.Backdrop .Picker .OptionsList .NoResults lucide-icon{font-size:2rem;color:var(--text-label);opacity:.5}.Backdrop .Picker .OptionsList .NoResults i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .NoResults lucide-icon lucide-icon .lucide-icon-svg{width:2rem;height:2rem}.Backdrop .Picker .OptionsList .NoResults p{font-size:1rem;font-weight:600;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .NoResults .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center;text-decoration:none;color:inherit}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:4px 8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-lg);gap:4px}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option.SearchAllOption{border-bottom:1px solid var(--input-border);margin-bottom:4px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, var(--primary)) 100%);display:flex;align-items:center;justify-content:center}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon{color:#fff;font-size:1.125rem}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon lucide-icon .lucide-icon-svg{width:1.125rem;height:1.125rem}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Name{font-weight:400;color:var(--primary)}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Description{font-weight:400;font-size:.875rem;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option .Details{pointer-events:none;display:flex;align-items:center;gap:4px;flex:1;min-width:0}.Backdrop .Picker .OptionsList .Option .Details .Color{width:25px;min-width:25px;height:25px;min-height:25px;border-radius:100px;overflow:hidden;flex-shrink:0}.Backdrop .Picker .OptionsList .Option .Details .Image{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:var(--radius-md);overflow:hidden;background-color:var(--surface-2);flex-shrink:0}.Backdrop .Picker .OptionsList .Option .Details .Image img{width:100%;height:100%;object-fit:contain;border:none}.Backdrop .Picker .OptionsList .Option .Details .Info{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.Backdrop .Picker .OptionsList .Option .Details .Info .Name{font-weight:400;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;color:var(--text-base);line-height:1.3}.Backdrop .Picker .OptionsList .Option .Details .Info .Description{font-size:.8rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.Backdrop .Picker .OptionsList .Option .LinkIcon{color:var(--icon-primary);width:24px;min-width:24px;height:24px;flex-shrink:0;display:flex;justify-content:center;align-items:center;margin-left:auto;opacity:.6;transition:opacity .2s ease}.Backdrop .Picker .OptionsList .Option .LinkIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option:hover .LinkIcon{opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11177
11177
  }
11178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: SearchEntryModalServiceComponent, decorators: [{
11178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryModalServiceComponent, decorators: [{
11179
11179
  type: Component,
11180
11180
  args: [{ selector: 'search-entry-modal-service', standalone: true, imports: [CommonModule, RouterModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop search-entry-modal\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [placeholder]=\"session.view.placeholder\"\r\n [value]=\"session.view.searchText\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n />\r\n <lucide-icon class=\"Close\" name=\"x\" (click)=\"session.handlers.onCloseIconClick($event); $event.stopPropagation()\"></lucide-icon>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div class=\"EmptyState\" *ngIf=\"!session.view.searchText.trim() && !session.view.loading && !session.view.error\">\r\n <lucide-icon name=\"search\"></lucide-icon>\r\n <p>Escribe para buscar productos</p>\r\n <span class=\"Hint\">Busca por nombre, SKU, marca o categor\u00EDa</span>\r\n </div>\r\n\r\n <div class=\"LoadingState\" *ngIf=\"session.view.loading && session.view.searchText.trim()\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div class=\"ErrorState\" *ngIf=\"session.view.error && !session.view.loading\">\r\n <lucide-icon name=\"triangle-alert\"></lucide-icon>\r\n <p>Error al realizar la b\u00FAsqueda</p>\r\n <span class=\"Hint\">Intenta nuevamente</span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!session.view.loading && !session.view.error && session.view.searchText.trim()\">\r\n <a\r\n class=\"Option SearchAllOption\"\r\n [routerLink]=\"['/search', session.view.searchText.trim()]\"\r\n (click)=\"session.handlers.onResultNavigate()\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div class=\"SearchAllIcon\">\r\n <lucide-icon name=\"search\"></lucide-icon>\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">Buscar \"{{ session.view.searchText.trim() }}\" en la p\u00E1gina de b\u00FAsqueda</span>\r\n <span class=\"Description\">Ver todos los resultados</span>\r\n </div>\r\n </div>\r\n <lucide-icon class=\"LinkIcon\" name=\"arrow-right\"></lucide-icon>\r\n </label>\r\n </a>\r\n\r\n <a\r\n class=\"Option\"\r\n *ngFor=\"let option of session.view.filteredOptions\"\r\n [routerLink]=\"[option.to, option.param]\"\r\n (click)=\"session.handlers.onResultNavigate()\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img\r\n [src]=\"option.image\"\r\n alt=\"Imagen\"\r\n loading=\"lazy\"\r\n onerror=\"this.style.display='none'\"\r\n />\r\n </div>\r\n\r\n <div class=\"Info\">\r\n <span class=\"Name\" [innerHTML]=\"option.name\"></span>\r\n <span\r\n class=\"Description\"\r\n *ngIf=\"option.description\"\r\n [innerHTML]=\"option.description\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <lucide-icon class=\"LinkIcon\" name=\"arrow-right\"></lucide-icon>\r\n </label>\r\n </a>\r\n\r\n <div class=\"NoResults\" *ngIf=\"session.view.filteredOptions.length === 0 && session.view.searchText.trim()\">\r\n <lucide-icon name=\"inbox\"></lucide-icon>\r\n <p>No se encontraron resultados para: <strong>{{ session.view.searchText }}</strong></p>\r\n <span class=\"Hint\">Intenta con otros t\u00E9rminos de b\u00FAsqueda</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:4px;background:var(--overlay-scrim)}.Backdrop .Picker{max-width:550px;width:100%;margin:0 auto;background:var(--surface);display:flex;flex-direction:column;gap:5px;border-radius:var(--radius-lg);max-height:calc(100vh - 20px);box-shadow:0 0 10px var(--shadow-color)}.Backdrop .Picker .SearchContainer{width:100%;height:max-content;display:flex;align-items:center;padding:8px 8px 0}.Backdrop .Picker .SearchContainer i,.Backdrop .Picker .SearchContainer lucide-icon{width:30px;min-width:30px;height:30px;min-height:30px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--red);padding:4px;cursor:pointer}.Backdrop .Picker .SearchContainer i lucide-icon .lucide-icon-svg,.Backdrop .Picker .SearchContainer lucide-icon lucide-icon .lucide-icon-svg{width:1.3rem;height:1.3rem}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:45px;border-radius:var(--radius-lg)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:0 12px 24px;gap:4px}.Backdrop .Picker .OptionsList .EmptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:3rem 1rem;text-align:center;color:var(--text-muted)}.Backdrop .Picker .OptionsList .EmptyState i,.Backdrop .Picker .OptionsList .EmptyState lucide-icon{font-size:2.5rem;color:var(--text-label);opacity:.5}.Backdrop .Picker .OptionsList .EmptyState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .EmptyState lucide-icon lucide-icon .lucide-icon-svg{width:2.5rem;height:2.5rem}.Backdrop .Picker .OptionsList .EmptyState p{font-size:1rem;font-weight:500;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .EmptyState .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .LoadingState{display:flex;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;color:var(--text-muted);font-size:.9375rem}.Backdrop .Picker .OptionsList .LoadingState i,.Backdrop .Picker .OptionsList .LoadingState lucide-icon{font-size:1.25rem;color:var(--primary);animation:spin 1s linear infinite}.Backdrop .Picker .OptionsList .LoadingState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .LoadingState lucide-icon lucide-icon .lucide-icon-svg{width:1.25rem;height:1.25rem}.Backdrop .Picker .OptionsList .ErrorState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;color:var(--red)}.Backdrop .Picker .OptionsList .ErrorState i,.Backdrop .Picker .OptionsList .ErrorState lucide-icon{font-size:2rem;color:var(--red)}.Backdrop .Picker .OptionsList .ErrorState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .ErrorState lucide-icon lucide-icon .lucide-icon-svg{width:2rem;height:2rem}.Backdrop .Picker .OptionsList .ErrorState p{font-size:1rem;font-weight:500;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .ErrorState .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .NoResults{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;color:var(--text-muted)}.Backdrop .Picker .OptionsList .NoResults i,.Backdrop .Picker .OptionsList .NoResults lucide-icon{font-size:2rem;color:var(--text-label);opacity:.5}.Backdrop .Picker .OptionsList .NoResults i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .NoResults lucide-icon lucide-icon .lucide-icon-svg{width:2rem;height:2rem}.Backdrop .Picker .OptionsList .NoResults p{font-size:1rem;font-weight:600;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .NoResults .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center;text-decoration:none;color:inherit}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:4px 8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-lg);gap:4px}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option.SearchAllOption{border-bottom:1px solid var(--input-border);margin-bottom:4px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, var(--primary)) 100%);display:flex;align-items:center;justify-content:center}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon{color:#fff;font-size:1.125rem}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon lucide-icon .lucide-icon-svg{width:1.125rem;height:1.125rem}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Name{font-weight:400;color:var(--primary)}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Description{font-weight:400;font-size:.875rem;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option .Details{pointer-events:none;display:flex;align-items:center;gap:4px;flex:1;min-width:0}.Backdrop .Picker .OptionsList .Option .Details .Color{width:25px;min-width:25px;height:25px;min-height:25px;border-radius:100px;overflow:hidden;flex-shrink:0}.Backdrop .Picker .OptionsList .Option .Details .Image{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:var(--radius-md);overflow:hidden;background-color:var(--surface-2);flex-shrink:0}.Backdrop .Picker .OptionsList .Option .Details .Image img{width:100%;height:100%;object-fit:contain;border:none}.Backdrop .Picker .OptionsList .Option .Details .Info{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.Backdrop .Picker .OptionsList .Option .Details .Info .Name{font-weight:400;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;color:var(--text-base);line-height:1.3}.Backdrop .Picker .OptionsList .Option .Details .Info .Description{font-size:.8rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.Backdrop .Picker .OptionsList .Option .LinkIcon{color:var(--icon-primary);width:24px;min-width:24px;height:24px;flex-shrink:0;display:flex;justify-content:center;align-items:center;margin-left:auto;opacity:.6;transition:opacity .2s ease}.Backdrop .Picker .OptionsList .Option .LinkIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option:hover .LinkIcon{opacity:1}\n"] }]
11181
11181
  }], ctorParameters: () => [{ type: SearchEntryModalService }, { type: i0.ChangeDetectorRef }] });
@@ -11196,10 +11196,10 @@ class PhoneEntryModalServiceComponent {
11196
11196
  ngOnDestroy() {
11197
11197
  this.sub?.unsubscribe();
11198
11198
  }
11199
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PhoneEntryModalServiceComponent, deps: [{ token: PhoneEntryModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11200
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: PhoneEntryModalServiceComponent, isStandalone: true, selector: "phone-entry-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop phone-entry-modal\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"SearchContainer\">\r\n <lucide-icon class=\"SearchIcon\" name=\"search\"></lucide-icon>\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n (click)=\"$event.stopPropagation()\"\r\n placeholder=\"Buscar por pa\u00EDs o c\u00F3digo...\"\r\n />\r\n </div>\r\n\r\n <div class=\"CountriesList\">\r\n <div\r\n class=\"Item\"\r\n *ngFor=\"let country of session.view.filteredCountries\"\r\n (click)=\"session.handlers.onSelectCountry(country, $event)\"\r\n >\r\n <img *ngIf=\"country.img\" class=\"Icon\" [src]=\"country.img\" draggable=\"false\" />\r\n <lucide-icon class=\"Icon\" name=\"globe\" *ngIf=\"!country.img\"></lucide-icon>\r\n <span class=\"Code\">{{ country.prefix }}</span>\r\n <span class=\"Country\">{{ country.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}.Backdrop .Picker{display:flex;flex-direction:column;gap:8px;width:100%;max-width:420px;max-height:90vh;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--shadow-color)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:8px;padding:8px;background-color:var(--input-bg);border-radius:var(--radius-md);border:solid 1px var(--input-border)}.Backdrop .Picker .SearchContainer .SearchIcon{color:var(--text-muted);font-size:.9rem;flex-shrink:0}.Backdrop .Picker .SearchContainer .SearchIcon lucide-icon .lucide-icon-svg{width:.9rem;height:.9rem}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;border:none;outline:none;background:transparent;color:var(--input-text);font-size:.9rem}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--input-placeholder)}.Backdrop .Picker .CountriesList{display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:calc(80vh - 120px)}.Backdrop .Picker .CountriesList .Item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);cursor:pointer;border-radius:var(--radius-md);transition:background-color .2s}.Backdrop .Picker .CountriesList .Item:hover{background-color:var(--surface-2)}.Backdrop .Picker .CountriesList .Item .Icon{width:25px;height:25px;object-fit:contain;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Code{padding:2px var(--spacing-sm);border-radius:100px;font-size:.8rem;font-weight:500;background-color:var(--primary);color:var(--surface);display:flex;justify-content:center;align-items:center;white-space:nowrap;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Country{flex:1;color:var(--text-primary);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11199
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryModalServiceComponent, deps: [{ token: PhoneEntryModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11200
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PhoneEntryModalServiceComponent, isStandalone: true, selector: "phone-entry-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop phone-entry-modal\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"SearchContainer\">\r\n <lucide-icon class=\"SearchIcon\" name=\"search\"></lucide-icon>\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n (click)=\"$event.stopPropagation()\"\r\n placeholder=\"Buscar por pa\u00EDs o c\u00F3digo...\"\r\n />\r\n </div>\r\n\r\n <div class=\"CountriesList\">\r\n <div\r\n class=\"Item\"\r\n *ngFor=\"let country of session.view.filteredCountries\"\r\n (click)=\"session.handlers.onSelectCountry(country, $event)\"\r\n >\r\n <img *ngIf=\"country.img\" class=\"Icon\" [src]=\"country.img\" draggable=\"false\" />\r\n <lucide-icon class=\"Icon\" name=\"globe\" *ngIf=\"!country.img\"></lucide-icon>\r\n <span class=\"Code\">{{ country.prefix }}</span>\r\n <span class=\"Country\">{{ country.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}.Backdrop .Picker{display:flex;flex-direction:column;gap:8px;width:100%;max-width:420px;max-height:90vh;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--shadow-color)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:8px;padding:8px;background-color:var(--input-bg);border-radius:var(--radius-md);border:solid 1px var(--input-border)}.Backdrop .Picker .SearchContainer .SearchIcon{color:var(--text-muted);font-size:.9rem;flex-shrink:0}.Backdrop .Picker .SearchContainer .SearchIcon lucide-icon .lucide-icon-svg{width:.9rem;height:.9rem}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;border:none;outline:none;background:transparent;color:var(--input-text);font-size:.9rem}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--input-placeholder)}.Backdrop .Picker .CountriesList{display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:calc(80vh - 120px)}.Backdrop .Picker .CountriesList .Item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);cursor:pointer;border-radius:var(--radius-md);transition:background-color .2s}.Backdrop .Picker .CountriesList .Item:hover{background-color:var(--surface-2)}.Backdrop .Picker .CountriesList .Item .Icon{width:25px;height:25px;object-fit:contain;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Code{padding:2px var(--spacing-sm);border-radius:100px;font-size:.8rem;font-weight:500;background-color:var(--primary);color:var(--surface);display:flex;justify-content:center;align-items:center;white-space:nowrap;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Country{flex:1;color:var(--text-primary);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11201
11201
  }
11202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PhoneEntryModalServiceComponent, decorators: [{
11202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryModalServiceComponent, decorators: [{
11203
11203
  type: Component,
11204
11204
  args: [{ selector: 'phone-entry-modal-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop phone-entry-modal\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"SearchContainer\">\r\n <lucide-icon class=\"SearchIcon\" name=\"search\"></lucide-icon>\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n (click)=\"$event.stopPropagation()\"\r\n placeholder=\"Buscar por pa\u00EDs o c\u00F3digo...\"\r\n />\r\n </div>\r\n\r\n <div class=\"CountriesList\">\r\n <div\r\n class=\"Item\"\r\n *ngFor=\"let country of session.view.filteredCountries\"\r\n (click)=\"session.handlers.onSelectCountry(country, $event)\"\r\n >\r\n <img *ngIf=\"country.img\" class=\"Icon\" [src]=\"country.img\" draggable=\"false\" />\r\n <lucide-icon class=\"Icon\" name=\"globe\" *ngIf=\"!country.img\"></lucide-icon>\r\n <span class=\"Code\">{{ country.prefix }}</span>\r\n <span class=\"Country\">{{ country.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}.Backdrop .Picker{display:flex;flex-direction:column;gap:8px;width:100%;max-width:420px;max-height:90vh;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--shadow-color)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:8px;padding:8px;background-color:var(--input-bg);border-radius:var(--radius-md);border:solid 1px var(--input-border)}.Backdrop .Picker .SearchContainer .SearchIcon{color:var(--text-muted);font-size:.9rem;flex-shrink:0}.Backdrop .Picker .SearchContainer .SearchIcon lucide-icon .lucide-icon-svg{width:.9rem;height:.9rem}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;border:none;outline:none;background:transparent;color:var(--input-text);font-size:.9rem}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--input-placeholder)}.Backdrop .Picker .CountriesList{display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:calc(80vh - 120px)}.Backdrop .Picker .CountriesList .Item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);cursor:pointer;border-radius:var(--radius-md);transition:background-color .2s}.Backdrop .Picker .CountriesList .Item:hover{background-color:var(--surface-2)}.Backdrop .Picker .CountriesList .Item .Icon{width:25px;height:25px;object-fit:contain;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Code{padding:2px var(--spacing-sm);border-radius:100px;font-size:.8rem;font-weight:500;background-color:var(--primary);color:var(--surface);display:flex;justify-content:center;align-items:center;white-space:nowrap;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Country{flex:1;color:var(--text-primary);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
11205
11205
  }], ctorParameters: () => [{ type: PhoneEntryModalService }, { type: i0.ChangeDetectorRef }] });
@@ -11220,10 +11220,10 @@ class DatePickerModalServiceComponent {
11220
11220
  ngOnDestroy() {
11221
11221
  this.sub?.unsubscribe();
11222
11222
  }
11223
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatePickerModalServiceComponent, deps: [{ token: DatePickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11224
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DatePickerModalServiceComponent, isStandalone: true, selector: "date-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop date-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedValueExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\" *ngIf=\"session.view.showMonths\">\r\n <div class=\"CardChangeYear\">\r\n <p\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear || 'A\u00F1o' }}\r\n </p>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardDates\">\r\n <div class=\"CardChangeMonth\">\r\n <p\r\n class=\"LabelMonth\"\r\n (click)=\"session.handlers.openMonths($event)\"\r\n >\r\n {{ session.view.formattedMonthAndYear || 'Mes' }}\r\n </p>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementMonth($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementMonth($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"Labels\">\r\n <div class=\"LabelDay\">DO</div>\r\n <div class=\"LabelDay\">LU</div>\r\n <div class=\"LabelDay\">MA</div>\r\n <div class=\"LabelDay\">MI</div>\r\n <div class=\"LabelDay\">JU</div>\r\n <div class=\"LabelDay\">VI</div>\r\n <div class=\"LabelDay\">SA</div>\r\n </div>\r\n <div class=\"dates\">\r\n <div\r\n *ngFor=\"let d of session.view.calendarDays\"\r\n (click)=\"session.handlers.onClickDay(d, $event)\"\r\n class=\"day Scroll\"\r\n [class.selected]=\"\r\n d.isCurrentMonth && d.day === session.view.selectedDay\r\n \"\r\n [class.outside]=\"!d.isCurrentMonth\"\r\n [class.sunday]=\"d.date.weekday === 7\"\r\n [class.monday]=\"d.date.weekday === 1\"\r\n [class.tuesday]=\"d.date.weekday === 2\"\r\n [class.wednesday]=\"d.date.weekday === 3\"\r\n [class.thursday]=\"d.date.weekday === 4\"\r\n [class.friday]=\"d.date.weekday === 5\"\r\n [class.saturday]=\"d.date.weekday === 6\"\r\n >\r\n {{ d.day.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardDates .Labels{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%}.Backdrop .Picker .Cards .CardDates .Labels .LabelDay{font-size:.8rem;font-weight:700}.Backdrop .Picker .Cards .CardDates .dates{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardDates .dates .day{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardDates .dates .day:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--error-text)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--text-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11223
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerModalServiceComponent, deps: [{ token: DatePickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11224
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: DatePickerModalServiceComponent, isStandalone: true, selector: "date-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop date-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedValueExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\" *ngIf=\"session.view.showMonths\">\r\n <div class=\"CardChangeYear\">\r\n <p\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear || 'A\u00F1o' }}\r\n </p>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardDates\">\r\n <div class=\"CardChangeMonth\">\r\n <p\r\n class=\"LabelMonth\"\r\n (click)=\"session.handlers.openMonths($event)\"\r\n >\r\n {{ session.view.formattedMonthAndYear || 'Mes' }}\r\n </p>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementMonth($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementMonth($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"Labels\">\r\n <div class=\"LabelDay\">DO</div>\r\n <div class=\"LabelDay\">LU</div>\r\n <div class=\"LabelDay\">MA</div>\r\n <div class=\"LabelDay\">MI</div>\r\n <div class=\"LabelDay\">JU</div>\r\n <div class=\"LabelDay\">VI</div>\r\n <div class=\"LabelDay\">SA</div>\r\n </div>\r\n <div class=\"dates\">\r\n <div\r\n *ngFor=\"let d of session.view.calendarDays\"\r\n (click)=\"session.handlers.onClickDay(d, $event)\"\r\n class=\"day Scroll\"\r\n [class.selected]=\"\r\n d.isCurrentMonth && d.day === session.view.selectedDay\r\n \"\r\n [class.outside]=\"!d.isCurrentMonth\"\r\n [class.sunday]=\"d.date.weekday === 7\"\r\n [class.monday]=\"d.date.weekday === 1\"\r\n [class.tuesday]=\"d.date.weekday === 2\"\r\n [class.wednesday]=\"d.date.weekday === 3\"\r\n [class.thursday]=\"d.date.weekday === 4\"\r\n [class.friday]=\"d.date.weekday === 5\"\r\n [class.saturday]=\"d.date.weekday === 6\"\r\n >\r\n {{ d.day.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardDates .Labels{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%}.Backdrop .Picker .Cards .CardDates .Labels .LabelDay{font-size:.8rem;font-weight:700}.Backdrop .Picker .Cards .CardDates .dates{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardDates .dates .day{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardDates .dates .day:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--error-text)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--text-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11225
11225
  }
11226
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatePickerModalServiceComponent, decorators: [{
11226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerModalServiceComponent, decorators: [{
11227
11227
  type: Component,
11228
11228
  args: [{ selector: 'date-picker-modal-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop date-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedValueExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\" *ngIf=\"session.view.showMonths\">\r\n <div class=\"CardChangeYear\">\r\n <p\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear || 'A\u00F1o' }}\r\n </p>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardDates\">\r\n <div class=\"CardChangeMonth\">\r\n <p\r\n class=\"LabelMonth\"\r\n (click)=\"session.handlers.openMonths($event)\"\r\n >\r\n {{ session.view.formattedMonthAndYear || 'Mes' }}\r\n </p>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementMonth($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementMonth($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"Labels\">\r\n <div class=\"LabelDay\">DO</div>\r\n <div class=\"LabelDay\">LU</div>\r\n <div class=\"LabelDay\">MA</div>\r\n <div class=\"LabelDay\">MI</div>\r\n <div class=\"LabelDay\">JU</div>\r\n <div class=\"LabelDay\">VI</div>\r\n <div class=\"LabelDay\">SA</div>\r\n </div>\r\n <div class=\"dates\">\r\n <div\r\n *ngFor=\"let d of session.view.calendarDays\"\r\n (click)=\"session.handlers.onClickDay(d, $event)\"\r\n class=\"day Scroll\"\r\n [class.selected]=\"\r\n d.isCurrentMonth && d.day === session.view.selectedDay\r\n \"\r\n [class.outside]=\"!d.isCurrentMonth\"\r\n [class.sunday]=\"d.date.weekday === 7\"\r\n [class.monday]=\"d.date.weekday === 1\"\r\n [class.tuesday]=\"d.date.weekday === 2\"\r\n [class.wednesday]=\"d.date.weekday === 3\"\r\n [class.thursday]=\"d.date.weekday === 4\"\r\n [class.friday]=\"d.date.weekday === 5\"\r\n [class.saturday]=\"d.date.weekday === 6\"\r\n >\r\n {{ d.day.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardDates .Labels{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%}.Backdrop .Picker .Cards .CardDates .Labels .LabelDay{font-size:.8rem;font-weight:700}.Backdrop .Picker .Cards .CardDates .dates{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardDates .dates .day{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardDates .dates .day:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--error-text)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--text-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
11229
11229
  }], ctorParameters: () => [{ type: DatePickerModalService }, { type: i0.ChangeDetectorRef }] });
@@ -11244,10 +11244,10 @@ class TimePickerModalServiceComponent {
11244
11244
  ngOnDestroy() {
11245
11245
  this.sub?.unsubscribe();
11246
11246
  }
11247
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TimePickerModalServiceComponent, deps: [{ token: TimePickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11248
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: TimePickerModalServiceComponent, isStandalone: true, selector: "time-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop time-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\">\r\n <span>{{\r\n session.view.selectedDateExtended || 'Selecciona una hora y minuto'\r\n }}</span>\r\n </div>\r\n <div class=\"TimePicker\">\r\n <div class=\"Hours Scroll\">\r\n <div\r\n *ngFor=\"let h of session.view.HOURS\"\r\n (click)=\"session.handlers.onSelectHour(h, $event)\"\r\n class=\"hour\"\r\n [class.selected]=\"h === session.view.selectedHour\"\r\n >\r\n {{ h.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n <span class=\"Separate\">:</span>\r\n <div class=\"Minutes Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.MINUTES\"\r\n (click)=\"session.handlers.onSelectMinute(m, $event)\"\r\n [class.selected]=\"m === session.view.selectedMinute\"\r\n >\r\n {{ m.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .TimePicker{display:grid;grid-template-columns:1fr 10px 1fr;grid-auto-rows:100px;gap:5px;align-items:center;justify-items:center;-webkit-user-select:none;user-select:none;padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:900;font-size:2rem;color:var(--text-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--surface-2);border-radius:var(--radius-lg);display:grid;grid-template-columns:repeat(1,1fr);grid-auto-rows:30px;scrollbar-width:none;-ms-overflow-style:none}.Backdrop .Picker .TimePicker .Hours::-webkit-scrollbar,.Backdrop .Picker .TimePicker .Minutes::-webkit-scrollbar{display:none}.Backdrop .Picker .TimePicker .Hours div,.Backdrop .Picker .TimePicker .Minutes div{border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:center;align-items:center;cursor:pointer}.Backdrop .Picker .TimePicker .Hours div:hover,.Backdrop .Picker .TimePicker .Minutes div:hover{background-color:var(--surface-3)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
11247
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerModalServiceComponent, deps: [{ token: TimePickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11248
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TimePickerModalServiceComponent, isStandalone: true, selector: "time-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop time-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\">\r\n <span>{{\r\n session.view.selectedDateExtended || 'Selecciona una hora y minuto'\r\n }}</span>\r\n </div>\r\n <div class=\"TimePicker\">\r\n <div class=\"Hours Scroll\">\r\n <div\r\n *ngFor=\"let h of session.view.HOURS\"\r\n (click)=\"session.handlers.onSelectHour(h, $event)\"\r\n class=\"hour\"\r\n [class.selected]=\"h === session.view.selectedHour\"\r\n >\r\n {{ h.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n <span class=\"Separate\">:</span>\r\n <div class=\"Minutes Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.MINUTES\"\r\n (click)=\"session.handlers.onSelectMinute(m, $event)\"\r\n [class.selected]=\"m === session.view.selectedMinute\"\r\n >\r\n {{ m.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .TimePicker{display:grid;grid-template-columns:1fr 10px 1fr;grid-auto-rows:100px;gap:5px;align-items:center;justify-items:center;-webkit-user-select:none;user-select:none;padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:900;font-size:2rem;color:var(--text-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--surface-2);border-radius:var(--radius-lg);display:grid;grid-template-columns:repeat(1,1fr);grid-auto-rows:30px;scrollbar-width:none;-ms-overflow-style:none}.Backdrop .Picker .TimePicker .Hours::-webkit-scrollbar,.Backdrop .Picker .TimePicker .Minutes::-webkit-scrollbar{display:none}.Backdrop .Picker .TimePicker .Hours div,.Backdrop .Picker .TimePicker .Minutes div{border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:center;align-items:center;cursor:pointer}.Backdrop .Picker .TimePicker .Hours div:hover,.Backdrop .Picker .TimePicker .Minutes div:hover{background-color:var(--surface-3)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
11249
11249
  }
11250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: TimePickerModalServiceComponent, decorators: [{
11250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerModalServiceComponent, decorators: [{
11251
11251
  type: Component,
11252
11252
  args: [{ selector: 'time-picker-modal-service', standalone: true, imports: [CommonModule], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop time-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\">\r\n <span>{{\r\n session.view.selectedDateExtended || 'Selecciona una hora y minuto'\r\n }}</span>\r\n </div>\r\n <div class=\"TimePicker\">\r\n <div class=\"Hours Scroll\">\r\n <div\r\n *ngFor=\"let h of session.view.HOURS\"\r\n (click)=\"session.handlers.onSelectHour(h, $event)\"\r\n class=\"hour\"\r\n [class.selected]=\"h === session.view.selectedHour\"\r\n >\r\n {{ h.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n <span class=\"Separate\">:</span>\r\n <div class=\"Minutes Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.MINUTES\"\r\n (click)=\"session.handlers.onSelectMinute(m, $event)\"\r\n [class.selected]=\"m === session.view.selectedMinute\"\r\n >\r\n {{ m.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .TimePicker{display:grid;grid-template-columns:1fr 10px 1fr;grid-auto-rows:100px;gap:5px;align-items:center;justify-items:center;-webkit-user-select:none;user-select:none;padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:900;font-size:2rem;color:var(--text-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--surface-2);border-radius:var(--radius-lg);display:grid;grid-template-columns:repeat(1,1fr);grid-auto-rows:30px;scrollbar-width:none;-ms-overflow-style:none}.Backdrop .Picker .TimePicker .Hours::-webkit-scrollbar,.Backdrop .Picker .TimePicker .Minutes::-webkit-scrollbar{display:none}.Backdrop .Picker .TimePicker .Hours div,.Backdrop .Picker .TimePicker .Minutes div{border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:center;align-items:center;cursor:pointer}.Backdrop .Picker .TimePicker .Hours div:hover,.Backdrop .Picker .TimePicker .Minutes div:hover{background-color:var(--surface-3)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
11253
11253
  }], ctorParameters: () => [{ type: TimePickerModalService }, { type: i0.ChangeDetectorRef }] });
@@ -11268,10 +11268,10 @@ class DatetimePickerModalServiceComponent {
11268
11268
  ngOnDestroy() {
11269
11269
  this.sub?.unsubscribe();
11270
11270
  }
11271
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatetimePickerModalServiceComponent, deps: [{ token: DatetimePickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11272
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DatetimePickerModalServiceComponent, isStandalone: true, selector: "datetime-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop datetime-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedDateExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\" *ngIf=\"session.view.showMonths\">\r\n <div class=\"CardChangeYear\">\r\n <span\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardDates\">\r\n <div class=\"CardChangeMonth\">\r\n <span\r\n class=\"LabelMonth\"\r\n (click)=\"session.handlers.openMonths($event)\"\r\n >\r\n {{ session.view.formattedMonthAndYear }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementMonth($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementMonth($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"Labels\">\r\n <div class=\"LabelDay\">DO</div>\r\n <div class=\"LabelDay\">LU</div>\r\n <div class=\"LabelDay\">MA</div>\r\n <div class=\"LabelDay\">MI</div>\r\n <div class=\"LabelDay\">JU</div>\r\n <div class=\"LabelDay\">VI</div>\r\n <div class=\"LabelDay\">SA</div>\r\n </div>\r\n <div class=\"dates\">\r\n <div\r\n *ngFor=\"let d of session.view.calendarDays\"\r\n (click)=\"session.handlers.onClickDay(d, $event)\"\r\n class=\"day Scroll\"\r\n [class.selected]=\"\r\n d.isCurrentMonth && d.day === session.view.selectedDay\r\n \"\r\n [class.outside]=\"!d.isCurrentMonth\"\r\n [class.sunday]=\"d.date.weekday === 7\"\r\n [class.monday]=\"d.date.weekday === 1\"\r\n [class.tuesday]=\"d.date.weekday === 2\"\r\n [class.wednesday]=\"d.date.weekday === 3\"\r\n [class.thursday]=\"d.date.weekday === 4\"\r\n [class.friday]=\"d.date.weekday === 5\"\r\n [class.saturday]=\"d.date.weekday === 6\"\r\n >\r\n {{ d.day.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"TimePicker\">\r\n <div class=\"Hours Scroll\">\r\n <div\r\n *ngFor=\"let h of session.view.HOURS\"\r\n (click)=\"session.handlers.onSelectHour(h, $event)\"\r\n class=\"hour\"\r\n [class.selected]=\"h === session.view.selectedHour\"\r\n >\r\n {{ h.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n <span class=\"Separate\">:</span>\r\n <div class=\"Minutes Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.MINUTES\"\r\n (click)=\"session.handlers.onSelectMinute(m, $event)\"\r\n [class.selected]=\"m === session.view.selectedMinute\"\r\n >\r\n {{ m.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardDates .Labels{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%}.Backdrop .Picker .Cards .CardDates .Labels .LabelDay{font-size:.8rem;font-weight:700}.Backdrop .Picker .Cards .CardDates .dates{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardDates .dates .day{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardDates .dates .day:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--error-text)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--text-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--primary)}.Backdrop .Picker .TimePicker{display:grid;grid-template-columns:1fr 10px 1fr;grid-auto-rows:100px;gap:5px;align-items:center;justify-items:center;-webkit-user-select:none;user-select:none;border-top:solid 1px var(--border);padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:900;font-size:2rem;color:var(--text-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--surface-2);border-radius:var(--radius-lg);display:grid;grid-template-columns:repeat(1,1fr);grid-auto-rows:30px;scrollbar-width:none;-ms-overflow-style:none}.Backdrop .Picker .TimePicker .Hours::-webkit-scrollbar,.Backdrop .Picker .TimePicker .Minutes::-webkit-scrollbar{display:none}.Backdrop .Picker .TimePicker .Hours div,.Backdrop .Picker .TimePicker .Minutes div{border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:center;align-items:center;cursor:pointer}.Backdrop .Picker .TimePicker .Hours div:hover,.Backdrop .Picker .TimePicker .Minutes div:hover{background-color:var(--surface-3)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11271
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerModalServiceComponent, deps: [{ token: DatetimePickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11272
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: DatetimePickerModalServiceComponent, isStandalone: true, selector: "datetime-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop datetime-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedDateExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\" *ngIf=\"session.view.showMonths\">\r\n <div class=\"CardChangeYear\">\r\n <span\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardDates\">\r\n <div class=\"CardChangeMonth\">\r\n <span\r\n class=\"LabelMonth\"\r\n (click)=\"session.handlers.openMonths($event)\"\r\n >\r\n {{ session.view.formattedMonthAndYear }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementMonth($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementMonth($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"Labels\">\r\n <div class=\"LabelDay\">DO</div>\r\n <div class=\"LabelDay\">LU</div>\r\n <div class=\"LabelDay\">MA</div>\r\n <div class=\"LabelDay\">MI</div>\r\n <div class=\"LabelDay\">JU</div>\r\n <div class=\"LabelDay\">VI</div>\r\n <div class=\"LabelDay\">SA</div>\r\n </div>\r\n <div class=\"dates\">\r\n <div\r\n *ngFor=\"let d of session.view.calendarDays\"\r\n (click)=\"session.handlers.onClickDay(d, $event)\"\r\n class=\"day Scroll\"\r\n [class.selected]=\"\r\n d.isCurrentMonth && d.day === session.view.selectedDay\r\n \"\r\n [class.outside]=\"!d.isCurrentMonth\"\r\n [class.sunday]=\"d.date.weekday === 7\"\r\n [class.monday]=\"d.date.weekday === 1\"\r\n [class.tuesday]=\"d.date.weekday === 2\"\r\n [class.wednesday]=\"d.date.weekday === 3\"\r\n [class.thursday]=\"d.date.weekday === 4\"\r\n [class.friday]=\"d.date.weekday === 5\"\r\n [class.saturday]=\"d.date.weekday === 6\"\r\n >\r\n {{ d.day.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"TimePicker\">\r\n <div class=\"Hours Scroll\">\r\n <div\r\n *ngFor=\"let h of session.view.HOURS\"\r\n (click)=\"session.handlers.onSelectHour(h, $event)\"\r\n class=\"hour\"\r\n [class.selected]=\"h === session.view.selectedHour\"\r\n >\r\n {{ h.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n <span class=\"Separate\">:</span>\r\n <div class=\"Minutes Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.MINUTES\"\r\n (click)=\"session.handlers.onSelectMinute(m, $event)\"\r\n [class.selected]=\"m === session.view.selectedMinute\"\r\n >\r\n {{ m.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardDates .Labels{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%}.Backdrop .Picker .Cards .CardDates .Labels .LabelDay{font-size:.8rem;font-weight:700}.Backdrop .Picker .Cards .CardDates .dates{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardDates .dates .day{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardDates .dates .day:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--error-text)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--text-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--primary)}.Backdrop .Picker .TimePicker{display:grid;grid-template-columns:1fr 10px 1fr;grid-auto-rows:100px;gap:5px;align-items:center;justify-items:center;-webkit-user-select:none;user-select:none;border-top:solid 1px var(--border);padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:900;font-size:2rem;color:var(--text-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--surface-2);border-radius:var(--radius-lg);display:grid;grid-template-columns:repeat(1,1fr);grid-auto-rows:30px;scrollbar-width:none;-ms-overflow-style:none}.Backdrop .Picker .TimePicker .Hours::-webkit-scrollbar,.Backdrop .Picker .TimePicker .Minutes::-webkit-scrollbar{display:none}.Backdrop .Picker .TimePicker .Hours div,.Backdrop .Picker .TimePicker .Minutes div{border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:center;align-items:center;cursor:pointer}.Backdrop .Picker .TimePicker .Hours div:hover,.Backdrop .Picker .TimePicker .Minutes div:hover{background-color:var(--surface-3)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11273
11273
  }
11274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DatetimePickerModalServiceComponent, decorators: [{
11274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerModalServiceComponent, decorators: [{
11275
11275
  type: Component,
11276
11276
  args: [{ selector: 'datetime-picker-modal-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop datetime-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedDateExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\" *ngIf=\"session.view.showMonths\">\r\n <div class=\"CardChangeYear\">\r\n <span\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardDates\">\r\n <div class=\"CardChangeMonth\">\r\n <span\r\n class=\"LabelMonth\"\r\n (click)=\"session.handlers.openMonths($event)\"\r\n >\r\n {{ session.view.formattedMonthAndYear }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementMonth($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementMonth($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"Labels\">\r\n <div class=\"LabelDay\">DO</div>\r\n <div class=\"LabelDay\">LU</div>\r\n <div class=\"LabelDay\">MA</div>\r\n <div class=\"LabelDay\">MI</div>\r\n <div class=\"LabelDay\">JU</div>\r\n <div class=\"LabelDay\">VI</div>\r\n <div class=\"LabelDay\">SA</div>\r\n </div>\r\n <div class=\"dates\">\r\n <div\r\n *ngFor=\"let d of session.view.calendarDays\"\r\n (click)=\"session.handlers.onClickDay(d, $event)\"\r\n class=\"day Scroll\"\r\n [class.selected]=\"\r\n d.isCurrentMonth && d.day === session.view.selectedDay\r\n \"\r\n [class.outside]=\"!d.isCurrentMonth\"\r\n [class.sunday]=\"d.date.weekday === 7\"\r\n [class.monday]=\"d.date.weekday === 1\"\r\n [class.tuesday]=\"d.date.weekday === 2\"\r\n [class.wednesday]=\"d.date.weekday === 3\"\r\n [class.thursday]=\"d.date.weekday === 4\"\r\n [class.friday]=\"d.date.weekday === 5\"\r\n [class.saturday]=\"d.date.weekday === 6\"\r\n >\r\n {{ d.day.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"TimePicker\">\r\n <div class=\"Hours Scroll\">\r\n <div\r\n *ngFor=\"let h of session.view.HOURS\"\r\n (click)=\"session.handlers.onSelectHour(h, $event)\"\r\n class=\"hour\"\r\n [class.selected]=\"h === session.view.selectedHour\"\r\n >\r\n {{ h.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n <span class=\"Separate\">:</span>\r\n <div class=\"Minutes Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.MINUTES\"\r\n (click)=\"session.handlers.onSelectMinute(m, $event)\"\r\n [class.selected]=\"m === session.view.selectedMinute\"\r\n >\r\n {{ m.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardDates .Labels{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%}.Backdrop .Picker .Cards .CardDates .Labels .LabelDay{font-size:.8rem;font-weight:700}.Backdrop .Picker .Cards .CardDates .dates{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardDates .dates .day{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardDates .dates .day:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--error-text)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--text-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--primary)}.Backdrop .Picker .TimePicker{display:grid;grid-template-columns:1fr 10px 1fr;grid-auto-rows:100px;gap:5px;align-items:center;justify-items:center;-webkit-user-select:none;user-select:none;border-top:solid 1px var(--border);padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:900;font-size:2rem;color:var(--text-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--surface-2);border-radius:var(--radius-lg);display:grid;grid-template-columns:repeat(1,1fr);grid-auto-rows:30px;scrollbar-width:none;-ms-overflow-style:none}.Backdrop .Picker .TimePicker .Hours::-webkit-scrollbar,.Backdrop .Picker .TimePicker .Minutes::-webkit-scrollbar{display:none}.Backdrop .Picker .TimePicker .Hours div,.Backdrop .Picker .TimePicker .Minutes div{border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:center;align-items:center;cursor:pointer}.Backdrop .Picker .TimePicker .Hours div:hover,.Backdrop .Picker .TimePicker .Minutes div:hover{background-color:var(--surface-3)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
11277
11277
  }], ctorParameters: () => [{ type: DatetimePickerModalService }, { type: i0.ChangeDetectorRef }] });
@@ -11292,10 +11292,10 @@ class MonthPickerModalServiceComponent {
11292
11292
  ngOnDestroy() {
11293
11293
  this.sub?.unsubscribe();
11294
11294
  }
11295
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MonthPickerModalServiceComponent, deps: [{ token: MonthPickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11296
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: MonthPickerModalServiceComponent, isStandalone: true, selector: "month-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop month-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedDateExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\">\r\n <div class=\"CardChangeYear\">\r\n <span\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear || 'A\u00F1o' }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11295
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerModalServiceComponent, deps: [{ token: MonthPickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11296
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MonthPickerModalServiceComponent, isStandalone: true, selector: "month-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop month-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedDateExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\">\r\n <div class=\"CardChangeYear\">\r\n <span\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear || 'A\u00F1o' }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
11297
11297
  }
11298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: MonthPickerModalServiceComponent, decorators: [{
11298
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerModalServiceComponent, decorators: [{
11299
11299
  type: Component,
11300
11300
  args: [{ selector: 'month-picker-modal-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop month-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedDateExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\">\r\n <div class=\"CardChangeYear\">\r\n <span\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear || 'A\u00F1o' }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
11301
11301
  }], ctorParameters: () => [{ type: MonthPickerModalService }, { type: i0.ChangeDetectorRef }] });
@@ -11960,10 +11960,10 @@ class ColorPickerPanelComponent {
11960
11960
  this.textValueChange.emit(value);
11961
11961
  this.cdr.markForCheck();
11962
11962
  }
11963
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ColorPickerPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11964
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: ColorPickerPanelComponent, isStandalone: true, selector: "color-picker-panel", inputs: { mode: "mode", textValue: "textValue", disabled: "disabled" }, outputs: { textValueChange: "textValueChange" }, host: { listeners: { "document:mousemove": "onDocumentMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, viewQueries: [{ propertyName: "colorCanvas", first: true, predicate: ["colorCanvas"], descendants: true }, { propertyName: "hueCanvas", first: true, predicate: ["hueCanvas"], descendants: true }, { propertyName: "pickerContainer", first: true, predicate: ["pickerContainer"], descendants: true }, { propertyName: "canvasContainer", first: true, predicate: ["canvasContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"Picker\" #pickerContainer (click)=\"$event.stopPropagation()\">\n <div class=\"ColorPickerMain\">\n <div class=\"CanvasContainer\" #canvasContainer>\n <canvas\n #colorCanvas\n class=\"ColorCanvas\"\n (mousedown)=\"onSaturationMouseDown($event)\"\n (mousemove)=\"onSaturationMouseMove($event)\"\n (touchstart)=\"onSaturationTouchStart($event)\"\n (touchmove)=\"onSaturationTouchMove($event)\"\n ></canvas>\n </div>\n\n <div class=\"HueContainer\">\n <canvas\n #hueCanvas\n class=\"HueCanvas\"\n (mousedown)=\"onHueMouseDown($event)\"\n (mousemove)=\"onHueMouseMove($event)\"\n (touchstart)=\"onHueTouchStart($event)\"\n (touchmove)=\"onHueTouchMove($event)\"\n ></canvas>\n </div>\n </div>\n\n <div class=\"ColorMeta\">\n <div\n class=\"ColorPreview\"\n [style.background-color]=\"previewColor\"\n aria-hidden=\"true\"\n ></div>\n <div class=\"ColorValues\">\n <div class=\"ColorValueRow\">\n <span class=\"Label\">HEX</span>\n <span class=\"Value\">{{ currentHex || '\u2014' }}</span>\n </div>\n <div class=\"ColorValueRow\">\n <span class=\"Label\">RGB</span>\n <span class=\"Value\">{{ currentRgb || '\u2014' }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"SwatchesContainer\">\n <div\n class=\"Swatch\"\n *ngFor=\"let color of colors\"\n [style.background]=\"mode === 'hex' ? color.hex : color.rgb\"\n (click)=\"selectColor(color)\"\n [title]=\"color.name\"\n ></div>\n </div>\n</div>\n", styles: [":host{display:block;width:100%}:host .Picker{display:flex;flex-direction:column;gap:var(--spacing-md);overflow-y:auto}:host .Picker .ColorPickerMain{display:flex;gap:var(--spacing-md);align-items:stretch;width:100%;min-height:200px;max-height:200px}:host .Picker .ColorPickerMain .CanvasContainer{position:relative;flex:1;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;cursor:crosshair}:host .Picker .ColorPickerMain .CanvasContainer .ColorCanvas{width:100%;height:100%;display:block;touch-action:none}:host .Picker .ColorPickerMain .HueContainer{position:relative;width:30px;border-radius:var(--radius-lg);overflow:hidden;cursor:crosshair}:host .Picker .ColorPickerMain .HueContainer .HueCanvas{width:100%;height:100%;display:block;touch-action:none}:host .Picker .ColorMeta{display:flex;gap:var(--spacing-md);align-items:center;padding:var(--spacing-sm);background:var(--surface-2);border:1px solid var(--input-border);border-radius:var(--radius-md)}:host .Picker .ColorMeta .ColorPreview{flex-shrink:0;width:52px;height:52px;border-radius:var(--radius-md);border:1px solid var(--input-border);background-color:var(--input-concats-bg);box-shadow:inset 0 0 0 1px var(--border)}:host .Picker .ColorMeta .ColorValues{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}:host .Picker .ColorMeta .ColorValues .ColorValueRow{display:flex;align-items:center;gap:var(--spacing-sm)}:host .Picker .ColorMeta .ColorValues .ColorValueRow .Label{flex-shrink:0;min-width:2.25rem;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}:host .Picker .ColorMeta .ColorValues .ColorValueRow .Value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;font-weight:500;color:var(--text-base);word-break:break-all}:host .Picker .SwatchesContainer{display:grid;grid-template-columns:repeat(auto-fill,minmax(20px,1fr));gap:2px;max-height:150px;overflow-y:auto;padding:2px}:host .Picker .SwatchesContainer .Swatch{width:100%;aspect-ratio:1;cursor:pointer;border-radius:var(--radius-sm);border:2px solid transparent;transition:all .2s ease}:host .Picker .SwatchesContainer .Swatch:hover{border-color:var(--primary);transform:scale(1.1);box-shadow:0 2px 8px var(--overlay-scrim)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
11963
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11964
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ColorPickerPanelComponent, isStandalone: true, selector: "color-picker-panel", inputs: { mode: "mode", textValue: "textValue", disabled: "disabled" }, outputs: { textValueChange: "textValueChange" }, host: { listeners: { "document:mousemove": "onDocumentMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, viewQueries: [{ propertyName: "colorCanvas", first: true, predicate: ["colorCanvas"], descendants: true }, { propertyName: "hueCanvas", first: true, predicate: ["hueCanvas"], descendants: true }, { propertyName: "pickerContainer", first: true, predicate: ["pickerContainer"], descendants: true }, { propertyName: "canvasContainer", first: true, predicate: ["canvasContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"Picker\" #pickerContainer (click)=\"$event.stopPropagation()\">\n <div class=\"ColorPickerMain\">\n <div class=\"CanvasContainer\" #canvasContainer>\n <canvas\n #colorCanvas\n class=\"ColorCanvas\"\n (mousedown)=\"onSaturationMouseDown($event)\"\n (mousemove)=\"onSaturationMouseMove($event)\"\n (touchstart)=\"onSaturationTouchStart($event)\"\n (touchmove)=\"onSaturationTouchMove($event)\"\n ></canvas>\n </div>\n\n <div class=\"HueContainer\">\n <canvas\n #hueCanvas\n class=\"HueCanvas\"\n (mousedown)=\"onHueMouseDown($event)\"\n (mousemove)=\"onHueMouseMove($event)\"\n (touchstart)=\"onHueTouchStart($event)\"\n (touchmove)=\"onHueTouchMove($event)\"\n ></canvas>\n </div>\n </div>\n\n <div class=\"ColorMeta\">\n <div\n class=\"ColorPreview\"\n [style.background-color]=\"previewColor\"\n aria-hidden=\"true\"\n ></div>\n <div class=\"ColorValues\">\n <div class=\"ColorValueRow\">\n <span class=\"Label\">HEX</span>\n <span class=\"Value\">{{ currentHex || '\u2014' }}</span>\n </div>\n <div class=\"ColorValueRow\">\n <span class=\"Label\">RGB</span>\n <span class=\"Value\">{{ currentRgb || '\u2014' }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"SwatchesContainer\">\n <div\n class=\"Swatch\"\n *ngFor=\"let color of colors\"\n [style.background]=\"mode === 'hex' ? color.hex : color.rgb\"\n (click)=\"selectColor(color)\"\n [title]=\"color.name\"\n ></div>\n </div>\n</div>\n", styles: [":host{display:block;width:100%}:host .Picker{display:flex;flex-direction:column;gap:var(--spacing-md);overflow-y:auto}:host .Picker .ColorPickerMain{display:flex;gap:var(--spacing-md);align-items:stretch;width:100%;min-height:200px;max-height:200px}:host .Picker .ColorPickerMain .CanvasContainer{position:relative;flex:1;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;cursor:crosshair}:host .Picker .ColorPickerMain .CanvasContainer .ColorCanvas{width:100%;height:100%;display:block;touch-action:none}:host .Picker .ColorPickerMain .HueContainer{position:relative;width:30px;border-radius:var(--radius-lg);overflow:hidden;cursor:crosshair}:host .Picker .ColorPickerMain .HueContainer .HueCanvas{width:100%;height:100%;display:block;touch-action:none}:host .Picker .ColorMeta{display:flex;gap:var(--spacing-md);align-items:center;padding:var(--spacing-sm);background:var(--surface-2);border:1px solid var(--input-border);border-radius:var(--radius-md)}:host .Picker .ColorMeta .ColorPreview{flex-shrink:0;width:52px;height:52px;border-radius:var(--radius-md);border:1px solid var(--input-border);background-color:var(--input-concats-bg);box-shadow:inset 0 0 0 1px var(--border)}:host .Picker .ColorMeta .ColorValues{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}:host .Picker .ColorMeta .ColorValues .ColorValueRow{display:flex;align-items:center;gap:var(--spacing-sm)}:host .Picker .ColorMeta .ColorValues .ColorValueRow .Label{flex-shrink:0;min-width:2.25rem;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}:host .Picker .ColorMeta .ColorValues .ColorValueRow .Value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;font-weight:500;color:var(--text-base);word-break:break-all}:host .Picker .SwatchesContainer{display:grid;grid-template-columns:repeat(auto-fill,minmax(20px,1fr));gap:2px;max-height:150px;overflow-y:auto;padding:2px}:host .Picker .SwatchesContainer .Swatch{width:100%;aspect-ratio:1;cursor:pointer;border-radius:var(--radius-sm);border:2px solid transparent;transition:all .2s ease}:host .Picker .SwatchesContainer .Swatch:hover{border-color:var(--primary);transform:scale(1.1);box-shadow:0 2px 8px var(--overlay-scrim)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
11965
11965
  }
11966
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ColorPickerPanelComponent, decorators: [{
11966
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerPanelComponent, decorators: [{
11967
11967
  type: Component,
11968
11968
  args: [{ selector: 'color-picker-panel', standalone: true, imports: [CommonModule], template: "<div class=\"Picker\" #pickerContainer (click)=\"$event.stopPropagation()\">\n <div class=\"ColorPickerMain\">\n <div class=\"CanvasContainer\" #canvasContainer>\n <canvas\n #colorCanvas\n class=\"ColorCanvas\"\n (mousedown)=\"onSaturationMouseDown($event)\"\n (mousemove)=\"onSaturationMouseMove($event)\"\n (touchstart)=\"onSaturationTouchStart($event)\"\n (touchmove)=\"onSaturationTouchMove($event)\"\n ></canvas>\n </div>\n\n <div class=\"HueContainer\">\n <canvas\n #hueCanvas\n class=\"HueCanvas\"\n (mousedown)=\"onHueMouseDown($event)\"\n (mousemove)=\"onHueMouseMove($event)\"\n (touchstart)=\"onHueTouchStart($event)\"\n (touchmove)=\"onHueTouchMove($event)\"\n ></canvas>\n </div>\n </div>\n\n <div class=\"ColorMeta\">\n <div\n class=\"ColorPreview\"\n [style.background-color]=\"previewColor\"\n aria-hidden=\"true\"\n ></div>\n <div class=\"ColorValues\">\n <div class=\"ColorValueRow\">\n <span class=\"Label\">HEX</span>\n <span class=\"Value\">{{ currentHex || '\u2014' }}</span>\n </div>\n <div class=\"ColorValueRow\">\n <span class=\"Label\">RGB</span>\n <span class=\"Value\">{{ currentRgb || '\u2014' }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"SwatchesContainer\">\n <div\n class=\"Swatch\"\n *ngFor=\"let color of colors\"\n [style.background]=\"mode === 'hex' ? color.hex : color.rgb\"\n (click)=\"selectColor(color)\"\n [title]=\"color.name\"\n ></div>\n </div>\n</div>\n", styles: [":host{display:block;width:100%}:host .Picker{display:flex;flex-direction:column;gap:var(--spacing-md);overflow-y:auto}:host .Picker .ColorPickerMain{display:flex;gap:var(--spacing-md);align-items:stretch;width:100%;min-height:200px;max-height:200px}:host .Picker .ColorPickerMain .CanvasContainer{position:relative;flex:1;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;cursor:crosshair}:host .Picker .ColorPickerMain .CanvasContainer .ColorCanvas{width:100%;height:100%;display:block;touch-action:none}:host .Picker .ColorPickerMain .HueContainer{position:relative;width:30px;border-radius:var(--radius-lg);overflow:hidden;cursor:crosshair}:host .Picker .ColorPickerMain .HueContainer .HueCanvas{width:100%;height:100%;display:block;touch-action:none}:host .Picker .ColorMeta{display:flex;gap:var(--spacing-md);align-items:center;padding:var(--spacing-sm);background:var(--surface-2);border:1px solid var(--input-border);border-radius:var(--radius-md)}:host .Picker .ColorMeta .ColorPreview{flex-shrink:0;width:52px;height:52px;border-radius:var(--radius-md);border:1px solid var(--input-border);background-color:var(--input-concats-bg);box-shadow:inset 0 0 0 1px var(--border)}:host .Picker .ColorMeta .ColorValues{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}:host .Picker .ColorMeta .ColorValues .ColorValueRow{display:flex;align-items:center;gap:var(--spacing-sm)}:host .Picker .ColorMeta .ColorValues .ColorValueRow .Label{flex-shrink:0;min-width:2.25rem;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}:host .Picker .ColorMeta .ColorValues .ColorValueRow .Value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;font-weight:500;color:var(--text-base);word-break:break-all}:host .Picker .SwatchesContainer{display:grid;grid-template-columns:repeat(auto-fill,minmax(20px,1fr));gap:2px;max-height:150px;overflow-y:auto;padding:2px}:host .Picker .SwatchesContainer .Swatch{width:100%;aspect-ratio:1;cursor:pointer;border-radius:var(--radius-sm);border:2px solid transparent;transition:all .2s ease}:host .Picker .SwatchesContainer .Swatch:hover{border-color:var(--primary);transform:scale(1.1);box-shadow:0 2px 8px var(--overlay-scrim)}\n"] }]
11969
11969
  }], propDecorators: { colorCanvas: [{
@@ -12013,10 +12013,10 @@ class ColorPickerModalServiceComponent {
12013
12013
  ngOnDestroy() {
12014
12014
  this.sub?.unsubscribe();
12015
12015
  }
12016
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ColorPickerModalServiceComponent, deps: [{ token: ColorPickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
12017
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: ColorPickerModalServiceComponent, isStandalone: true, selector: "color-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop color-picker-modal\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <color-picker-panel\r\n [mode]=\"session.view.mode\"\r\n [textValue]=\"session.view.textValue\"\r\n [disabled]=\"false\"\r\n (textValueChange)=\"session.handlers.onTextValueChange($event)\"\r\n />\r\n <div class=\"Actions\">\r\n <button type=\"button\" class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </button>\r\n <button type=\"button\" class=\"Ok\" (click)=\"session.handlers.onAccept()\">\r\n Aceptar\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;width:100%;max-width:400px;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--shadow-color);max-height:calc(100vh - 24px);overflow:hidden}.Backdrop .Picker color-picker-panel{flex:1;min-height:0;overflow-y:auto}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border);flex-shrink:0}.Backdrop .Picker .Actions button{border:none;font:inherit}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: ColorPickerPanelComponent, selector: "color-picker-panel", inputs: ["mode", "textValue", "disabled"], outputs: ["textValueChange"] }] });
12016
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerModalServiceComponent, deps: [{ token: ColorPickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
12017
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ColorPickerModalServiceComponent, isStandalone: true, selector: "color-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop color-picker-modal\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <color-picker-panel\r\n [mode]=\"session.view.mode\"\r\n [textValue]=\"session.view.textValue\"\r\n [disabled]=\"false\"\r\n (textValueChange)=\"session.handlers.onTextValueChange($event)\"\r\n />\r\n <div class=\"Actions\">\r\n <button type=\"button\" class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </button>\r\n <button type=\"button\" class=\"Ok\" (click)=\"session.handlers.onAccept()\">\r\n Aceptar\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;width:100%;max-width:400px;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--shadow-color);max-height:calc(100vh - 24px);overflow:hidden}.Backdrop .Picker color-picker-panel{flex:1;min-height:0;overflow-y:auto}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border);flex-shrink:0}.Backdrop .Picker .Actions button{border:none;font:inherit}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: ColorPickerPanelComponent, selector: "color-picker-panel", inputs: ["mode", "textValue", "disabled"], outputs: ["textValueChange"] }] });
12018
12018
  }
12019
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ColorPickerModalServiceComponent, decorators: [{
12019
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerModalServiceComponent, decorators: [{
12020
12020
  type: Component,
12021
12021
  args: [{ selector: 'color-picker-modal-service', standalone: true, imports: [CommonModule, ColorPickerPanelComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop color-picker-modal\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <color-picker-panel\r\n [mode]=\"session.view.mode\"\r\n [textValue]=\"session.view.textValue\"\r\n [disabled]=\"false\"\r\n (textValueChange)=\"session.handlers.onTextValueChange($event)\"\r\n />\r\n <div class=\"Actions\">\r\n <button type=\"button\" class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </button>\r\n <button type=\"button\" class=\"Ok\" (click)=\"session.handlers.onAccept()\">\r\n Aceptar\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;width:100%;max-width:400px;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--shadow-color);max-height:calc(100vh - 24px);overflow:hidden}.Backdrop .Picker color-picker-panel{flex:1;min-height:0;overflow-y:auto}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border);flex-shrink:0}.Backdrop .Picker .Actions button{border:none;font:inherit}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
12022
12022
  }], ctorParameters: () => [{ type: ColorPickerModalService }, { type: i0.ChangeDetectorRef }] });
@@ -12042,10 +12042,10 @@ const INPUT_MODAL_SERVICE_COMPONENTS = [
12042
12042
  * Monta en un solo lugar los shells globales de modales de inputs (equivalente a los tags sueltos en `app-root`).
12043
12043
  */
12044
12044
  class InputModalServicesComponent {
12045
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputModalServicesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12046
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: InputModalServicesComponent, isStandalone: true, selector: "input-modal-services", ngImport: i0, template: "<only-select-modal-service></only-select-modal-service>\r\n<multiselect-combobox-modal-service></multiselect-combobox-modal-service>\r\n<search-entry-modal-service></search-entry-modal-service>\r\n<phone-entry-modal-service></phone-entry-modal-service>\r\n<date-picker-modal-service></date-picker-modal-service>\r\n<time-picker-modal-service></time-picker-modal-service>\r\n<datetime-picker-modal-service></datetime-picker-modal-service>\r\n<month-picker-modal-service></month-picker-modal-service>\r\n<color-picker-modal-service></color-picker-modal-service>\r\n", dependencies: [{ kind: "component", type: OnlySelectModalServiceComponent, selector: "only-select-modal-service" }, { kind: "component", type: MultiselectComboboxModalServiceComponent, selector: "multiselect-combobox-modal-service" }, { kind: "component", type: SearchEntryModalServiceComponent, selector: "search-entry-modal-service" }, { kind: "component", type: PhoneEntryModalServiceComponent, selector: "phone-entry-modal-service" }, { kind: "component", type: DatePickerModalServiceComponent, selector: "date-picker-modal-service" }, { kind: "component", type: TimePickerModalServiceComponent, selector: "time-picker-modal-service" }, { kind: "component", type: DatetimePickerModalServiceComponent, selector: "datetime-picker-modal-service" }, { kind: "component", type: MonthPickerModalServiceComponent, selector: "month-picker-modal-service" }, { kind: "component", type: ColorPickerModalServiceComponent, selector: "color-picker-modal-service" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12045
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: InputModalServicesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12046
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: InputModalServicesComponent, isStandalone: true, selector: "input-modal-services", ngImport: i0, template: "<only-select-modal-service></only-select-modal-service>\r\n<multiselect-combobox-modal-service></multiselect-combobox-modal-service>\r\n<search-entry-modal-service></search-entry-modal-service>\r\n<phone-entry-modal-service></phone-entry-modal-service>\r\n<date-picker-modal-service></date-picker-modal-service>\r\n<time-picker-modal-service></time-picker-modal-service>\r\n<datetime-picker-modal-service></datetime-picker-modal-service>\r\n<month-picker-modal-service></month-picker-modal-service>\r\n<color-picker-modal-service></color-picker-modal-service>\r\n", dependencies: [{ kind: "component", type: OnlySelectModalServiceComponent, selector: "only-select-modal-service" }, { kind: "component", type: MultiselectComboboxModalServiceComponent, selector: "multiselect-combobox-modal-service" }, { kind: "component", type: SearchEntryModalServiceComponent, selector: "search-entry-modal-service" }, { kind: "component", type: PhoneEntryModalServiceComponent, selector: "phone-entry-modal-service" }, { kind: "component", type: DatePickerModalServiceComponent, selector: "date-picker-modal-service" }, { kind: "component", type: TimePickerModalServiceComponent, selector: "time-picker-modal-service" }, { kind: "component", type: DatetimePickerModalServiceComponent, selector: "datetime-picker-modal-service" }, { kind: "component", type: MonthPickerModalServiceComponent, selector: "month-picker-modal-service" }, { kind: "component", type: ColorPickerModalServiceComponent, selector: "color-picker-modal-service" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12047
12047
  }
12048
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputModalServicesComponent, decorators: [{
12048
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: InputModalServicesComponent, decorators: [{
12049
12049
  type: Component,
12050
12050
  args: [{ selector: 'input-modal-services', standalone: true, imports: [...INPUT_MODAL_SERVICE_COMPONENTS], changeDetection: ChangeDetectionStrategy.OnPush, template: "<only-select-modal-service></only-select-modal-service>\r\n<multiselect-combobox-modal-service></multiselect-combobox-modal-service>\r\n<search-entry-modal-service></search-entry-modal-service>\r\n<phone-entry-modal-service></phone-entry-modal-service>\r\n<date-picker-modal-service></date-picker-modal-service>\r\n<time-picker-modal-service></time-picker-modal-service>\r\n<datetime-picker-modal-service></datetime-picker-modal-service>\r\n<month-picker-modal-service></month-picker-modal-service>\r\n<color-picker-modal-service></color-picker-modal-service>\r\n" }]
12051
12051
  }] });
@@ -12245,10 +12245,10 @@ class ContextMenuServiceComponent {
12245
12245
  };
12246
12246
  this.cdr.detectChanges();
12247
12247
  }
12248
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ContextMenuServiceComponent, deps: [{ token: ContextMenuService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
12249
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: ContextMenuServiceComponent, isStandalone: true, selector: "context-menu-service", host: { listeners: { "window:resize": "onWindowResize()", "document:keydown": "onEscape($event)" } }, viewQueries: [{ propertyName: "panelRef", first: true, predicate: ["panel"], descendants: true }], ngImport: i0, template: "@if (active) {\r\n <div class=\"ContextMenuOverlay\" aria-hidden=\"true\">\r\n <div\r\n #panel\r\n class=\"ContextMenuPanel\"\r\n [class.ContextMenuPanel--visible]=\"panelVisible\"\r\n [class.ContextMenuPanel--menu]=\"active.kind === 'menu'\"\r\n [class.ContextMenuPanel--info]=\"active.kind === 'info'\"\r\n [style.left.px]=\"position.x\"\r\n [style.top.px]=\"position.y\"\r\n role=\"menu\"\r\n [attr.aria-label]=\"active.kind === 'info' ? active.info.title : (active.title || 'Opciones')\"\r\n [attr.aria-hidden]=\"!panelVisible\"\r\n (contextmenu)=\"$event.preventDefault()\"\r\n >\r\n @if (active.kind === 'menu') {\r\n @if (active.title) {\r\n <p class=\"ContextMenuMenuTitle\">{{ active.title }}</p>\r\n }\r\n @for (option of active.options; track $index) {\r\n @if (option.separatorBefore) {\r\n <div class=\"ContextMenuMenuSep\" aria-hidden=\"true\"></div>\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"ContextMenuMenuItem\"\r\n [class.ContextMenuMenuItem--danger]=\"option.danger\"\r\n [class.ContextMenuMenuItem--disabled]=\"option.disabled\"\r\n [disabled]=\"option.disabled\"\r\n role=\"menuitem\"\r\n (click)=\"selectOption(option)\"\r\n >\r\n <lucide-icon [name]=\"option.icon\" [size]=\"14\"></lucide-icon>\r\n <span>{{ option.name }}</span>\r\n </button>\r\n }\r\n } @else {\r\n <div class=\"ContextMenuInfo\">\r\n <div class=\"ContextMenuInfoHeader\">\r\n <lucide-icon [name]=\"active.info.icon\" [size]=\"18\"></lucide-icon>\r\n <strong>{{ active.info.title }}</strong>\r\n </div>\r\n <p class=\"ContextMenuInfoBody\">{{ active.info.info }}</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n}\r\n", styles: [".ContextMenuOverlay{position:fixed;inset:5px;pointer-events:none;z-index:10001}.ContextMenuPanel{position:fixed;pointer-events:none;visibility:hidden;opacity:0;min-width:10rem;max-width:min(18rem,100vw - 10px);max-height:calc(100vh - 10px);overflow-x:hidden;overflow-y:auto;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 24px var(--shadow-color);transition:opacity .1s ease-out}.ContextMenuPanel--visible{visibility:visible;opacity:1;pointer-events:auto}.ContextMenuPanel--menu{min-width:220px;max-width:min(280px,100vw - 16px);padding:4px;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:0 12px 40px var(--shadow-color),0 0 0 .5px var(--border);display:flex;flex-direction:column;gap:2px;animation:cupertino-menu-in .1s ease-out}.ContextMenuMenuTitle{margin:0;padding:4px 8px 2px;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ContextMenuMenuSep{height:1px;margin:2px 4px;background:var(--surface-2, var(--border))}.ContextMenuMenuItem{display:flex;align-items:center;gap:8px;width:100%;padding:4px 8px;border:none;border-radius:8px;background:transparent;color:var(--text-base);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.ContextMenuMenuItem lucide-icon{flex-shrink:0;--lucide-stroke: var(--icon-base)}.ContextMenuMenuItem:hover,.ContextMenuMenuItem:focus-visible{outline:none;background:var(--info-bg, var(--primary-soft, var(--surface-2)))}.ContextMenuMenuItem--danger{color:var(--error-text)}.ContextMenuMenuItem--danger lucide-icon{--lucide-stroke: var(--error-text)}.ContextMenuMenuItem--danger:hover,.ContextMenuMenuItem--danger:focus-visible{background:var(--error-bg)}.ContextMenuMenuItem--disabled,.ContextMenuMenuItem:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ContextMenuPanel--info{padding:0}.ContextMenuInfo{padding:12px;display:flex;flex-direction:column;gap:8px}.ContextMenuInfoHeader{display:flex;align-items:center;gap:8px;color:var(--text-base)}.ContextMenuInfoHeader strong{font-size:.9rem;font-weight:600}.ContextMenuInfoHeader lucide-icon{flex-shrink:0;--lucide-stroke: var(--primary)}.ContextMenuInfoBody{margin:0;font-size:.82rem;line-height:1.45;color:var(--text-label)}@keyframes cupertino-menu-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
12248
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ContextMenuServiceComponent, deps: [{ token: ContextMenuService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
12249
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: ContextMenuServiceComponent, isStandalone: true, selector: "context-menu-service", host: { listeners: { "window:resize": "onWindowResize()", "document:keydown": "onEscape($event)" } }, viewQueries: [{ propertyName: "panelRef", first: true, predicate: ["panel"], descendants: true }], ngImport: i0, template: "@if (active) {\r\n <div class=\"ContextMenuOverlay\" aria-hidden=\"true\">\r\n <div\r\n #panel\r\n class=\"ContextMenuPanel\"\r\n [class.ContextMenuPanel--visible]=\"panelVisible\"\r\n [class.ContextMenuPanel--menu]=\"active.kind === 'menu'\"\r\n [class.ContextMenuPanel--info]=\"active.kind === 'info'\"\r\n [style.left.px]=\"position.x\"\r\n [style.top.px]=\"position.y\"\r\n role=\"menu\"\r\n [attr.aria-label]=\"active.kind === 'info' ? active.info.title : (active.title || 'Opciones')\"\r\n [attr.aria-hidden]=\"!panelVisible\"\r\n (contextmenu)=\"$event.preventDefault()\"\r\n >\r\n @if (active.kind === 'menu') {\r\n @if (active.title) {\r\n <p class=\"ContextMenuMenuTitle\">{{ active.title }}</p>\r\n }\r\n @for (option of active.options; track $index) {\r\n @if (option.separatorBefore) {\r\n <div class=\"ContextMenuMenuSep\" aria-hidden=\"true\"></div>\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"ContextMenuMenuItem\"\r\n [class.ContextMenuMenuItem--danger]=\"option.danger\"\r\n [class.ContextMenuMenuItem--disabled]=\"option.disabled\"\r\n [disabled]=\"option.disabled\"\r\n role=\"menuitem\"\r\n (click)=\"selectOption(option)\"\r\n >\r\n <lucide-icon [name]=\"option.icon\" [size]=\"14\"></lucide-icon>\r\n <span>{{ option.name }}</span>\r\n </button>\r\n }\r\n } @else {\r\n <div class=\"ContextMenuInfo\">\r\n <div class=\"ContextMenuInfoHeader\">\r\n <lucide-icon [name]=\"active.info.icon\" [size]=\"18\"></lucide-icon>\r\n <strong>{{ active.info.title }}</strong>\r\n </div>\r\n <p class=\"ContextMenuInfoBody\">{{ active.info.info }}</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n}\r\n", styles: [".ContextMenuOverlay{position:fixed;inset:5px;pointer-events:none;z-index:10001}.ContextMenuPanel{position:fixed;pointer-events:none;visibility:hidden;opacity:0;min-width:10rem;max-width:min(18rem,100vw - 10px);max-height:calc(100vh - 10px);overflow-x:hidden;overflow-y:auto;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 24px var(--shadow-color);transition:opacity .1s ease-out}.ContextMenuPanel--visible{visibility:visible;opacity:1;pointer-events:auto}.ContextMenuPanel--menu{min-width:220px;max-width:min(280px,100vw - 16px);padding:4px;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:0 12px 40px var(--shadow-color),0 0 0 .5px var(--border);display:flex;flex-direction:column;gap:2px;animation:cupertino-menu-in .1s ease-out}.ContextMenuMenuTitle{margin:0;padding:4px 8px 2px;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ContextMenuMenuSep{height:1px;margin:2px 4px;background:var(--surface-2, var(--border))}.ContextMenuMenuItem{display:flex;align-items:center;gap:8px;width:100%;padding:4px 8px;border:none;border-radius:8px;background:transparent;color:var(--text-base);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.ContextMenuMenuItem lucide-icon{flex-shrink:0;--lucide-stroke: var(--icon-base)}.ContextMenuMenuItem:hover,.ContextMenuMenuItem:focus-visible{outline:none;background:var(--info-bg, var(--primary-soft, var(--surface-2)))}.ContextMenuMenuItem--danger{color:var(--error-text)}.ContextMenuMenuItem--danger lucide-icon{--lucide-stroke: var(--error-text)}.ContextMenuMenuItem--danger:hover,.ContextMenuMenuItem--danger:focus-visible{background:var(--error-bg)}.ContextMenuMenuItem--disabled,.ContextMenuMenuItem:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ContextMenuPanel--info{padding:0}.ContextMenuInfo{padding:12px;display:flex;flex-direction:column;gap:8px}.ContextMenuInfoHeader{display:flex;align-items:center;gap:8px;color:var(--text-base)}.ContextMenuInfoHeader strong{font-size:.9rem;font-weight:600}.ContextMenuInfoHeader lucide-icon{flex-shrink:0;--lucide-stroke: var(--primary)}.ContextMenuInfoBody{margin:0;font-size:.82rem;line-height:1.45;color:var(--text-label)}@keyframes cupertino-menu-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
12250
12250
  }
12251
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ContextMenuServiceComponent, decorators: [{
12251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ContextMenuServiceComponent, decorators: [{
12252
12252
  type: Component,
12253
12253
  args: [{ selector: 'context-menu-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "@if (active) {\r\n <div class=\"ContextMenuOverlay\" aria-hidden=\"true\">\r\n <div\r\n #panel\r\n class=\"ContextMenuPanel\"\r\n [class.ContextMenuPanel--visible]=\"panelVisible\"\r\n [class.ContextMenuPanel--menu]=\"active.kind === 'menu'\"\r\n [class.ContextMenuPanel--info]=\"active.kind === 'info'\"\r\n [style.left.px]=\"position.x\"\r\n [style.top.px]=\"position.y\"\r\n role=\"menu\"\r\n [attr.aria-label]=\"active.kind === 'info' ? active.info.title : (active.title || 'Opciones')\"\r\n [attr.aria-hidden]=\"!panelVisible\"\r\n (contextmenu)=\"$event.preventDefault()\"\r\n >\r\n @if (active.kind === 'menu') {\r\n @if (active.title) {\r\n <p class=\"ContextMenuMenuTitle\">{{ active.title }}</p>\r\n }\r\n @for (option of active.options; track $index) {\r\n @if (option.separatorBefore) {\r\n <div class=\"ContextMenuMenuSep\" aria-hidden=\"true\"></div>\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"ContextMenuMenuItem\"\r\n [class.ContextMenuMenuItem--danger]=\"option.danger\"\r\n [class.ContextMenuMenuItem--disabled]=\"option.disabled\"\r\n [disabled]=\"option.disabled\"\r\n role=\"menuitem\"\r\n (click)=\"selectOption(option)\"\r\n >\r\n <lucide-icon [name]=\"option.icon\" [size]=\"14\"></lucide-icon>\r\n <span>{{ option.name }}</span>\r\n </button>\r\n }\r\n } @else {\r\n <div class=\"ContextMenuInfo\">\r\n <div class=\"ContextMenuInfoHeader\">\r\n <lucide-icon [name]=\"active.info.icon\" [size]=\"18\"></lucide-icon>\r\n <strong>{{ active.info.title }}</strong>\r\n </div>\r\n <p class=\"ContextMenuInfoBody\">{{ active.info.info }}</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n}\r\n", styles: [".ContextMenuOverlay{position:fixed;inset:5px;pointer-events:none;z-index:10001}.ContextMenuPanel{position:fixed;pointer-events:none;visibility:hidden;opacity:0;min-width:10rem;max-width:min(18rem,100vw - 10px);max-height:calc(100vh - 10px);overflow-x:hidden;overflow-y:auto;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 24px var(--shadow-color);transition:opacity .1s ease-out}.ContextMenuPanel--visible{visibility:visible;opacity:1;pointer-events:auto}.ContextMenuPanel--menu{min-width:220px;max-width:min(280px,100vw - 16px);padding:4px;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:0 12px 40px var(--shadow-color),0 0 0 .5px var(--border);display:flex;flex-direction:column;gap:2px;animation:cupertino-menu-in .1s ease-out}.ContextMenuMenuTitle{margin:0;padding:4px 8px 2px;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ContextMenuMenuSep{height:1px;margin:2px 4px;background:var(--surface-2, var(--border))}.ContextMenuMenuItem{display:flex;align-items:center;gap:8px;width:100%;padding:4px 8px;border:none;border-radius:8px;background:transparent;color:var(--text-base);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.ContextMenuMenuItem lucide-icon{flex-shrink:0;--lucide-stroke: var(--icon-base)}.ContextMenuMenuItem:hover,.ContextMenuMenuItem:focus-visible{outline:none;background:var(--info-bg, var(--primary-soft, var(--surface-2)))}.ContextMenuMenuItem--danger{color:var(--error-text)}.ContextMenuMenuItem--danger lucide-icon{--lucide-stroke: var(--error-text)}.ContextMenuMenuItem--danger:hover,.ContextMenuMenuItem--danger:focus-visible{background:var(--error-bg)}.ContextMenuMenuItem--disabled,.ContextMenuMenuItem:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ContextMenuPanel--info{padding:0}.ContextMenuInfo{padding:12px;display:flex;flex-direction:column;gap:8px}.ContextMenuInfoHeader{display:flex;align-items:center;gap:8px;color:var(--text-base)}.ContextMenuInfoHeader strong{font-size:.9rem;font-weight:600}.ContextMenuInfoHeader lucide-icon{flex-shrink:0;--lucide-stroke: var(--primary)}.ContextMenuInfoBody{margin:0;font-size:.82rem;line-height:1.45;color:var(--text-label)}@keyframes cupertino-menu-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}\n"] }]
12254
12254
  }], ctorParameters: () => [{ type: ContextMenuService }, { type: undefined, decorators: [{