@xosue-utils/inputs 0.1.8 → 0.1.9

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.
@@ -5370,7 +5370,7 @@ class OnlySelectComponent {
5370
5370
  // DEPENDENCIES (Injected Services)
5371
5371
  // ============================================================================
5372
5372
  cdr = inject(ChangeDetectorRef);
5373
- http = inject(HttpClient);
5373
+ http = inject(HttpClient, { optional: true });
5374
5374
  inputsConfig = inject(XOSUE_UTILS_INPUTS_CONFIG);
5375
5375
  onlySelectModal = inject(OnlySelectModalService);
5376
5376
  inputOverlayCoordinator = inject(InputOverlayCoordinatorService);
@@ -5482,7 +5482,7 @@ class OnlySelectComponent {
5482
5482
  this.isSearching = true;
5483
5483
  this.syncModalView();
5484
5484
  this.cdr.markForCheck();
5485
- if (this.api) {
5485
+ if (this.api && this.http) {
5486
5486
  // Búsqueda con API
5487
5487
  return this.http
5488
5488
  .get(`${this.inputsConfig.apiUrl}${this.api}?search=${encodeURIComponent(query)}`, { headers: this.getAuthHeaders() })
@@ -5630,6 +5630,11 @@ class OnlySelectComponent {
5630
5630
  const url = query
5631
5631
  ? `${this.inputsConfig.apiUrl}${this.api}?search=${encodedQuery}`
5632
5632
  : `${this.inputsConfig.apiUrl}${this.api}`;
5633
+ if (!this.http) {
5634
+ this.isLoading = false;
5635
+ this.cdr.markForCheck();
5636
+ return;
5637
+ }
5633
5638
  this.http
5634
5639
  .get(url, { headers: this.getAuthHeaders() })
5635
5640
  .pipe(catchError((err) => {
@@ -5876,7 +5881,7 @@ class MultiselectComboboxComponent {
5876
5881
  // DEPENDENCIES (Injected Services)
5877
5882
  // ============================================================================
5878
5883
  cdr = inject(ChangeDetectorRef);
5879
- http = inject(HttpClient);
5884
+ http = inject(HttpClient, { optional: true });
5880
5885
  inputsConfig = inject(XOSUE_UTILS_INPUTS_CONFIG);
5881
5886
  multiselectModal = inject(MultiselectComboboxModalService);
5882
5887
  inputOverlayCoordinator = inject(InputOverlayCoordinatorService);
@@ -6053,7 +6058,7 @@ class MultiselectComboboxComponent {
6053
6058
  this.isSearching = !!normalizedQuery;
6054
6059
  this.syncModalView();
6055
6060
  this.cdr.markForCheck();
6056
- if (shouldSkipBrowseLoad) {
6061
+ if (shouldSkipBrowseLoad || !this.http) {
6057
6062
  return of([]);
6058
6063
  }
6059
6064
  return this.http
@@ -6088,6 +6093,9 @@ class MultiselectComboboxComponent {
6088
6093
  this.isSearching = true;
6089
6094
  this.syncModalView();
6090
6095
  this.cdr.markForCheck();
6096
+ if (!this.http) {
6097
+ return of([]);
6098
+ }
6091
6099
  return this.http
6092
6100
  .get(this.buildApiUrl(normalizedQuery), {
6093
6101
  headers: this.getAuthHeaders(),
@@ -11816,11 +11824,11 @@ class OnlySelectModalServiceComponent {
11816
11824
  this.sub?.unsubscribe();
11817
11825
  }
11818
11826
  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 });
11819
- 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 <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 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true]{user-select:auto;-webkit-user-select:auto}.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(--color-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:4px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-xl);padding:0;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:6px 12px 12px}.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(--color-surface-muted)}.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:14px;color:var(--color-fg-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(--color-fg-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--color-fg-brand)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--color-fg-muted);font-size:14px}.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(--color-fg-muted, var(--color-fg-muted));font-weight:400;font-size:14px}\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"] }] });
11827
+ 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 <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 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:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:4px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-xl);padding:0;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:6px 12px 12px}.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(--color-surface-muted)}.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:14px;color:var(--color-fg-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(--color-fg-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--color-fg-brand)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--color-fg-muted);font-size:14px}.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(--color-fg-muted, var(--color-fg-muted));font-weight:400;font-size:14px}\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"] }] });
11820
11828
  }
11821
11829
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectModalServiceComponent, decorators: [{
11822
11830
  type: Component,
11823
- 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 <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 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true]{user-select:auto;-webkit-user-select:auto}.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(--color-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:4px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-xl);padding:0;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:6px 12px 12px}.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(--color-surface-muted)}.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:14px;color:var(--color-fg-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(--color-fg-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--color-fg-brand)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--color-fg-muted);font-size:14px}.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(--color-fg-muted, var(--color-fg-muted));font-weight:400;font-size:14px}\n"] }]
11831
+ 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 <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 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:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:4px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-xl);padding:0;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:6px 12px 12px}.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(--color-surface-muted)}.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:14px;color:var(--color-fg-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(--color-fg-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--color-fg-brand)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--color-fg-muted);font-size:14px}.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(--color-fg-muted, var(--color-fg-muted));font-weight:400;font-size:14px}\n"] }]
11824
11832
  }], ctorParameters: () => [{ type: OnlySelectModalService }, { type: i0.ChangeDetectorRef }] });
