@xosue-utils/inputs 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/xosue-utils-inputs.mjs +171 -171
- package/lib/index.d.ts +1 -1
- package/package.json +6 -6
- package/xosue-utils-inputs-0.1.5.tgz +0 -0
|
@@ -71,8 +71,8 @@ class LucideIconComponent {
|
|
|
71
71
|
}
|
|
72
72
|
return { width: trimmed, height: trimmed };
|
|
73
73
|
});
|
|
74
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
75
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.
|
|
74
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: LucideIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
75
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", type: LucideIconComponent, isStandalone: true, selector: "lucide-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, spin: { classPropertyName: "spin", publicName: "spin", isSignal: true, isRequired: false, transformFunction: null }, filled: { classPropertyName: "filled", publicName: "filled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.lucide-icon--filled": "filled()", "attr.filled": "filled() ? \"\" : null" } }, ngImport: i0, template: `
|
|
76
76
|
<svg
|
|
77
77
|
class="lucide-svg inline-block shrink-0 align-middle"
|
|
78
78
|
[class.lucide-svg--filled]="filled()"
|
|
@@ -84,7 +84,7 @@ class LucideIconComponent {
|
|
|
84
84
|
/>
|
|
85
85
|
`, isInline: true, dependencies: [{ kind: "component", type: LucideDynamicIcon, selector: "svg[lucideIcon]", inputs: ["lucideIcon"] }] });
|
|
86
86
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: LucideIconComponent, decorators: [{
|
|
88
88
|
type: Component,
|
|
89
89
|
args: [{
|
|
90
90
|
selector: 'lucide-icon',
|
|
@@ -172,10 +172,10 @@ class ContextMenuService {
|
|
|
172
172
|
}
|
|
173
173
|
return { x: 0, y: 0 };
|
|
174
174
|
}
|
|
175
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
176
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
175
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ContextMenuService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
176
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ContextMenuService, providedIn: 'root' });
|
|
177
177
|
}
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
178
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ContextMenuService, decorators: [{
|
|
179
179
|
type: Injectable,
|
|
180
180
|
args: [{ providedIn: 'root' }]
|
|
181
181
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -196,10 +196,10 @@ class FieldHelpTooltipComponent {
|
|
|
196
196
|
info: this.text,
|
|
197
197
|
});
|
|
198
198
|
}
|
|
199
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
200
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
199
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FieldHelpTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
200
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: FieldHelpTooltipComponent, isStandalone: true, selector: "field-help-tooltip", inputs: { text: "text", title: "title" }, ngImport: i0, template: "<button\r\n type=\"button\"\r\n class=\"HelpButton\"\r\n (click)=\"showHelp($event)\"\r\n aria-label=\"Informaci\u00F3n del campo\"\r\n>\r\n <lucide-icon name=\"info\"></lucide-icon>\r\n</button>\r\n", styles: [":host{display:inline-flex;flex-shrink:0}.HelpButton{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.HelpButton lucide-icon{width:15px;height:15px}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
201
201
|
}
|
|
202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
202
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FieldHelpTooltipComponent, decorators: [{
|
|
203
203
|
type: Component,
|
|
204
204
|
args: [{ selector: 'field-help-tooltip', standalone: true, imports: [LucideIconComponent], template: "<button\r\n type=\"button\"\r\n class=\"HelpButton\"\r\n (click)=\"showHelp($event)\"\r\n aria-label=\"Informaci\u00F3n del campo\"\r\n>\r\n <lucide-icon name=\"info\"></lucide-icon>\r\n</button>\r\n", styles: [":host{display:inline-flex;flex-shrink:0}.HelpButton{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.HelpButton lucide-icon{width:15px;height:15px}\n"] }]
|
|
205
205
|
}], propDecorators: { text: [{
|
|
@@ -310,8 +310,8 @@ class TextEntryComponent {
|
|
|
310
310
|
textarea.focus();
|
|
311
311
|
}
|
|
312
312
|
}
|
|
313
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
314
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
313
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TextEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
314
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TextEntryComponent, isStandalone: true, selector: "text-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", prefix: "prefix", suffix: "suffix", concatPrefix: "concatPrefix", concatSuffix: "concatSuffix", fieldHelp: "fieldHelp", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
315
315
|
{
|
|
316
316
|
provide: NG_VALUE_ACCESSOR,
|
|
317
317
|
useExisting: forwardRef(() => TextEntryComponent),
|
|
@@ -319,7 +319,7 @@ class TextEntryComponent {
|
|
|
319
319
|
},
|
|
320
320
|
], ngImport: i0, template: "<div\r\n *ngIf=\"label\"\r\n class=\"LabelRow\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n <p class=\"Label\">\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n </p>\r\n <field-help-tooltip\r\n *ngIf=\"fieldHelp\"\r\n [title]=\"label\"\r\n [text]=\"fieldHelp\"\r\n ></field-help-tooltip>\r\n</div>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\">\r\n <div\r\n class=\"Prefix\"\r\n *ngIf=\"prefix\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n >\r\n {{ prefix }}\r\n </div>\r\n <input\r\n type=\"text\"\r\n class=\"Input\"\r\n [class.Disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"rawValue || ''\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n [class.WithPrefix]=\"prefix\"\r\n [class.WithSuffix]=\"suffix\"\r\n />\r\n <div\r\n class=\"Suffix\"\r\n *ngIf=\"suffix\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n >\r\n {{ suffix }}\r\n </div>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Prefix,:host .Entry .Suffix{height:100%;display:flex;justify-content:center;align-items:center;width:max-content;padding:0 8px;background-color:var(--input-concats-bg)}:host .Entry .Input[class~=WithPrefix]{padding-left:5px}:host .Entry .Input[class~=WithPreffix]{padding-right:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FieldHelpTooltipComponent, selector: "field-help-tooltip", inputs: ["text", "title"] }] });
|
|
321
321
|
}
|
|
322
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
322
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TextEntryComponent, decorators: [{
|
|
323
323
|
type: Component,
|
|
324
324
|
args: [{ selector: 'text-entry', standalone: true, imports: [CommonModule, FieldHelpTooltipComponent], providers: [
|
|
325
325
|
{
|
|
@@ -426,8 +426,8 @@ class TextAreaEntryComponent {
|
|
|
426
426
|
textarea.focus();
|
|
427
427
|
}
|
|
428
428
|
}
|
|
429
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
430
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
429
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TextAreaEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
430
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TextAreaEntryComponent, isStandalone: true, selector: "text-area-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
431
431
|
{
|
|
432
432
|
provide: NG_VALUE_ACCESSOR,
|
|
433
433
|
useExisting: forwardRef(() => TextAreaEntryComponent),
|
|
@@ -435,7 +435,7 @@ class TextAreaEntryComponent {
|
|
|
435
435
|
},
|
|
436
436
|
], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div\r\n class=\"Entry\"\r\n [class.IsFocus]=\"isFocus\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n <textarea\r\n class=\"TextArea\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"isDisabled\"\r\n [value]=\"value\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n ></textarea>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{height:max-content}:host .Entry textarea{background-color:var(--input-bg);min-height:180px;height:auto;width:100%;border:solid 0 var(--input-border);padding:8px;color:var(--input-text);caret-color:var(--primary);caret-shape:block;text-align:start;resize:vertical}:host .Entry textarea:focus{border:none;outline:none}:host .Entry textarea::placeholder{color:var(--input-placeholder)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
437
437
|
}
|
|
438
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
438
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TextAreaEntryComponent, decorators: [{
|
|
439
439
|
type: Component,
|
|
440
440
|
args: [{ selector: 'text-area-entry', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
441
441
|
{
|
|
@@ -547,8 +547,8 @@ class EmailEntryComponent {
|
|
|
547
547
|
textarea.focus();
|
|
548
548
|
}
|
|
549
549
|
}
|
|
550
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
551
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
550
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EmailEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
551
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: EmailEntryComponent, isStandalone: true, selector: "email-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
552
552
|
{
|
|
553
553
|
provide: NG_VALUE_ACCESSOR,
|
|
554
554
|
useExisting: forwardRef(() => EmailEntryComponent),
|
|
@@ -556,7 +556,7 @@ class EmailEntryComponent {
|
|
|
556
556
|
},
|
|
557
557
|
], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\" [class.Error]=\"error\">\r\n <input\r\n type=\"text\"\r\n inputmode=\"email\"\r\n class=\"Input\"\r\n [class.Disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"textValue\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n />\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}.Entry .Input{text-align:start}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
558
558
|
}
|
|
559
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
559
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EmailEntryComponent, decorators: [{
|
|
560
560
|
type: Component,
|
|
561
561
|
args: [{ selector: 'email-entry', standalone: true, imports: [CommonModule], providers: [
|
|
562
562
|
{
|
|
@@ -681,8 +681,8 @@ class UrlEntryComponent {
|
|
|
681
681
|
input.focus();
|
|
682
682
|
}
|
|
683
683
|
}
|
|
684
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
685
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
684
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UrlEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
685
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: UrlEntryComponent, isStandalone: true, selector: "url-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
686
686
|
{
|
|
687
687
|
provide: NG_VALUE_ACCESSOR,
|
|
688
688
|
useExisting: forwardRef(() => UrlEntryComponent),
|
|
@@ -690,7 +690,7 @@ class UrlEntryComponent {
|
|
|
690
690
|
},
|
|
691
691
|
], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\" [class.Error]=\"error\">\r\n <div class=\"Prefix\" (click)=\"manualClick($event); $event.stopPropagation()\">\r\n https://\r\n </div>\r\n <input\r\n type=\"text\"\r\n inputmode=\"url\"\r\n class=\"Input\"\r\n [class.Disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"textValue\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n />\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Prefix{height:100%;display:flex;justify-content:center;align-items:center;width:max-content;padding:0 8px;background-color:var(--input-concats-bg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
692
692
|
}
|
|
693
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
693
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UrlEntryComponent, decorators: [{
|
|
694
694
|
type: Component,
|
|
695
695
|
args: [{ selector: 'url-entry', standalone: true, imports: [CommonModule], providers: [
|
|
696
696
|
{
|
|
@@ -805,8 +805,8 @@ class PasswordEntryComponent {
|
|
|
805
805
|
textarea.focus();
|
|
806
806
|
}
|
|
807
807
|
}
|
|
808
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
809
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
808
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PasswordEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
809
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PasswordEntryComponent, isStandalone: true, selector: "password-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", toggleVisibility: "toggleVisibility", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
810
810
|
{
|
|
811
811
|
provide: NG_VALUE_ACCESSOR,
|
|
812
812
|
useExisting: forwardRef(() => PasswordEntryComponent),
|
|
@@ -814,7 +814,7 @@ class PasswordEntryComponent {
|
|
|
814
814
|
},
|
|
815
815
|
], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\">\r\n <input\r\n class=\"Input\"\r\n [type]=\"isPasswordVisible ? 'text' : 'password'\"\r\n [class.Disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"value || ''\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ToggleVisible\"\r\n *ngIf=\"toggleVisibility\"\r\n (click)=\"togglePasswordVisibility($event)\"\r\n [attr.aria-label]=\"isPasswordVisible ? 'Ocultar contrase\u00F1a' : 'Mostrar contrase\u00F1a'\"\r\n [attr.aria-pressed]=\"isPasswordVisible\"\r\n [disabled]=\"isDisabled\"\r\n tabindex=\"-1\"\r\n >\r\n <lucide-icon [name]=\"isPasswordVisible ? 'eye-off' : 'eye'\" [size]=\"18\"></lucide-icon>\r\n </button>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Prefix,:host .Entry .Suffix{height:100%;display:flex;justify-content:center;align-items:center;width:max-content;padding:0 8px;background-color:var(--input-concats-bg)}:host .Entry .Input[class~=WithPrefix]{padding-left:5px}:host .Entry .Input[class~=WithPreffix]{padding-right:5px}:host .Entry .ToggleVisible{height:100%;display:flex;justify-content:center;align-items:center;width:40px;min-width:40px;padding:0 var(--spacing-sm);margin:0;border:none;cursor:pointer;background-color:var(--input-bg);color:var(--text-base)}:host .Entry .ToggleVisible:disabled{opacity:.5;cursor:not-allowed}:host .Entry .ToggleVisible lucide-icon .lucide-icon-svg{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
816
816
|
}
|
|
817
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
817
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PasswordEntryComponent, decorators: [{
|
|
818
818
|
type: Component,
|
|
819
819
|
args: [{ selector: 'password-entry', standalone: true, imports: [CommonModule, LucideIconComponent], providers: [
|
|
820
820
|
{
|
|
@@ -858,10 +858,10 @@ class SearchEntryModalService {
|
|
|
858
858
|
close() {
|
|
859
859
|
this.state.next(null);
|
|
860
860
|
}
|
|
861
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
862
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
861
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
862
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryModalService, providedIn: 'root' });
|
|
863
863
|
}
|
|
864
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
864
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryModalService, decorators: [{
|
|
865
865
|
type: Injectable,
|
|
866
866
|
args: [{ providedIn: 'root' }]
|
|
867
867
|
}] });
|
|
@@ -883,10 +883,10 @@ class InputOverlayCoordinatorService {
|
|
|
883
883
|
this.active = null;
|
|
884
884
|
}
|
|
885
885
|
}
|
|
886
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
887
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
886
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: InputOverlayCoordinatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
887
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: InputOverlayCoordinatorService, providedIn: 'root' });
|
|
888
888
|
}
|
|
889
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
889
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: InputOverlayCoordinatorService, decorators: [{
|
|
890
890
|
type: Injectable,
|
|
891
891
|
args: [{ providedIn: 'root' }]
|
|
892
892
|
}] });
|
|
@@ -1225,8 +1225,8 @@ class SearchEntryComponent {
|
|
|
1225
1225
|
this.closeModalPortal();
|
|
1226
1226
|
}
|
|
1227
1227
|
}
|
|
1228
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1229
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1228
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryComponent, deps: [{ token: i1$1.HttpClient }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
1229
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SearchEntryComponent, isStandalone: true, selector: "search-entry", inputs: { label: "label", placeholder: "placeholder", opcional: "opcional", options: "options", api: "api", search: "search", minSearch: "minSearch", disabled: "disabled" }, host: { listeners: { "keydown.enter": "onEnter($event)" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
1230
1230
|
{
|
|
1231
1231
|
provide: NG_VALUE_ACCESSOR,
|
|
1232
1232
|
useExisting: forwardRef(() => SearchEntryComponent),
|
|
@@ -1234,7 +1234,7 @@ class SearchEntryComponent {
|
|
|
1234
1234
|
},
|
|
1235
1235
|
], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"label\"\n class=\"Label\"\n (click)=\"toggleOpenOptions($event)\"\n [class.Disabled]=\"isDisabled\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</div>\n\n<div\n class=\"Input\"\n (click)=\"toggleOpenOptions($event)\"\n [class.IsFocus]=\"isFocus\"\n [class.Disabled]=\"isDisabled\"\n (focus)=\"focus()\"\n (blur)=\"blur()\"\n>\n <div class=\"SelectedOptions\">\n <div class=\"SelectedOption\">\n <span class=\"Text\" *ngIf=\"searchText\">{{ searchText }}</span>\n <div class=\"Placeholder\" *ngIf=\"!searchText\">\n {{ placeholder }}\n </div>\n <lucide-icon class=\"RemoveIcon\" name=\"x\" *ngIf=\"searchText\"\n (click)=\"clear(); $event.preventDefault()\"></lucide-icon>\n </div>\n </div>\n <lucide-icon class=\"IconSort\" name=\"search\"></lucide-icon>\n</div>\n", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:none;user-select:none}:host .Label{color:var(--text-label);width:100%;cursor:pointer;padding:0 3px}:host .Label .Opcional{color:var(--text-muted)}:host .Description{font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;overflow:hidden;word-break:break-all}:host .Input{display:flex;width:100%;height:40px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:var(--radius-lg);background-color:var(--input-bg);padding:4px 12px;cursor:pointer;gap:5px;flex-grow:1}:host .Input[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Input .SelectedOptions{display:flex;align-items:center;gap:5px;width:100%;height:100%;overflow:hidden}:host .Input .SelectedOptions .SelectedOption{width:100%;height:100%;display:flex;align-items:center;gap:3px;font-weight:500;overflow:hidden}:host .Input .SelectedOptions .SelectedOption .Text{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .Input .SelectedOptions .SelectedOption .RemoveIcon{cursor:pointer;width:40px;height:100%;display:flex;justify-content:center;align-items:center;font-size:.7rem}:host .Input .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-icon-svg{width:.7rem;height:.7rem}:host .Input .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--red);background-color:var(--input-concats-bg)}:host .Input .Value{color:var(--input-text);display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .Input .Placeholder{color:var(--input-placeholder);display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .Input .IconSort{display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--input-placeholder)}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1236
1236
|
}
|
|
1237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryComponent, decorators: [{
|
|
1238
1238
|
type: Component,
|
|
1239
1239
|
args: [{ selector: 'search-entry', standalone: true, imports: [
|
|
1240
1240
|
LucideIconComponent, CommonModule
|
|
@@ -1399,8 +1399,8 @@ class TagsEntryComponent {
|
|
|
1399
1399
|
textarea.focus();
|
|
1400
1400
|
}
|
|
1401
1401
|
}
|
|
1402
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1403
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1402
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TagsEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1403
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TagsEntryComponent, isStandalone: true, selector: "tags-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
1404
1404
|
{
|
|
1405
1405
|
provide: NG_VALUE_ACCESSOR,
|
|
1406
1406
|
useExisting: forwardRef(() => TagsEntryComponent),
|
|
@@ -1408,7 +1408,7 @@ class TagsEntryComponent {
|
|
|
1408
1408
|
},
|
|
1409
1409
|
], viewQueries: [{ propertyName: "tagInputRef", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.Disabled]=\"isDisabled\" [class.IsFocus]=\"isFocus\">\r\n <div class=\"Chip\" *ngFor=\"let tag of tags ?? []; let i = index\">\r\n {{ tag }}\r\n <button\r\n type=\"button\"\r\n (click)=\"removeTag(i)\"\r\n class=\"Remove\"\r\n aria-label=\"Eliminar\"\r\n >\r\n <lucide-icon name=\"x\"></lucide-icon>\r\n </button>\r\n </div>\r\n\r\n <input\r\n #tagInput\r\n type=\"text\"\r\n class=\"TagInput\"\r\n [disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"inputValue\"\r\n (keydown)=\"onInputKeydown($event)\"\r\n (paste)=\"onPaste($event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n />\r\n\r\n <button\r\n type=\"button\"\r\n class=\"ClearAll\"\r\n *ngIf=\"(tags?.length ?? 0) > 0\"\r\n (click)=\"clearAll()\"\r\n aria-label=\"Limpiar todo\"\r\n >\r\n <lucide-icon name=\"brush-cleaning\"></lucide-icon>\r\n </button>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{display:flex;min-height:32px;height:max-content;flex-wrap:wrap;gap:4px;padding:4px}:host .Entry.Disabled{opacity:.5;pointer-events:none}:host .Entry .Chip{height:28px;max-height:28px;background-color:var(--surface);border-radius:100px;padding:0 0 0 8px;display:flex;align-items:center;font-size:.9rem;font-weight:500}:host .Entry .Chip .Remove{display:flex;justify-content:center;align-items:center;height:100%;width:28px;background:none;border:none;font-size:.8rem;cursor:pointer}:host .Entry .Chip .Remove:hover{color:var(--red)}:host .Entry .TagInput{border:none;outline:none;flex:1;min-width:max-content;height:100%;max-height:28px;font-size:1rem;padding:0 4px}:host .Entry .TagInput:hover{border:none;outline:none}:host .Entry .TagInput:focus{border:none;outline:none}:host .Entry .TagInput::placeholder{color:var(--input-placeholder)}:host .Entry .ClearAll{width:28px;height:28px;font-size:1.2rem;color:var(--red);text-decoration:underline;cursor:pointer}:host .Entry .ClearAll i{pointer-events:none}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
1410
1410
|
}
|
|
1411
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1411
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TagsEntryComponent, decorators: [{
|
|
1412
1412
|
type: Component,
|
|
1413
1413
|
args: [{ selector: 'tags-entry', standalone: true, imports: [
|
|
1414
1414
|
LucideIconComponent, CommonModule, FormsModule
|
|
@@ -1549,8 +1549,8 @@ class IntegerEntryComponent {
|
|
|
1549
1549
|
input.focus();
|
|
1550
1550
|
}
|
|
1551
1551
|
}
|
|
1552
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1553
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1552
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IntegerEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1553
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: IntegerEntryComponent, isStandalone: true, selector: "integer-entry", inputs: { label: "label", opcional: "opcional", placeholder: "placeholder", description: "description", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
1554
1554
|
{
|
|
1555
1555
|
provide: NG_VALUE_ACCESSOR,
|
|
1556
1556
|
useExisting: forwardRef(() => IntegerEntryComponent),
|
|
@@ -1558,7 +1558,7 @@ class IntegerEntryComponent {
|
|
|
1558
1558
|
},
|
|
1559
1559
|
], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputEl"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.Disabled]=\"isDisabled\" [class.IsFocus]=\"isFocus\">\r\n <input\r\n #inputEl\r\n type=\"text\"\r\n inputmode=\"numeric\"\r\n [value]=\"textValue\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n class=\"Input\"\r\n [disabled]=\"isDisabled\"\r\n/>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Input{text-align:end}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1560
1560
|
}
|
|
1561
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1561
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: IntegerEntryComponent, decorators: [{
|
|
1562
1562
|
type: Component,
|
|
1563
1563
|
args: [{ selector: 'integer-entry', standalone: true, imports: [CommonModule], providers: [
|
|
1564
1564
|
{
|
|
@@ -1710,8 +1710,8 @@ class DecimalEntryComponent {
|
|
|
1710
1710
|
input.focus();
|
|
1711
1711
|
}
|
|
1712
1712
|
}
|
|
1713
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1714
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1713
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DecimalEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1714
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: DecimalEntryComponent, isStandalone: true, selector: "decimal-entry", inputs: { label: "label", opcional: "opcional", placeholder: "placeholder", decimals: "decimals", description: "description", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
1715
1715
|
{
|
|
1716
1716
|
provide: NG_VALUE_ACCESSOR,
|
|
1717
1717
|
useExisting: forwardRef(() => DecimalEntryComponent),
|
|
@@ -1719,7 +1719,7 @@ class DecimalEntryComponent {
|
|
|
1719
1719
|
},
|
|
1720
1720
|
], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputEl"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\">\r\n <input\r\n #inputEl\r\n type=\"text\"\r\n inputmode=\"decimal\"\r\n [value]=\"textValue\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n class=\"Input\"\r\n [disabled]=\"isDisabled\"\r\n/>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Input{text-align:end}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1721
1721
|
}
|
|
1722
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1722
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DecimalEntryComponent, decorators: [{
|
|
1723
1723
|
type: Component,
|
|
1724
1724
|
args: [{ selector: 'decimal-entry', standalone: true, imports: [CommonModule], providers: [
|
|
1725
1725
|
{
|
|
@@ -1895,8 +1895,8 @@ class CounterEntryComponent {
|
|
|
1895
1895
|
input.focus();
|
|
1896
1896
|
}
|
|
1897
1897
|
}
|
|
1898
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1899
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1898
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CounterEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1899
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: CounterEntryComponent, isStandalone: true, selector: "counter-entry", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", max: "max", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
1900
1900
|
{
|
|
1901
1901
|
provide: NG_VALUE_ACCESSOR,
|
|
1902
1902
|
useExisting: forwardRef(() => CounterEntryComponent),
|
|
@@ -1904,7 +1904,7 @@ class CounterEntryComponent {
|
|
|
1904
1904
|
},
|
|
1905
1905
|
], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputEl"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\">\r\n <button\r\n type=\"button\"\r\n class=\"Btn BtnDecrement\"\r\n [class.IsMin]=\"isMin\"\r\n [disabled]=\"isDisabled || isMin\"\r\n (click)=\"decrement()\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n >\r\n <lucide-icon name=\"minus\"></lucide-icon>\r\n </button>\r\n\r\n <input\r\n #inputEl\r\n type=\"text\"\r\n inputmode=\"numeric\"\r\n [value]=\"textValue\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onInput($event)\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n class=\"Input\"\r\n [disabled]=\"isDisabled\"\r\n />\r\n\r\n <button\r\n type=\"button\"\r\n class=\"Btn BtnIncrement\"\r\n [class.IsMax]=\"isMax\"\r\n [disabled]=\"isDisabled || isMax\"\r\n (click)=\"increment()\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n >\r\n <lucide-icon name=\"plus\"></lucide-icon>\r\n </button>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Btn{width:32px;min-width:32px;height:100%;display:flex;justify-content:center;align-items:center;padding:0 8px;background-color:var(--input-concats-bg);font-size:.8rem;cursor:pointer}:host .Entry .Btn i{pointer-events:none}:host .Entry .Btn.IsMin,:host .Entry .Btn.IsMax{opacity:.5;cursor:not-allowed}:host .Entry .Input{padding-right:8px;text-align:end}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1906
1906
|
}
|
|
1907
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1907
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CounterEntryComponent, decorators: [{
|
|
1908
1908
|
type: Component,
|
|
1909
1909
|
args: [{ selector: 'counter-entry', standalone: true, imports: [
|
|
1910
1910
|
LucideIconComponent, CommonModule
|
|
@@ -2104,8 +2104,8 @@ class PriceEntryComponent {
|
|
|
2104
2104
|
const input = this.elementRef.nativeElement.querySelector('input');
|
|
2105
2105
|
input?.focus();
|
|
2106
2106
|
}
|
|
2107
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2108
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
2107
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PriceEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2108
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PriceEntryComponent, isStandalone: true, selector: "price-entry", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", symbol: "symbol", decimals: "decimals", decimalSeparator: "decimalSeparator", thousandSeparator: "thousandSeparator", disabled: "disabled" }, host: { listeners: { "keydown": "handleKeyDown($event)" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
2109
2109
|
{
|
|
2110
2110
|
provide: NG_VALUE_ACCESSOR,
|
|
2111
2111
|
useExisting: forwardRef(() => PriceEntryComponent),
|
|
@@ -2113,7 +2113,7 @@ class PriceEntryComponent {
|
|
|
2113
2113
|
},
|
|
2114
2114
|
], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\">\r\n <div class=\"Symbol\" (click)=\"manualClick($event); $event.stopPropagation()\">\r\n {{ symbol }}\r\n </div>\r\n <input\r\n type=\"text\"\r\n [value]=\"repValue || ''\"\r\n [placeholder]=\"placeholder\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n class=\"Input\"\r\n [class.Disabled]=\"isDisabled\"\r\n [disabled]=\"isDisabled\"\r\n />\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Symbol{width:32px;min-width:32px;height:100%;display:flex;justify-content:center;align-items:center;padding:0 8px;background-color:var(--input-concats-bg);font-size:.9rem;cursor:pointer}:host .Entry .Input{text-align:end}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2115
2115
|
}
|
|
2116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PriceEntryComponent, decorators: [{
|
|
2117
2117
|
type: Component,
|
|
2118
2118
|
args: [{ selector: 'price-entry', standalone: true, imports: [CommonModule], providers: [
|
|
2119
2119
|
{
|
|
@@ -2630,8 +2630,8 @@ class RangeEntryComponent {
|
|
|
2630
2630
|
const input = this.elementRef.nativeElement.querySelector('input[type="text"]');
|
|
2631
2631
|
input?.focus();
|
|
2632
2632
|
}
|
|
2633
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2634
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
2633
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RangeEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2634
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: RangeEntryComponent, isStandalone: true, selector: "range-entry", inputs: { label: "label", opcional: "opcional", description: "description", min: "min", max: "max", gap: "gap", decimal: "decimal", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
2635
2635
|
{
|
|
2636
2636
|
provide: NG_VALUE_ACCESSOR,
|
|
2637
2637
|
useExisting: forwardRef(() => RangeEntryComponent),
|
|
@@ -2639,7 +2639,7 @@ class RangeEntryComponent {
|
|
|
2639
2639
|
},
|
|
2640
2640
|
], viewQueries: [{ propertyName: "trackWrapper", first: true, predicate: ["trackWrapper"], descendants: true }, { propertyName: "trackRef", first: true, predicate: ["trackRef"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"ValuePrint\">\r\n <input\r\n class=\"MinValue Value\"\r\n type=\"text\"\r\n [value]=\"decimal ? minValue.toFixed(2) : minValue.toString()\"\r\n (input)=\"onMinChange($event)\"\r\n (keydown)=\"onValueKeydown($event)\"\r\n [disabled]=\"isDisabled\"\r\n />\r\n -\r\n <input\r\n class=\"MaxValue Value\"\r\n type=\"text\"\r\n [value]=\"decimal ? maxValue.toFixed(2) : maxValue.toString()\"\r\n (input)=\"onMaxChange($event)\"\r\n (keydown)=\"onValueKeydown($event)\"\r\n [disabled]=\"isDisabled\"\r\n />\r\n</div>\r\n\r\n<div class=\"RangeEntry\">\r\n <div class=\"RangeWrapper\" #trackWrapper [class.Disabled]=\"isDisabled\">\r\n <div\r\n class=\"Track\"\r\n #trackRef\r\n (click)=\"onTrackClick($event)\"\r\n (touchstart)=\"onTrackTouchStart($event)\"\r\n >\r\n <div class=\"Range\" [ngStyle]=\"rangeStyle\"></div>\r\n </div>\r\n\r\n <!-- Thumb UI personalizado para min -->\r\n <div\r\n class=\"Thumb ThumbMin\"\r\n [style.left.%]=\"leftPercent\"\r\n (mousedown)=\"onThumbMouseDown('min', $event)\"\r\n (touchstart)=\"onThumbTouchStart('min', $event)\"\r\n [class.Dragging]=\"isDraggingMin\"\r\n ></div>\r\n\r\n <!-- Thumb UI personalizado para max -->\r\n <div\r\n class=\"Thumb ThumbMax\"\r\n [style.left.%]=\"rightPercent\"\r\n (mousedown)=\"onThumbMouseDown('max', $event)\"\r\n (touchstart)=\"onThumbTouchStart('max', $event)\"\r\n [class.Dragging]=\"isDraggingMax\"\r\n ></div>\r\n\r\n <!-- Inputs range ocultos (solo para sincronizaci\u00F3n) -->\r\n <input\r\n type=\"range\"\r\n class=\"HiddenRange\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [value]=\"minValue\"\r\n (input)=\"onMinChange($event)\"\r\n (change)=\"onSliderRelease()\"\r\n [disabled]=\"isDisabled\"\r\n tabindex=\"-1\"\r\n aria-hidden=\"true\"\r\n />\r\n\r\n <input\r\n type=\"range\"\r\n class=\"HiddenRange\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [value]=\"maxValue\"\r\n (input)=\"onMaxChange($event)\"\r\n (change)=\"onSliderRelease()\"\r\n [disabled]=\"isDisabled\"\r\n tabindex=\"-1\"\r\n aria-hidden=\"true\"\r\n />\r\n </div>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .ValuePrint{width:100%;display:flex;align-items:center;justify-content:space-between;gap:5px;overflow:hidden}:host .ValuePrint .Value{display:flex;flex:1;max-width:30%;height:36px;padding:0 4px;text-align:center;border:none;outline:none;caret-color:var(--text-primary)}:host .ValuePrint .Value::-webkit-outer-spin-button,:host .ValuePrint .Value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host .ValuePrint .MinValue{text-align:left}:host .ValuePrint .MaxValue{text-align:right}:host .RangeEntry{display:flex;align-items:center;gap:5px;padding:0 12px}:host .RangeEntry .RangeWrapper{position:relative;width:100%}:host .RangeEntry .RangeWrapper.Disabled{opacity:.5;pointer-events:none}:host .RangeEntry .Track{position:relative;z-index:0;height:8px;background-color:var(--input-bg);border-radius:50px;overflow:visible;cursor:pointer;touch-action:none}:host .RangeEntry .Range{position:absolute;height:100%;background-color:var(--text-primary);pointer-events:none;z-index:10;left:0;right:0}:host .RangeEntry .Track{cursor:pointer;touch-action:none}:host .RangeEntry .Thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;background-color:var(--input-bg);border:3px solid var(--text-primary);border-radius:50%;cursor:grab;z-index:20;touch-action:none;transition:transform .1s ease;-webkit-user-select:none;user-select:none}:host .RangeEntry .Thumb:hover,:host .RangeEntry .Thumb.Dragging{transform:translate(-50%,-50%) scale(1.2);cursor:grabbing;box-shadow:0 2px 8px var(--overlay-scrim)}:host .RangeEntry .Thumb:active{cursor:grabbing}:host .RangeEntry .HiddenRange{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;pointer-events:none;opacity:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;z-index:-1}:host .RangeEntry .HiddenRange::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:0;height:0}:host .RangeEntry .HiddenRange::-moz-range-thumb{width:0;height:0;border:none;background:transparent}:host .RangeEntry .HiddenRange::-webkit-slider-runnable-track{background:transparent}:host .RangeEntry .HiddenRange::-moz-range-track{background:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }] });
|
|
2641
2641
|
}
|
|
2642
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2642
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RangeEntryComponent, decorators: [{
|
|
2643
2643
|
type: Component,
|
|
2644
2644
|
args: [{ selector: 'range-entry', standalone: true, imports: [CommonModule, FormsModule], providers: [
|
|
2645
2645
|
{
|
|
@@ -3056,8 +3056,8 @@ class SliderEntryComponent {
|
|
|
3056
3056
|
const input = this.elementRef.nativeElement.querySelector('input[type="text"]');
|
|
3057
3057
|
input?.focus();
|
|
3058
3058
|
}
|
|
3059
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3060
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
3059
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SliderEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3060
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SliderEntryComponent, isStandalone: true, selector: "slider-entry", inputs: { label: "label", description: "description", opcional: "opcional", min: "min", max: "max", decimal: "decimal", step: "step", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
3061
3061
|
{
|
|
3062
3062
|
provide: NG_VALUE_ACCESSOR,
|
|
3063
3063
|
useExisting: forwardRef(() => SliderEntryComponent),
|
|
@@ -3065,7 +3065,7 @@ class SliderEntryComponent {
|
|
|
3065
3065
|
},
|
|
3066
3066
|
], viewQueries: [{ propertyName: "trackRef", first: true, predicate: ["trackRef"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"ValuePrint\">\r\n <input\r\n class=\"Value\"\r\n type=\"text\"\r\n [value]=\"decimal ? value.toFixed(2) : value.toString()\"\r\n (input)=\"onInputChange($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n [disabled]=\"disabled\"\r\n />\r\n</div>\r\n\r\n<div class=\"SliderEntry\">\r\n <div class=\"RangeWrapper\" [class.Disabled]=\"disabled\">\r\n <div\r\n class=\"Track\"\r\n #trackRef\r\n (click)=\"onTrackClick($event)\"\r\n (touchstart)=\"onTrackTouchStart($event)\"\r\n >\r\n <div class=\"Fill\" [ngStyle]=\"fillStyle\"></div>\r\n </div>\r\n\r\n <!-- Thumb UI personalizado -->\r\n <div\r\n class=\"Thumb\"\r\n [style.left.%]=\"thumbPosition\"\r\n (mousedown)=\"onThumbMouseDown($event)\"\r\n (touchstart)=\"onThumbTouchStart($event)\"\r\n [class.Dragging]=\"isDragging\"\r\n ></div>\r\n\r\n <!-- Input range oculto (solo para sincronizaci\u00F3n) -->\r\n <input\r\n type=\"range\"\r\n class=\"HiddenRange\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"calculatedStep\"\r\n [value]=\"value\"\r\n (input)=\"onSliderInput($event)\"\r\n (change)=\"onSliderChange()\"\r\n [disabled]=\"disabled\"\r\n tabindex=\"-1\"\r\n aria-hidden=\"true\"\r\n />\r\n </div>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .ValuePrint{width:100%;display:flex;align-items:center;justify-content:space-between;gap:5px;overflow:hidden}:host .ValuePrint .Value{display:flex;flex:1;max-width:30%;height:36px;padding:0 4px;text-align:center;border:none;outline:none;text-align:left;caret-color:var(--text-primary)}:host .ValuePrint .Value::-webkit-outer-spin-button,:host .ValuePrint .Value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host .SliderEntry{display:flex;align-items:center;gap:5px;padding:0 12px}:host .SliderEntry .RangeWrapper{position:relative;width:100%}:host .SliderEntry .RangeWrapper.Disabled{opacity:.5;pointer-events:none}:host .SliderEntry .Track{position:relative;z-index:0;height:8px;background-color:var(--input-bg);border-radius:50px;overflow:visible;cursor:pointer;touch-action:none}:host .SliderEntry .Track .Fill{height:100%;background-color:var(--text-primary);border-radius:50px}:host .SliderEntry .Thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;background-color:var(--input-bg);border:3px solid var(--text-primary);border-radius:50%;cursor:grab;z-index:20;touch-action:none;transition:transform .1s ease;-webkit-user-select:none;user-select:none}:host .SliderEntry .Thumb:hover,:host .SliderEntry .Thumb.Dragging{transform:translate(-50%,-50%) scale(1.2);cursor:grabbing;box-shadow:0 2px 8px var(--overlay-scrim)}:host .SliderEntry .Thumb:active{cursor:grabbing}:host .SliderEntry .HiddenRange{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;pointer-events:none;opacity:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;z-index:-1}:host .SliderEntry .HiddenRange::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:0;height:0}:host .SliderEntry .HiddenRange::-moz-range-thumb{width:0;height:0;border:none;background:transparent}:host .SliderEntry .HiddenRange::-webkit-slider-runnable-track{background:transparent}:host .SliderEntry .HiddenRange::-moz-range-track{background:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }] });
|
|
3067
3067
|
}
|
|
3068
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3068
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SliderEntryComponent, decorators: [{
|
|
3069
3069
|
type: Component,
|
|
3070
3070
|
args: [{ selector: 'slider-entry', standalone: true, imports: [CommonModule, FormsModule], providers: [
|
|
3071
3071
|
{
|
|
@@ -3148,8 +3148,8 @@ class RatingEntryComponent {
|
|
|
3148
3148
|
firstStar.focus();
|
|
3149
3149
|
}
|
|
3150
3150
|
}
|
|
3151
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3152
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
3151
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RatingEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3152
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: RatingEntryComponent, isStandalone: true, selector: "rating-entry", inputs: { label: "label", opcional: "opcional", description: "description", maxStars: "maxStars", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
3153
3153
|
{
|
|
3154
3154
|
provide: NG_VALUE_ACCESSOR,
|
|
3155
3155
|
useExisting: forwardRef(() => RatingEntryComponent),
|
|
@@ -3157,7 +3157,7 @@ class RatingEntryComponent {
|
|
|
3157
3157
|
},
|
|
3158
3158
|
], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div\r\n class=\"RatingDisplay\"\r\n [class.Disabled]=\"isDisabled\"\r\n role=\"radiogroup\"\r\n [attr.aria-label]=\"label || 'Calificaci\u00F3n'\"\r\n>\r\n <button\r\n type=\"button\"\r\n class=\"StarButton\"\r\n *ngFor=\"let star of stars; let i = index\"\r\n [disabled]=\"isDisabled\"\r\n role=\"radio\"\r\n [attr.aria-checked]=\"value === i + 1\"\r\n [attr.aria-label]=\"'Calificar con ' + (i + 1) + ' estrellas'\"\r\n (click)=\"select(i + 1)\"\r\n >\r\n <lucide-icon\r\n class=\"Icon\"\r\n [class.Muted]=\"value === null || i >= value\"\r\n name=\"star\"\r\n [size]=\"24\"\r\n [filled]=\"value !== null && i < value\"\r\n ></lucide-icon>\r\n </button>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .RatingDisplay{display:flex;width:100%;gap:5px;padding:0 4px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);overflow:hidden}:host .RatingDisplay.Disabled{opacity:.6;pointer-events:none}:host .RatingDisplay .StarButton{display:flex;justify-content:center;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;line-height:0;border-radius:var(--radius-sm)}:host .RatingDisplay .StarButton:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:host .RatingDisplay .StarButton:disabled{cursor:not-allowed}:host .RatingDisplay .StarButton .Icon{display:flex;justify-content:center;align-items:center;color:var(--warning-text, var(--rating-fill))}:host .RatingDisplay .StarButton .Icon lucide-icon .lucide-icon-svg{width:1.5rem;height:1.5rem;transition:fill .15s ease,color .15s ease,stroke .15s ease}:host .RatingDisplay .StarButton .Icon.Muted{color:var(--text-muted)}:host .RatingDisplay .StarButton:hover:not(:disabled) .Icon.Muted{color:var(--warning-text, var(--rating-fill-active))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
3159
3159
|
}
|
|
3160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RatingEntryComponent, decorators: [{
|
|
3161
3161
|
type: Component,
|
|
3162
3162
|
args: [{ selector: 'rating-entry', standalone: true, imports: [CommonModule, LucideIconComponent], providers: [
|
|
3163
3163
|
{
|
|
@@ -3199,10 +3199,10 @@ class DatePickerModalService {
|
|
|
3199
3199
|
close() {
|
|
3200
3200
|
this.state.next(null);
|
|
3201
3201
|
}
|
|
3202
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3203
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3202
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3203
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerModalService, providedIn: 'root' });
|
|
3204
3204
|
}
|
|
3205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerModalService, decorators: [{
|
|
3206
3206
|
type: Injectable,
|
|
3207
3207
|
args: [{ providedIn: 'root' }]
|
|
3208
3208
|
}] });
|
|
@@ -3735,8 +3735,8 @@ class DatePickerComponent {
|
|
|
3735
3735
|
};
|
|
3736
3736
|
});
|
|
3737
3737
|
}
|
|
3738
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3739
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
3738
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3739
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: DatePickerComponent, isStandalone: true, selector: "date-picker", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", format: "format", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
3740
3740
|
{
|
|
3741
3741
|
provide: NG_VALUE_ACCESSOR,
|
|
3742
3742
|
useExisting: forwardRef(() => DatePickerComponent),
|
|
@@ -3744,7 +3744,7 @@ class DatePickerComponent {
|
|
|
3744
3744
|
},
|
|
3745
3745
|
], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div\n class=\"Entry\"\n (click)=\"toggleShowPicker($event)\"\n [class.focused]=\"isFocus\"\n [class.Disabled]=\"isDisabled\"\n tabindex=\"0\"\n (focus)=\"focus()\"\n (blur)=\"defocus()\"\n>\n <div class=\"Value\" *ngIf=\"selectedValue\">{{ formattedSelected }}</div>\n <div class=\"Placeholder\" *ngIf=\"!selectedValue\">{{ placeholder }}</div>\n <lucide-icon class=\"IconDate\" name=\"calendar\"></lucide-icon>\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{padding:0 8px}:host .Entry .Value{color:var(--input-text)}:host .Entry .Placeholder{color:var(--input-placeholder)}:host .Entry .IconDate{margin-left:auto;color:var(--input-placeholder);padding-right:4px}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3746
3746
|
}
|
|
3747
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3747
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
3748
3748
|
type: Component,
|
|
3749
3749
|
args: [{ selector: 'date-picker', standalone: true, imports: [
|
|
3750
3750
|
LucideIconComponent, CommonModule
|
|
@@ -3792,10 +3792,10 @@ class TimePickerModalService {
|
|
|
3792
3792
|
close() {
|
|
3793
3793
|
this.state.next(null);
|
|
3794
3794
|
}
|
|
3795
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3796
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3795
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3796
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerModalService, providedIn: 'root' });
|
|
3797
3797
|
}
|
|
3798
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3798
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerModalService, decorators: [{
|
|
3799
3799
|
type: Injectable,
|
|
3800
3800
|
args: [{ providedIn: 'root' }]
|
|
3801
3801
|
}] });
|
|
@@ -4131,8 +4131,8 @@ class TimePickerComponent {
|
|
|
4131
4131
|
// ============================================================================
|
|
4132
4132
|
HOURS = Array.from({ length: 24 }, (_, i) => i);
|
|
4133
4133
|
MINUTES = Array.from({ length: 60 }, (_, i) => i);
|
|
4134
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4135
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
4134
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4135
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TimePickerComponent, isStandalone: true, selector: "time-picker", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", format: "format", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
4136
4136
|
{
|
|
4137
4137
|
provide: NG_VALUE_ACCESSOR,
|
|
4138
4138
|
useExisting: forwardRef(() => TimePickerComponent),
|
|
@@ -4140,7 +4140,7 @@ class TimePickerComponent {
|
|
|
4140
4140
|
},
|
|
4141
4141
|
], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div\n class=\"Entry\"\n (click)=\"toggleShowPicker($event)\"\n [class.focused]=\"isFocus\"\n [class.Disabled]=\"isDisabled\"\n tabindex=\"0\"\n (focus)=\"focus()\"\n (blur)=\"defocus()\"\n>\n <div class=\"Value\" *ngIf=\"selectedValue\">{{ selectedDateExtended }}</div>\n <div class=\"Placeholder\" *ngIf=\"!selectedValue\">{{ placeholder }}</div>\n <lucide-icon class=\"IconDate\" name=\"clock\"></lucide-icon>\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{padding:0 8px}:host .Entry .Value{color:var(--input-text)}:host .Entry .Placeholder{color:var(--input-placeholder)}:host .Entry .IconDate{margin-left:auto;color:var(--input-placeholder);padding-right:4px}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4142
4142
|
}
|
|
4143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerComponent, decorators: [{
|
|
4144
4144
|
type: Component,
|
|
4145
4145
|
args: [{ selector: 'time-picker', standalone: true, imports: [
|
|
4146
4146
|
LucideIconComponent, CommonModule
|
|
@@ -4188,10 +4188,10 @@ class MonthPickerModalService {
|
|
|
4188
4188
|
close() {
|
|
4189
4189
|
this.state.next(null);
|
|
4190
4190
|
}
|
|
4191
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4192
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
4191
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4192
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerModalService, providedIn: 'root' });
|
|
4193
4193
|
}
|
|
4194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerModalService, decorators: [{
|
|
4195
4195
|
type: Injectable,
|
|
4196
4196
|
args: [{ providedIn: 'root' }]
|
|
4197
4197
|
}] });
|
|
@@ -4647,8 +4647,8 @@ class MonthPickerComponent {
|
|
|
4647
4647
|
const end = this.currentYear + 10;
|
|
4648
4648
|
this.years = Array.from({ length: end - start + 1 }, (_, i) => start + i);
|
|
4649
4649
|
}
|
|
4650
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4651
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
4650
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4651
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MonthPickerComponent, isStandalone: true, selector: "month-picker", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", format: "format", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
4652
4652
|
{
|
|
4653
4653
|
provide: NG_VALUE_ACCESSOR,
|
|
4654
4654
|
useExisting: forwardRef(() => MonthPickerComponent),
|
|
@@ -4656,7 +4656,7 @@ class MonthPickerComponent {
|
|
|
4656
4656
|
},
|
|
4657
4657
|
], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div\r\n class=\"Entry\"\r\n (click)=\"toggleShowPicker($event)\"\r\n [class.focused]=\"isFocus\"\r\n [class.Disabled]=\"isDisabled\"\r\n tabindex=\"0\"\r\n (focus)=\"focus()\"\r\n (blur)=\"defocus()\"\r\n>\r\n <div class=\"Value\" *ngIf=\"selectedValue\">{{ formattedSelected }}</div>\r\n <div class=\"Placeholder\" *ngIf=\"!selectedValue\">{{ placeholder }}</div>\r\n <lucide-icon class=\"IconDate\" name=\"calendar\"></lucide-icon>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{padding:0 8px}:host .Entry .Value{color:var(--input-text)}:host .Entry .Placeholder{color:var(--input-placeholder)}:host .Entry .IconDate{margin-left:auto;color:var(--input-placeholder);padding-right:4px}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4658
4658
|
}
|
|
4659
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4659
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerComponent, decorators: [{
|
|
4660
4660
|
type: Component,
|
|
4661
4661
|
args: [{ selector: 'month-picker', standalone: true, imports: [
|
|
4662
4662
|
LucideIconComponent, CommonModule
|
|
@@ -4704,10 +4704,10 @@ class DatetimePickerModalService {
|
|
|
4704
4704
|
close() {
|
|
4705
4705
|
this.state.next(null);
|
|
4706
4706
|
}
|
|
4707
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4708
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
4707
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4708
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerModalService, providedIn: 'root' });
|
|
4709
4709
|
}
|
|
4710
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4710
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerModalService, decorators: [{
|
|
4711
4711
|
type: Injectable,
|
|
4712
4712
|
args: [{ providedIn: 'root' }]
|
|
4713
4713
|
}] });
|
|
@@ -5301,8 +5301,8 @@ class DatetimePickerComponent {
|
|
|
5301
5301
|
minute: this.selectedMinute,
|
|
5302
5302
|
}).toFormat("yyyy-MM-dd' 'HH:mm");
|
|
5303
5303
|
}
|
|
5304
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5305
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
5304
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5305
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: DatetimePickerComponent, isStandalone: true, selector: "datetime-picker", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", format: "format", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
5306
5306
|
{
|
|
5307
5307
|
provide: NG_VALUE_ACCESSOR,
|
|
5308
5308
|
useExisting: forwardRef(() => DatetimePickerComponent),
|
|
@@ -5310,7 +5310,7 @@ class DatetimePickerComponent {
|
|
|
5310
5310
|
},
|
|
5311
5311
|
], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); toggleShowPicker($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div\n class=\"Entry\"\n (click)=\"toggleShowPicker($event)\"\n [class.focused]=\"isFocus\"\n [class.Disabled]=\"isDisabled\"\n tabindex=\"0\"\n (focus)=\"focus()\"\n (blur)=\"defocus()\"\n>\n <div class=\"Value\" *ngIf=\"selectedValue\">{{ formattedSelected }}</div>\n <div class=\"Placeholder\" *ngIf=\"!selectedValue\">{{ placeholder }}</div>\n <lucide-icon class=\"IconDate\" name=\"calendar\"></lucide-icon>\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{padding:0 8px}:host .Entry .Value{color:var(--input-text)}:host .Entry .Placeholder{color:var(--input-placeholder)}:host .Entry .IconDate{margin-left:auto;color:var(--input-placeholder);padding-right:4px}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5312
5312
|
}
|
|
5313
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5313
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerComponent, decorators: [{
|
|
5314
5314
|
type: Component,
|
|
5315
5315
|
args: [{ selector: 'datetime-picker', standalone: true, imports: [
|
|
5316
5316
|
LucideIconComponent, CommonModule
|
|
@@ -5358,10 +5358,10 @@ class OnlySelectModalService {
|
|
|
5358
5358
|
close() {
|
|
5359
5359
|
this.state.next(null);
|
|
5360
5360
|
}
|
|
5361
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5362
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
5361
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5362
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectModalService, providedIn: 'root' });
|
|
5363
5363
|
}
|
|
5364
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectModalService, decorators: [{
|
|
5365
5365
|
type: Injectable,
|
|
5366
5366
|
args: [{ providedIn: 'root' }]
|
|
5367
5367
|
}] });
|
|
@@ -5794,8 +5794,8 @@ class OnlySelectComponent {
|
|
|
5794
5794
|
this.cdr.markForCheck();
|
|
5795
5795
|
}
|
|
5796
5796
|
}
|
|
5797
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5798
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
5797
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5798
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: OnlySelectComponent, isStandalone: true, selector: "only-select", inputs: { label: "label", description: "description", placeholder: "placeholder", opcional: "opcional", options: "options", fieldHelp: "fieldHelp", api: "api", search: "search", minSearch: "minSearch", noOptionsMessage: "noOptionsMessage", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
5799
5799
|
{
|
|
5800
5800
|
provide: NG_VALUE_ACCESSOR, // Registro del value accessor para el componente
|
|
5801
5801
|
useExisting: forwardRef(() => OnlySelectComponent), // Utilizamos forwardRef para evitar problemas con el ciclo de vida de Angular
|
|
@@ -5803,7 +5803,7 @@ class OnlySelectComponent {
|
|
|
5803
5803
|
},
|
|
5804
5804
|
], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"label\"\n class=\"LabelRow\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"toggleOpenOptions($event); $event.stopPropagation()\"\n>\n <p class=\"Label\">\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n </p>\n <field-help-tooltip\n *ngIf=\"fieldHelp\"\n [title]=\"label\"\n [text]=\"fieldHelp\"\n ></field-help-tooltip>\n</div>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"toggleOpenOptions($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div\n class=\"Entry\"\n (click)=\"toggleOpenOptions($event)\"\n [class.IsFocus]=\"isFocus\"\n [class.Disabled]=\"isDisabled\"\n (focus)=\"focus()\"\n (blur)=\"defocus()\"\n>\n <div class=\"SelectedOptions\" *ngIf=\"selectedOption\">\n <div class=\"SelectedOption\">\n <div\n class=\"Color\"\n *ngIf=\"selectedOption.color\"\n [style.backgroundColor]=\"selectedOption.color\"\n ></div>\n <span class=\"Text\">{{ selectedOption.name }}</span>\n <lucide-icon class=\"RemoveIcon\" name=\"x\" (click)=\"removeSelected()\"></lucide-icon>\n </div>\n </div>\n <div class=\"Placeholder\" *ngIf=\"!selectedOption\">\n {{ placeholder }}\n </div>\n\n <lucide-icon class=\"IconSort\" name=\"arrow-down-wide-narrow\"></lucide-icon>\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{padding:0 8px;gap:4px}:host .Entry .SelectedOptions{display:flex;align-items:center;gap:4px;width:100%;height:100%}:host .Entry .SelectedOptions .SelectedOption{width:100%;height:100%;display:flex;align-items:center;gap:4px;overflow:hidden}:host .Entry .SelectedOptions .SelectedOption .Color{width:20px;min-width:20px;height:20px;min-height:20px;border-radius:100px;overflow:hidden}:host .Entry .SelectedOptions .SelectedOption .Text{width:100%;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-all}:host .Entry .SelectedOptions .SelectedOption .RemoveIcon{cursor:pointer;width:40px;height:100%;display:flex;justify-content:center;align-items:center;font-size:.7rem}:host .Entry .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-icon-svg{width:.7rem;height:.7rem}:host .Entry .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--red);background-color:var(--input-concats-bg)}:host .Entry .Value{color:var(--input-text)}:host .Entry .Placeholder{color:var(--input-placeholder)}:host .Entry .IconSort{display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--input-placeholder)}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: FieldHelpTooltipComponent, selector: "field-help-tooltip", inputs: ["text", "title"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5805
5805
|
}
|
|
5806
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5806
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectComponent, decorators: [{
|
|
5807
5807
|
type: Component,
|
|
5808
5808
|
args: [{ standalone: true, selector: 'only-select', imports: [
|
|
5809
5809
|
LucideIconComponent,
|
|
@@ -5864,10 +5864,10 @@ class MultiselectComboboxModalService {
|
|
|
5864
5864
|
close() {
|
|
5865
5865
|
this.state.next(null);
|
|
5866
5866
|
}
|
|
5867
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5868
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
5867
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5868
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxModalService, providedIn: 'root' });
|
|
5869
5869
|
}
|
|
5870
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5870
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxModalService, decorators: [{
|
|
5871
5871
|
type: Injectable,
|
|
5872
5872
|
args: [{ providedIn: 'root' }]
|
|
5873
5873
|
}] });
|
|
@@ -6367,8 +6367,8 @@ class MultiselectComboboxComponent {
|
|
|
6367
6367
|
this.cdr.markForCheck();
|
|
6368
6368
|
}
|
|
6369
6369
|
}
|
|
6370
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
6371
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
6370
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6371
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MultiselectComboboxComponent, isStandalone: true, selector: "multiselect-combobox", inputs: { label: "label", description: "description", placeholder: "placeholder", opcional: "opcional", options: "options", api: "api", search: "search", minSearch: "minSearch", apiQueryParams: "apiQueryParams", deferInitialLoad: "deferInitialLoad", noOptionsMessage: "noOptionsMessage", disabled: "disabled" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
6372
6372
|
{
|
|
6373
6373
|
provide: NG_VALUE_ACCESSOR,
|
|
6374
6374
|
useExisting: forwardRef(() => MultiselectComboboxComponent),
|
|
@@ -6376,7 +6376,7 @@ class MultiselectComboboxComponent {
|
|
|
6376
6376
|
},
|
|
6377
6377
|
], usesOnChanges: true, ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"toggleOpenOptions($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"toggleOpenOptions($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div\n class=\"Entry\"\n (click)=\"toggleOpenOptions($event)\"\n [class.focused]=\"isFocus\"\n [class.disabled]=\"isDisabled\"\n tabindex=\"0\"\n (focus)=\"focus()\"\n (blur)=\"defocus()\"\n>\n <div class=\"SelectedOptions\" *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"selectedOptions.length > 1\">\n <span class=\"SelectedCount\">\n +{{ selectedOptions.length - 1 }} items\n </span>\n\n <span class=\"SelectedOption\">\n <span class=\"Text\">{{ selectedOptions[selectedOptions.length - 1].name }}</span>\n <lucide-icon class=\"RemoveIcon\" name=\"x\" (click)=\"removeSelected(selectedOptions[selectedOptions.length - 1])\"></lucide-icon>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"selectedOptions.length === 1\">\n <span class=\"SelectedOption\">\n <p class=\"Text\">{{ selectedOptions[0].name }}</p>\n\n <lucide-icon\n class=\"RemoveIcon\"\n name=\"x\"\n (click)=\"removeSelected(selectedOptions[0])\"\n ></lucide-icon>\n </span>\n </ng-container>\n </div>\n\n <div\n class=\"Placeholder\"\n *ngIf=\"!selectedOptions || selectedOptions.length === 0\"\n >\n {{ placeholder }}\n </div>\n <lucide-icon class=\"IconSort\" name=\"arrow-down-wide-narrow\"></lucide-icon>\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{padding:0 8px;gap:4px}:host .Entry .SelectedOptions{width:100%;height:100%;display:flex;gap:3px;overflow:hidden}:host .Entry .SelectedOptions .SelectedCount{min-width:max-content;height:max-content;margin:auto 0;padding:0 5px;border-radius:50px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;background-color:var(--input-concats-bg)}:host .Entry .SelectedOptions .SelectedOption{width:100%;height:100%;display:flex;align-items:center;gap:4px;overflow:hidden}:host .Entry .SelectedOptions .SelectedOption .Text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .Entry .SelectedOptions .SelectedOption .RemoveIcon{cursor:pointer;width:40px;height:100%;display:flex;justify-content:center;align-items:center;font-size:.7rem}:host .Entry .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-icon-svg{width:.7rem;height:.7rem}:host .Entry .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--red);background-color:var(--input-concats-bg)}:host .Entry .Value{color:var(--input-text)}:host .Entry .Placeholder{color:var(--input-placeholder);width:100%}:host .Entry .IconSort{display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--input-placeholder)}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6378
6378
|
}
|
|
6379
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6379
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxComponent, decorators: [{
|
|
6380
6380
|
type: Component,
|
|
6381
6381
|
args: [{ standalone: true, selector: 'multiselect-combobox', imports: [
|
|
6382
6382
|
LucideIconComponent, CommonModule
|
|
@@ -6532,8 +6532,8 @@ class BooleanEntryComponent {
|
|
|
6532
6532
|
this.toggle();
|
|
6533
6533
|
}
|
|
6534
6534
|
}
|
|
6535
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
6536
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
6535
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BooleanEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6536
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BooleanEntryComponent, isStandalone: true, selector: "boolean-entry", inputs: { label: "label", description: "description", opcional: "opcional", text: "text", valuesOnValue: "valuesOnValue", disabled: "disabled" }, host: { listeners: { "click": "onClick()" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
6537
6537
|
{
|
|
6538
6538
|
provide: NG_VALUE_ACCESSOR,
|
|
6539
6539
|
useExisting: forwardRef(() => BooleanEntryComponent),
|
|
@@ -6541,7 +6541,7 @@ class BooleanEntryComponent {
|
|
|
6541
6541
|
},
|
|
6542
6542
|
], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry NotHover\" [class.Disabled]=\"isDisabled\">\r\n <lucide-icon\r\n class=\"Icon\"\r\n [name]=\"iconName\"\r\n [class.Icon--true]=\"value === true\"\r\n [class.Icon--false]=\"value === false\"\r\n [class.Icon--null]=\"value === null\"\r\n ></lucide-icon>\r\n <span class=\"Text\" *ngIf=\"displayValueText\">{{ displayValueText }}</span>\r\n</div>\r\n\r\n<input type=\"checkbox\" [checked]=\"value\" hidden />\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Description{margin-bottom:0}:host .Entry{background-color:transparent;gap:4px;height:max-content;border-radius:0;padding:0 4px}:host .Entry .Icon{display:flex;justify-content:center;align-items:center;flex-shrink:0;width:20px;height:20px;border-radius:var(--radius-sm);padding:0 var(--spacing-sm);color:var(--xu-on-fill)}:host .Entry .Icon lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}:host .Entry .Icon.Icon--null{background-color:var(--text-muted)}:host .Entry .Icon.Icon--true{background-color:var(--primary)}:host .Entry .Icon.Icon--false{background-color:var(--text-muted)}:host .Entry .Opcional{color:var(--text-muted)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
6543
6543
|
}
|
|
6544
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6544
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BooleanEntryComponent, decorators: [{
|
|
6545
6545
|
type: Component,
|
|
6546
6546
|
args: [{ selector: 'boolean-entry', standalone: true, imports: [CommonModule, LucideIconComponent], providers: [
|
|
6547
6547
|
{
|
|
@@ -6652,8 +6652,8 @@ class MultichoiceEntryComponent {
|
|
|
6652
6652
|
iconClass(optionValue) {
|
|
6653
6653
|
return this.isChecked(optionValue) ? 'check' : 'x';
|
|
6654
6654
|
}
|
|
6655
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
6656
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
6655
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultichoiceEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6656
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MultichoiceEntryComponent, isStandalone: true, selector: "multichoice-entry", inputs: { label: "label", description: "description", opcional: "opcional", options: "options", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
6657
6657
|
{
|
|
6658
6658
|
provide: NG_VALUE_ACCESSOR,
|
|
6659
6659
|
useExisting: forwardRef(() => MultichoiceEntryComponent),
|
|
@@ -6661,7 +6661,7 @@ class MultichoiceEntryComponent {
|
|
|
6661
6661
|
},
|
|
6662
6662
|
], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Options\">\r\n <div\r\n class=\"BooleanEntry\"\r\n *ngFor=\"let opt of options\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"toggle(opt.value)\"\r\n >\r\n <i class=\"Icon fa-solid\" [ngClass]=\"iconClass(opt.value)\"></i>\r\n <span class=\"Text\" *ngIf=\"opt.text\">{{ opt.text }}</span>\r\n <input type=\"checkbox\" [checked]=\"isChecked(opt.value)\" hidden />\r\n </div>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Description{margin-bottom:2px}:host .Options{display:flex;gap:4px;flex-direction:column;padding:0 4px}:host .Options .BooleanEntry{display:flex;width:100%;gap:4px;height:max-content;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);cursor:pointer;overflow:hidden}:host .Options .BooleanEntry .Icon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;font-size:.8rem;border-radius:var(--radius-sm);padding:0 var(--spacing-sm);color:var(--xu-on-fill)}:host .Options .BooleanEntry .Icon lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}:host .Options .BooleanEntry .fa-minus{background-color:var(--text-muted)}:host .Options .BooleanEntry .fa-check{background-color:var(--blue)}:host .Options .BooleanEntry .fa-xmark{background-color:var(--text-muted)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }] });
|
|
6663
6663
|
}
|
|
6664
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6664
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultichoiceEntryComponent, decorators: [{
|
|
6665
6665
|
type: Component,
|
|
6666
6666
|
args: [{ selector: 'multichoice-entry', standalone: true, imports: [CommonModule, FormsModule], providers: [
|
|
6667
6667
|
{
|
|
@@ -6754,8 +6754,8 @@ class OnlychoiceEntryComponent {
|
|
|
6754
6754
|
iconClass(optionValue) {
|
|
6755
6755
|
return this.isChecked(optionValue) ? 'check' : 'minus';
|
|
6756
6756
|
}
|
|
6757
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
6758
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
6757
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlychoiceEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6758
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: OnlychoiceEntryComponent, isStandalone: true, selector: "onlychoice-entry", inputs: { label: "label", description: "description", opcional: "opcional", options: "options", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
6759
6759
|
{
|
|
6760
6760
|
provide: NG_VALUE_ACCESSOR,
|
|
6761
6761
|
useExisting: forwardRef(() => OnlychoiceEntryComponent),
|
|
@@ -6763,7 +6763,7 @@ class OnlychoiceEntryComponent {
|
|
|
6763
6763
|
},
|
|
6764
6764
|
], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Options\" [class.Disabled]=\"isDisabled\">\r\n <div\r\n class=\"BooleanEntry\"\r\n *ngFor=\"let opt of options\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"toggle(opt.value)\"\r\n >\r\n <i class=\"Icon fa-solid\" [ngClass]=\"iconClass(opt.value)\"></i>\r\n <span class=\"Text\" *ngIf=\"opt.text\">{{ opt.text }}</span>\r\n <input\r\n type=\"radio\"\r\n [checked]=\"isChecked(opt.value)\"\r\n [value]=\"opt.value\"\r\n hidden\r\n />\r\n </div>\r\n</div>\r\n\r\n<!-- SI es opcional te permite deselccionar todos pero si no es opcional no te -->\r\n<!-- permite deselccionar todos una vez que ya hay un valor -->\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Description{margin-bottom:2px}:host .Options{display:flex;gap:4px;flex-direction:column;padding:0 4px}:host .Options .BooleanEntry{display:flex;width:100%;gap:4px;height:max-content;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);cursor:pointer;overflow:hidden}:host .Options .BooleanEntry .Icon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;font-size:.8rem;border-radius:100px;padding:0 var(--spacing-sm);color:var(--xu-on-fill)}:host .Options .BooleanEntry .Icon lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}:host .Options .BooleanEntry .fa-minus{background-color:var(--text-muted)}:host .Options .BooleanEntry .fa-check{background-color:var(--blue)}:host .Options .BooleanEntry .fa-xmark{background-color:var(--red)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }] });
|
|
6765
6765
|
}
|
|
6766
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6766
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlychoiceEntryComponent, decorators: [{
|
|
6767
6767
|
type: Component,
|
|
6768
6768
|
args: [{ selector: 'onlychoice-entry', standalone: true, imports: [CommonModule, FormsModule], providers: [
|
|
6769
6769
|
{
|
|
@@ -7056,8 +7056,8 @@ class SwitchEntryComponent {
|
|
|
7056
7056
|
return v;
|
|
7057
7057
|
return null;
|
|
7058
7058
|
}
|
|
7059
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
7060
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
7059
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SwitchEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7060
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SwitchEntryComponent, isStandalone: true, selector: "switch-entry", inputs: { label: "label", description: "description", opcional: "opcional", values: "values", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
7061
7061
|
{
|
|
7062
7062
|
provide: NG_VALUE_ACCESSOR,
|
|
7063
7063
|
useExisting: SwitchEntryComponent,
|
|
@@ -7065,7 +7065,7 @@ class SwitchEntryComponent {
|
|
|
7065
7065
|
},
|
|
7066
7066
|
], usesOnChanges: true, ngImport: i0, template: "<p *ngIf=\"label\" class=\"Label\" [class.Disabled]=\"isDisabled\">\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p *ngIf=\"description\" class=\"Description\" [class.Disabled]=\"isDisabled\">\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"Entry NotHover\" [class.Disabled]=\"isDisabled\">\r\n <div\r\n class=\"Switch\"\r\n role=\"switch\"\r\n [class.Switch--on]=\"isOn\"\r\n [class.Switch--dragging]=\"isDragging\"\r\n [attr.aria-checked]=\"ariaChecked\"\r\n [attr.aria-disabled]=\"isDisabled ? 'true' : 'false'\"\r\n (click)=\"onTrackClick($event)\"\r\n >\r\n <div\r\n class=\"SwitchTrack\"\r\n tabindex=\"0\"\r\n (pointerdown)=\"onPointerDown($event)\"\r\n (pointermove)=\"onPointerMove($event)\"\r\n (pointerup)=\"onPointerUp($event)\"\r\n (pointercancel)=\"onPointerCancel($event)\"\r\n >\r\n <div class=\"SwitchTrackFill\" [style.width]=\"trackFillWidth\"></div>\r\n <div class=\"SwitchThumb\" [style.transform]=\"'translateX(' + thumbLeftPx + 'px)'\"></div>\r\n </div>\r\n <span class=\"SwitchText\" *ngIf=\"displayText\">{{ displayText }}</span>\r\n </div>\r\n</div>\r\n\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry{height:auto;background:transparent;padding:0}:host .Switch{display:inline-flex;align-items:center;gap:10px;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:9999px;transition:background-color .15s ease}:host .SwitchTrack{width:50px;height:24px;border-radius:9999px;background:var(--text-muted);position:relative;padding:0;cursor:pointer;touch-action:pan-y;transition:background-color .15s ease,border-color .15s ease;display:flex;align-items:center;overflow:hidden}:host .SwitchTrackFill{position:absolute;left:0;top:0;bottom:0;width:0%;background:var(--btn-primary-bg);transition:width .12s ease,background-color .15s ease}:host .Switch.Switch--dragging .SwitchTrackFill{transition:none}:host :host(.IsDisable) .SwitchTrack{cursor:not-allowed;background:var(--input-bg-disabled)}:host .SwitchThumb{width:20px;height:20px;margin:2px;border-radius:9999px;background:var(--surface);will-change:transform;transition:transform .12s ease;position:relative;z-index:1}:host .Switch.Switch--dragging .SwitchThumb{transition:none}:host .Switch.Switch--on .SwitchTrack{background:var(--btn-primary-bg)}:host .SwitchTrack:focus-visible{outline:none}:host .SwitchText{font-size:.9rem;color:var(--text-base)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
7067
7067
|
}
|
|
7068
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
7068
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SwitchEntryComponent, decorators: [{
|
|
7069
7069
|
type: Component,
|
|
7070
7070
|
args: [{ selector: 'switch-entry', standalone: true, imports: [CommonModule], providers: [
|
|
7071
7071
|
{
|
|
@@ -7107,10 +7107,10 @@ class PhoneEntryModalService {
|
|
|
7107
7107
|
close() {
|
|
7108
7108
|
this.state.next(null);
|
|
7109
7109
|
}
|
|
7110
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
7111
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
7110
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7111
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryModalService, providedIn: 'root' });
|
|
7112
7112
|
}
|
|
7113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
7113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryModalService, decorators: [{
|
|
7114
7114
|
type: Injectable,
|
|
7115
7115
|
args: [{ providedIn: 'root' }]
|
|
7116
7116
|
}] });
|
|
@@ -7858,8 +7858,8 @@ class PhoneEntryComponent {
|
|
|
7858
7858
|
textarea.focus();
|
|
7859
7859
|
}
|
|
7860
7860
|
}
|
|
7861
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
7862
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
7861
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7862
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PhoneEntryComponent, isStandalone: true, selector: "phone-entry", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", defaultCountry: "defaultCountry", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
7863
7863
|
{
|
|
7864
7864
|
provide: NG_VALUE_ACCESSOR,
|
|
7865
7865
|
useExisting: forwardRef(() => PhoneEntryComponent),
|
|
@@ -7867,7 +7867,7 @@ class PhoneEntryComponent {
|
|
|
7867
7867
|
},
|
|
7868
7868
|
], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\" [class.Error]=\"error\">\n <div class=\"CodePicker\" (click)=\"!isEditingPrefix && togglePicker()\">\n <img \n *ngIf=\"selectedCountry.img && selectedCountry.code !== 'CUSTOM'\" \n class=\"Icon\" \n [src]=\"selectedCountry.img\" \n draggable=\"false\" \n />\n <lucide-icon class=\"Icon\" name=\"globe\" *ngIf=\"!selectedCountry.img || selectedCountry.code === 'CUSTOM'\"></lucide-icon>\n <input\n *ngIf=\"isEditingPrefix\"\n type=\"text\"\n class=\"PrefixInput\"\n [value]=\"customPrefix\"\n (input)=\"onPrefixInput($event)\"\n (focus)=\"onPrefixFocus()\"\n (blur)=\"onPrefixBlur()\"\n (keydown)=\"onPrefixKeyDown($event)\"\n (click)=\"$event.stopPropagation()\"\n placeholder=\"+XX\"\n maxlength=\"5\"\n />\n <span *ngIf=\"!isEditingPrefix\" class=\"PrefixText\" (dblclick)=\"onPrefixFocus(); $event.stopPropagation()\">\n {{ customPrefix || selectedCountry.prefix }}\n </span>\n </div>\n\n <input\n type=\"text\"\n class=\"Input\"\n [class.Disabled]=\"isDisabled\"\n [placeholder]=\"placeholder\"\n [value]=\"textValue\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n (paste)=\"onPaste($event)\"\n inputmode=\"tel\"\n pattern=\"[0-9]*\"\n />\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .CodePicker{height:100%;display:flex;justify-content:center;align-items:center;gap:5px;width:max-content;padding:0 var(--spacing-sm);background-color:var(--input-concats-bg);cursor:pointer;position:relative}:host .Entry .CodePicker .Icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}:host .Entry .CodePicker .PrefixText{-webkit-user-select:none;user-select:none;white-space:nowrap}:host .Entry .CodePicker .PrefixInput{background:transparent;border:none;outline:none;color:var(--input-text);font-size:inherit;font-family:inherit;width:50px;padding:0;text-align:center;caret-color:var(--primary)}:host .Entry .CodePicker .PrefixInput::placeholder{color:var(--input-placeholder);opacity:.6}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 var(--spacing-md);padding-left:var(--spacing-sm);color:var(--input-text);caret-color:var(--primary);caret-shape:block;text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
7869
7869
|
}
|
|
7870
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
7870
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryComponent, decorators: [{
|
|
7871
7871
|
type: Component,
|
|
7872
7872
|
args: [{ selector: 'phone-entry', standalone: true, imports: [
|
|
7873
7873
|
LucideIconComponent, CommonModule
|
|
@@ -7913,10 +7913,10 @@ class ColorPickerModalService {
|
|
|
7913
7913
|
close() {
|
|
7914
7914
|
this.state.next(null);
|
|
7915
7915
|
}
|
|
7916
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
7917
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
7916
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7917
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerModalService, providedIn: 'root' });
|
|
7918
7918
|
}
|
|
7919
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
7919
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerModalService, decorators: [{
|
|
7920
7920
|
type: Injectable,
|
|
7921
7921
|
args: [{ providedIn: 'root' }]
|
|
7922
7922
|
}] });
|
|
@@ -8123,8 +8123,8 @@ class ColorPickerComponent {
|
|
|
8123
8123
|
input.focus();
|
|
8124
8124
|
}
|
|
8125
8125
|
}
|
|
8126
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
8127
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
8126
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8127
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ColorPickerComponent, isStandalone: true, selector: "color-picker", inputs: { label: "label", description: "description", opcional: "opcional", placeholder: "placeholder", mode: "mode", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
8128
8128
|
{
|
|
8129
8129
|
provide: NG_VALUE_ACCESSOR,
|
|
8130
8130
|
useExisting: forwardRef(() => ColorPickerComponent),
|
|
@@ -8132,7 +8132,7 @@ class ColorPickerComponent {
|
|
|
8132
8132
|
},
|
|
8133
8133
|
], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div class=\"Entry\" [class.IsFocus]=\"isFocus\" [class.Error]=\"error\">\n <div\n class=\"Preview\"\n [style.background-color]=\"textValue || null\"\n (click)=\"togglePicker()\"\n role=\"button\"\n tabindex=\"-1\"\n aria-label=\"Abrir selector de color\"\n ></div>\n\n <input\n type=\"text\"\n class=\"Input\"\n [class.Disabled]=\"isDisabled\"\n [placeholder]=\"placeholder\"\n [value]=\"textValue\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n />\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .Entry .Preview{flex-shrink:0;width:25px;height:25px;min-width:25px;border-radius:100px;display:flex;justify-content:center;align-items:center;gap:5px;margin:4px 0 4px 4px;background-color:var(--input-concats-bg);border:1px solid var(--input-border);cursor:pointer;box-sizing:border-box}:host .Entry .Input{flex:1;min-width:0;width:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
8134
8134
|
}
|
|
8135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
8135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerComponent, decorators: [{
|
|
8136
8136
|
type: Component,
|
|
8137
8137
|
args: [{ selector: 'color-picker', standalone: true, imports: [CommonModule], providers: [
|
|
8138
8138
|
{
|
|
@@ -8310,8 +8310,8 @@ class OtpEntryComponent {
|
|
|
8310
8310
|
textarea.focus();
|
|
8311
8311
|
}
|
|
8312
8312
|
}
|
|
8313
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
8314
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
8313
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OtpEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8314
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: OtpEntryComponent, isStandalone: true, selector: "otp-entry", inputs: { length: "length", label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", disabled: "disabled" }, host: { listeners: { "paste": "handlePaste($event)" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
8315
8315
|
{
|
|
8316
8316
|
provide: NG_VALUE_ACCESSOR,
|
|
8317
8317
|
useExisting: forwardRef(() => OtpEntryComponent),
|
|
@@ -8319,7 +8319,7 @@ class OtpEntryComponent {
|
|
|
8319
8319
|
},
|
|
8320
8320
|
], viewQueries: [{ propertyName: "inputs", predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n (click)=\"manualClick($event); $event.stopPropagation()\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n\r\n<div class=\"OtpWrapper\" [class.Disabled]=\"isDisabled\">\r\n <input\r\n *ngFor=\"let i of [].constructor(length); let index = index\"\r\n #inputRef\r\n class=\"OtpInput\"\r\n type=\"text\"\r\n maxlength=\"1\"\r\n [disabled]=\"isDisabled\"\r\n placeholder=\"0\"\r\n (input)=\"onInput($event, index)\"\r\n (keydown)=\"onKeyDown($event, index)\"\r\n (paste)=\"$event.preventDefault(); handlePaste($event)\"\r\n />\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .OtpWrapper{display:flex;gap:4px;width:100%;height:max-content;justify-content:flex-start;align-items:center;cursor:pointer}:host .OtpWrapper .OtpInput{background-color:var(--input-bg);min-height:40px;height:auto;width:max-content;min-width:40px;border:solid 0 var(--input-border);border-radius:var(--radius-lg);text-align:center;font-size:1.3rem;font-weight:500;color:var(--input-text);caret-color:var(--primary);caret-shape:block;resize:vertical}:host .OtpWrapper .OtpInput:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .OtpWrapper .OtpInput:focus{border:none;outline:solid 1px var(--input-focus-border)}:host .OtpWrapper .OtpInput::placeholder{color:var(--input-placeholder)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }] });
|
|
8321
8321
|
}
|
|
8322
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
8322
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OtpEntryComponent, decorators: [{
|
|
8323
8323
|
type: Component,
|
|
8324
8324
|
args: [{ selector: 'otp-entry', standalone: true, imports: [CommonModule, FormsModule], providers: [
|
|
8325
8325
|
{
|
|
@@ -8463,10 +8463,10 @@ class DragScrollDirective {
|
|
|
8463
8463
|
}
|
|
8464
8464
|
}, { passive: false });
|
|
8465
8465
|
}
|
|
8466
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
8467
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
8466
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DragScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
8467
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: DragScrollDirective, isStandalone: true, selector: "[dragScroll]", inputs: { direction: ["dragScroll", "direction"] }, ngImport: i0 });
|
|
8468
8468
|
}
|
|
8469
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
8469
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DragScrollDirective, decorators: [{
|
|
8470
8470
|
type: Directive,
|
|
8471
8471
|
args: [{
|
|
8472
8472
|
selector: '[dragScroll]',
|
|
@@ -9540,8 +9540,8 @@ class RichTextEntryComponent {
|
|
|
9540
9540
|
}
|
|
9541
9541
|
this.cdr.markForCheck();
|
|
9542
9542
|
}
|
|
9543
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
9544
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
9543
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RichTextEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9544
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: RichTextEntryComponent, isStandalone: true, selector: "rich-text-entry", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
9545
9545
|
{
|
|
9546
9546
|
provide: NG_VALUE_ACCESSOR,
|
|
9547
9547
|
useExisting: forwardRef(() => RichTextEntryComponent),
|
|
@@ -9549,7 +9549,7 @@ class RichTextEntryComponent {
|
|
|
9549
9549
|
},
|
|
9550
9550
|
], viewQueries: [{ propertyName: "contentEditable", first: true, predicate: ["contentEditable"], descendants: true }, { propertyName: "imageInput", first: true, predicate: ["imageInput"], descendants: true }, { propertyName: "imageOverlay", first: true, predicate: ["imageOverlay"], descendants: true }, { propertyName: "tableOverlay", first: true, predicate: ["tableOverlay"], descendants: true }], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); $event.stopPropagation()\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event); $event.stopPropagation()\"\n>\n {{ description }}\n</p>\n\n<div class=\"EditorWrapper\" [class.Disabled]=\"isDisabled\">\n <!-- Solo en el navegador: Lexical (en SSR no se crea editor para evitar \"document is not defined\") -->\n <ng-container *ngIf=\"isBrowser\">\n <div class=\"Toolbar\" [class.Disabled]=\"isDisabled\" (click)=\"$event.stopPropagation()\" dragScroll=\"horizontal\">\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--undo\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('undo'); $event.preventDefault()\"\n [disabled]=\"isDisabled || !canUndo\"\n aria-label=\"Deshacer\"\n >\n <lucide-icon name=\"rotate-ccw\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--redo\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('redo'); $event.preventDefault()\"\n [disabled]=\"isDisabled || !canRedo\"\n aria-label=\"Rehacer\"\n >\n <lucide-icon name=\"rotate-cw\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <span class=\"ToolSep\"></span>\n\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--bold\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isBold\"\n (click)=\"exec('bold'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Negrita\"\n >\n <lucide-icon name=\"bold\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--italic\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isItalic\"\n (click)=\"exec('italic'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Cursiva\"\n >\n <lucide-icon name=\"italic\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--underline\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isUnderline\"\n (click)=\"exec('underline'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Subrayado\"\n >\n <lucide-icon name=\"underline\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--strike\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isStrikethrough\"\n (click)=\"exec('strikethrough'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Tachado\"\n >\n <lucide-icon name=\"strikethrough\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <span class=\"ToolSep\"></span>\n\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--h1\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isH1\"\n (click)=\"exec('h1'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"T\u00EDtulo H1\"\n >\n H1\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--link\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isLink\"\n (click)=\"exec('link'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Insertar o quitar link\"\n >\n <lucide-icon name=\"link\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--image\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('image'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Insertar imagen\"\n >\n <lucide-icon name=\"image\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--table\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Insertar tabla\"\n >\n <lucide-icon name=\"table\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <span class=\"ToolSep\"></span>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--ol\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('ol'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Lista numerada\"\n >\n <lucide-icon name=\"list-ordered\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--ul\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('ul'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Lista con vi\u00F1etas\"\n >\n <lucide-icon name=\"list\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <span class=\"ToolSep\"></span>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--align\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isAlignLeft\"\n (click)=\"exec('align-left'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Alinear a la izquierda\"\n >\n <lucide-icon name=\"text-align-start\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--align\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isAlignCenter\"\n (click)=\"exec('align-center'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Centrar\"\n >\n <lucide-icon name=\"text-align-center\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--align\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isAlignRight\"\n (click)=\"exec('align-right'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Alinear a la derecha\"\n >\n <lucide-icon name=\"text-align-end\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"ToolBtn ToolBtn--align\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n [class.Active]=\"isAlignJustify\"\n (click)=\"exec('align-justify'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Justificar\"\n >\n <lucide-icon name=\"text-align-justify\" aria-hidden=\"true\"></lucide-icon>\n </button>\n </div>\n <input #imageInput type=\"file\" accept=\"image/*\" hidden (change)=\"onImageSelected($event)\" />\n\n <div\n class=\"LexicalRoot\"\n [class.Disabled]=\"isDisabled\"\n (click)=\"manualClick($event)\"\n >\n <!-- Overlays flotantes (NO se guardan en el HTML del editor) -->\n <div\n *ngIf=\"imageOverlayVisible\"\n #imageOverlay\n class=\"FloatingOverlay FloatingOverlay--image\"\n [style.top.px]=\"imageOverlayTop\"\n [style.left.px]=\"imageOverlayLeft\"\n (pointerdown)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation()\"\n >\n <button\n type=\"button\"\n class=\"FloatingBtn\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('image-move-up'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Mover imagen arriba\"\n >\n <lucide-icon name=\"arrow-up\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <button\n type=\"button\"\n class=\"FloatingBtn\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('image-move-down'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n aria-label=\"Mover imagen abajo\"\n >\n <lucide-icon name=\"arrow-down\" aria-hidden=\"true\"></lucide-icon>\n </button>\n <span class=\"FloatingHandle\" (pointerdown)=\"onImageResizeStart($event)\" aria-label=\"Resize imagen\"></span>\n </div>\n\n <div\n *ngIf=\"tableOverlayVisible\"\n #tableOverlay\n class=\"FloatingOverlay FloatingOverlay--table\"\n [style.top.px]=\"tableOverlayTop\"\n [style.left.px]=\"tableOverlayLeft\"\n [style.maxHeight.px]=\"tableOverlayMaxHeight\"\n (pointerdown)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation()\"\n >\n <div class=\"ContextMenu\">\n <div class=\"ContextMenuTitle\">Tabla</div>\n\n <div class=\"ContextMenuSection\">\n <div class=\"ContextMenuLabel\">Insertar</div>\n <button\n type=\"button\"\n class=\"ContextMenuItem\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-row-before'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon name=\"arrow-up\" aria-hidden=\"true\"></lucide-icon>\n <span>Fila arriba</span>\n </button>\n <button\n type=\"button\"\n class=\"ContextMenuItem\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-row-after'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon name=\"arrow-down\" aria-hidden=\"true\"></lucide-icon>\n <span>Fila abajo</span>\n </button>\n <button\n type=\"button\"\n class=\"ContextMenuItem\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-col-before'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon name=\"arrow-left\" aria-hidden=\"true\"></lucide-icon>\n <span>Columna izquierda</span>\n </button>\n <button\n type=\"button\"\n class=\"ContextMenuItem\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-col-after'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon name=\"arrow-right\" aria-hidden=\"true\"></lucide-icon>\n <span>Columna derecha</span>\n </button>\n </div>\n\n <div class=\"ContextMenuDivider\"></div>\n\n <div class=\"ContextMenuSection\">\n <div class=\"ContextMenuLabel\">Eliminar</div>\n <button\n type=\"button\"\n class=\"ContextMenuItem ContextMenuItem--danger\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-row-delete'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon name=\"minus\" aria-hidden=\"true\"></lucide-icon>\n <span>Eliminar fila</span>\n </button>\n <button\n type=\"button\"\n class=\"ContextMenuItem ContextMenuItem--danger\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-col-delete'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon name=\"minus\" aria-hidden=\"true\"></lucide-icon>\n <span>Eliminar columna</span>\n </button>\n <button\n type=\"button\"\n class=\"ContextMenuItem ContextMenuItem--danger\"\n (mousedown)=\"onToolbarMouseDown($event)\"\n (click)=\"exec('table-delete'); $event.preventDefault()\"\n [disabled]=\"isDisabled\"\n >\n <lucide-icon class=\"Icon--trash\" name=\"trash\" aria-hidden=\"true\"></lucide-icon>\n <span>Eliminar tabla</span>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"LexicalPlaceholder\" *ngIf=\"showPlaceholder\">{{ placeholder }}</div>\n <div\n #contentEditable\n class=\"LexicalContent\"\n contenteditable=\"true\"\n spellcheck=\"true\"\n (blur)=\"onEditorBlur($event)\"\n (input)=\"onInput()\"\n ></div>\n </div>\n </ng-container>\n\n <!-- En SSR: placeholder para mantener el layout (el campo no afecta SEO) -->\n <div *ngIf=\"!isBrowser\" class=\"EditorPlaceholder\" [class.Disabled]=\"isDisabled\">\n <span class=\"EditorPlaceholderText\">Editor de texto enriquecido (carga en el navegador)</span>\n </div>\n</div>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}:host .EditorWrapper{min-height:150px;border-radius:var(--radius-md);border:solid 1px transparent;background-color:var(--input-bg);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:0;padding:4px;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}:host .EditorWrapper:focus-within{border:solid 1px var(--input-border-focus)}:host .EditorWrapper.Disabled{pointer-events:none;opacity:.5;-webkit-user-select:none!important;user-select:none!important}:host .EditorWrapper .Toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:0;padding-bottom:8px;width:100%;overflow:hidden;overflow-x:auto;-webkit-user-select:none;user-select:none}:host .EditorWrapper .Toolbar.Disabled{opacity:.7}:host .EditorWrapper .Toolbar .ToolSep{width:1px;height:20px;background:var(--input-border);margin:0 4px}:host .EditorWrapper .Toolbar .ToolBtn{border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-base);padding:6px 10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:36px;transition:background-color .12s ease,transform .12s ease,box-shadow .12s ease,color .12s ease}:host .EditorWrapper .Toolbar .ToolBtn:hover{background-color:var(--surface);transform:translateY(-1px);box-shadow:0 6px 14px var(--shadow-color)}:host .EditorWrapper .Toolbar .ToolBtn.Active{background:linear-gradient(135deg,var(--primary-soft, var(--info-bg)),var(--info-bg));color:var(--text-primary);box-shadow:0 6px 14px var(--shadow-color)}:host .EditorWrapper .Toolbar .ToolBtn:disabled{cursor:not-allowed;opacity:.6}:host .EditorWrapper .Toolbar .ToolBtn i,:host .EditorWrapper .Toolbar .ToolBtn lucide-icon{font-size:.95rem;line-height:1}:host .EditorWrapper .Toolbar .ToolBtn i lucide-icon .lucide-icon-svg,:host .EditorWrapper .Toolbar .ToolBtn lucide-icon lucide-icon .lucide-icon-svg{width:.95rem;height:.95rem}:host .EditorWrapper .Toolbar .ToolBtn--undo{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--undo:hover{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--undo.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 22%,transparent),color-mix(in srgb,var(--info-text, var(--primary)) 16%,transparent));color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--redo{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--redo:hover{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--redo.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 22%,transparent),color-mix(in srgb,var(--secondary, var(--primary)) 16%,transparent));color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--bold{color:var(--secondary, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--bold:hover{color:var(--secondary, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--bold.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--secondary, var(--primary)) 22%,transparent),color-mix(in srgb,var(--primary) 16%,transparent));color:var(--secondary, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--italic{color:var(--accent, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--italic:hover{color:var(--accent, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--italic.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--accent, var(--primary)) 22%,transparent),color-mix(in srgb,var(--secondary, var(--primary)) 16%,transparent));color:var(--accent, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--underline{color:var(--info-text, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--underline:hover{color:var(--info-text, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--underline.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--info-text, var(--primary)) 22%,transparent),color-mix(in srgb,var(--primary) 16%,transparent));color:var(--info-text, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--strike{color:var(--error-text)}:host .EditorWrapper .Toolbar .ToolBtn--strike:hover{color:var(--error-text)}:host .EditorWrapper .Toolbar .ToolBtn--strike.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--error-text) 22%,transparent),color-mix(in srgb,var(--warning-text) 16%,transparent));color:var(--error-text)}:host .EditorWrapper .Toolbar .ToolBtn--h1{color:var(--warning-text)}:host .EditorWrapper .Toolbar .ToolBtn--h1:hover{color:var(--warning-text)}:host .EditorWrapper .Toolbar .ToolBtn--h1.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--warning-text) 22%,transparent),color-mix(in srgb,var(--warning-text) 16%,transparent));color:var(--warning-text)}:host .EditorWrapper .Toolbar .ToolBtn--link{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--link:hover{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--link.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 22%,transparent),color-mix(in srgb,var(--info-text, var(--primary)) 16%,transparent));color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--image{color:var(--success-text)}:host .EditorWrapper .Toolbar .ToolBtn--image:hover{color:var(--success-text)}:host .EditorWrapper .Toolbar .ToolBtn--image.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--success-text) 22%,transparent),color-mix(in srgb,var(--info-text, var(--primary)) 16%,transparent));color:var(--success-text)}:host .EditorWrapper .Toolbar .ToolBtn--table{color:var(--warning-text)}:host .EditorWrapper .Toolbar .ToolBtn--table:hover{color:var(--warning-text)}:host .EditorWrapper .Toolbar .ToolBtn--table.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--warning-text) 22%,transparent),color-mix(in srgb,var(--warning-text) 16%,transparent));color:var(--warning-text)}:host .EditorWrapper .Toolbar .ToolBtn--ol{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--ol:hover{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--ol.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 22%,transparent),color-mix(in srgb,var(--secondary, var(--primary)) 16%,transparent));color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--ul{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--ul:hover{color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--ul.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 22%,transparent),color-mix(in srgb,var(--secondary, var(--primary)) 16%,transparent));color:var(--primary)}:host .EditorWrapper .Toolbar .ToolBtn--align{color:var(--info-text, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--align:hover{color:var(--info-text, var(--primary))}:host .EditorWrapper .Toolbar .ToolBtn--align.Active{background:linear-gradient(135deg,color-mix(in srgb,var(--info-text, var(--primary)) 22%,transparent),color-mix(in srgb,var(--primary) 16%,transparent));color:var(--info-text, var(--primary))}:host .EditorWrapper .Toolbar .ToolLabel{font-weight:700}:host .EditorWrapper .EditorPlaceholder{width:100%;min-height:140px;padding:.75rem 1rem;border-radius:var(--radius-lg);background:transparent;display:flex;align-items:center;justify-content:center}:host .EditorWrapper .EditorPlaceholder.Disabled{opacity:.6}:host .EditorWrapper .EditorPlaceholder .EditorPlaceholderText{font-size:.9rem;color:var(--text-muted)}:host .EditorWrapper .LexicalRoot{position:relative;border-radius:var(--radius-lg);background-color:var(--surface);min-height:200px;overflow:hidden}:host .EditorWrapper .LexicalRoot.Disabled{opacity:.95}:host .EditorWrapper .LexicalRoot .LexicalPlaceholder{position:absolute;top:12px;left:16px;right:16px;color:var(--text-muted);pointer-events:none;font-size:1rem}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent{background-color:transparent;min-height:200px;outline:none;font-size:1rem;line-height:1.5;padding:.75rem 1rem;color:var(--text-base);font-family:Inter,sans-serif;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;pointer-events:auto!important;cursor:text!important}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-paragraph{margin:.5em 0;font-size:1rem}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h1,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h2,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h3,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h4,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h5,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h6{font-weight:700;display:block}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h1{font-size:1.4rem!important;text-transform:uppercase}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h2{font-size:1.5rem!important}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h3{font-size:1.5rem}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h4{font-size:1.25rem}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h5{font-size:1.125rem}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-heading-h6{font-size:1rem}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-text-bold{font-weight:700}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-text-italic{font-style:italic}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-text-underline{text-decoration:underline;text-underline-offset:2px}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-text-strikethrough{text-decoration:line-through}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-text-underlineStrikethrough{text-decoration:underline line-through;text-underline-offset:2px}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-list-ol,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-list-ul{margin:.5em 0 .5em 1.5em;padding-left:1.25rem;list-style-position:outside}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-list-ol{list-style-type:decimal}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-list-ul{list-style-type:disc}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-listitem{margin:.25em 0}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-link{color:var(--text-link);text-decoration:underline}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-image{display:inline-block;position:relative;max-width:100%;border-radius:var(--radius-lg);outline:1px solid var(--shadow-color);background:var(--surface);padding:6px;margin:.5rem 0}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-image img{display:block;max-width:100%;height:auto;border-radius:var(--radius-md)}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-table{border-collapse:collapse;width:100%;margin:.75rem 0;table-layout:fixed}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-table-cell,:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-table-cell-header{border:1px solid var(--border);padding:.5rem;vertical-align:top}:host .EditorWrapper .LexicalRoot ::ng-deep .LexicalContent .editor-table-cell-header{background:var(--surface-2, var(--shadow-color));font-weight:700}:host .EditorWrapper .LexicalRoot .FloatingOverlay{position:absolute;z-index:50;display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);pointer-events:auto;overflow:hidden;overflow-y:auto}:host .EditorWrapper .LexicalRoot .FloatingBtn{border:none;border-radius:var(--radius-lg);background:transparent;cursor:pointer;padding:6px 10px;color:var(--primary);transition:background-color .12s ease,transform .12s ease}:host .EditorWrapper .LexicalRoot .FloatingBtn:hover{background:var(--primary-soft, var(--info-bg));transform:translateY(-1px)}:host .EditorWrapper .LexicalRoot .FloatingBtn:disabled{opacity:.6;cursor:not-allowed}:host .EditorWrapper .LexicalRoot .FloatingBtn i,:host .EditorWrapper .LexicalRoot .FloatingBtn lucide-icon{font-size:.95rem}:host .EditorWrapper .LexicalRoot .FloatingBtn i lucide-icon .lucide-icon-svg,:host .EditorWrapper .LexicalRoot .FloatingBtn lucide-icon lucide-icon .lucide-icon-svg{width:.95rem;height:.95rem}:host .EditorWrapper .LexicalRoot .FloatingHandle{width:14px;height:14px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary),var(--info-text, var(--primary)));box-shadow:0 6px 16px var(--shadow-color);border:2px solid var(--xu-on-fill, var(--surface));cursor:nwse-resize;-webkit-user-select:none;user-select:none;touch-action:none}:host .EditorWrapper .LexicalRoot .ContextMenu{display:flex;flex-direction:column;gap:8px;min-width:220px;padding:6px;max-height:100%;overflow-y:auto;overscroll-behavior:contain}:host .EditorWrapper .LexicalRoot .ContextMenuTitle{font-weight:800;color:var(--text-base)}:host .EditorWrapper .LexicalRoot .ContextMenuSection{display:flex;flex-direction:column}:host .EditorWrapper .LexicalRoot .ContextMenuLabel{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:0 2px}:host .EditorWrapper .LexicalRoot .ContextMenuDivider{height:1px;background:var(--shadow-color);margin:2px}:host .EditorWrapper .LexicalRoot .ContextMenuItem{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;border-radius:var(--radius-lg);padding:2px;cursor:pointer;color:var(--text-base)}:host .EditorWrapper .LexicalRoot .ContextMenuItem:hover{background:var(--primary-soft, var(--info-bg))}:host .EditorWrapper .LexicalRoot .ContextMenuItem:disabled{opacity:.55;cursor:not-allowed}:host .EditorWrapper .LexicalRoot .ContextMenuItem i{width:18px;text-align:center;color:var(--primary)}:host .EditorWrapper .LexicalRoot .ContextMenuItem span{font-weight:400}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger:hover{background:var(--error-bg)}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger i{color:var(--error-text)}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger *{user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger img{user-select:none!important;-webkit-user-select:none!important;cursor:default!important}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h1,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h2,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h3,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h4,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h5,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h6{margin:.5em 0 .25em;font-weight:700;line-height:1.2;display:block}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h1{font-size:2rem!important;line-height:1.15!important;text-transform:uppercase}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h2{font-size:1.5rem!important}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h3{font-size:1.5rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h4{font-size:1.25rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h5{font-size:1.125rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger h6{font-size:1rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger p{margin:.5em 0;font-size:1rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger ul,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger ol{margin:.5em 0 .5em 1.5em;padding-left:1.25rem;list-style-type:initial;list-style-position:outside}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger li{margin:.25em 0}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger blockquote{margin:1em 0;padding-left:1rem;border-left:4px solid var(--border);font-style:italic;color:var(--text-muted)}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger pre{background:var(--surface-2, var(--surface));padding:1rem;border-radius:var(--radius-md);font-family:Courier New,monospace;overflow-x:auto;font-size:.875rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger code{font-family:Courier New,monospace;background:var(--surface-2, var(--surface));padding:.2em .4em;border-radius:var(--radius-sm);font-size:.875rem}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger a{color:var(--text-link);text-decoration:underline}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger strong{font-weight:600}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger em{font-style:italic}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger u{text-decoration:underline;text-underline-offset:2px}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger span[style*=\"text-decoration: underline\"],:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger span[style*=\"text-decoration:underline\"]{text-decoration:underline!important;text-underline-offset:2px}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger span[style*=\"text-decoration: line-through\"],:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger span[style*=\"text-decoration:line-through\"]{text-decoration:line-through!important}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger s,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger strike,:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger del{text-decoration:line-through;text-decoration-thickness:from-font}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger img{max-width:100%;height:auto}:host .EditorWrapper .LexicalRoot .ContextMenuItem--danger hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: DragScrollDirective, selector: "[dragScroll]", inputs: ["dragScroll"] }] });
|
|
9551
9551
|
}
|
|
9552
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
9552
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RichTextEntryComponent, decorators: [{
|
|
9553
9553
|
type: Component,
|
|
9554
9554
|
args: [{ selector: 'rich-text-entry', standalone: true, imports: [
|
|
9555
9555
|
LucideIconComponent, CommonModule, DragScrollDirective
|
|
@@ -9822,8 +9822,8 @@ class SignatureEntryComponent {
|
|
|
9822
9822
|
});
|
|
9823
9823
|
addListener('touchend', () => end());
|
|
9824
9824
|
}
|
|
9825
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
9826
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
9825
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SignatureEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9826
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SignatureEntryComponent, isStandalone: true, selector: "signature-entry", inputs: { label: "label", opcional: "opcional", description: "description", clearText: "clearText", quality: "quality", exportWidth: "exportWidth", disabled: "disabled" }, host: { properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
9827
9827
|
{
|
|
9828
9828
|
provide: NG_VALUE_ACCESSOR,
|
|
9829
9829
|
useExisting: forwardRef(() => SignatureEntryComponent),
|
|
@@ -9831,7 +9831,7 @@ class SignatureEntryComponent {
|
|
|
9831
9831
|
},
|
|
9832
9832
|
], viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["canvas"], descendants: true }], ngImport: i0, template: "<p\r\n *ngIf=\"label\"\r\n class=\"Label\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\r\n</p>\r\n\r\n<p\r\n *ngIf=\"description\"\r\n class=\"Description\"\r\n [class.Disabled]=\"isDisabled\"\r\n>\r\n {{ description }}\r\n</p>\r\n\r\n<div class=\"SignatureBox\">\r\n <canvas #canvas width=\"400\" height=\"150\" class=\"SignatureCanvas\"></canvas>\r\n <button class=\"Clear\" type=\"button\" (click)=\"clearCanvas()\"><lucide-icon name=\"brush-cleaning\"></lucide-icon> limpiar firma</button>\r\n</div>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host .SignatureBox{width:max-content;display:flex;flex-direction:column;gap:5px;align-items:flex-start}:host .SignatureBox .SignatureCanvas{width:180px;max-width:180px;height:101.25px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);touch-action:none}:host .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-neutral-text);border-color:var(--btn-neutral-border);background-color:var(--btn-neutral-bg);cursor:pointer;width:100%}:host .Clear:hover{color:var(--btn-neutral-text-hover);border-color:var(--btn-neutral-border-hover);background-color:var(--btn-neutral-bg-hover)}:host .Clear:active{color:var(--btn-neutral-text-active);border-color:var(--btn-neutral-border-active);background-color:var(--btn-neutral-bg-active)}:host .Clear:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
9833
9833
|
}
|
|
9834
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
9834
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SignatureEntryComponent, decorators: [{
|
|
9835
9835
|
type: Component,
|
|
9836
9836
|
args: [{ selector: 'signature-entry', standalone: true, imports: [
|
|
9837
9837
|
LucideIconComponent, CommonModule
|
|
@@ -9874,10 +9874,10 @@ class FileSizePipe {
|
|
|
9874
9874
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
9875
9875
|
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
|
|
9876
9876
|
}
|
|
9877
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
9878
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.
|
|
9877
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FileSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
9878
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: FileSizePipe, isStandalone: true, name: "fileSize" });
|
|
9879
9879
|
}
|
|
9880
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
9880
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FileSizePipe, decorators: [{
|
|
9881
9881
|
type: Pipe,
|
|
9882
9882
|
args: [{
|
|
9883
9883
|
name: 'fileSize',
|
|
@@ -11034,8 +11034,8 @@ class MediaEntryComponent {
|
|
|
11034
11034
|
}
|
|
11035
11035
|
return map[type] || 'file-icons/file.png';
|
|
11036
11036
|
}
|
|
11037
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
11038
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
11037
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MediaEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11038
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MediaEntryComponent, isStandalone: true, selector: "media-entry", inputs: { label: "label", opcional: "opcional", description: "description", placeholder: "placeholder", mode: "mode", display: "display", multiple: "multiple", maxItems: "maxItems", maxSize: "maxSize", types: "types", extensions: "extensions", endpointUpload: "endpointUpload", chunkSizeMB: "chunkSizeMB", sortable: "sortable", primaryTag: "primaryTag", previewEndpoint: "previewEndpoint", imageMaxWidth: "imageMaxWidth", imageMaxHeight: "imageMaxHeight", disabled: "disabled" }, host: { attributes: { "ngSkipHydration": "" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, providers: [
|
|
11039
11039
|
{
|
|
11040
11040
|
provide: NG_VALUE_ACCESSOR,
|
|
11041
11041
|
useExisting: forwardRef(() => MediaEntryComponent),
|
|
@@ -11043,7 +11043,7 @@ class MediaEntryComponent {
|
|
|
11043
11043
|
},
|
|
11044
11044
|
], viewQueries: [{ propertyName: "uploadFormRef", first: true, predicate: ["uploadForm"], descendants: true }, { propertyName: "sortableContainer", first: true, predicate: ["sortableContainer"], descendants: true }], ngImport: i0, template: "<p\n *ngIf=\"label\"\n class=\"Label\"\n [class.Disabled]=\"isDisabled\"\n>\n {{ label }} <span class=\"Opcional\" *ngIf=\"opcional\">(opcional)</span>\n</p>\n\n<p\n *ngIf=\"description\"\n class=\"Description\"\n [class.Disabled]=\"isDisabled\"\n>\n {{ description }}<span *ngIf=\"allowedTypesText\"> \u00B7 Tipos permitidos: {{ allowedTypesText }}</span>\n</p>\n\n<!-- ESTRUCTURA UNIFICADA -->\n<ng-container>\n <!-- Upload Box -->\n <form\n #uploadForm\n (change)=\"onFileInput($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\"\n >\n <div\n class=\"UploadBox\"\n [class.Disabled]=\"loading\"\n [class.Dragging]=\"isDragging\"\n [class.Single]=\"!multiple\"\n [class.Multiple]=\"multiple\"\n >\n <label class=\"DropLabel\">\n <input type=\"file\" [multiple]=\"multiple\" [accept]=\"effectiveTypes.join(',')\" hidden />\n <div class=\"Texts\">\n <lucide-icon class=\"UploadIcon\" name=\"cloud-upload\"></lucide-icon>\n <span class=\"Insentivo\">\n {{\n isDragging\n ? (isImageMode ? \"\u00A1Suelta las im\u00E1genes aqu\u00ED!\" : \"\u00A1Suelta los archivos aqu\u00ED!\")\n : multiple\n ? (isImageMode ? \"Arrastra varias im\u00E1genes aqu\u00ED\" : \"Arrastra varios archivos aqu\u00ED\")\n : (isImageMode ? \"Arrastra una imagen aqu\u00ED\" : \"Arrastra un archivo aqu\u00ED\")\n }}\n </span>\n <span class=\"Or\">O</span>\n <span class=\"Clicked\">haz clic para seleccionar</span>\n <span class=\"Info\">\n M\u00E1x: {{ maxItems }} item{{ maxItems > 1 ? \"s\" : \"\" }}<span *ngIf=\"maxSize\"> \u00B7 {{ (maxSize * 1024 * 1024) | fileSize }}</span>\n </span>\n </div>\n </label>\n </div>\n </form>\n\n <div *ngIf=\"statusMessage\" class=\"StatusMessage\">\n {{ statusMessage }}\n </div>\n \n <!-- Lista de items en proceso -->\n <div \n class=\"MediaSection\" \n *ngIf=\"pending.length\"\n [class.CardsDisplay]=\"isCardsDisplay\"\n >\n <h4 class=\"Title\">\n <span>Pendientes</span>\n </h4>\n <ul \n class=\"MediaList\"\n [class.CardsDisplay]=\"isCardsDisplay\"\n [class.ItemsDisplay]=\"isItemsDisplay\"\n >\n <li \n class=\"MediaItem\" \n *ngFor=\"let item of pending\"\n [class.FileItem]=\"isFileMode\"\n [class.ImageItem]=\"isImageMode\"\n >\n <div class=\"Thumbnail\" *ngIf=\"isFileMode\">\n <img\n [src]=\"getFileIcon(item.type)\"\n [alt]=\"item.name\"\n class=\"FileIcon\"\n \n />\n </div>\n <div class=\"FileInfo\">\n <span class=\"Name\">{{ item.name }}</span>\n <span class=\"Size\">{{ item.size | fileSize }}</span>\n <div class=\"Progress\">\n <div class=\"Bar\" [style.width.%]=\"item.progress\"></div>\n </div>\n <span class=\"ProgressLabel\">{{ item.phase === 'processing' ? 'Procesando...' : (item.progress + '%') }}</span>\n </div>\n </li>\n </ul>\n </div>\n\n <!-- Lista de items subidos correctamente -->\n <div \n class=\"MediaSection\" \n *ngIf=\"uploaded.length\"\n [class.CardsDisplay]=\"isCardsDisplay\"\n >\n <h4 class=\"Title\">\n <span>{{ isImageMode ? \"Im\u00E1genes Cargadas\" : \"Archivos Cargados\" }}</span>\n <button type=\"button\" (click)=\"clearAllUploaded()\" class=\"ClearAll\">\n <lucide-icon name=\"brush-cleaning\"></lucide-icon>\n </button>\n </h4>\n\n <ul \n class=\"MediaList\"\n [class.CardsDisplay]=\"isCardsDisplay\"\n [class.ItemsDisplay]=\"isItemsDisplay\"\n #sortableContainer\n >\n <li\n class=\"MediaItem MediaItemDraggable\"\n [class.FileItem]=\"isFileMode\"\n [class.ImageItem]=\"isImageMode\"\n *ngFor=\"let item of uploaded; let i = index\"\n [attr.data-index]=\"i\"\n >\n\n <div class=\"Thumbnail\">\n <img\n *ngIf=\"isImageMode\"\n [src]=\"getPreviewUrl(item.urlEncrypted || item.url) || undefined\"\n alt=\"Imagen cargada\"\n draggable=\"true\"\n />\n <img\n *ngIf=\"isFileMode\"\n [src]=\"getFileIcon(item.type)\"\n [alt]=\"item.name\"\n class=\"FileIcon\"\n \n />\n </div>\n\n <div class=\"FileInfo\">\n <span class=\"Name\">{{ item.name }}</span>\n <p class=\"Tags\">\n <span class=\"Size\">{{ item.size | fileSize }}</span>\n </p>\n <span *ngIf=\"isPrimary(i)\" class=\"PrimaryTag\">\n {{ isImageMode ? \"Primaria\" : \"Primario\" }}\n </span>\n </div>\n <!-- Preview: MediaViewerService (singleton); UI global en media-viewer-service -->\n <div class=\"Actions\">\n <div\n class=\"Open\"\n type=\"button\"\n (click)=\"openGeneralMediaPreview(item)\"\n title=\"Abrir preview\"\n >\n <lucide-icon class=\"Icon--eye\" name=\"eye\"></lucide-icon>\n </div>\n <div class=\"Cancel\" type=\"button\" (click)=\"removeUploaded(i)\" title=\"Eliminar\">\n <lucide-icon class=\"Icon--trash\" name=\"trash\"></lucide-icon>\n </div>\n </div>\n </li>\n </ul>\n </div>\n\n <!-- Lista de errores -->\n <div \n class=\"MediaSection Error\" \n *ngIf=\"failed.length\"\n [class.CardsDisplay]=\"isCardsDisplay\"\n >\n <h4 class=\"Title\">\n <span>Errores</span>\n <button type=\"button\" (click)=\"clearAllFailed()\" class=\"ClearAll\">\n <lucide-icon name=\"brush-cleaning\"></lucide-icon>\n </button>\n </h4>\n <ul \n class=\"MediaList\"\n [class.CardsDisplay]=\"isCardsDisplay\"\n [class.ItemsDisplay]=\"isItemsDisplay\"\n >\n <li \n class=\"MediaItem\"\n [class.FileItem]=\"isFileMode\"\n [class.ImageItem]=\"isImageMode\"\n *ngFor=\"let item of failed; let i = index\"\n >\n <div class=\"FileInfo\">\n <span class=\"Name\">{{ item.name }}</span>\n <span class=\"ErrorMsg\">{{ item.error }}</span>\n </div>\n <div class=\"Cancel\" type=\"button\" (click)=\"removeFailed(i)\">\n <lucide-icon class=\"Icon--trash\" name=\"trash\"></lucide-icon>\n </div>\n </li>\n </ul>\n </div>\n</ng-container>\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host form{width:100%;height:max-content;-webkit-user-select:none;user-select:none}:host form.InCardMode{flex-grow:1;height:max-content;overflow:hidden}:host form .UploadBox{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:var(--surface-2);padding:12px;border-radius:var(--radius-lg);border:dashed 1px var(--input-border)}:host form .UploadBox[class~=Disabled]{filter:saturate(0%)}:host form .UploadBox .DropLabel{display:flex;width:100%;height:100%;gap:5px;cursor:pointer}:host form .UploadBox .DropLabel .UploadIcon{font-size:2.5rem;color:var(--input-border);margin-bottom:8px}:host form .UploadBox .DropLabel .UploadIcon lucide-icon .lucide-icon-svg{width:2.5rem;height:2.5rem}:host form .UploadBox .DropLabel .Texts{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}:host form .UploadBox .DropLabel .Texts .Insentivo{text-align:center}@media (width <= 768px){:host form .UploadBox .DropLabel .Texts .Insentivo{display:none}}:host form .UploadBox .DropLabel .Texts .Or{font-size:.8rem}@media (width <= 768px){:host form .UploadBox .DropLabel .Texts .Or{display:none}}:host form .UploadBox .DropLabel .Texts .Clicked{width:max-content;background-color:var(--input-bg-drag);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-md);cursor:pointer}:host form .UploadBox .DropLabel .Texts .Info{font-size:.9rem;text-align:center;max-width:200px;margin-top:8px}:host form .UploadBox .Dragging{border:dashed 2px var(--input-border-focus);background-color:var(--input-bg-drag)}:host form .UploadBox .Dragging .DropLabel .Texts .UploadIcon{color:var(--input-border-focus)}:host .StatusMessage{position:relative;background:var(--error-bg);font-size:.8rem;border:1px solid var(--error-border);color:var(--error-text);padding:8px 12px;border-radius:var(--radius-lg);margin-top:5px;animation:fade-in-out .3s ease}@keyframes fade-in-out{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}:host .MediaSection{display:flex;flex-direction:column;width:100%;height:max-content;border:solid 1px var(--border);margin-top:4px;border-radius:var(--radius-lg);padding:8px}:host .MediaSection .Title{width:100%;display:flex;align-items:center;gap:10px;justify-content:space-between;padding-bottom:4px;border-bottom:solid 1px var(--border);overflow:hidden}:host .MediaSection .Title .ClearAll{width:max-content;height:max-content;font-size:1.3rem;color:var(--red);text-decoration:underline;cursor:pointer}:host .MediaSection .Title .ClearAll i{pointer-events:none}:host .MediaList{display:flex;flex-direction:column;gap:5px;margin-top:8px}:host .MediaList .MediaItem{width:100%;height:max-content;padding:var(--spacing-xs) 8px;display:flex;align-items:center;gap:5px;border-radius:var(--radius-md);position:relative}:host .MediaList .MediaItem[class~=ActiveDragItem]{background-color:var(--input-bg-drag)}:host .MediaList .MediaItem .Thumbnail{display:flex;width:60px;min-width:60px;height:60px;overflow:hidden;border-radius:var(--radius-md);cursor:default}:host .MediaList .MediaItem .Thumbnail.Clickable{cursor:pointer}:host .MediaList .MediaItem .Thumbnail img{width:100%;height:100%;object-fit:contain}:host .MediaList .MediaItem .FileInfo{display:flex;flex-direction:column;width:100%;overflow:hidden}:host .MediaList .MediaItem .FileInfo .PrimaryTag{width:max-content;padding:0 4px;border-radius:30px;font-size:.7rem;background-color:var(--success-bg);color:var(--success-text)}:host .MediaList .MediaItem .FileInfo .Name{width:100%;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList .MediaItem .FileInfo .Size{width:max-content;word-break:break-all;font-size:.8rem;font-family:monospace}:host .MediaList .MediaItem .FileInfo .Tags{display:flex;align-items:center;gap:5px}:host .MediaList .MediaItem .FileInfo .Tags .Size{width:max-content;word-break:break-all;font-size:.8rem;font-family:monospace}:host .MediaList .MediaItem .FileInfo .ErrorMsg{width:auto;font-size:.8rem;color:var(--red);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList .MediaItem .FileInfo .Progress{width:100%;height:15px;background-color:var(--surface-2)}:host .MediaList .MediaItem .FileInfo .Progress .Bar{background-color:var(--primary);height:100%}:host .MediaList .MediaItem .Actions{display:flex;width:max-content;justify-content:flex-end;gap:5px;margin-top:auto;z-index:10}:host .MediaList .MediaItem .Open,:host .MediaList .MediaItem .Cancel{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem}:host .MediaList .MediaItem .Open{background-color:var(--success-bg);color:var(--success-text)}:host .MediaList .MediaItem .Cancel{background-color:var(--error-bg);color:var(--error-text)}:host .MediaList.ItemsDisplay{display:flex;flex-direction:column;gap:5px;margin-top:8px}:host .MediaList.ItemsDisplay .MediaItem{width:100%;height:max-content;padding:var(--spacing-xs) 8px;display:flex;align-items:center;gap:5px;border-radius:var(--radius-md)}:host .MediaList.ItemsDisplay .MediaItem .Thumbnail{display:flex;width:35px;min-width:35px;height:35px;overflow:hidden;border-radius:var(--radius-md)}:host .MediaList.ItemsDisplay .MediaItem .FileInfo{display:flex;flex-direction:column;width:100%;overflow:hidden}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .Name{width:100%;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .Tags{display:flex;align-items:center;gap:5px}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .Tags .Size{width:max-content;word-break:break-all;font-size:.8rem;font-family:monospace}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .ErrorMsg{width:auto;font-size:.8rem;color:var(--red);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .Progress{width:100%;height:15px;background-color:var(--surface-2)}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .Progress .Bar{background-color:var(--primary);height:100%}:host .MediaList.ItemsDisplay .MediaItem .FileInfo .ProgressLabel{font-size:.8rem;color:var(--text-muted)}:host .MediaList.ItemsDisplay .MediaItem .Cancel{margin-top:auto;margin-left:auto}:host .MediaList.CardsDisplay{display:grid;gap:5px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));grid-auto-rows:max-content;margin-top:8px}:host .MediaList.CardsDisplay .MediaItem{position:relative;width:100%;height:100%;padding:var(--spacing-xs) 8px;display:flex;flex-direction:column;gap:5px;border-radius:var(--radius-md);background-color:var(--surface-2);box-shadow:var(--shadow-md);overflow:hidden}:host .MediaList.CardsDisplay .MediaItem .Thumbnail{display:flex;width:100%;height:60px;overflow:hidden;border-radius:var(--radius-md)}:host .MediaList.CardsDisplay .MediaItem .FileInfo{display:flex;flex-direction:column;width:100%;overflow:hidden}:host .MediaList.CardsDisplay .MediaItem .FileInfo .Name{width:100%;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList.CardsDisplay .MediaItem .FileInfo .Tags{display:flex;flex-direction:column;gap:5px}:host .MediaList.CardsDisplay .MediaItem .FileInfo .Tags .Size{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList.CardsDisplay .MediaItem .FileInfo .ErrorMsg{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .MediaList.CardsDisplay .MediaItem .FileInfo .Progress{width:100%}:host .MediaList.CardsDisplay .MediaItem .Actions{display:flex;width:100%;justify-content:center;gap:5px;z-index:10}:host .MediaList.CardsDisplay .MediaItem .Open,:host .MediaList.CardsDisplay .MediaItem .Cancel{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem}:host .MediaList.CardsDisplay .MediaItem .Open{background-color:var(--success-bg);color:var(--success-text)}:host .MediaList.CardsDisplay .MediaItem .Cancel{background-color:var(--error-bg);color:var(--error-text)}.ExpandImage{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--overlay-scrim-strong, var(--overlay-scrim));z-index:1000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(5px);overflow:hidden;touch-action:none}.ExpandImage .CloseExpandImage{position:absolute;top:10px;right:10px;z-index:10;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--danger);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.ExpandImage .CloseExpandImage:hover{background-color:var(--danger-hover);transform:scale(1.1)}.ExpandImage .CloseExpandImage:active{transform:scale(.95)}.ExpandImage .CloseExpandImage i,.ExpandImage .CloseExpandImage lucide-icon{pointer-events:none;font-size:1.2rem}.ExpandImage .CloseExpandImage i lucide-icon .lucide-icon-svg,.ExpandImage .CloseExpandImage lucide-icon lucide-icon .lucide-icon-svg{width:1.2rem;height:1.2rem}.ExpandImage .Image{height:100%;width:100%;display:flex;align-items:center;justify-content:center;position:relative}.ExpandImage .Image img{position:absolute;top:0;left:0;transform-origin:center center;width:100%;height:100%;object-fit:contain;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:none}.ExpandImage .Prev,.ExpandImage .Next{background-color:var(--overlay-scrim);padding:1.5rem;color:var(--xu-on-fill-muted, var(--text-muted));z-index:200;position:absolute;top:45%;pointer-events:auto;cursor:pointer;transition:all .2s ease;border-radius:var(--radius-md)}.ExpandImage .Prev:hover,.ExpandImage .Next:hover,.ExpandImage .Prev:active,.ExpandImage .Next:active{background-color:var(--overlay-scrim);color:#fff}.ExpandImage .Prev i,.ExpandImage .Prev lucide-icon,.ExpandImage .Next i,.ExpandImage .Next lucide-icon{pointer-events:none;font-size:1.5rem}.ExpandImage .Prev i lucide-icon .lucide-icon-svg,.ExpandImage .Prev lucide-icon lucide-icon .lucide-icon-svg,.ExpandImage .Next i lucide-icon .lucide-icon-svg,.ExpandImage .Next lucide-icon lucide-icon .lucide-icon-svg{width:1.5rem;height:1.5rem}.ExpandImage .Prev{left:0;border-radius:0 var(--radius-lg) var(--radius-lg) 0}.ExpandImage .Next{right:0;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}\n"], dependencies: [{ kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: FileSizePipe, name: "fileSize" }] });
|
|
11045
11045
|
}
|
|
11046
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
11046
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MediaEntryComponent, decorators: [{
|
|
11047
11047
|
type: Component,
|
|
11048
11048
|
args: [{ selector: 'media-entry', standalone: true, host: {
|
|
11049
11049
|
ngSkipHydration: '',
|
|
@@ -11121,10 +11121,10 @@ class OnlySelectModalServiceComponent {
|
|
|
11121
11121
|
ngOnDestroy() {
|
|
11122
11122
|
this.sub?.unsubscribe();
|
|
11123
11123
|
}
|
|
11124
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
11125
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
11124
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectModalServiceComponent, deps: [{ token: OnlySelectModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11125
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: OnlySelectModalServiceComponent, isStandalone: true, selector: "only-select-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n placeholder=\"Buscar\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div *ngIf=\"session.view.isLoading && !session.view.isSearching\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Cargando...</span>\r\n </div>\r\n\r\n <div *ngIf=\"session.view.isSearching && !session.view.isLoading\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"!session.view.isLoading && !session.view.isSearching && session.view.filteredOptions.length === 0\"\r\n class=\"EmptyOptionsMessage\"\r\n role=\"status\"\r\n >\r\n {{ session.view.noOptionsMessage }}\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let option of session.view.filteredOptions\"\r\n class=\"Option\"\r\n (click)=\"session.handlers.onOptionSelect(option)\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img [src]=\"option.image\" alt=\"\" />\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">{{ option.name }}</span>\r\n <span class=\"Description\" *ngIf=\"option.description\">{{\r\n option.description\r\n }}</span>\r\n </div>\r\n </div>\r\n <lucide-icon\r\n class=\"CheckIcon\"\r\n [class.Selected]=\"session.view.selectedOption?.value === option.value\"\r\n [name]=\"session.view.selectedOption?.value === option.value ? 'check' : 'x'\"\r\n ></lucide-icon>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color);overflow:hidden}.Backdrop .Picker .SearchContainer{width:100%;height:max-content}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:32px;border-radius:var(--radius-md);padding:0 8px}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option label [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option label .Details{pointer-events:none;display:flex;align-items:center;gap:5px}.Backdrop .Picker .OptionsList .Option label .Details .Color{width:20px;min-width:20px;height:20px;min-height:20px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image{width:35px;min-width:35px;height:35px;min-height:35px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image img{width:100%;height:100%;object-fit:cover}.Backdrop .Picker .OptionsList .Option label .Details .Info{display:flex;flex-direction:column}.Backdrop .Picker .OptionsList .Option label .Details .Info .Name{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .Details .Info .Description{margin:0;padding:0;width:100%;font-size:.9rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .CheckIcon{width:30px;height:100%;padding:5px;display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--text-primary)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--text-muted);font-size:.9rem}.LoadingState .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.EmptyOptionsMessage{padding:var(--spacing-lg);text-align:center;color:var(--muted-text, var(--text-muted));font-weight:700;font-size:.9rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
11126
11126
|
}
|
|
11127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
11127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: OnlySelectModalServiceComponent, decorators: [{
|
|
11128
11128
|
type: Component,
|
|
11129
11129
|
args: [{ selector: 'only-select-modal-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n placeholder=\"Buscar\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div *ngIf=\"session.view.isLoading && !session.view.isSearching\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Cargando...</span>\r\n </div>\r\n\r\n <div *ngIf=\"session.view.isSearching && !session.view.isLoading\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"!session.view.isLoading && !session.view.isSearching && session.view.filteredOptions.length === 0\"\r\n class=\"EmptyOptionsMessage\"\r\n role=\"status\"\r\n >\r\n {{ session.view.noOptionsMessage }}\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let option of session.view.filteredOptions\"\r\n class=\"Option\"\r\n (click)=\"session.handlers.onOptionSelect(option)\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img [src]=\"option.image\" alt=\"\" />\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">{{ option.name }}</span>\r\n <span class=\"Description\" *ngIf=\"option.description\">{{\r\n option.description\r\n }}</span>\r\n </div>\r\n </div>\r\n <lucide-icon\r\n class=\"CheckIcon\"\r\n [class.Selected]=\"session.view.selectedOption?.value === option.value\"\r\n [name]=\"session.view.selectedOption?.value === option.value ? 'check' : 'x'\"\r\n ></lucide-icon>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color);overflow:hidden}.Backdrop .Picker .SearchContainer{width:100%;height:max-content}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:32px;border-radius:var(--radius-md);padding:0 8px}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option label [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option label .Details{pointer-events:none;display:flex;align-items:center;gap:5px}.Backdrop .Picker .OptionsList .Option label .Details .Color{width:20px;min-width:20px;height:20px;min-height:20px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image{width:35px;min-width:35px;height:35px;min-height:35px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image img{width:100%;height:100%;object-fit:cover}.Backdrop .Picker .OptionsList .Option label .Details .Info{display:flex;flex-direction:column}.Backdrop .Picker .OptionsList .Option label .Details .Info .Name{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .Details .Info .Description{margin:0;padding:0;width:100%;font-size:.9rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .CheckIcon{width:30px;height:100%;padding:5px;display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--text-primary)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--text-muted);font-size:.9rem}.LoadingState .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.EmptyOptionsMessage{padding:var(--spacing-lg);text-align:center;color:var(--muted-text, var(--text-muted));font-weight:700;font-size:.9rem}\n"] }]
|
|
11130
11130
|
}], ctorParameters: () => [{ type: OnlySelectModalService }, { type: i0.ChangeDetectorRef }] });
|
|
@@ -11148,10 +11148,10 @@ class MultiselectComboboxModalServiceComponent {
|
|
|
11148
11148
|
isSelected(option, selected) {
|
|
11149
11149
|
return selected.some((o) => o.value === option.value);
|
|
11150
11150
|
}
|
|
11151
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
11152
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
11151
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxModalServiceComponent, deps: [{ token: MultiselectComboboxModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11152
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MultiselectComboboxModalServiceComponent, isStandalone: true, selector: "multiselect-combobox-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Close\" (click)=\"session.handlers.onBackdropClick($event); $event.stopPropagation()\">\r\n Cerrar\r\n </div>\r\n\r\n <ng-container *ngIf=\"session.view.selectedOptions.length > 0\">\r\n <div class=\"SelectedOptions\">\r\n <span\r\n *ngFor=\"let option of session.view.selectedOptions\"\r\n class=\"SelectedOption\"\r\n (click)=\"session.handlers.onRemoveSelected(option, $event)\"\r\n >\r\n {{ option.name }}\r\n <span class=\"RemoveIcon\">\u00D7</span>\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n placeholder=\"Buscar\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div *ngIf=\"session.view.isLoading && !session.view.isSearching\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Cargando...</span>\r\n </div>\r\n\r\n <div *ngIf=\"session.view.isSearching && !session.view.isLoading\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"!session.view.isLoading && !session.view.isSearching && session.view.filteredOptions.length === 0\"\r\n class=\"EmptyOptionsMessage\"\r\n role=\"status\"\r\n >\r\n {{ session.view.noOptionsMessage }}\r\n </div>\r\n\r\n <ng-container *ngIf=\"!(session.view.isLoading && !session.view.isSearching)\">\r\n <div *ngFor=\"let option of session.view.filteredOptions\" class=\"Option\">\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img [src]=\"option.image\" alt=\"\" />\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">{{ option.name }}</span>\r\n <span class=\"Description\" *ngIf=\"option.description\">{{\r\n option.description\r\n }}</span>\r\n </div>\r\n </div>\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"isSelected(option, session.view.selectedOptions)\"\r\n (change)=\"session.handlers.onOptionToggle(option, $event)\"\r\n />\r\n <lucide-icon\r\n class=\"CheckIcon\"\r\n [class.Selected]=\"isSelected(option, session.view.selectedOptions)\"\r\n [name]=\"isSelected(option, session.view.selectedOptions) ? 'check' : 'x'\"\r\n ></lucide-icon>\r\n </label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}.Backdrop .Picker .Close{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);width:max-content;margin-left:auto;cursor:pointer}.Backdrop .Picker .Close:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Close:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .SelectedOptions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-bottom:solid 1px var(--border);padding:4px}.Backdrop .Picker .SelectedOptions .SelectedOption{background-color:var(--surface-2, var(--border));border-radius:var(--radius-md);width:max-content;height:25px;padding:0 var(--spacing-sm);padding-right:0;display:flex;justify-content:space-between;align-items:center;gap:3px;overflow:hidden}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon{cursor:pointer;width:25px;height:25px;display:flex;justify-content:center;align-items:center;font-size:1rem}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--error-text);background-color:var(--border)}.Backdrop .Picker .SearchContainer{width:100%;height:max-content}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:32px;border-radius:var(--radius-md);padding:0 8px}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option label [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option label .Details{pointer-events:none;display:flex;align-items:center;gap:5px}.Backdrop .Picker .OptionsList .Option label .Details .Color{width:20px;min-width:20px;height:20px;min-height:20px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image{width:35px;min-width:35px;height:35px;min-height:35px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image img{width:100%;height:100%;object-fit:cover}.Backdrop .Picker .OptionsList .Option label .Details .Info{display:flex;flex-direction:column}.Backdrop .Picker .OptionsList .Option label .Details .Info .Name{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .Details .Info .Description{margin:0;padding:0;width:100%;font-size:.9rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .CheckIcon{width:30px;height:100%;padding:5px;display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--text-primary)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--text-muted);font-size:.9rem}.LoadingState .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.EmptyOptionsMessage{padding:var(--spacing-lg);text-align:center;color:var(--muted-text, var(--text-muted));font-weight:700;font-size:.9rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
11153
11153
|
}
|
|
11154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
11154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MultiselectComboboxModalServiceComponent, decorators: [{
|
|
11155
11155
|
type: Component,
|
|
11156
11156
|
args: [{ selector: 'multiselect-combobox-modal-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Close\" (click)=\"session.handlers.onBackdropClick($event); $event.stopPropagation()\">\r\n Cerrar\r\n </div>\r\n\r\n <ng-container *ngIf=\"session.view.selectedOptions.length > 0\">\r\n <div class=\"SelectedOptions\">\r\n <span\r\n *ngFor=\"let option of session.view.selectedOptions\"\r\n class=\"SelectedOption\"\r\n (click)=\"session.handlers.onRemoveSelected(option, $event)\"\r\n >\r\n {{ option.name }}\r\n <span class=\"RemoveIcon\">\u00D7</span>\r\n </span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n placeholder=\"Buscar\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div *ngIf=\"session.view.isLoading && !session.view.isSearching\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Cargando...</span>\r\n </div>\r\n\r\n <div *ngIf=\"session.view.isSearching && !session.view.isLoading\" class=\"LoadingState\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"!session.view.isLoading && !session.view.isSearching && session.view.filteredOptions.length === 0\"\r\n class=\"EmptyOptionsMessage\"\r\n role=\"status\"\r\n >\r\n {{ session.view.noOptionsMessage }}\r\n </div>\r\n\r\n <ng-container *ngIf=\"!(session.view.isLoading && !session.view.isSearching)\">\r\n <div *ngFor=\"let option of session.view.filteredOptions\" class=\"Option\">\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img [src]=\"option.image\" alt=\"\" />\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">{{ option.name }}</span>\r\n <span class=\"Description\" *ngIf=\"option.description\">{{\r\n option.description\r\n }}</span>\r\n </div>\r\n </div>\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"isSelected(option, session.view.selectedOptions)\"\r\n (change)=\"session.handlers.onOptionToggle(option, $event)\"\r\n />\r\n <lucide-icon\r\n class=\"CheckIcon\"\r\n [class.Selected]=\"isSelected(option, session.view.selectedOptions)\"\r\n [name]=\"isSelected(option, session.view.selectedOptions) ? 'check' : 'x'\"\r\n ></lucide-icon>\r\n </label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}.Backdrop .Picker .Close{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);width:max-content;margin-left:auto;cursor:pointer}.Backdrop .Picker .Close:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Close:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .SelectedOptions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-bottom:solid 1px var(--border);padding:4px}.Backdrop .Picker .SelectedOptions .SelectedOption{background-color:var(--surface-2, var(--border));border-radius:var(--radius-md);width:max-content;height:25px;padding:0 var(--spacing-sm);padding-right:0;display:flex;justify-content:space-between;align-items:center;gap:3px;overflow:hidden}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon{cursor:pointer;width:25px;height:25px;display:flex;justify-content:center;align-items:center;font-size:1rem}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .SelectedOptions .SelectedOption .RemoveIcon:hover{color:var(--error-text);background-color:var(--border)}.Backdrop .Picker .SearchContainer{width:100%;height:max-content}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:32px;border-radius:var(--radius-md);padding:0 8px}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option label [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option label .Details{pointer-events:none;display:flex;align-items:center;gap:5px}.Backdrop .Picker .OptionsList .Option label .Details .Color{width:20px;min-width:20px;height:20px;min-height:20px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image{width:35px;min-width:35px;height:35px;min-height:35px;border-radius:100px;overflow:hidden}.Backdrop .Picker .OptionsList .Option label .Details .Image img{width:100%;height:100%;object-fit:cover}.Backdrop .Picker .OptionsList .Option label .Details .Info{display:flex;flex-direction:column}.Backdrop .Picker .OptionsList .Option label .Details .Info .Name{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .Details .Info .Description{margin:0;padding:0;width:100%;font-size:.9rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.Backdrop .Picker .OptionsList .Option label .CheckIcon{width:30px;height:100%;padding:5px;display:flex;justify-content:center;align-items:center;margin-left:auto;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option label .CheckIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option label .CheckIcon.Selected{color:var(--text-primary)}.LoadingState{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);color:var(--text-muted);font-size:.9rem}.LoadingState .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.EmptyOptionsMessage{padding:var(--spacing-lg);text-align:center;color:var(--muted-text, var(--text-muted));font-weight:700;font-size:.9rem}\n"] }]
|
|
11157
11157
|
}], ctorParameters: () => [{ type: MultiselectComboboxModalService }, { type: i0.ChangeDetectorRef }] });
|
|
@@ -11172,10 +11172,10 @@ class SearchEntryModalServiceComponent {
|
|
|
11172
11172
|
ngOnDestroy() {
|
|
11173
11173
|
this.sub?.unsubscribe();
|
|
11174
11174
|
}
|
|
11175
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
11176
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: SearchEntryModalServiceComponent, isStandalone: true, selector: "search-entry-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop search-entry-modal\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [placeholder]=\"session.view.placeholder\"\r\n [value]=\"session.view.searchText\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n />\r\n <lucide-icon class=\"Close\" name=\"x\" (click)=\"session.handlers.onCloseIconClick($event); $event.stopPropagation()\"></lucide-icon>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div class=\"EmptyState\" *ngIf=\"!session.view.searchText.trim() && !session.view.loading && !session.view.error\">\r\n <lucide-icon name=\"search\"></lucide-icon>\r\n <p>Escribe para buscar productos</p>\r\n <span class=\"Hint\">Busca por nombre, SKU, marca o categor\u00EDa</span>\r\n </div>\r\n\r\n <div class=\"LoadingState\" *ngIf=\"session.view.loading && session.view.searchText.trim()\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div class=\"ErrorState\" *ngIf=\"session.view.error && !session.view.loading\">\r\n <lucide-icon name=\"triangle-alert\"></lucide-icon>\r\n <p>Error al realizar la b\u00FAsqueda</p>\r\n <span class=\"Hint\">Intenta nuevamente</span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!session.view.loading && !session.view.error && session.view.searchText.trim()\">\r\n <a\r\n class=\"Option SearchAllOption\"\r\n [routerLink]=\"['/search', session.view.searchText.trim()]\"\r\n (click)=\"session.handlers.onResultNavigate()\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div class=\"SearchAllIcon\">\r\n <lucide-icon name=\"search\"></lucide-icon>\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">Buscar \"{{ session.view.searchText.trim() }}\" en la p\u00E1gina de b\u00FAsqueda</span>\r\n <span class=\"Description\">Ver todos los resultados</span>\r\n </div>\r\n </div>\r\n <lucide-icon class=\"LinkIcon\" name=\"arrow-right\"></lucide-icon>\r\n </label>\r\n </a>\r\n\r\n <a\r\n class=\"Option\"\r\n *ngFor=\"let option of session.view.filteredOptions\"\r\n [routerLink]=\"[option.to, option.param]\"\r\n (click)=\"session.handlers.onResultNavigate()\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img\r\n [src]=\"option.image\"\r\n alt=\"Imagen\"\r\n loading=\"lazy\"\r\n onerror=\"this.style.display='none'\"\r\n />\r\n </div>\r\n\r\n <div class=\"Info\">\r\n <span class=\"Name\" [innerHTML]=\"option.name\"></span>\r\n <span\r\n class=\"Description\"\r\n *ngIf=\"option.description\"\r\n [innerHTML]=\"option.description\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <lucide-icon class=\"LinkIcon\" name=\"arrow-right\"></lucide-icon>\r\n </label>\r\n </a>\r\n\r\n <div class=\"NoResults\" *ngIf=\"session.view.filteredOptions.length === 0 && session.view.searchText.trim()\">\r\n <lucide-icon name=\"inbox\"></lucide-icon>\r\n <p>No se encontraron resultados para: <strong>{{ session.view.searchText }}</strong></p>\r\n <span class=\"Hint\">Intenta con otros t\u00E9rminos de b\u00FAsqueda</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:4px;background:var(--overlay-scrim)}.Backdrop .Picker{max-width:550px;width:100%;margin:0 auto;background:var(--surface);display:flex;flex-direction:column;gap:5px;border-radius:var(--radius-lg);max-height:calc(100vh - 20px);box-shadow:0 0 10px var(--shadow-color)}.Backdrop .Picker .SearchContainer{width:100%;height:max-content;display:flex;align-items:center;padding:8px 8px 0}.Backdrop .Picker .SearchContainer i,.Backdrop .Picker .SearchContainer lucide-icon{width:30px;min-width:30px;height:30px;min-height:30px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--red);padding:4px;cursor:pointer}.Backdrop .Picker .SearchContainer i lucide-icon .lucide-icon-svg,.Backdrop .Picker .SearchContainer lucide-icon lucide-icon .lucide-icon-svg{width:1.3rem;height:1.3rem}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:45px;border-radius:var(--radius-lg)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:0 12px 24px;gap:4px}.Backdrop .Picker .OptionsList .EmptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:3rem 1rem;text-align:center;color:var(--text-muted)}.Backdrop .Picker .OptionsList .EmptyState i,.Backdrop .Picker .OptionsList .EmptyState lucide-icon{font-size:2.5rem;color:var(--text-label);opacity:.5}.Backdrop .Picker .OptionsList .EmptyState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .EmptyState lucide-icon lucide-icon .lucide-icon-svg{width:2.5rem;height:2.5rem}.Backdrop .Picker .OptionsList .EmptyState p{font-size:1rem;font-weight:500;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .EmptyState .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .LoadingState{display:flex;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;color:var(--text-muted);font-size:.9375rem}.Backdrop .Picker .OptionsList .LoadingState i,.Backdrop .Picker .OptionsList .LoadingState lucide-icon{font-size:1.25rem;color:var(--primary);animation:spin 1s linear infinite}.Backdrop .Picker .OptionsList .LoadingState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .LoadingState lucide-icon lucide-icon .lucide-icon-svg{width:1.25rem;height:1.25rem}.Backdrop .Picker .OptionsList .ErrorState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;color:var(--red)}.Backdrop .Picker .OptionsList .ErrorState i,.Backdrop .Picker .OptionsList .ErrorState lucide-icon{font-size:2rem;color:var(--red)}.Backdrop .Picker .OptionsList .ErrorState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .ErrorState lucide-icon lucide-icon .lucide-icon-svg{width:2rem;height:2rem}.Backdrop .Picker .OptionsList .ErrorState p{font-size:1rem;font-weight:500;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .ErrorState .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .NoResults{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;color:var(--text-muted)}.Backdrop .Picker .OptionsList .NoResults i,.Backdrop .Picker .OptionsList .NoResults lucide-icon{font-size:2rem;color:var(--text-label);opacity:.5}.Backdrop .Picker .OptionsList .NoResults i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .NoResults lucide-icon lucide-icon .lucide-icon-svg{width:2rem;height:2rem}.Backdrop .Picker .OptionsList .NoResults p{font-size:1rem;font-weight:600;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .NoResults .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center;text-decoration:none;color:inherit}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:4px 8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-lg);gap:4px}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option.SearchAllOption{border-bottom:1px solid var(--input-border);margin-bottom:4px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, var(--primary)) 100%);display:flex;align-items:center;justify-content:center}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon{color:#fff;font-size:1.125rem}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon lucide-icon .lucide-icon-svg{width:1.125rem;height:1.125rem}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Name{font-weight:400;color:var(--primary)}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Description{font-weight:400;font-size:.875rem;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option .Details{pointer-events:none;display:flex;align-items:center;gap:4px;flex:1;min-width:0}.Backdrop .Picker .OptionsList .Option .Details .Color{width:25px;min-width:25px;height:25px;min-height:25px;border-radius:100px;overflow:hidden;flex-shrink:0}.Backdrop .Picker .OptionsList .Option .Details .Image{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:var(--radius-md);overflow:hidden;background-color:var(--surface-2);flex-shrink:0}.Backdrop .Picker .OptionsList .Option .Details .Image img{width:100%;height:100%;object-fit:contain;border:none}.Backdrop .Picker .OptionsList .Option .Details .Info{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.Backdrop .Picker .OptionsList .Option .Details .Info .Name{font-weight:400;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;color:var(--text-base);line-height:1.3}.Backdrop .Picker .OptionsList .Option .Details .Info .Description{font-size:.8rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.Backdrop .Picker .OptionsList .Option .LinkIcon{color:var(--icon-primary);width:24px;min-width:24px;height:24px;flex-shrink:0;display:flex;justify-content:center;align-items:center;margin-left:auto;opacity:.6;transition:opacity .2s ease}.Backdrop .Picker .OptionsList .Option .LinkIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option:hover .LinkIcon{opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
11175
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryModalServiceComponent, deps: [{ token: SearchEntryModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11176
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SearchEntryModalServiceComponent, isStandalone: true, selector: "search-entry-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop search-entry-modal\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [placeholder]=\"session.view.placeholder\"\r\n [value]=\"session.view.searchText\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n />\r\n <lucide-icon class=\"Close\" name=\"x\" (click)=\"session.handlers.onCloseIconClick($event); $event.stopPropagation()\"></lucide-icon>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div class=\"EmptyState\" *ngIf=\"!session.view.searchText.trim() && !session.view.loading && !session.view.error\">\r\n <lucide-icon name=\"search\"></lucide-icon>\r\n <p>Escribe para buscar productos</p>\r\n <span class=\"Hint\">Busca por nombre, SKU, marca o categor\u00EDa</span>\r\n </div>\r\n\r\n <div class=\"LoadingState\" *ngIf=\"session.view.loading && session.view.searchText.trim()\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div class=\"ErrorState\" *ngIf=\"session.view.error && !session.view.loading\">\r\n <lucide-icon name=\"triangle-alert\"></lucide-icon>\r\n <p>Error al realizar la b\u00FAsqueda</p>\r\n <span class=\"Hint\">Intenta nuevamente</span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!session.view.loading && !session.view.error && session.view.searchText.trim()\">\r\n <a\r\n class=\"Option SearchAllOption\"\r\n [routerLink]=\"['/search', session.view.searchText.trim()]\"\r\n (click)=\"session.handlers.onResultNavigate()\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div class=\"SearchAllIcon\">\r\n <lucide-icon name=\"search\"></lucide-icon>\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">Buscar \"{{ session.view.searchText.trim() }}\" en la p\u00E1gina de b\u00FAsqueda</span>\r\n <span class=\"Description\">Ver todos los resultados</span>\r\n </div>\r\n </div>\r\n <lucide-icon class=\"LinkIcon\" name=\"arrow-right\"></lucide-icon>\r\n </label>\r\n </a>\r\n\r\n <a\r\n class=\"Option\"\r\n *ngFor=\"let option of session.view.filteredOptions\"\r\n [routerLink]=\"[option.to, option.param]\"\r\n (click)=\"session.handlers.onResultNavigate()\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img\r\n [src]=\"option.image\"\r\n alt=\"Imagen\"\r\n loading=\"lazy\"\r\n onerror=\"this.style.display='none'\"\r\n />\r\n </div>\r\n\r\n <div class=\"Info\">\r\n <span class=\"Name\" [innerHTML]=\"option.name\"></span>\r\n <span\r\n class=\"Description\"\r\n *ngIf=\"option.description\"\r\n [innerHTML]=\"option.description\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <lucide-icon class=\"LinkIcon\" name=\"arrow-right\"></lucide-icon>\r\n </label>\r\n </a>\r\n\r\n <div class=\"NoResults\" *ngIf=\"session.view.filteredOptions.length === 0 && session.view.searchText.trim()\">\r\n <lucide-icon name=\"inbox\"></lucide-icon>\r\n <p>No se encontraron resultados para: <strong>{{ session.view.searchText }}</strong></p>\r\n <span class=\"Hint\">Intenta con otros t\u00E9rminos de b\u00FAsqueda</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:4px;background:var(--overlay-scrim)}.Backdrop .Picker{max-width:550px;width:100%;margin:0 auto;background:var(--surface);display:flex;flex-direction:column;gap:5px;border-radius:var(--radius-lg);max-height:calc(100vh - 20px);box-shadow:0 0 10px var(--shadow-color)}.Backdrop .Picker .SearchContainer{width:100%;height:max-content;display:flex;align-items:center;padding:8px 8px 0}.Backdrop .Picker .SearchContainer i,.Backdrop .Picker .SearchContainer lucide-icon{width:30px;min-width:30px;height:30px;min-height:30px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--red);padding:4px;cursor:pointer}.Backdrop .Picker .SearchContainer i lucide-icon .lucide-icon-svg,.Backdrop .Picker .SearchContainer lucide-icon lucide-icon .lucide-icon-svg{width:1.3rem;height:1.3rem}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:45px;border-radius:var(--radius-lg)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:0 12px 24px;gap:4px}.Backdrop .Picker .OptionsList .EmptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:3rem 1rem;text-align:center;color:var(--text-muted)}.Backdrop .Picker .OptionsList .EmptyState i,.Backdrop .Picker .OptionsList .EmptyState lucide-icon{font-size:2.5rem;color:var(--text-label);opacity:.5}.Backdrop .Picker .OptionsList .EmptyState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .EmptyState lucide-icon lucide-icon .lucide-icon-svg{width:2.5rem;height:2.5rem}.Backdrop .Picker .OptionsList .EmptyState p{font-size:1rem;font-weight:500;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .EmptyState .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .LoadingState{display:flex;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;color:var(--text-muted);font-size:.9375rem}.Backdrop .Picker .OptionsList .LoadingState i,.Backdrop .Picker .OptionsList .LoadingState lucide-icon{font-size:1.25rem;color:var(--primary);animation:spin 1s linear infinite}.Backdrop .Picker .OptionsList .LoadingState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .LoadingState lucide-icon lucide-icon .lucide-icon-svg{width:1.25rem;height:1.25rem}.Backdrop .Picker .OptionsList .ErrorState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;color:var(--red)}.Backdrop .Picker .OptionsList .ErrorState i,.Backdrop .Picker .OptionsList .ErrorState lucide-icon{font-size:2rem;color:var(--red)}.Backdrop .Picker .OptionsList .ErrorState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .ErrorState lucide-icon lucide-icon .lucide-icon-svg{width:2rem;height:2rem}.Backdrop .Picker .OptionsList .ErrorState p{font-size:1rem;font-weight:500;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .ErrorState .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .NoResults{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;color:var(--text-muted)}.Backdrop .Picker .OptionsList .NoResults i,.Backdrop .Picker .OptionsList .NoResults lucide-icon{font-size:2rem;color:var(--text-label);opacity:.5}.Backdrop .Picker .OptionsList .NoResults i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .NoResults lucide-icon lucide-icon .lucide-icon-svg{width:2rem;height:2rem}.Backdrop .Picker .OptionsList .NoResults p{font-size:1rem;font-weight:600;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .NoResults .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center;text-decoration:none;color:inherit}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:4px 8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-lg);gap:4px}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option.SearchAllOption{border-bottom:1px solid var(--input-border);margin-bottom:4px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, var(--primary)) 100%);display:flex;align-items:center;justify-content:center}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon{color:#fff;font-size:1.125rem}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon lucide-icon .lucide-icon-svg{width:1.125rem;height:1.125rem}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Name{font-weight:400;color:var(--primary)}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Description{font-weight:400;font-size:.875rem;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option .Details{pointer-events:none;display:flex;align-items:center;gap:4px;flex:1;min-width:0}.Backdrop .Picker .OptionsList .Option .Details .Color{width:25px;min-width:25px;height:25px;min-height:25px;border-radius:100px;overflow:hidden;flex-shrink:0}.Backdrop .Picker .OptionsList .Option .Details .Image{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:var(--radius-md);overflow:hidden;background-color:var(--surface-2);flex-shrink:0}.Backdrop .Picker .OptionsList .Option .Details .Image img{width:100%;height:100%;object-fit:contain;border:none}.Backdrop .Picker .OptionsList .Option .Details .Info{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.Backdrop .Picker .OptionsList .Option .Details .Info .Name{font-weight:400;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;color:var(--text-base);line-height:1.3}.Backdrop .Picker .OptionsList .Option .Details .Info .Description{font-size:.8rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.Backdrop .Picker .OptionsList .Option .LinkIcon{color:var(--icon-primary);width:24px;min-width:24px;height:24px;flex-shrink:0;display:flex;justify-content:center;align-items:center;margin-left:auto;opacity:.6;transition:opacity .2s ease}.Backdrop .Picker .OptionsList .Option .LinkIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option:hover .LinkIcon{opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
11177
11177
|
}
|
|
11178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
11178
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SearchEntryModalServiceComponent, decorators: [{
|
|
11179
11179
|
type: Component,
|
|
11180
11180
|
args: [{ selector: 'search-entry-modal-service', standalone: true, imports: [CommonModule, RouterModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop search-entry-modal\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <ng-container *ngIf=\"session.view.shouldShowSearch\">\r\n <div class=\"SearchContainer\">\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput NativeInput\"\r\n [placeholder]=\"session.view.placeholder\"\r\n [value]=\"session.view.searchText\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n />\r\n <lucide-icon class=\"Close\" name=\"x\" (click)=\"session.handlers.onCloseIconClick($event); $event.stopPropagation()\"></lucide-icon>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"OptionsList\">\r\n <div class=\"EmptyState\" *ngIf=\"!session.view.searchText.trim() && !session.view.loading && !session.view.error\">\r\n <lucide-icon name=\"search\"></lucide-icon>\r\n <p>Escribe para buscar productos</p>\r\n <span class=\"Hint\">Busca por nombre, SKU, marca o categor\u00EDa</span>\r\n </div>\r\n\r\n <div class=\"LoadingState\" *ngIf=\"session.view.loading && session.view.searchText.trim()\">\r\n <lucide-icon name=\"loader-circle\" [spin]=\"true\"></lucide-icon>\r\n <span>Buscando...</span>\r\n </div>\r\n\r\n <div class=\"ErrorState\" *ngIf=\"session.view.error && !session.view.loading\">\r\n <lucide-icon name=\"triangle-alert\"></lucide-icon>\r\n <p>Error al realizar la b\u00FAsqueda</p>\r\n <span class=\"Hint\">Intenta nuevamente</span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!session.view.loading && !session.view.error && session.view.searchText.trim()\">\r\n <a\r\n class=\"Option SearchAllOption\"\r\n [routerLink]=\"['/search', session.view.searchText.trim()]\"\r\n (click)=\"session.handlers.onResultNavigate()\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div class=\"SearchAllIcon\">\r\n <lucide-icon name=\"search\"></lucide-icon>\r\n </div>\r\n <div class=\"Info\">\r\n <span class=\"Name\">Buscar \"{{ session.view.searchText.trim() }}\" en la p\u00E1gina de b\u00FAsqueda</span>\r\n <span class=\"Description\">Ver todos los resultados</span>\r\n </div>\r\n </div>\r\n <lucide-icon class=\"LinkIcon\" name=\"arrow-right\"></lucide-icon>\r\n </label>\r\n </a>\r\n\r\n <a\r\n class=\"Option\"\r\n *ngFor=\"let option of session.view.filteredOptions\"\r\n [routerLink]=\"[option.to, option.param]\"\r\n (click)=\"session.handlers.onResultNavigate()\"\r\n >\r\n <label>\r\n <div class=\"Details\">\r\n <div\r\n class=\"Color\"\r\n *ngIf=\"option.color\"\r\n [style.backgroundColor]=\"option.color\"\r\n ></div>\r\n\r\n <div class=\"Image\" *ngIf=\"option.image\">\r\n <img\r\n [src]=\"option.image\"\r\n alt=\"Imagen\"\r\n loading=\"lazy\"\r\n onerror=\"this.style.display='none'\"\r\n />\r\n </div>\r\n\r\n <div class=\"Info\">\r\n <span class=\"Name\" [innerHTML]=\"option.name\"></span>\r\n <span\r\n class=\"Description\"\r\n *ngIf=\"option.description\"\r\n [innerHTML]=\"option.description\"\r\n ></span>\r\n </div>\r\n </div>\r\n\r\n <lucide-icon class=\"LinkIcon\" name=\"arrow-right\"></lucide-icon>\r\n </label>\r\n </a>\r\n\r\n <div class=\"NoResults\" *ngIf=\"session.view.filteredOptions.length === 0 && session.view.searchText.trim()\">\r\n <lucide-icon name=\"inbox\"></lucide-icon>\r\n <p>No se encontraron resultados para: <strong>{{ session.view.searchText }}</strong></p>\r\n <span class=\"Hint\">Intenta con otros t\u00E9rminos de b\u00FAsqueda</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:4px;background:var(--overlay-scrim)}.Backdrop .Picker{max-width:550px;width:100%;margin:0 auto;background:var(--surface);display:flex;flex-direction:column;gap:5px;border-radius:var(--radius-lg);max-height:calc(100vh - 20px);box-shadow:0 0 10px var(--shadow-color)}.Backdrop .Picker .SearchContainer{width:100%;height:max-content;display:flex;align-items:center;padding:8px 8px 0}.Backdrop .Picker .SearchContainer i,.Backdrop .Picker .SearchContainer lucide-icon{width:30px;min-width:30px;height:30px;min-height:30px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--red);padding:4px;cursor:pointer}.Backdrop .Picker .SearchContainer i lucide-icon .lucide-icon-svg,.Backdrop .Picker .SearchContainer lucide-icon lucide-icon .lucide-icon-svg{width:1.3rem;height:1.3rem}.Backdrop .Picker .SearchContainer .SearchInput{width:100%;height:45px;border-radius:var(--radius-lg)}.Backdrop .Picker .OptionsList{width:100%;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;padding:0 12px 24px;gap:4px}.Backdrop .Picker .OptionsList .EmptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:3rem 1rem;text-align:center;color:var(--text-muted)}.Backdrop .Picker .OptionsList .EmptyState i,.Backdrop .Picker .OptionsList .EmptyState lucide-icon{font-size:2.5rem;color:var(--text-label);opacity:.5}.Backdrop .Picker .OptionsList .EmptyState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .EmptyState lucide-icon lucide-icon .lucide-icon-svg{width:2.5rem;height:2.5rem}.Backdrop .Picker .OptionsList .EmptyState p{font-size:1rem;font-weight:500;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .EmptyState .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .LoadingState{display:flex;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;color:var(--text-muted);font-size:.9375rem}.Backdrop .Picker .OptionsList .LoadingState i,.Backdrop .Picker .OptionsList .LoadingState lucide-icon{font-size:1.25rem;color:var(--primary);animation:spin 1s linear infinite}.Backdrop .Picker .OptionsList .LoadingState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .LoadingState lucide-icon lucide-icon .lucide-icon-svg{width:1.25rem;height:1.25rem}.Backdrop .Picker .OptionsList .ErrorState{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;color:var(--red)}.Backdrop .Picker .OptionsList .ErrorState i,.Backdrop .Picker .OptionsList .ErrorState lucide-icon{font-size:2rem;color:var(--red)}.Backdrop .Picker .OptionsList .ErrorState i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .ErrorState lucide-icon lucide-icon .lucide-icon-svg{width:2rem;height:2rem}.Backdrop .Picker .OptionsList .ErrorState p{font-size:1rem;font-weight:500;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .ErrorState .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .NoResults{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem 1rem;text-align:center;color:var(--text-muted)}.Backdrop .Picker .OptionsList .NoResults i,.Backdrop .Picker .OptionsList .NoResults lucide-icon{font-size:2rem;color:var(--text-label);opacity:.5}.Backdrop .Picker .OptionsList .NoResults i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .NoResults lucide-icon lucide-icon .lucide-icon-svg{width:2rem;height:2rem}.Backdrop .Picker .OptionsList .NoResults p{font-size:1rem;font-weight:600;color:var(--text-base);margin:0}.Backdrop .Picker .OptionsList .NoResults .Hint{font-size:.875rem;color:var(--text-muted);font-style:italic}.Backdrop .Picker .OptionsList .Option{width:100%;min-height:max-content;display:flex;justify-content:flex-start;align-items:center;text-decoration:none;color:inherit}.Backdrop .Picker .OptionsList .Option label{position:relative;width:100%;height:100%;padding:4px 8px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius-lg);gap:4px}.Backdrop .Picker .OptionsList .Option label:hover{background-color:var(--surface-2)}.Backdrop .Picker .OptionsList .Option.SearchAllOption{border-bottom:1px solid var(--input-border);margin-bottom:4px}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, var(--primary)) 100%);display:flex;align-items:center;justify-content:center}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon{color:#fff;font-size:1.125rem}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon i lucide-icon .lucide-icon-svg,.Backdrop .Picker .OptionsList .Option.SearchAllOption label .SearchAllIcon lucide-icon lucide-icon .lucide-icon-svg{width:1.125rem;height:1.125rem}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Name{font-weight:400;color:var(--primary)}.Backdrop .Picker .OptionsList .Option.SearchAllOption label .Info .Description{font-weight:400;font-size:.875rem;color:var(--text-muted)}.Backdrop .Picker .OptionsList .Option [type=checkbox]{display:none}.Backdrop .Picker .OptionsList .Option .Details{pointer-events:none;display:flex;align-items:center;gap:4px;flex:1;min-width:0}.Backdrop .Picker .OptionsList .Option .Details .Color{width:25px;min-width:25px;height:25px;min-height:25px;border-radius:100px;overflow:hidden;flex-shrink:0}.Backdrop .Picker .OptionsList .Option .Details .Image{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:var(--radius-md);overflow:hidden;background-color:var(--surface-2);flex-shrink:0}.Backdrop .Picker .OptionsList .Option .Details .Image img{width:100%;height:100%;object-fit:contain;border:none}.Backdrop .Picker .OptionsList .Option .Details .Info{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.Backdrop .Picker .OptionsList .Option .Details .Info .Name{font-weight:400;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;color:var(--text-base);line-height:1.3}.Backdrop .Picker .OptionsList .Option .Details .Info .Description{font-size:.8rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.Backdrop .Picker .OptionsList .Option .LinkIcon{color:var(--icon-primary);width:24px;min-width:24px;height:24px;flex-shrink:0;display:flex;justify-content:center;align-items:center;margin-left:auto;opacity:.6;transition:opacity .2s ease}.Backdrop .Picker .OptionsList .Option .LinkIcon lucide-icon .lucide-icon-svg{width:1rem;height:1rem}.Backdrop .Picker .OptionsList .Option:hover .LinkIcon{opacity:1}\n"] }]
|
|
11181
11181
|
}], ctorParameters: () => [{ type: SearchEntryModalService }, { type: i0.ChangeDetectorRef }] });
|
|
@@ -11196,10 +11196,10 @@ class PhoneEntryModalServiceComponent {
|
|
|
11196
11196
|
ngOnDestroy() {
|
|
11197
11197
|
this.sub?.unsubscribe();
|
|
11198
11198
|
}
|
|
11199
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
11200
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
11199
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryModalServiceComponent, deps: [{ token: PhoneEntryModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11200
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PhoneEntryModalServiceComponent, isStandalone: true, selector: "phone-entry-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop phone-entry-modal\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"SearchContainer\">\r\n <lucide-icon class=\"SearchIcon\" name=\"search\"></lucide-icon>\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n (click)=\"$event.stopPropagation()\"\r\n placeholder=\"Buscar por pa\u00EDs o c\u00F3digo...\"\r\n />\r\n </div>\r\n\r\n <div class=\"CountriesList\">\r\n <div\r\n class=\"Item\"\r\n *ngFor=\"let country of session.view.filteredCountries\"\r\n (click)=\"session.handlers.onSelectCountry(country, $event)\"\r\n >\r\n <img *ngIf=\"country.img\" class=\"Icon\" [src]=\"country.img\" draggable=\"false\" />\r\n <lucide-icon class=\"Icon\" name=\"globe\" *ngIf=\"!country.img\"></lucide-icon>\r\n <span class=\"Code\">{{ country.prefix }}</span>\r\n <span class=\"Country\">{{ country.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}.Backdrop .Picker{display:flex;flex-direction:column;gap:8px;width:100%;max-width:420px;max-height:90vh;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--shadow-color)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:8px;padding:8px;background-color:var(--input-bg);border-radius:var(--radius-md);border:solid 1px var(--input-border)}.Backdrop .Picker .SearchContainer .SearchIcon{color:var(--text-muted);font-size:.9rem;flex-shrink:0}.Backdrop .Picker .SearchContainer .SearchIcon lucide-icon .lucide-icon-svg{width:.9rem;height:.9rem}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;border:none;outline:none;background:transparent;color:var(--input-text);font-size:.9rem}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--input-placeholder)}.Backdrop .Picker .CountriesList{display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:calc(80vh - 120px)}.Backdrop .Picker .CountriesList .Item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);cursor:pointer;border-radius:var(--radius-md);transition:background-color .2s}.Backdrop .Picker .CountriesList .Item:hover{background-color:var(--surface-2)}.Backdrop .Picker .CountriesList .Item .Icon{width:25px;height:25px;object-fit:contain;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Code{padding:2px var(--spacing-sm);border-radius:100px;font-size:.8rem;font-weight:500;background-color:var(--primary);color:var(--surface);display:flex;justify-content:center;align-items:center;white-space:nowrap;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Country{flex:1;color:var(--text-primary);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
11201
11201
|
}
|
|
11202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
11202
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PhoneEntryModalServiceComponent, decorators: [{
|
|
11203
11203
|
type: Component,
|
|
11204
11204
|
args: [{ selector: 'phone-entry-modal-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop phone-entry-modal\" (click)=\"session.handlers.onBackdropClick($event)\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"SearchContainer\">\r\n <lucide-icon class=\"SearchIcon\" name=\"search\"></lucide-icon>\r\n <input\r\n type=\"text\"\r\n class=\"SearchInput\"\r\n [value]=\"session.view.searchQuery\"\r\n (input)=\"session.handlers.onSearchInput($event)\"\r\n (click)=\"$event.stopPropagation()\"\r\n placeholder=\"Buscar por pa\u00EDs o c\u00F3digo...\"\r\n />\r\n </div>\r\n\r\n <div class=\"CountriesList\">\r\n <div\r\n class=\"Item\"\r\n *ngFor=\"let country of session.view.filteredCountries\"\r\n (click)=\"session.handlers.onSelectCountry(country, $event)\"\r\n >\r\n <img *ngIf=\"country.img\" class=\"Icon\" [src]=\"country.img\" draggable=\"false\" />\r\n <lucide-icon class=\"Icon\" name=\"globe\" *ngIf=\"!country.img\"></lucide-icon>\r\n <span class=\"Code\">{{ country.prefix }}</span>\r\n <span class=\"Country\">{{ country.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}.Backdrop .Picker{display:flex;flex-direction:column;gap:8px;width:100%;max-width:420px;max-height:90vh;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--shadow-color)}.Backdrop .Picker .SearchContainer{display:flex;align-items:center;gap:8px;padding:8px;background-color:var(--input-bg);border-radius:var(--radius-md);border:solid 1px var(--input-border)}.Backdrop .Picker .SearchContainer .SearchIcon{color:var(--text-muted);font-size:.9rem;flex-shrink:0}.Backdrop .Picker .SearchContainer .SearchIcon lucide-icon .lucide-icon-svg{width:.9rem;height:.9rem}.Backdrop .Picker .SearchContainer .SearchInput{flex:1;border:none;outline:none;background:transparent;color:var(--input-text);font-size:.9rem}.Backdrop .Picker .SearchContainer .SearchInput::placeholder{color:var(--input-placeholder)}.Backdrop .Picker .CountriesList{display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:calc(80vh - 120px)}.Backdrop .Picker .CountriesList .Item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);cursor:pointer;border-radius:var(--radius-md);transition:background-color .2s}.Backdrop .Picker .CountriesList .Item:hover{background-color:var(--surface-2)}.Backdrop .Picker .CountriesList .Item .Icon{width:25px;height:25px;object-fit:contain;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Code{padding:2px var(--spacing-sm);border-radius:100px;font-size:.8rem;font-weight:500;background-color:var(--primary);color:var(--surface);display:flex;justify-content:center;align-items:center;white-space:nowrap;flex-shrink:0}.Backdrop .Picker .CountriesList .Item .Country{flex:1;color:var(--text-primary);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
|
|
11205
11205
|
}], ctorParameters: () => [{ type: PhoneEntryModalService }, { type: i0.ChangeDetectorRef }] });
|
|
@@ -11220,10 +11220,10 @@ class DatePickerModalServiceComponent {
|
|
|
11220
11220
|
ngOnDestroy() {
|
|
11221
11221
|
this.sub?.unsubscribe();
|
|
11222
11222
|
}
|
|
11223
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
11224
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DatePickerModalServiceComponent, isStandalone: true, selector: "date-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop date-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedValueExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\" *ngIf=\"session.view.showMonths\">\r\n <div class=\"CardChangeYear\">\r\n <p\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear || 'A\u00F1o' }}\r\n </p>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardDates\">\r\n <div class=\"CardChangeMonth\">\r\n <p\r\n class=\"LabelMonth\"\r\n (click)=\"session.handlers.openMonths($event)\"\r\n >\r\n {{ session.view.formattedMonthAndYear || 'Mes' }}\r\n </p>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementMonth($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementMonth($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"Labels\">\r\n <div class=\"LabelDay\">DO</div>\r\n <div class=\"LabelDay\">LU</div>\r\n <div class=\"LabelDay\">MA</div>\r\n <div class=\"LabelDay\">MI</div>\r\n <div class=\"LabelDay\">JU</div>\r\n <div class=\"LabelDay\">VI</div>\r\n <div class=\"LabelDay\">SA</div>\r\n </div>\r\n <div class=\"dates\">\r\n <div\r\n *ngFor=\"let d of session.view.calendarDays\"\r\n (click)=\"session.handlers.onClickDay(d, $event)\"\r\n class=\"day Scroll\"\r\n [class.selected]=\"\r\n d.isCurrentMonth && d.day === session.view.selectedDay\r\n \"\r\n [class.outside]=\"!d.isCurrentMonth\"\r\n [class.sunday]=\"d.date.weekday === 7\"\r\n [class.monday]=\"d.date.weekday === 1\"\r\n [class.tuesday]=\"d.date.weekday === 2\"\r\n [class.wednesday]=\"d.date.weekday === 3\"\r\n [class.thursday]=\"d.date.weekday === 4\"\r\n [class.friday]=\"d.date.weekday === 5\"\r\n [class.saturday]=\"d.date.weekday === 6\"\r\n >\r\n {{ d.day.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardDates .Labels{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%}.Backdrop .Picker .Cards .CardDates .Labels .LabelDay{font-size:.8rem;font-weight:700}.Backdrop .Picker .Cards .CardDates .dates{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardDates .dates .day{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardDates .dates .day:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--error-text)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--text-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
11223
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerModalServiceComponent, deps: [{ token: DatePickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11224
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: DatePickerModalServiceComponent, isStandalone: true, selector: "date-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop date-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedValueExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\" *ngIf=\"session.view.showMonths\">\r\n <div class=\"CardChangeYear\">\r\n <p\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear || 'A\u00F1o' }}\r\n </p>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardDates\">\r\n <div class=\"CardChangeMonth\">\r\n <p\r\n class=\"LabelMonth\"\r\n (click)=\"session.handlers.openMonths($event)\"\r\n >\r\n {{ session.view.formattedMonthAndYear || 'Mes' }}\r\n </p>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementMonth($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementMonth($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"Labels\">\r\n <div class=\"LabelDay\">DO</div>\r\n <div class=\"LabelDay\">LU</div>\r\n <div class=\"LabelDay\">MA</div>\r\n <div class=\"LabelDay\">MI</div>\r\n <div class=\"LabelDay\">JU</div>\r\n <div class=\"LabelDay\">VI</div>\r\n <div class=\"LabelDay\">SA</div>\r\n </div>\r\n <div class=\"dates\">\r\n <div\r\n *ngFor=\"let d of session.view.calendarDays\"\r\n (click)=\"session.handlers.onClickDay(d, $event)\"\r\n class=\"day Scroll\"\r\n [class.selected]=\"\r\n d.isCurrentMonth && d.day === session.view.selectedDay\r\n \"\r\n [class.outside]=\"!d.isCurrentMonth\"\r\n [class.sunday]=\"d.date.weekday === 7\"\r\n [class.monday]=\"d.date.weekday === 1\"\r\n [class.tuesday]=\"d.date.weekday === 2\"\r\n [class.wednesday]=\"d.date.weekday === 3\"\r\n [class.thursday]=\"d.date.weekday === 4\"\r\n [class.friday]=\"d.date.weekday === 5\"\r\n [class.saturday]=\"d.date.weekday === 6\"\r\n >\r\n {{ d.day.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardDates .Labels{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%}.Backdrop .Picker .Cards .CardDates .Labels .LabelDay{font-size:.8rem;font-weight:700}.Backdrop .Picker .Cards .CardDates .dates{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardDates .dates .day{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardDates .dates .day:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--error-text)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--text-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
11225
11225
|
}
|
|
11226
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
11226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatePickerModalServiceComponent, decorators: [{
|
|
11227
11227
|
type: Component,
|
|
11228
11228
|
args: [{ selector: 'date-picker-modal-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop date-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedValueExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\" *ngIf=\"session.view.showMonths\">\r\n <div class=\"CardChangeYear\">\r\n <p\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear || 'A\u00F1o' }}\r\n </p>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardDates\">\r\n <div class=\"CardChangeMonth\">\r\n <p\r\n class=\"LabelMonth\"\r\n (click)=\"session.handlers.openMonths($event)\"\r\n >\r\n {{ session.view.formattedMonthAndYear || 'Mes' }}\r\n </p>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementMonth($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementMonth($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"Labels\">\r\n <div class=\"LabelDay\">DO</div>\r\n <div class=\"LabelDay\">LU</div>\r\n <div class=\"LabelDay\">MA</div>\r\n <div class=\"LabelDay\">MI</div>\r\n <div class=\"LabelDay\">JU</div>\r\n <div class=\"LabelDay\">VI</div>\r\n <div class=\"LabelDay\">SA</div>\r\n </div>\r\n <div class=\"dates\">\r\n <div\r\n *ngFor=\"let d of session.view.calendarDays\"\r\n (click)=\"session.handlers.onClickDay(d, $event)\"\r\n class=\"day Scroll\"\r\n [class.selected]=\"\r\n d.isCurrentMonth && d.day === session.view.selectedDay\r\n \"\r\n [class.outside]=\"!d.isCurrentMonth\"\r\n [class.sunday]=\"d.date.weekday === 7\"\r\n [class.monday]=\"d.date.weekday === 1\"\r\n [class.tuesday]=\"d.date.weekday === 2\"\r\n [class.wednesday]=\"d.date.weekday === 3\"\r\n [class.thursday]=\"d.date.weekday === 4\"\r\n [class.friday]=\"d.date.weekday === 5\"\r\n [class.saturday]=\"d.date.weekday === 6\"\r\n >\r\n {{ d.day.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardDates .Labels{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%}.Backdrop .Picker .Cards .CardDates .Labels .LabelDay{font-size:.8rem;font-weight:700}.Backdrop .Picker .Cards .CardDates .dates{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardDates .dates .day{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardDates .dates .day:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--error-text)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--text-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
|
|
11229
11229
|
}], ctorParameters: () => [{ type: DatePickerModalService }, { type: i0.ChangeDetectorRef }] });
|
|
@@ -11244,10 +11244,10 @@ class TimePickerModalServiceComponent {
|
|
|
11244
11244
|
ngOnDestroy() {
|
|
11245
11245
|
this.sub?.unsubscribe();
|
|
11246
11246
|
}
|
|
11247
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
11248
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
11247
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerModalServiceComponent, deps: [{ token: TimePickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11248
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TimePickerModalServiceComponent, isStandalone: true, selector: "time-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop time-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\">\r\n <span>{{\r\n session.view.selectedDateExtended || 'Selecciona una hora y minuto'\r\n }}</span>\r\n </div>\r\n <div class=\"TimePicker\">\r\n <div class=\"Hours Scroll\">\r\n <div\r\n *ngFor=\"let h of session.view.HOURS\"\r\n (click)=\"session.handlers.onSelectHour(h, $event)\"\r\n class=\"hour\"\r\n [class.selected]=\"h === session.view.selectedHour\"\r\n >\r\n {{ h.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n <span class=\"Separate\">:</span>\r\n <div class=\"Minutes Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.MINUTES\"\r\n (click)=\"session.handlers.onSelectMinute(m, $event)\"\r\n [class.selected]=\"m === session.view.selectedMinute\"\r\n >\r\n {{ m.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .TimePicker{display:grid;grid-template-columns:1fr 10px 1fr;grid-auto-rows:100px;gap:5px;align-items:center;justify-items:center;-webkit-user-select:none;user-select:none;padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:900;font-size:2rem;color:var(--text-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--surface-2);border-radius:var(--radius-lg);display:grid;grid-template-columns:repeat(1,1fr);grid-auto-rows:30px;scrollbar-width:none;-ms-overflow-style:none}.Backdrop .Picker .TimePicker .Hours::-webkit-scrollbar,.Backdrop .Picker .TimePicker .Minutes::-webkit-scrollbar{display:none}.Backdrop .Picker .TimePicker .Hours div,.Backdrop .Picker .TimePicker .Minutes div{border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:center;align-items:center;cursor:pointer}.Backdrop .Picker .TimePicker .Hours div:hover,.Backdrop .Picker .TimePicker .Minutes div:hover{background-color:var(--surface-3)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
11249
11249
|
}
|
|
11250
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
11250
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TimePickerModalServiceComponent, decorators: [{
|
|
11251
11251
|
type: Component,
|
|
11252
11252
|
args: [{ selector: 'time-picker-modal-service', standalone: true, imports: [CommonModule], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop time-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\">\r\n <span>{{\r\n session.view.selectedDateExtended || 'Selecciona una hora y minuto'\r\n }}</span>\r\n </div>\r\n <div class=\"TimePicker\">\r\n <div class=\"Hours Scroll\">\r\n <div\r\n *ngFor=\"let h of session.view.HOURS\"\r\n (click)=\"session.handlers.onSelectHour(h, $event)\"\r\n class=\"hour\"\r\n [class.selected]=\"h === session.view.selectedHour\"\r\n >\r\n {{ h.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n <span class=\"Separate\">:</span>\r\n <div class=\"Minutes Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.MINUTES\"\r\n (click)=\"session.handlers.onSelectMinute(m, $event)\"\r\n [class.selected]=\"m === session.view.selectedMinute\"\r\n >\r\n {{ m.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .TimePicker{display:grid;grid-template-columns:1fr 10px 1fr;grid-auto-rows:100px;gap:5px;align-items:center;justify-items:center;-webkit-user-select:none;user-select:none;padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:900;font-size:2rem;color:var(--text-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--surface-2);border-radius:var(--radius-lg);display:grid;grid-template-columns:repeat(1,1fr);grid-auto-rows:30px;scrollbar-width:none;-ms-overflow-style:none}.Backdrop .Picker .TimePicker .Hours::-webkit-scrollbar,.Backdrop .Picker .TimePicker .Minutes::-webkit-scrollbar{display:none}.Backdrop .Picker .TimePicker .Hours div,.Backdrop .Picker .TimePicker .Minutes div{border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:center;align-items:center;cursor:pointer}.Backdrop .Picker .TimePicker .Hours div:hover,.Backdrop .Picker .TimePicker .Minutes div:hover{background-color:var(--surface-3)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
|
|
11253
11253
|
}], ctorParameters: () => [{ type: TimePickerModalService }, { type: i0.ChangeDetectorRef }] });
|
|
@@ -11268,10 +11268,10 @@ class DatetimePickerModalServiceComponent {
|
|
|
11268
11268
|
ngOnDestroy() {
|
|
11269
11269
|
this.sub?.unsubscribe();
|
|
11270
11270
|
}
|
|
11271
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
11272
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DatetimePickerModalServiceComponent, isStandalone: true, selector: "datetime-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop datetime-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedDateExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\" *ngIf=\"session.view.showMonths\">\r\n <div class=\"CardChangeYear\">\r\n <span\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardDates\">\r\n <div class=\"CardChangeMonth\">\r\n <span\r\n class=\"LabelMonth\"\r\n (click)=\"session.handlers.openMonths($event)\"\r\n >\r\n {{ session.view.formattedMonthAndYear }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementMonth($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementMonth($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"Labels\">\r\n <div class=\"LabelDay\">DO</div>\r\n <div class=\"LabelDay\">LU</div>\r\n <div class=\"LabelDay\">MA</div>\r\n <div class=\"LabelDay\">MI</div>\r\n <div class=\"LabelDay\">JU</div>\r\n <div class=\"LabelDay\">VI</div>\r\n <div class=\"LabelDay\">SA</div>\r\n </div>\r\n <div class=\"dates\">\r\n <div\r\n *ngFor=\"let d of session.view.calendarDays\"\r\n (click)=\"session.handlers.onClickDay(d, $event)\"\r\n class=\"day Scroll\"\r\n [class.selected]=\"\r\n d.isCurrentMonth && d.day === session.view.selectedDay\r\n \"\r\n [class.outside]=\"!d.isCurrentMonth\"\r\n [class.sunday]=\"d.date.weekday === 7\"\r\n [class.monday]=\"d.date.weekday === 1\"\r\n [class.tuesday]=\"d.date.weekday === 2\"\r\n [class.wednesday]=\"d.date.weekday === 3\"\r\n [class.thursday]=\"d.date.weekday === 4\"\r\n [class.friday]=\"d.date.weekday === 5\"\r\n [class.saturday]=\"d.date.weekday === 6\"\r\n >\r\n {{ d.day.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"TimePicker\">\r\n <div class=\"Hours Scroll\">\r\n <div\r\n *ngFor=\"let h of session.view.HOURS\"\r\n (click)=\"session.handlers.onSelectHour(h, $event)\"\r\n class=\"hour\"\r\n [class.selected]=\"h === session.view.selectedHour\"\r\n >\r\n {{ h.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n <span class=\"Separate\">:</span>\r\n <div class=\"Minutes Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.MINUTES\"\r\n (click)=\"session.handlers.onSelectMinute(m, $event)\"\r\n [class.selected]=\"m === session.view.selectedMinute\"\r\n >\r\n {{ m.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardDates .Labels{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%}.Backdrop .Picker .Cards .CardDates .Labels .LabelDay{font-size:.8rem;font-weight:700}.Backdrop .Picker .Cards .CardDates .dates{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardDates .dates .day{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardDates .dates .day:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--error-text)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--text-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--primary)}.Backdrop .Picker .TimePicker{display:grid;grid-template-columns:1fr 10px 1fr;grid-auto-rows:100px;gap:5px;align-items:center;justify-items:center;-webkit-user-select:none;user-select:none;border-top:solid 1px var(--border);padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:900;font-size:2rem;color:var(--text-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--surface-2);border-radius:var(--radius-lg);display:grid;grid-template-columns:repeat(1,1fr);grid-auto-rows:30px;scrollbar-width:none;-ms-overflow-style:none}.Backdrop .Picker .TimePicker .Hours::-webkit-scrollbar,.Backdrop .Picker .TimePicker .Minutes::-webkit-scrollbar{display:none}.Backdrop .Picker .TimePicker .Hours div,.Backdrop .Picker .TimePicker .Minutes div{border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:center;align-items:center;cursor:pointer}.Backdrop .Picker .TimePicker .Hours div:hover,.Backdrop .Picker .TimePicker .Minutes div:hover{background-color:var(--surface-3)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
11271
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerModalServiceComponent, deps: [{ token: DatetimePickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11272
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: DatetimePickerModalServiceComponent, isStandalone: true, selector: "datetime-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop datetime-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedDateExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\" *ngIf=\"session.view.showMonths\">\r\n <div class=\"CardChangeYear\">\r\n <span\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardDates\">\r\n <div class=\"CardChangeMonth\">\r\n <span\r\n class=\"LabelMonth\"\r\n (click)=\"session.handlers.openMonths($event)\"\r\n >\r\n {{ session.view.formattedMonthAndYear }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementMonth($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementMonth($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"Labels\">\r\n <div class=\"LabelDay\">DO</div>\r\n <div class=\"LabelDay\">LU</div>\r\n <div class=\"LabelDay\">MA</div>\r\n <div class=\"LabelDay\">MI</div>\r\n <div class=\"LabelDay\">JU</div>\r\n <div class=\"LabelDay\">VI</div>\r\n <div class=\"LabelDay\">SA</div>\r\n </div>\r\n <div class=\"dates\">\r\n <div\r\n *ngFor=\"let d of session.view.calendarDays\"\r\n (click)=\"session.handlers.onClickDay(d, $event)\"\r\n class=\"day Scroll\"\r\n [class.selected]=\"\r\n d.isCurrentMonth && d.day === session.view.selectedDay\r\n \"\r\n [class.outside]=\"!d.isCurrentMonth\"\r\n [class.sunday]=\"d.date.weekday === 7\"\r\n [class.monday]=\"d.date.weekday === 1\"\r\n [class.tuesday]=\"d.date.weekday === 2\"\r\n [class.wednesday]=\"d.date.weekday === 3\"\r\n [class.thursday]=\"d.date.weekday === 4\"\r\n [class.friday]=\"d.date.weekday === 5\"\r\n [class.saturday]=\"d.date.weekday === 6\"\r\n >\r\n {{ d.day.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"TimePicker\">\r\n <div class=\"Hours Scroll\">\r\n <div\r\n *ngFor=\"let h of session.view.HOURS\"\r\n (click)=\"session.handlers.onSelectHour(h, $event)\"\r\n class=\"hour\"\r\n [class.selected]=\"h === session.view.selectedHour\"\r\n >\r\n {{ h.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n <span class=\"Separate\">:</span>\r\n <div class=\"Minutes Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.MINUTES\"\r\n (click)=\"session.handlers.onSelectMinute(m, $event)\"\r\n [class.selected]=\"m === session.view.selectedMinute\"\r\n >\r\n {{ m.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardDates .Labels{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%}.Backdrop .Picker .Cards .CardDates .Labels .LabelDay{font-size:.8rem;font-weight:700}.Backdrop .Picker .Cards .CardDates .dates{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardDates .dates .day{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardDates .dates .day:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--error-text)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--text-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--primary)}.Backdrop .Picker .TimePicker{display:grid;grid-template-columns:1fr 10px 1fr;grid-auto-rows:100px;gap:5px;align-items:center;justify-items:center;-webkit-user-select:none;user-select:none;border-top:solid 1px var(--border);padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:900;font-size:2rem;color:var(--text-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--surface-2);border-radius:var(--radius-lg);display:grid;grid-template-columns:repeat(1,1fr);grid-auto-rows:30px;scrollbar-width:none;-ms-overflow-style:none}.Backdrop .Picker .TimePicker .Hours::-webkit-scrollbar,.Backdrop .Picker .TimePicker .Minutes::-webkit-scrollbar{display:none}.Backdrop .Picker .TimePicker .Hours div,.Backdrop .Picker .TimePicker .Minutes div{border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:center;align-items:center;cursor:pointer}.Backdrop .Picker .TimePicker .Hours div:hover,.Backdrop .Picker .TimePicker .Minutes div:hover{background-color:var(--surface-3)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
11273
11273
|
}
|
|
11274
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
11274
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DatetimePickerModalServiceComponent, decorators: [{
|
|
11275
11275
|
type: Component,
|
|
11276
11276
|
args: [{ selector: 'datetime-picker-modal-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop datetime-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedDateExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\" *ngIf=\"session.view.showMonths\">\r\n <div class=\"CardChangeYear\">\r\n <span\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardDates\">\r\n <div class=\"CardChangeMonth\">\r\n <span\r\n class=\"LabelMonth\"\r\n (click)=\"session.handlers.openMonths($event)\"\r\n >\r\n {{ session.view.formattedMonthAndYear }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementMonth($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementMonth($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"Labels\">\r\n <div class=\"LabelDay\">DO</div>\r\n <div class=\"LabelDay\">LU</div>\r\n <div class=\"LabelDay\">MA</div>\r\n <div class=\"LabelDay\">MI</div>\r\n <div class=\"LabelDay\">JU</div>\r\n <div class=\"LabelDay\">VI</div>\r\n <div class=\"LabelDay\">SA</div>\r\n </div>\r\n <div class=\"dates\">\r\n <div\r\n *ngFor=\"let d of session.view.calendarDays\"\r\n (click)=\"session.handlers.onClickDay(d, $event)\"\r\n class=\"day Scroll\"\r\n [class.selected]=\"\r\n d.isCurrentMonth && d.day === session.view.selectedDay\r\n \"\r\n [class.outside]=\"!d.isCurrentMonth\"\r\n [class.sunday]=\"d.date.weekday === 7\"\r\n [class.monday]=\"d.date.weekday === 1\"\r\n [class.tuesday]=\"d.date.weekday === 2\"\r\n [class.wednesday]=\"d.date.weekday === 3\"\r\n [class.thursday]=\"d.date.weekday === 4\"\r\n [class.friday]=\"d.date.weekday === 5\"\r\n [class.saturday]=\"d.date.weekday === 6\"\r\n >\r\n {{ d.day.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"TimePicker\">\r\n <div class=\"Hours Scroll\">\r\n <div\r\n *ngFor=\"let h of session.view.HOURS\"\r\n (click)=\"session.handlers.onSelectHour(h, $event)\"\r\n class=\"hour\"\r\n [class.selected]=\"h === session.view.selectedHour\"\r\n >\r\n {{ h.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n <span class=\"Separate\">:</span>\r\n <div class=\"Minutes Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.MINUTES\"\r\n (click)=\"session.handlers.onSelectMinute(m, $event)\"\r\n [class.selected]=\"m === session.view.selectedMinute\"\r\n >\r\n {{ m.toString().padStart(2, '0') }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardDates .Labels{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%}.Backdrop .Picker .Cards .CardDates .Labels .LabelDay{font-size:.8rem;font-weight:700}.Backdrop .Picker .Cards .CardDates .dates{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:30px;justify-items:center;align-items:center;width:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardDates .dates .day{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardDates .dates .day:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardDates .dates .sunday{color:var(--error-text)}.Backdrop .Picker .Cards .CardDates .dates .outside{cursor:auto;color:var(--text-muted);pointer-events:none;cursor:not-allowed}.Backdrop .Picker .Cards .CardDates .dates .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardDates .dates .selected:hover{background-color:var(--primary)}.Backdrop .Picker .TimePicker{display:grid;grid-template-columns:1fr 10px 1fr;grid-auto-rows:100px;gap:5px;align-items:center;justify-items:center;-webkit-user-select:none;user-select:none;border-top:solid 1px var(--border);padding-top:var(--spacing-sm)}.Backdrop .Picker .TimePicker .Separate{font-weight:900;font-size:2rem;color:var(--text-muted)}.Backdrop .Picker .TimePicker .Hours,.Backdrop .Picker .TimePicker .Minutes{width:100%;height:100%;overflow:hidden;overflow-y:auto;background-color:var(--surface-2);border-radius:var(--radius-lg);display:grid;grid-template-columns:repeat(1,1fr);grid-auto-rows:30px;scrollbar-width:none;-ms-overflow-style:none}.Backdrop .Picker .TimePicker .Hours::-webkit-scrollbar,.Backdrop .Picker .TimePicker .Minutes::-webkit-scrollbar{display:none}.Backdrop .Picker .TimePicker .Hours div,.Backdrop .Picker .TimePicker .Minutes div{border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:center;align-items:center;cursor:pointer}.Backdrop .Picker .TimePicker .Hours div:hover,.Backdrop .Picker .TimePicker .Minutes div:hover{background-color:var(--surface-3)}.Backdrop .Picker .TimePicker .Hours .selected,.Backdrop .Picker .TimePicker .Minutes .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .TimePicker .Hours .selected:hover,.Backdrop .Picker .TimePicker .Minutes .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
|
|
11277
11277
|
}], ctorParameters: () => [{ type: DatetimePickerModalService }, { type: i0.ChangeDetectorRef }] });
|
|
@@ -11292,10 +11292,10 @@ class MonthPickerModalServiceComponent {
|
|
|
11292
11292
|
ngOnDestroy() {
|
|
11293
11293
|
this.sub?.unsubscribe();
|
|
11294
11294
|
}
|
|
11295
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
11296
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: MonthPickerModalServiceComponent, isStandalone: true, selector: "month-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop month-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedDateExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\">\r\n <div class=\"CardChangeYear\">\r\n <span\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear || 'A\u00F1o' }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
11295
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerModalServiceComponent, deps: [{ token: MonthPickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11296
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: MonthPickerModalServiceComponent, isStandalone: true, selector: "month-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop month-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedDateExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\">\r\n <div class=\"CardChangeYear\">\r\n <span\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear || 'A\u00F1o' }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
11297
11297
|
}
|
|
11298
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
11298
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: MonthPickerModalServiceComponent, decorators: [{
|
|
11299
11299
|
type: Component,
|
|
11300
11300
|
args: [{ selector: 'month-picker-modal-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div\r\n class=\"Backdrop InputModalBackdrop month-picker-modal\"\r\n (click)=\"session.handlers.toggleShowPicker($event)\"\r\n >\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"Preview\" *ngIf=\"session.view.selectedValue\">\r\n <span>{{ session.view.selectedDateExtended }}</span>\r\n </div>\r\n\r\n <div class=\"Cards\">\r\n <div class=\"CardYears\" *ngIf=\"session.view.showYears\">\r\n <div class=\"years Scroll\">\r\n <div\r\n *ngFor=\"let y of session.view.years\"\r\n (click)=\"session.handlers.onSelectYear(y, $event)\"\r\n class=\"year\"\r\n [class.selected]=\"y === session.view.selectedYear\"\r\n >\r\n {{ y }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"CardMonths\">\r\n <div class=\"CardChangeYear\">\r\n <span\r\n class=\"LabelYear\"\r\n (click)=\"session.handlers.openYears($event)\"\r\n >\r\n {{ session.view.selectedYear || 'A\u00F1o' }}\r\n </span>\r\n <lucide-icon class=\"Up\" name=\"chevron-up\" (click)=\"session.handlers.onDecrementYear($event)\"></lucide-icon>\r\n <lucide-icon class=\"Down\" name=\"chevron-down\" (click)=\"session.handlers.onIncrementYear($event)\"></lucide-icon>\r\n </div>\r\n\r\n <div class=\"months Scroll\">\r\n <div\r\n *ngFor=\"let m of session.view.months\"\r\n (click)=\"session.handlers.onSelectMonth(m, $event)\"\r\n class=\"month\"\r\n [class.selected]=\"m === session.view.selectedMonth\"\r\n >\r\n <span class=\"NameMonth\">{{\r\n session.view.MONTH_NAMES[m - 1]\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"Actions\">\r\n <div class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </div>\r\n <div class=\"Clear\" (click)=\"session.handlers.onClear()\">Limpiar</div>\r\n <div class=\"Ok\" (click)=\"session.handlers.onAccept()\">Aceptar</div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{max-width:400px}.Backdrop .Picker .Preview{background-color:var(--surface-2);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-sm);text-align:center;color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--size-sm);font-weight:500}.Backdrop .Picker .Preview:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards{position:relative;width:100%;height:100%}.Backdrop .Picker .Cards .CardMonths .CardChangeYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth{width:100%;height:30px;display:flex;align-items:center;margin-bottom:10px}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth{height:30px;padding:0 10px;display:flex;align-items:center;margin-right:auto;font-weight:600;cursor:pointer;border-radius:var(--radius-md)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:first-letter,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:first-letter{text-transform:uppercase}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .LabelMonth:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelYear:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .LabelMonth:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down{width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up lucide-icon .lucide-icon-svg,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down lucide-icon .lucide-icon-svg{width:.8rem;height:.8rem}.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardMonths .CardChangeMonth .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeYear .Down:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Up:hover,.Backdrop .Picker .Cards .CardDates .CardChangeMonth .Down:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:var(--xu-on-fill)}.Backdrop .Picker .Cards .CardYears .years{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:35px;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardYears .years .year{width:100%;height:100%;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-md);text-transform:capitalize;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardYears .years .year:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardYears .years .selected{background-color:var(--primary);color:var(--xu-on-fill);font-weight:700}.Backdrop .Picker .Cards .CardYears .years .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Cards .CardMonths{width:100%;height:100%;background:var(--xu-on-fill);overflow:hidden;display:flex;flex-direction:column}.Backdrop .Picker .Cards .CardMonths .months{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;justify-items:center;align-items:center;width:100%;height:100%;overflow:hidden;overflow-y:auto}.Backdrop .Picker .Cards .CardMonths .months .month{width:100%;height:100%;display:flex;justify-content:center;align-items:center;gap:5px;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer}.Backdrop .Picker .Cards .CardMonths .months .month:hover{background-color:var(--surface-2)}.Backdrop .Picker .Cards .CardMonths .months .selected{background-color:var(--primary);color:var(--text-muted);font-weight:700}.Backdrop .Picker .Cards .CardMonths .months .selected:hover{background-color:var(--primary)}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Clear{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border);background-color:var(--btn-secondary-bg);cursor:pointer}.Backdrop .Picker .Actions .Clear:hover{color:var(--btn-secondary-text-hover);border-color:var(--btn-secondary-border-hover);background-color:var(--btn-secondary-bg-hover)}.Backdrop .Picker .Actions .Clear:active{color:var(--btn-secondary-text-active);border-color:var(--btn-secondary-border-active);background-color:var(--btn-secondary-bg-active)}.Backdrop .Picker .Actions .Clear:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
|
|
11301
11301
|
}], ctorParameters: () => [{ type: MonthPickerModalService }, { type: i0.ChangeDetectorRef }] });
|
|
@@ -11960,10 +11960,10 @@ class ColorPickerPanelComponent {
|
|
|
11960
11960
|
this.textValueChange.emit(value);
|
|
11961
11961
|
this.cdr.markForCheck();
|
|
11962
11962
|
}
|
|
11963
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
11964
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
11963
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11964
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ColorPickerPanelComponent, isStandalone: true, selector: "color-picker-panel", inputs: { mode: "mode", textValue: "textValue", disabled: "disabled" }, outputs: { textValueChange: "textValueChange" }, host: { listeners: { "document:mousemove": "onDocumentMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.IsDisable": "this.hostDisabledClass" } }, viewQueries: [{ propertyName: "colorCanvas", first: true, predicate: ["colorCanvas"], descendants: true }, { propertyName: "hueCanvas", first: true, predicate: ["hueCanvas"], descendants: true }, { propertyName: "pickerContainer", first: true, predicate: ["pickerContainer"], descendants: true }, { propertyName: "canvasContainer", first: true, predicate: ["canvasContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"Picker\" #pickerContainer (click)=\"$event.stopPropagation()\">\n <div class=\"ColorPickerMain\">\n <div class=\"CanvasContainer\" #canvasContainer>\n <canvas\n #colorCanvas\n class=\"ColorCanvas\"\n (mousedown)=\"onSaturationMouseDown($event)\"\n (mousemove)=\"onSaturationMouseMove($event)\"\n (touchstart)=\"onSaturationTouchStart($event)\"\n (touchmove)=\"onSaturationTouchMove($event)\"\n ></canvas>\n </div>\n\n <div class=\"HueContainer\">\n <canvas\n #hueCanvas\n class=\"HueCanvas\"\n (mousedown)=\"onHueMouseDown($event)\"\n (mousemove)=\"onHueMouseMove($event)\"\n (touchstart)=\"onHueTouchStart($event)\"\n (touchmove)=\"onHueTouchMove($event)\"\n ></canvas>\n </div>\n </div>\n\n <div class=\"ColorMeta\">\n <div\n class=\"ColorPreview\"\n [style.background-color]=\"previewColor\"\n aria-hidden=\"true\"\n ></div>\n <div class=\"ColorValues\">\n <div class=\"ColorValueRow\">\n <span class=\"Label\">HEX</span>\n <span class=\"Value\">{{ currentHex || '\u2014' }}</span>\n </div>\n <div class=\"ColorValueRow\">\n <span class=\"Label\">RGB</span>\n <span class=\"Value\">{{ currentRgb || '\u2014' }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"SwatchesContainer\">\n <div\n class=\"Swatch\"\n *ngFor=\"let color of colors\"\n [style.background]=\"mode === 'hex' ? color.hex : color.rgb\"\n (click)=\"selectColor(color)\"\n [title]=\"color.name\"\n ></div>\n </div>\n</div>\n", styles: [":host{display:block;width:100%}:host .Picker{display:flex;flex-direction:column;gap:var(--spacing-md);overflow-y:auto}:host .Picker .ColorPickerMain{display:flex;gap:var(--spacing-md);align-items:stretch;width:100%;min-height:200px;max-height:200px}:host .Picker .ColorPickerMain .CanvasContainer{position:relative;flex:1;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;cursor:crosshair}:host .Picker .ColorPickerMain .CanvasContainer .ColorCanvas{width:100%;height:100%;display:block;touch-action:none}:host .Picker .ColorPickerMain .HueContainer{position:relative;width:30px;border-radius:var(--radius-lg);overflow:hidden;cursor:crosshair}:host .Picker .ColorPickerMain .HueContainer .HueCanvas{width:100%;height:100%;display:block;touch-action:none}:host .Picker .ColorMeta{display:flex;gap:var(--spacing-md);align-items:center;padding:var(--spacing-sm);background:var(--surface-2);border:1px solid var(--input-border);border-radius:var(--radius-md)}:host .Picker .ColorMeta .ColorPreview{flex-shrink:0;width:52px;height:52px;border-radius:var(--radius-md);border:1px solid var(--input-border);background-color:var(--input-concats-bg);box-shadow:inset 0 0 0 1px var(--border)}:host .Picker .ColorMeta .ColorValues{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}:host .Picker .ColorMeta .ColorValues .ColorValueRow{display:flex;align-items:center;gap:var(--spacing-sm)}:host .Picker .ColorMeta .ColorValues .ColorValueRow .Label{flex-shrink:0;min-width:2.25rem;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}:host .Picker .ColorMeta .ColorValues .ColorValueRow .Value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;font-weight:500;color:var(--text-base);word-break:break-all}:host .Picker .SwatchesContainer{display:grid;grid-template-columns:repeat(auto-fill,minmax(20px,1fr));gap:2px;max-height:150px;overflow-y:auto;padding:2px}:host .Picker .SwatchesContainer .Swatch{width:100%;aspect-ratio:1;cursor:pointer;border-radius:var(--radius-sm);border:2px solid transparent;transition:all .2s ease}:host .Picker .SwatchesContainer .Swatch:hover{border-color:var(--primary);transform:scale(1.1);box-shadow:0 2px 8px var(--overlay-scrim)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
11965
11965
|
}
|
|
11966
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
11966
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerPanelComponent, decorators: [{
|
|
11967
11967
|
type: Component,
|
|
11968
11968
|
args: [{ selector: 'color-picker-panel', standalone: true, imports: [CommonModule], template: "<div class=\"Picker\" #pickerContainer (click)=\"$event.stopPropagation()\">\n <div class=\"ColorPickerMain\">\n <div class=\"CanvasContainer\" #canvasContainer>\n <canvas\n #colorCanvas\n class=\"ColorCanvas\"\n (mousedown)=\"onSaturationMouseDown($event)\"\n (mousemove)=\"onSaturationMouseMove($event)\"\n (touchstart)=\"onSaturationTouchStart($event)\"\n (touchmove)=\"onSaturationTouchMove($event)\"\n ></canvas>\n </div>\n\n <div class=\"HueContainer\">\n <canvas\n #hueCanvas\n class=\"HueCanvas\"\n (mousedown)=\"onHueMouseDown($event)\"\n (mousemove)=\"onHueMouseMove($event)\"\n (touchstart)=\"onHueTouchStart($event)\"\n (touchmove)=\"onHueTouchMove($event)\"\n ></canvas>\n </div>\n </div>\n\n <div class=\"ColorMeta\">\n <div\n class=\"ColorPreview\"\n [style.background-color]=\"previewColor\"\n aria-hidden=\"true\"\n ></div>\n <div class=\"ColorValues\">\n <div class=\"ColorValueRow\">\n <span class=\"Label\">HEX</span>\n <span class=\"Value\">{{ currentHex || '\u2014' }}</span>\n </div>\n <div class=\"ColorValueRow\">\n <span class=\"Label\">RGB</span>\n <span class=\"Value\">{{ currentRgb || '\u2014' }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"SwatchesContainer\">\n <div\n class=\"Swatch\"\n *ngFor=\"let color of colors\"\n [style.background]=\"mode === 'hex' ? color.hex : color.rgb\"\n (click)=\"selectColor(color)\"\n [title]=\"color.name\"\n ></div>\n </div>\n</div>\n", styles: [":host{display:block;width:100%}:host .Picker{display:flex;flex-direction:column;gap:var(--spacing-md);overflow-y:auto}:host .Picker .ColorPickerMain{display:flex;gap:var(--spacing-md);align-items:stretch;width:100%;min-height:200px;max-height:200px}:host .Picker .ColorPickerMain .CanvasContainer{position:relative;flex:1;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;cursor:crosshair}:host .Picker .ColorPickerMain .CanvasContainer .ColorCanvas{width:100%;height:100%;display:block;touch-action:none}:host .Picker .ColorPickerMain .HueContainer{position:relative;width:30px;border-radius:var(--radius-lg);overflow:hidden;cursor:crosshair}:host .Picker .ColorPickerMain .HueContainer .HueCanvas{width:100%;height:100%;display:block;touch-action:none}:host .Picker .ColorMeta{display:flex;gap:var(--spacing-md);align-items:center;padding:var(--spacing-sm);background:var(--surface-2);border:1px solid var(--input-border);border-radius:var(--radius-md)}:host .Picker .ColorMeta .ColorPreview{flex-shrink:0;width:52px;height:52px;border-radius:var(--radius-md);border:1px solid var(--input-border);background-color:var(--input-concats-bg);box-shadow:inset 0 0 0 1px var(--border)}:host .Picker .ColorMeta .ColorValues{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}:host .Picker .ColorMeta .ColorValues .ColorValueRow{display:flex;align-items:center;gap:var(--spacing-sm)}:host .Picker .ColorMeta .ColorValues .ColorValueRow .Label{flex-shrink:0;min-width:2.25rem;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}:host .Picker .ColorMeta .ColorValues .ColorValueRow .Value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;font-weight:500;color:var(--text-base);word-break:break-all}:host .Picker .SwatchesContainer{display:grid;grid-template-columns:repeat(auto-fill,minmax(20px,1fr));gap:2px;max-height:150px;overflow-y:auto;padding:2px}:host .Picker .SwatchesContainer .Swatch{width:100%;aspect-ratio:1;cursor:pointer;border-radius:var(--radius-sm);border:2px solid transparent;transition:all .2s ease}:host .Picker .SwatchesContainer .Swatch:hover{border-color:var(--primary);transform:scale(1.1);box-shadow:0 2px 8px var(--overlay-scrim)}\n"] }]
|
|
11969
11969
|
}], propDecorators: { colorCanvas: [{
|
|
@@ -12013,10 +12013,10 @@ class ColorPickerModalServiceComponent {
|
|
|
12013
12013
|
ngOnDestroy() {
|
|
12014
12014
|
this.sub?.unsubscribe();
|
|
12015
12015
|
}
|
|
12016
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
12017
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
12016
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerModalServiceComponent, deps: [{ token: ColorPickerModalService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
12017
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ColorPickerModalServiceComponent, isStandalone: true, selector: "color-picker-modal-service", ngImport: i0, template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop color-picker-modal\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <color-picker-panel\r\n [mode]=\"session.view.mode\"\r\n [textValue]=\"session.view.textValue\"\r\n [disabled]=\"false\"\r\n (textValueChange)=\"session.handlers.onTextValueChange($event)\"\r\n />\r\n <div class=\"Actions\">\r\n <button type=\"button\" class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </button>\r\n <button type=\"button\" class=\"Ok\" (click)=\"session.handlers.onAccept()\">\r\n Aceptar\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;width:100%;max-width:400px;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--shadow-color);max-height:calc(100vh - 24px);overflow:hidden}.Backdrop .Picker color-picker-panel{flex:1;min-height:0;overflow-y:auto}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border);flex-shrink:0}.Backdrop .Picker .Actions button{border:none;font:inherit}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: ColorPickerPanelComponent, selector: "color-picker-panel", inputs: ["mode", "textValue", "disabled"], outputs: ["textValueChange"] }] });
|
|
12018
12018
|
}
|
|
12019
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
12019
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ColorPickerModalServiceComponent, decorators: [{
|
|
12020
12020
|
type: Component,
|
|
12021
12021
|
args: [{ selector: 'color-picker-modal-service', standalone: true, imports: [CommonModule, ColorPickerPanelComponent], template: "<ng-container *ngIf=\"vm$ | async as session\">\r\n <div class=\"Backdrop InputModalBackdrop color-picker-modal\">\r\n <div class=\"Picker\" (click)=\"$event.stopPropagation()\">\r\n <color-picker-panel\r\n [mode]=\"session.view.mode\"\r\n [textValue]=\"session.view.textValue\"\r\n [disabled]=\"false\"\r\n (textValueChange)=\"session.handlers.onTextValueChange($event)\"\r\n />\r\n <div class=\"Actions\">\r\n <button type=\"button\" class=\"Cancel\" (click)=\"session.handlers.onCancel()\">\r\n Cancelar\r\n </button>\r\n <button type=\"button\" class=\"Ok\" (click)=\"session.handlers.onAccept()\">\r\n Aceptar\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host(.IsDisable){opacity:.4;pointer-events:none;cursor:not-allowed}:host{display:flex;flex-direction:column;width:100%;height:max-content;-webkit-user-select:auto;user-select:auto}:host .LabelRow{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-bottom:2px}:host .Label{color:var(--text-label);flex:1;min-width:0;cursor:pointer;padding:0 3px;margin:0;font-weight:400;-webkit-user-select:none;user-select:none}:host .Label .Opcional{color:var(--text-muted)}:host .Description{-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-base);font-weight:400;width:100%;cursor:pointer;padding:0 3px;margin:0 0 4px;overflow:hidden;word-break:break-all}:host .Entry{display:flex;width:100%;height:32px;justify-content:flex-start;align-items:center;border:solid 0 var(--input-border);border-radius:12px;cursor:pointer;overflow:hidden;background-color:var(--input-bg)}:host .Entry:hover{border:none;outline:solid 1px var(--input-hover-border)}:host .Entry[class~=IsFocus]{border:none;outline:solid 1px var(--input-focus-border)}:host .Entry[class~=Error]{outline:solid 1px var(--input-border-error)}:host .Entry .Input{height:100%;width:100%;border:solid 0 var(--input-border);padding:0 8px;color:var(--input-text);caret-color:var(--primary);text-align:start}:host .Entry .Input:focus{border:none;outline:none}:host .Entry .Input::placeholder{color:var(--input-placeholder)}:host .Entry.NotHover:hover{border:none;outline:none}:host .Backdrop{position:fixed;top:0;left:0;z-index:800;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){:host .Backdrop{align-items:flex-start}}:host .Backdrop .Picker{display:flex;flex-direction:column;gap:5px;width:100%;max-width:600px;max-height:100%;margin:0 auto;background:var(--surface);border-radius:16px;padding:12px;overflow:hidden;overflow-y:auto;box-shadow:0 0 8px var(--shadow-color)}:host{display:contents}.Backdrop{position:fixed;top:0;left:0;z-index:10050;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;background:var(--overlay-scrim);overflow:hidden}@media (width <= 768px){.Backdrop{align-items:flex-start}}.Backdrop .Picker{display:flex;flex-direction:column;width:100%;max-width:400px;margin:0 auto;background:var(--surface);border-radius:var(--radius-xl);padding:12px;box-shadow:0 0 8px var(--shadow-color);max-height:calc(100vh - 24px);overflow:hidden}.Backdrop .Picker color-picker-panel{flex:1;min-height:0;overflow-y:auto}.Backdrop .Picker .Actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border);flex-shrink:0}.Backdrop .Picker .Actions button{border:none;font:inherit}.Backdrop .Picker .Actions .Ok{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);background-color:var(--btn-primary-bg);cursor:pointer}.Backdrop .Picker .Actions .Ok:hover{color:var(--btn-primary-text-hover);border-color:var(--btn-primary-border-hover);background-color:var(--btn-primary-bg-hover)}.Backdrop .Picker .Actions .Ok:active{color:var(--btn-primary-text-active);border-color:var(--btn-primary-border-active);background-color:var(--btn-primary-bg-active)}.Backdrop .Picker .Actions .Ok:disabled{opacity:.6;cursor:not-allowed}.Backdrop .Picker .Actions .Cancel{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--btn-cancel-text);border-color:var(--btn-cancel-border);background-color:var(--btn-cancel-bg);cursor:pointer}.Backdrop .Picker .Actions .Cancel:hover{color:var(--btn-cancel-text-hover);border-color:var(--btn-cancel-border-hover);background-color:var(--btn-cancel-bg-hover)}.Backdrop .Picker .Actions .Cancel:active{color:var(--btn-cancel-text-active);border-color:var(--btn-cancel-border-active);background-color:var(--btn-cancel-bg-active)}.Backdrop .Picker .Actions .Cancel:disabled{opacity:.6;cursor:not-allowed}\n"] }]
|
|
12022
12022
|
}], ctorParameters: () => [{ type: ColorPickerModalService }, { type: i0.ChangeDetectorRef }] });
|
|
@@ -12042,10 +12042,10 @@ const INPUT_MODAL_SERVICE_COMPONENTS = [
|
|
|
12042
12042
|
* Monta en un solo lugar los shells globales de modales de inputs (equivalente a los tags sueltos en `app-root`).
|
|
12043
12043
|
*/
|
|
12044
12044
|
class InputModalServicesComponent {
|
|
12045
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
12046
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
12045
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: InputModalServicesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12046
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: InputModalServicesComponent, isStandalone: true, selector: "input-modal-services", ngImport: i0, template: "<only-select-modal-service></only-select-modal-service>\r\n<multiselect-combobox-modal-service></multiselect-combobox-modal-service>\r\n<search-entry-modal-service></search-entry-modal-service>\r\n<phone-entry-modal-service></phone-entry-modal-service>\r\n<date-picker-modal-service></date-picker-modal-service>\r\n<time-picker-modal-service></time-picker-modal-service>\r\n<datetime-picker-modal-service></datetime-picker-modal-service>\r\n<month-picker-modal-service></month-picker-modal-service>\r\n<color-picker-modal-service></color-picker-modal-service>\r\n", dependencies: [{ kind: "component", type: OnlySelectModalServiceComponent, selector: "only-select-modal-service" }, { kind: "component", type: MultiselectComboboxModalServiceComponent, selector: "multiselect-combobox-modal-service" }, { kind: "component", type: SearchEntryModalServiceComponent, selector: "search-entry-modal-service" }, { kind: "component", type: PhoneEntryModalServiceComponent, selector: "phone-entry-modal-service" }, { kind: "component", type: DatePickerModalServiceComponent, selector: "date-picker-modal-service" }, { kind: "component", type: TimePickerModalServiceComponent, selector: "time-picker-modal-service" }, { kind: "component", type: DatetimePickerModalServiceComponent, selector: "datetime-picker-modal-service" }, { kind: "component", type: MonthPickerModalServiceComponent, selector: "month-picker-modal-service" }, { kind: "component", type: ColorPickerModalServiceComponent, selector: "color-picker-modal-service" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12047
12047
|
}
|
|
12048
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
12048
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: InputModalServicesComponent, decorators: [{
|
|
12049
12049
|
type: Component,
|
|
12050
12050
|
args: [{ selector: 'input-modal-services', standalone: true, imports: [...INPUT_MODAL_SERVICE_COMPONENTS], changeDetection: ChangeDetectionStrategy.OnPush, template: "<only-select-modal-service></only-select-modal-service>\r\n<multiselect-combobox-modal-service></multiselect-combobox-modal-service>\r\n<search-entry-modal-service></search-entry-modal-service>\r\n<phone-entry-modal-service></phone-entry-modal-service>\r\n<date-picker-modal-service></date-picker-modal-service>\r\n<time-picker-modal-service></time-picker-modal-service>\r\n<datetime-picker-modal-service></datetime-picker-modal-service>\r\n<month-picker-modal-service></month-picker-modal-service>\r\n<color-picker-modal-service></color-picker-modal-service>\r\n" }]
|
|
12051
12051
|
}] });
|
|
@@ -12245,10 +12245,10 @@ class ContextMenuServiceComponent {
|
|
|
12245
12245
|
};
|
|
12246
12246
|
this.cdr.detectChanges();
|
|
12247
12247
|
}
|
|
12248
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
12249
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
12248
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ContextMenuServiceComponent, deps: [{ token: ContextMenuService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
12249
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: ContextMenuServiceComponent, isStandalone: true, selector: "context-menu-service", host: { listeners: { "window:resize": "onWindowResize()", "document:keydown": "onEscape($event)" } }, viewQueries: [{ propertyName: "panelRef", first: true, predicate: ["panel"], descendants: true }], ngImport: i0, template: "@if (active) {\r\n <div class=\"ContextMenuOverlay\" aria-hidden=\"true\">\r\n <div\r\n #panel\r\n class=\"ContextMenuPanel\"\r\n [class.ContextMenuPanel--visible]=\"panelVisible\"\r\n [class.ContextMenuPanel--menu]=\"active.kind === 'menu'\"\r\n [class.ContextMenuPanel--info]=\"active.kind === 'info'\"\r\n [style.left.px]=\"position.x\"\r\n [style.top.px]=\"position.y\"\r\n role=\"menu\"\r\n [attr.aria-label]=\"active.kind === 'info' ? active.info.title : (active.title || 'Opciones')\"\r\n [attr.aria-hidden]=\"!panelVisible\"\r\n (contextmenu)=\"$event.preventDefault()\"\r\n >\r\n @if (active.kind === 'menu') {\r\n @if (active.title) {\r\n <p class=\"ContextMenuMenuTitle\">{{ active.title }}</p>\r\n }\r\n @for (option of active.options; track $index) {\r\n @if (option.separatorBefore) {\r\n <div class=\"ContextMenuMenuSep\" aria-hidden=\"true\"></div>\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"ContextMenuMenuItem\"\r\n [class.ContextMenuMenuItem--danger]=\"option.danger\"\r\n [class.ContextMenuMenuItem--disabled]=\"option.disabled\"\r\n [disabled]=\"option.disabled\"\r\n role=\"menuitem\"\r\n (click)=\"selectOption(option)\"\r\n >\r\n <lucide-icon [name]=\"option.icon\" [size]=\"14\"></lucide-icon>\r\n <span>{{ option.name }}</span>\r\n </button>\r\n }\r\n } @else {\r\n <div class=\"ContextMenuInfo\">\r\n <div class=\"ContextMenuInfoHeader\">\r\n <lucide-icon [name]=\"active.info.icon\" [size]=\"18\"></lucide-icon>\r\n <strong>{{ active.info.title }}</strong>\r\n </div>\r\n <p class=\"ContextMenuInfoBody\">{{ active.info.info }}</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n}\r\n", styles: [".ContextMenuOverlay{position:fixed;inset:5px;pointer-events:none;z-index:10001}.ContextMenuPanel{position:fixed;pointer-events:none;visibility:hidden;opacity:0;min-width:10rem;max-width:min(18rem,100vw - 10px);max-height:calc(100vh - 10px);overflow-x:hidden;overflow-y:auto;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 24px var(--shadow-color);transition:opacity .1s ease-out}.ContextMenuPanel--visible{visibility:visible;opacity:1;pointer-events:auto}.ContextMenuPanel--menu{min-width:220px;max-width:min(280px,100vw - 16px);padding:4px;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:0 12px 40px var(--shadow-color),0 0 0 .5px var(--border);display:flex;flex-direction:column;gap:2px;animation:cupertino-menu-in .1s ease-out}.ContextMenuMenuTitle{margin:0;padding:4px 8px 2px;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ContextMenuMenuSep{height:1px;margin:2px 4px;background:var(--surface-2, var(--border))}.ContextMenuMenuItem{display:flex;align-items:center;gap:8px;width:100%;padding:4px 8px;border:none;border-radius:8px;background:transparent;color:var(--text-base);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.ContextMenuMenuItem lucide-icon{flex-shrink:0;--lucide-stroke: var(--icon-base)}.ContextMenuMenuItem:hover,.ContextMenuMenuItem:focus-visible{outline:none;background:var(--info-bg, var(--primary-soft, var(--surface-2)))}.ContextMenuMenuItem--danger{color:var(--error-text)}.ContextMenuMenuItem--danger lucide-icon{--lucide-stroke: var(--error-text)}.ContextMenuMenuItem--danger:hover,.ContextMenuMenuItem--danger:focus-visible{background:var(--error-bg)}.ContextMenuMenuItem--disabled,.ContextMenuMenuItem:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ContextMenuPanel--info{padding:0}.ContextMenuInfo{padding:12px;display:flex;flex-direction:column;gap:8px}.ContextMenuInfoHeader{display:flex;align-items:center;gap:8px;color:var(--text-base)}.ContextMenuInfoHeader strong{font-size:.9rem;font-weight:600}.ContextMenuInfoHeader lucide-icon{flex-shrink:0;--lucide-stroke: var(--primary)}.ContextMenuInfoBody{margin:0;font-size:.82rem;line-height:1.45;color:var(--text-label)}@keyframes cupertino-menu-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: LucideIconComponent, selector: "lucide-icon", inputs: ["name", "size", "spin", "filled"] }] });
|
|
12250
12250
|
}
|
|
12251
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
12251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ContextMenuServiceComponent, decorators: [{
|
|
12252
12252
|
type: Component,
|
|
12253
12253
|
args: [{ selector: 'context-menu-service', standalone: true, imports: [CommonModule, LucideIconComponent], template: "@if (active) {\r\n <div class=\"ContextMenuOverlay\" aria-hidden=\"true\">\r\n <div\r\n #panel\r\n class=\"ContextMenuPanel\"\r\n [class.ContextMenuPanel--visible]=\"panelVisible\"\r\n [class.ContextMenuPanel--menu]=\"active.kind === 'menu'\"\r\n [class.ContextMenuPanel--info]=\"active.kind === 'info'\"\r\n [style.left.px]=\"position.x\"\r\n [style.top.px]=\"position.y\"\r\n role=\"menu\"\r\n [attr.aria-label]=\"active.kind === 'info' ? active.info.title : (active.title || 'Opciones')\"\r\n [attr.aria-hidden]=\"!panelVisible\"\r\n (contextmenu)=\"$event.preventDefault()\"\r\n >\r\n @if (active.kind === 'menu') {\r\n @if (active.title) {\r\n <p class=\"ContextMenuMenuTitle\">{{ active.title }}</p>\r\n }\r\n @for (option of active.options; track $index) {\r\n @if (option.separatorBefore) {\r\n <div class=\"ContextMenuMenuSep\" aria-hidden=\"true\"></div>\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"ContextMenuMenuItem\"\r\n [class.ContextMenuMenuItem--danger]=\"option.danger\"\r\n [class.ContextMenuMenuItem--disabled]=\"option.disabled\"\r\n [disabled]=\"option.disabled\"\r\n role=\"menuitem\"\r\n (click)=\"selectOption(option)\"\r\n >\r\n <lucide-icon [name]=\"option.icon\" [size]=\"14\"></lucide-icon>\r\n <span>{{ option.name }}</span>\r\n </button>\r\n }\r\n } @else {\r\n <div class=\"ContextMenuInfo\">\r\n <div class=\"ContextMenuInfoHeader\">\r\n <lucide-icon [name]=\"active.info.icon\" [size]=\"18\"></lucide-icon>\r\n <strong>{{ active.info.title }}</strong>\r\n </div>\r\n <p class=\"ContextMenuInfoBody\">{{ active.info.info }}</p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n}\r\n", styles: [".ContextMenuOverlay{position:fixed;inset:5px;pointer-events:none;z-index:10001}.ContextMenuPanel{position:fixed;pointer-events:none;visibility:hidden;opacity:0;min-width:10rem;max-width:min(18rem,100vw - 10px);max-height:calc(100vh - 10px);overflow-x:hidden;overflow-y:auto;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 24px var(--shadow-color);transition:opacity .1s ease-out}.ContextMenuPanel--visible{visibility:visible;opacity:1;pointer-events:auto}.ContextMenuPanel--menu{min-width:220px;max-width:min(280px,100vw - 16px);padding:4px;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:0 12px 40px var(--shadow-color),0 0 0 .5px var(--border);display:flex;flex-direction:column;gap:2px;animation:cupertino-menu-in .1s ease-out}.ContextMenuMenuTitle{margin:0;padding:4px 8px 2px;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ContextMenuMenuSep{height:1px;margin:2px 4px;background:var(--surface-2, var(--border))}.ContextMenuMenuItem{display:flex;align-items:center;gap:8px;width:100%;padding:4px 8px;border:none;border-radius:8px;background:transparent;color:var(--text-base);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.ContextMenuMenuItem lucide-icon{flex-shrink:0;--lucide-stroke: var(--icon-base)}.ContextMenuMenuItem:hover,.ContextMenuMenuItem:focus-visible{outline:none;background:var(--info-bg, var(--primary-soft, var(--surface-2)))}.ContextMenuMenuItem--danger{color:var(--error-text)}.ContextMenuMenuItem--danger lucide-icon{--lucide-stroke: var(--error-text)}.ContextMenuMenuItem--danger:hover,.ContextMenuMenuItem--danger:focus-visible{background:var(--error-bg)}.ContextMenuMenuItem--disabled,.ContextMenuMenuItem:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ContextMenuPanel--info{padding:0}.ContextMenuInfo{padding:12px;display:flex;flex-direction:column;gap:8px}.ContextMenuInfoHeader{display:flex;align-items:center;gap:8px;color:var(--text-base)}.ContextMenuInfoHeader strong{font-size:.9rem;font-weight:600}.ContextMenuInfoHeader lucide-icon{flex-shrink:0;--lucide-stroke: var(--primary)}.ContextMenuInfoBody{margin:0;font-size:.82rem;line-height:1.45;color:var(--text-label)}@keyframes cupertino-menu-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}\n"] }]
|
|
12254
12254
|
}], ctorParameters: () => [{ type: ContextMenuService }, { type: undefined, decorators: [{
|