11825
11833
 
11826
11834
  class MultiselectComboboxModalServiceComponent {
@@ -11843,11 +11851,11 @@ class MultiselectComboboxModalServiceComponent {
11843
11851
  return selected.some((o) => o.value === option.value);
11844
11852
  }
11845
11853
  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 });
11846
- 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 <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 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true]{user-select:auto;-webkit-user-select:auto}.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(--color-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:4px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-xl);padding:8px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.Backdrop .Picker .Close{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--color-action-cancel-fg);border-color:var(--color-action-cancel-border);background-color:var(--color-action-cancel-bg);width:max-content;margin-left:auto;cursor:pointer}.Backdrop .Picker .Close:hover{color:var(--color-action-cancel-fg-hover);border-color:var(--color-action-cancel-border-hover);background-color:var(--color-action-cancel-bg-hover)}.Backdrop .Picker .Close:active{color:var(--color-action-cancel-fg-active);border-color:var(--color-action-cancel-border-active);background-color:var(--color-action-cancel-bg-active)}.Backdrop .Picker .SelectedOptions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-bottom:solid 1px var(--color-border);padding:4px}.Backdrop .Picker .SelectedOptions .SelectedOption{background-color:var(--color-surface-muted, var(--color-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:14px}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--color-danger-fg);background-color:var(--color-border)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:6px 12px 12px}.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(--color-surface-muted)}.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:14px;color:var(--color-fg-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(--color-fg-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--color-fg-brand)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--color-fg-muted);font-size:14px}.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(--color-fg-muted, var(--color-fg-muted));font-weight:400;font-size:14px}\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"] }] });
11854
+ 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 <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 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:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:4px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-xl);padding:8px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.Backdrop .Picker .Close{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--color-action-cancel-fg);border-color:var(--color-action-cancel-border);background-color:var(--color-action-cancel-bg);width:max-content;margin-left:auto;cursor:pointer}.Backdrop .Picker .Close:hover{color:var(--color-action-cancel-fg-hover);border-color:var(--color-action-cancel-border-hover);background-color:var(--color-action-cancel-bg-hover)}.Backdrop .Picker .Close:active{color:var(--color-action-cancel-fg-active);border-color:var(--color-action-cancel-border-active);background-color:var(--color-action-cancel-bg-active)}.Backdrop .Picker .SelectedOptions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-bottom:solid 1px var(--color-border);padding:4px}.Backdrop .Picker .SelectedOptions .SelectedOption{background-color:var(--color-surface-muted, var(--color-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:14px}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--color-danger-fg);background-color:var(--color-border)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:6px 12px 12px}.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(--color-surface-muted)}.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:14px;color:var(--color-fg-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(--color-fg-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--color-fg-brand)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--color-fg-muted);font-size:14px}.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(--color-fg-muted, var(--color-fg-muted));font-weight:400;font-size:14px}\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"] }] });
11847
11855
  }
11848
11856
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxModalServiceComponent, decorators: [{
11849
11857
  type: Component,
11850
- 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 <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 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true]{user-select:auto;-webkit-user-select:auto}.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(--color-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:4px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-xl);padding:8px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.Backdrop .Picker .Close{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--color-action-cancel-fg);border-color:var(--color-action-cancel-border);background-color:var(--color-action-cancel-bg);width:max-content;margin-left:auto;cursor:pointer}.Backdrop .Picker .Close:hover{color:var(--color-action-cancel-fg-hover);border-color:var(--color-action-cancel-border-hover);background-color:var(--color-action-cancel-bg-hover)}.Backdrop .Picker .Close:active{color:var(--color-action-cancel-fg-active);border-color:var(--color-action-cancel-border-active);background-color:var(--color-action-cancel-bg-active)}.Backdrop .Picker .SelectedOptions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-bottom:solid 1px var(--color-border);padding:4px}.Backdrop .Picker .SelectedOptions .SelectedOption{background-color:var(--color-surface-muted, var(--color-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:14px}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--color-danger-fg);background-color:var(--color-border)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:6px 12px 12px}.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(--color-surface-muted)}.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:14px;color:var(--color-fg-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(--color-fg-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--color-fg-brand)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--color-fg-muted);font-size:14px}.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(--color-fg-muted, var(--color-fg-muted));font-weight:400;font-size:14px}\n"] }]
11858
+ 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 <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 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:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:4px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-xl);padding:8px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.Backdrop .Picker .Close{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--color-action-cancel-fg);border-color:var(--color-action-cancel-border);background-color:var(--color-action-cancel-bg);width:max-content;margin-left:auto;cursor:pointer}.Backdrop .Picker .Close:hover{color:var(--color-action-cancel-fg-hover);border-color:var(--color-action-cancel-border-hover);background-color:var(--color-action-cancel-bg-hover)}.Backdrop .Picker .Close:active{color:var(--color-action-cancel-fg-active);border-color:var(--color-action-cancel-border-active);background-color:var(--color-action-cancel-bg-active)}.Backdrop .Picker .SelectedOptions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-bottom:solid 1px var(--color-border);padding:4px}.Backdrop .Picker .SelectedOptions .SelectedOption{background-color:var(--color-surface-muted, var(--color-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:14px}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--color-danger-fg);background-color:var(--color-border)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:6px 12px 12px}.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(--color-surface-muted)}.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:14px;color:var(--color-fg-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(--color-fg-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--color-fg-brand)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--color-fg-muted);font-size:14px}.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(--color-fg-muted, var(--color-fg-muted));font-weight:400;font-size:14px}\n"] }]
11851
11859
  }], ctorParameters: () => [{ type: MultiselectComboboxModalService }, { type: i0.ChangeDetectorRef }] });
11852
11860
 
11853
11861
  class SearchEntryModalServiceComponent {
@@ -11867,11 +11875,11 @@ class SearchEntryModalServiceComponent {
11867
11875
  this.sub?.unsubscribe();
11868
11876
  }
11869
11877
  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 });
11870
- 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 <lucide-icon class=\"SearchIcon\" name=\"search\"></lucide-icon>\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput\"\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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true]{user-select:auto;-webkit-user-select:auto}.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(--color-scrim)}.Backdrop .Picker{max-width:550px;width:100%;margin:0 auto;background:var(--color-surface);display:flex;flex-direction:column;gap:8px;border-radius:var(--radius-lg);max-height:calc(100vh - 20px);box-shadow:0 0 10px var(--color-shadow);padding:8px}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.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(--color-fg-muted)}.Backdrop .Picker .OptionsList .EmptyState i,.Backdrop .Picker .OptionsList .EmptyState lucide-icon{font-size:14px;color:var(--color-fg-secondary);opacity:.5}.Backdrop .Picker .OptionsList .EmptyState i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .EmptyState lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .EmptyState p{font-size:14px;font-weight:400;color:var(--color-fg);margin:0}.Backdrop .Picker .OptionsList .EmptyState .Hint{font-size:14px;color:var(--color-fg-muted);font-style:italic}.Backdrop .Picker .OptionsList .LoadingState{display:flex;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;color:var(--color-fg-muted);font-size:14px}.Backdrop .Picker .OptionsList .LoadingState i,.Backdrop .Picker .OptionsList .LoadingState lucide-icon{font-size:14px;color:var(--color-brand);animation:spin 1s linear infinite}.Backdrop .Picker .OptionsList .LoadingState i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .LoadingState lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-danger-fg)}.Backdrop .Picker .OptionsList .ErrorState i,.Backdrop .Picker .OptionsList .ErrorState lucide-icon{font-size:14px;color:var(--color-danger-fg)}.Backdrop .Picker .OptionsList .ErrorState i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .ErrorState lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .ErrorState p{font-size:14px;font-weight:400;color:var(--color-fg);margin:0}.Backdrop .Picker .OptionsList .ErrorState .Hint{font-size:14px;color:var(--color-fg-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(--color-fg-muted)}.Backdrop .Picker .OptionsList .NoResults i,.Backdrop .Picker .OptionsList .NoResults lucide-icon{font-size:14px;color:var(--color-fg-secondary);opacity:.5}.Backdrop .Picker .OptionsList .NoResults i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .NoResults lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .NoResults p{font-size:14px;font-weight:400;color:var(--color-fg);margin:0}.Backdrop .Picker .OptionsList .NoResults .Hint{font-size:14px;color:var(--color-fg-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(--color-surface-muted)}.Backdrop .Picker .OptionsList .Option.SearchAllOption{border-bottom:1px solid var(--color-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(--color-brand) 0%,var(--color-brand-strong, var(--color-brand)) 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:14px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Name{font-weight:400;color:var(--color-brand)}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Description{font-weight:400;font-size:14px;color:var(--color-fg-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(--color-surface-muted);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:14px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;color:var(--color-fg);line-height:1.3}.Backdrop .Picker .OptionsList .Option .Details .Info .Description{font-size:14px;color:var(--color-fg-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(--color-icon-brand);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-svg{width:14px;height:14px}.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"] }] });
11878
+ 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 <lucide-icon class=\"SearchIcon\" name=\"search\"></lucide-icon>\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput\"\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:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:4px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent))}.Backdrop .Picker{max-width:550px;width:100%;margin:0 auto;background:var(--color-surface);display:flex;flex-direction:column;gap:8px;border-radius:var(--radius-lg);max-height:calc(100vh - 20px);box-shadow:0 0 10px var(--color-shadow);padding:8px}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.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(--color-fg-muted)}.Backdrop .Picker .OptionsList .EmptyState i,.Backdrop .Picker .OptionsList .EmptyState lucide-icon{font-size:14px;color:var(--color-fg-secondary);opacity:.5}.Backdrop .Picker .OptionsList .EmptyState i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .EmptyState lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .EmptyState p{font-size:14px;font-weight:400;color:var(--color-fg);margin:0}.Backdrop .Picker .OptionsList .EmptyState .Hint{font-size:14px;color:var(--color-fg-muted);font-style:italic}.Backdrop .Picker .OptionsList .LoadingState{display:flex;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;color:var(--color-fg-muted);font-size:14px}.Backdrop .Picker .OptionsList .LoadingState i,.Backdrop .Picker .OptionsList .LoadingState lucide-icon{font-size:14px;color:var(--color-brand);animation:spin 1s linear infinite}.Backdrop .Picker .OptionsList .LoadingState i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .LoadingState lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-danger-fg)}.Backdrop .Picker .OptionsList .ErrorState i,.Backdrop .Picker .OptionsList .ErrorState lucide-icon{font-size:14px;color:var(--color-danger-fg)}.Backdrop .Picker .OptionsList .ErrorState i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .ErrorState lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .ErrorState p{font-size:14px;font-weight:400;color:var(--color-fg);margin:0}.Backdrop .Picker .OptionsList .ErrorState .Hint{font-size:14px;color:var(--color-fg-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(--color-fg-muted)}.Backdrop .Picker .OptionsList .NoResults i,.Backdrop .Picker .OptionsList .NoResults lucide-icon{font-size:14px;color:var(--color-fg-secondary);opacity:.5}.Backdrop .Picker .OptionsList .NoResults i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .NoResults lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .NoResults p{font-size:14px;font-weight:400;color:var(--color-fg);margin:0}.Backdrop .Picker .OptionsList .NoResults .Hint{font-size:14px;color:var(--color-fg-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(--color-surface-muted)}.Backdrop .Picker .OptionsList .Option.SearchAllOption{border-bottom:1px solid var(--color-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(--color-brand) 0%,var(--color-brand-strong, var(--color-brand)) 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:14px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Name{font-weight:400;color:var(--color-brand)}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Description{font-weight:400;font-size:14px;color:var(--color-fg-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(--color-surface-muted);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:14px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;color:var(--color-fg);line-height:1.3}.Backdrop .Picker .OptionsList .Option .Details .Info .Description{font-size:14px;color:var(--color-fg-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(--color-icon-brand);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-svg{width:14px;height:14px}.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"] }] });
11871
11879
  }
11872
11880
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryModalServiceComponent, decorators: [{
11873
11881
  type: Component,
11874
- 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 <lucide-icon class=\"SearchIcon\" name=\"search\"></lucide-icon>\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput\"\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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true]{user-select:auto;-webkit-user-select:auto}.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(--color-scrim)}.Backdrop .Picker{max-width:550px;width:100%;margin:0 auto;background:var(--color-surface);display:flex;flex-direction:column;gap:8px;border-radius:var(--radius-lg);max-height:calc(100vh - 20px);box-shadow:0 0 10px var(--color-shadow);padding:8px}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.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(--color-fg-muted)}.Backdrop .Picker .OptionsList .EmptyState i,.Backdrop .Picker .OptionsList .EmptyState lucide-icon{font-size:14px;color:var(--color-fg-secondary);opacity:.5}.Backdrop .Picker .OptionsList .EmptyState i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .EmptyState lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .EmptyState p{font-size:14px;font-weight:400;color:var(--color-fg);margin:0}.Backdrop .Picker .OptionsList .EmptyState .Hint{font-size:14px;color:var(--color-fg-muted);font-style:italic}.Backdrop .Picker .OptionsList .LoadingState{display:flex;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;color:var(--color-fg-muted);font-size:14px}.Backdrop .Picker .OptionsList .LoadingState i,.Backdrop .Picker .OptionsList .LoadingState lucide-icon{font-size:14px;color:var(--color-brand);animation:spin 1s linear infinite}.Backdrop .Picker .OptionsList .LoadingState i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .LoadingState lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-danger-fg)}.Backdrop .Picker .OptionsList .ErrorState i,.Backdrop .Picker .OptionsList .ErrorState lucide-icon{font-size:14px;color:var(--color-danger-fg)}.Backdrop .Picker .OptionsList .ErrorState i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .ErrorState lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .ErrorState p{font-size:14px;font-weight:400;color:var(--color-fg);margin:0}.Backdrop .Picker .OptionsList .ErrorState .Hint{font-size:14px;color:var(--color-fg-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(--color-fg-muted)}.Backdrop .Picker .OptionsList .NoResults i,.Backdrop .Picker .OptionsList .NoResults lucide-icon{font-size:14px;color:var(--color-fg-secondary);opacity:.5}.Backdrop .Picker .OptionsList .NoResults i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .NoResults lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .NoResults p{font-size:14px;font-weight:400;color:var(--color-fg);margin:0}.Backdrop .Picker .OptionsList .NoResults .Hint{font-size:14px;color:var(--color-fg-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(--color-surface-muted)}.Backdrop .Picker .OptionsList .Option.SearchAllOption{border-bottom:1px solid var(--color-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(--color-brand) 0%,var(--color-brand-strong, var(--color-brand)) 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:14px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Name{font-weight:400;color:var(--color-brand)}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Description{font-weight:400;font-size:14px;color:var(--color-fg-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(--color-surface-muted);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:14px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;color:var(--color-fg);line-height:1.3}.Backdrop .Picker .OptionsList .Option .Details .Info .Description{font-size:14px;color:var(--color-fg-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(--color-icon-brand);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-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option:hover .LinkIcon{opacity:1}\n"] }]
11882
+ 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 <lucide-icon class=\"SearchIcon\" name=\"search\"></lucide-icon>\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput\"\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:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:4px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent))}.Backdrop .Picker{max-width:550px;width:100%;margin:0 auto;background:var(--color-surface);display:flex;flex-direction:column;gap:8px;border-radius:var(--radius-lg);max-height:calc(100vh - 20px);box-shadow:0 0 10px var(--color-shadow);padding:8px}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.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(--color-fg-muted)}.Backdrop .Picker .OptionsList .EmptyState i,.Backdrop .Picker .OptionsList .EmptyState lucide-icon{font-size:14px;color:var(--color-fg-secondary);opacity:.5}.Backdrop .Picker .OptionsList .EmptyState i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .EmptyState lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .EmptyState p{font-size:14px;font-weight:400;color:var(--color-fg);margin:0}.Backdrop .Picker .OptionsList .EmptyState .Hint{font-size:14px;color:var(--color-fg-muted);font-style:italic}.Backdrop .Picker .OptionsList .LoadingState{display:flex;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;color:var(--color-fg-muted);font-size:14px}.Backdrop .Picker .OptionsList .LoadingState i,.Backdrop .Picker .OptionsList .LoadingState lucide-icon{font-size:14px;color:var(--color-brand);animation:spin 1s linear infinite}.Backdrop .Picker .OptionsList .LoadingState i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .LoadingState lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-danger-fg)}.Backdrop .Picker .OptionsList .ErrorState i,.Backdrop .Picker .OptionsList .ErrorState lucide-icon{font-size:14px;color:var(--color-danger-fg)}.Backdrop .Picker .OptionsList .ErrorState i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .ErrorState lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .ErrorState p{font-size:14px;font-weight:400;color:var(--color-fg);margin:0}.Backdrop .Picker .OptionsList .ErrorState .Hint{font-size:14px;color:var(--color-fg-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(--color-fg-muted)}.Backdrop .Picker .OptionsList .NoResults i,.Backdrop .Picker .OptionsList .NoResults lucide-icon{font-size:14px;color:var(--color-fg-secondary);opacity:.5}.Backdrop .Picker .OptionsList .NoResults i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .NoResults lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .NoResults p{font-size:14px;font-weight:400;color:var(--color-fg);margin:0}.Backdrop .Picker .OptionsList .NoResults .Hint{font-size:14px;color:var(--color-fg-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(--color-surface-muted)}.Backdrop .Picker .OptionsList .Option.SearchAllOption{border-bottom:1px solid var(--color-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(--color-brand) 0%,var(--color-brand-strong, var(--color-brand)) 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:14px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i lucide-icon .lucide-svg,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon lucide-icon .lucide-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Name{font-weight:400;color:var(--color-brand)}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Description{font-weight:400;font-size:14px;color:var(--color-fg-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(--color-surface-muted);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:14px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;color:var(--color-fg);line-height:1.3}.Backdrop .Picker .OptionsList .Option .Details .Info .Description{font-size:14px;color:var(--color-fg-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(--color-icon-brand);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-svg{width:14px;height:14px}.Backdrop .Picker .OptionsList .Option:hover .LinkIcon{opacity:1}\n"] }]
11875
11883
  }], ctorParameters: () => [{ type: SearchEntryModalService }, { type: i0.ChangeDetectorRef }] });
11876
11884
 
11877
11885
  class PhoneEntryModalServiceComponent {
@@ -11891,11 +11899,11 @@ class PhoneEntryModalServiceComponent {
11891
11899
  this.sub?.unsubscribe();
11892
11900
  }
11893
11901
  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 });
11894
- 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-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(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}: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(--color-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(--color-surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--color-shadow)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.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(--color-surface-muted)}.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:14px;font-weight:400;background-color:var(--color-brand);color:var(--color-surface);display:flex;justify-content:center;align-items:center;white-space:nowrap;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Country{flex:1;color:var(--color-fg-brand);font-size:14px;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"] }] });
11902
+ 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;user-select:none;-webkit-user-select:none}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}:host{display:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}.Backdrop .Picker{display:flex;flex-direction:column;gap:8px;width:100%;max-width:420px;max-height:90vh;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--color-shadow)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.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(--color-surface-muted)}.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:14px;font-weight:400;background-color:var(--color-brand);color:var(--color-surface);display:flex;justify-content:center;align-items:center;white-space:nowrap;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Country{flex:1;color:var(--color-fg-brand);font-size:14px;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"] }] });
11895
11903
  }
11896
11904
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryModalServiceComponent, decorators: [{
11897
11905
  type: Component,
11898
- 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-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(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}: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(--color-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(--color-surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--color-shadow)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.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(--color-surface-muted)}.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:14px;font-weight:400;background-color:var(--color-brand);color:var(--color-surface);display:flex;justify-content:center;align-items:center;white-space:nowrap;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Country{flex:1;color:var(--color-fg-brand);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
11906
+ 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;user-select:none;-webkit-user-select:none}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}:host{display:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}.Backdrop .Picker{display:flex;flex-direction:column;gap:8px;width:100%;max-width:420px;max-height:90vh;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--color-shadow)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:4px;width:calc(100% - 12px);height:32px;min-height:32px;padding:0 8px;margin-top:6px;margin-left:6px;margin-right:6px;box-sizing:border-box;border:0;border-radius:12px;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}.Backdrop .Picker .SearchContainer:hover{outline:solid 1px var(--color-input-border-hover, #a3a3a3)}.Backdrop .Picker .SearchContainer:focus-within{outline:solid 1px var(--color-input-border-focus, #22c55e)}.Backdrop .Picker .SearchContainer .SearchIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--color-fg-muted, #a3a3a3);pointer-events:none}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:none;box-shadow:none;border-radius:0;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);background:transparent;appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:400;line-height:1.2}.Backdrop .Picker .SearchContainer .SearchInput:focus{border:0;outline:none;box-shadow:none}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--color-input-placeholder, #a3a3a3);opacity:1}.Backdrop .Picker .SearchContainer .Close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin:0 -4px 0 0;padding:0;border:0;border-radius:12px;color:var(--color-fg-muted, #a3a3a3);background:transparent;cursor:pointer}.Backdrop .Picker .SearchContainer .Close:hover{color:var(--color-fg, #171717);background:color-mix(in srgb,var(--color-fg, #171717) 8%,transparent)}.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(--color-surface-muted)}.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:14px;font-weight:400;background-color:var(--color-brand);color:var(--color-surface);display:flex;justify-content:center;align-items:center;white-space:nowrap;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Country{flex:1;color:var(--color-fg-brand);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
11899
11907
  }], ctorParameters: () => [{ type: PhoneEntryModalService }, { type: i0.ChangeDetectorRef }] });
11900
11908
 
11901
11909
  class DatePickerModalServiceComponent {
@@ -11915,11 +11923,11 @@ class DatePickerModalServiceComponent {
11915
11923
  this.sub?.unsubscribe();
11916
11924
  }
11917
11925
  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 });
11918
- 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-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(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}: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(--color-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;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(--color-surface-muted)}.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:14px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa))}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--color-brand)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));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(--color-surface-muted)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--color-brand)}.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:14px;font-weight:400}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--color-danger-fg)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--color-fg-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.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"] }] });
11926
+ 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;user-select:none;-webkit-user-select:none}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}:host{display:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;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(--color-surface-muted)}.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:14px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa))}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--color-brand)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));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(--color-surface-muted)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--color-brand)}.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:14px;font-weight:400}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--color-danger-fg)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--color-fg-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.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"] }] });
11919
11927
  }
11920
11928
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerModalServiceComponent, decorators: [{
11921
11929
  type: Component,
11922
- 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-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(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}: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(--color-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;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(--color-surface-muted)}.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:14px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa))}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--color-brand)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));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(--color-surface-muted)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--color-brand)}.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:14px;font-weight:400}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--color-danger-fg)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--color-fg-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
11930
+ 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;user-select:none;-webkit-user-select:none}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}:host{display:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;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(--color-surface-muted)}.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:14px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa))}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--color-brand)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));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(--color-surface-muted)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--color-brand)}.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:14px;font-weight:400}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--color-danger-fg)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--color-fg-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
11923
11931
  }], ctorParameters: () => [{ type: DatePickerModalService }, { type: i0.ChangeDetectorRef }] });
11924
11932
 
11925
11933
  class TimePickerModalServiceComponent {
@@ -11939,11 +11947,11 @@ class TimePickerModalServiceComponent {
11939
11947
  this.sub?.unsubscribe();
11940
11948
  }
11941
11949
  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 });
11942
- 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-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(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}: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(--color-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;font-size:14px;color:var(--color-fg-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--color-surface-muted);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(--color-surface-emphasis)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.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" }] });
11950
+ 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;user-select:none;-webkit-user-select:none}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}:host{display:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;font-size:14px;color:var(--color-fg-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--color-surface-muted);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(--color-surface-emphasis)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.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" }] });
11943
11951
  }
11944
11952
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerModalServiceComponent, decorators: [{
11945
11953
  type: Component,
11946
- 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-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(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}: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(--color-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;font-size:14px;color:var(--color-fg-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--color-surface-muted);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(--color-surface-emphasis)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
11954
+ 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;user-select:none;-webkit-user-select:none}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}:host{display:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;font-size:14px;color:var(--color-fg-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--color-surface-muted);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(--color-surface-emphasis)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
11947
11955
  }], ctorParameters: () => [{ type: TimePickerModalService }, { type: i0.ChangeDetectorRef }] });
11948
11956
 
11949
11957
  class DatetimePickerModalServiceComponent {
@@ -11963,11 +11971,11 @@ class DatetimePickerModalServiceComponent {
11963
11971
  this.sub?.unsubscribe();
11964
11972
  }
11965
11973
  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 });
11966
- 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-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(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}: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(--color-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;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(--color-surface-muted)}.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:14px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa))}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--color-brand)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));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(--color-surface-muted)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--color-brand)}.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:14px;font-weight:400}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--color-danger-fg)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--color-fg-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--color-brand)}.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(--color-border);padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:400;font-size:14px;color:var(--color-fg-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--color-surface-muted);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(--color-surface-emphasis)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.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"] }] });
11974
+ 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;user-select:none;-webkit-user-select:none}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}:host{display:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;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(--color-surface-muted)}.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:14px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa))}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--color-brand)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));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(--color-surface-muted)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--color-brand)}.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:14px;font-weight:400}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--color-danger-fg)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--color-fg-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--color-brand)}.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(--color-border);padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:400;font-size:14px;color:var(--color-fg-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--color-surface-muted);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(--color-surface-emphasis)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.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"] }] });
11967
11975
  }
11968
11976
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerModalServiceComponent, decorators: [{
11969
11977
  type: Component,
11970
- 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-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(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}: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(--color-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;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(--color-surface-muted)}.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:14px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa))}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--color-brand)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));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(--color-surface-muted)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--color-brand)}.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:14px;font-weight:400}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--color-danger-fg)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--color-fg-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--color-brand)}.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(--color-border);padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:400;font-size:14px;color:var(--color-fg-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--color-surface-muted);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(--color-surface-emphasis)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
11978
+ 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;user-select:none;-webkit-user-select:none}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}:host{display:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;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(--color-surface-muted)}.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:14px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa))}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--color-brand)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));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(--color-surface-muted)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--color-brand)}.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:14px;font-weight:400}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--color-danger-fg)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--color-fg-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--color-brand)}.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(--color-border);padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:400;font-size:14px;color:var(--color-fg-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--color-surface-muted);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(--color-surface-emphasis)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
11971
11979
  }], ctorParameters: () => [{ type: DatetimePickerModalService }, { type: i0.ChangeDetectorRef }] });
11972
11980
 
11973
11981
  class MonthPickerModalServiceComponent {
@@ -11987,11 +11995,11 @@ class MonthPickerModalServiceComponent {
11987
11995
  this.sub?.unsubscribe();
11988
11996
  }
11989
11997
  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 });
11990
- 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-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(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}: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(--color-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;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(--color-surface-muted)}.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:14px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa))}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--color-brand)}.Backdrop .Picker .Cards .CardMonths{width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));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(--color-surface-muted)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.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"] }] });
11998
+ 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;user-select:none;-webkit-user-select:none}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}:host{display:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;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(--color-surface-muted)}.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:14px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa))}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--color-brand)}.Backdrop .Picker .Cards .CardMonths{width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));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(--color-surface-muted)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.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"] }] });
11991
11999
  }
11992
12000
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerModalServiceComponent, decorators: [{
11993
12001
  type: Component,
11994
- 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-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(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}: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(--color-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;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(--color-surface-muted)}.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:14px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa))}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--color-brand)}.Backdrop .Picker .Cards .CardMonths{width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));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(--color-surface-muted)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
12002
+ 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;user-select:none;-webkit-user-select:none}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}:host{display:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--color-fg-brand);margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400}.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:400;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(--color-surface-muted)}.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:14px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-svg{width:14px;height:14px}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa))}.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(--color-surface-muted)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--color-brand);color:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));font-weight:400}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--color-brand)}.Backdrop .Picker .Cards .CardMonths{width:100%;height:100%;background:var(--color-fg-on-brand, var(--color-fg-inverse, #fafafa));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(--color-surface-muted)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--color-brand);color:var(--color-fg-muted);font-weight:400}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--color-brand)}.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, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-secondary-fg, #16a34a);border-color:var(--color-action-secondary-border, #86efac);background-color:var(--color-action-secondary-bg, #bbf7d0);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--color-action-secondary-fg-hover, #15803d);border-color:var(--color-action-secondary-border-hover, #4ade80);background-color:var(--color-action-secondary-bg-hover, #86efac)}.Backdrop .Picker .Actions .Clear:active{color:var(--color-action-secondary-fg-active, #15803d);border-color:var(--color-action-secondary-border-active, #22c55e);background-color:var(--color-action-secondary-bg-active, #4ade80)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
11995
12003
  }], ctorParameters: () => [{ type: MonthPickerModalService }, { type: i0.ChangeDetectorRef }] });
11996
12004
 
11997
12005
  // ============================================================================
@@ -12708,11 +12716,11 @@ class ColorPickerModalServiceComponent {
12708
12716
  this.sub?.unsubscribe();
12709
12717
  }
12710
12718
  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 });
12711
- 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-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(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}: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(--color-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(--color-surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--color-shadow);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(--color-border);flex-shrink:0}.Backdrop .Picker .Actions button{border:none;font:inherit}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.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"] }] });
12719
+ 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;user-select:none;-webkit-user-select:none}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}:host{display:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--color-shadow);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(--color-border);flex-shrink:0}.Backdrop .Picker .Actions button{border:none;font:inherit}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.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"] }] });
12712
12720
  }
12713
12721
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerModalServiceComponent, decorators: [{
12714
12722
  type: Component,
12715
- 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;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-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(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}: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(--color-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(--color-surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--color-shadow);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(--color-border);flex-shrink:0}.Backdrop .Picker .Actions button{border:none;font:inherit}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
12723
+ 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;user-select:none;-webkit-user-select:none}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--color-fg-secondary, #525252);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(--color-fg-muted, #a3a3a3)}:host .Description{-webkit-user-select:none;user-select:none;font-size:14px;color:var(--color-fg, #171717);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(--color-input-border, #d4d4d4);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--color-input-bg, #f5f5f5)}:host .Entry:hover{border:none;outline:solid 1px var(--color-input-border-hover, #a3a3a3)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--color-input-border-focus, #22c55e)}:host .Entry[class~=Error]{outline:solid 1px var(--color-input-border-danger, #fca5a5)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--color-input-border, #d4d4d4);padding:0 8px;color:var(--color-input-fg, #171717);caret-color:var(--color-brand, #22c55e);text-align:start;background-color:transparent;appearance:none;font:inherit}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--color-input-placeholder, #a3a3a3)}: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(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface, #ffffff);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--color-shadow, color-mix(in srgb, #171717 12%, transparent))}:host{display:block;position:relative;z-index:10050;width:0;height:0;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none}:host input,:host textarea,:host [contenteditable=true],:host [contenteditable=plaintext-only]{user-select:auto;-webkit-user-select:auto}.Backdrop{position:fixed;top:0;left:0;z-index:10050;pointer-events:auto;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--color-scrim, color-mix(in srgb, #171717 40%, transparent));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(--color-surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--color-shadow);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(--color-border);flex-shrink:0}.Backdrop .Picker .Actions button{border:none;font:inherit}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-primary-fg, #fafafa);border-color:var(--color-action-primary-border, #16a34a);background-color:var(--color-action-primary-bg, #22c55e);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--color-action-primary-fg-hover, #fafafa);border-color:var(--color-action-primary-border-hover, #15803d);background-color:var(--color-action-primary-bg-hover, #16a34a)}.Backdrop .Picker .Actions .Ok:active{color:var(--color-action-primary-fg-active, #fafafa);border-color:var(--color-action-primary-border-active, #166534);background-color:var(--color-action-primary-bg-active, #15803d)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-lg, 12px);color:var(--color-action-cancel-fg, #16a34a);border-color:var(--color-action-cancel-border, #86efac);background-color:var(--color-action-cancel-bg, #dcfce7);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--color-action-cancel-fg-hover, #16a34a);border-color:var(--color-action-cancel-border-hover, #86efac);background-color:var(--color-action-cancel-bg-hover, #bbf7d0)}.Backdrop .Picker .Actions .Cancel:active{color:var(--color-action-cancel-fg-active, #15803d);border-color:var(--color-action-cancel-border-active, #4ade80);background-color:var(--color-action-cancel-bg-active, #86efac)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
12716
12724
  }], ctorParameters: () => [{ type: ColorPickerModalService }, { type: i0.ChangeDetectorRef }] });
12717
12725
 
12718
12726
  /**